xref: /OpenGrok/opengrok-indexer/src/test/resources/analysis/clojure/sample_xref.html (revision a5cf78b26bffba8c7ce25bd8bdd1fa80d4983e1b)
1a4d08de4SAdam Hornáček<!DOCTYPE html>
2a4d08de4SAdam Hornáček<html lang="en">
3eeb7e5b3SAdam Hornáček<head>
4a4d08de4SAdam Hornáček<meta charset="UTF-8">
5eeb7e5b3SAdam Hornáček<title>sampleFile - OpenGrok cross reference for /sampleFile</title></head><body>
6eeb7e5b3SAdam Hornáček<script type="text/javascript">/* <![CDATA[ */
7eeb7e5b3SAdam Hornáčekfunction get_sym_list(){return [["Namespace","xn",[["koans.23-meta",195]]]];} /* ]]> */</script><a class="l" name="1" href="#1">1</a><span class="c">; Eclipse Public License, Version 1.0 (EPL-1.0) (plain text) THE ACCOMPANYING</span>
8eeb7e5b3SAdam Hornáček<a class="l" name="2" href="#2">2</a><span class="c">; PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE</span>
9eeb7e5b3SAdam Hornáček<a class="l" name="3" href="#3">3</a><span class="c">; (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM</span>
10eeb7e5b3SAdam Hornáček<a class="l" name="4" href="#4">4</a><span class="c">; CONSTITUTES RECIPIENT&apos;S ACCEPTANCE OF THIS AGREEMENT.</span>
11eeb7e5b3SAdam Hornáček<a class="l" name="5" href="#5">5</a><span class="c">;</span>
12eeb7e5b3SAdam Hornáček<a class="l" name="6" href="#6">6</a><span class="c">; 1. DEFINITIONS</span>
13eeb7e5b3SAdam Hornáček<a class="l" name="7" href="#7">7</a><span class="c">;</span>
14eeb7e5b3SAdam Hornáček<a class="l" name="8" href="#8">8</a><span class="c">; &quot;Contribution&quot; means:</span>
15eeb7e5b3SAdam Hornáček<a class="l" name="9" href="#9">9</a><span class="c">;</span>
16eeb7e5b3SAdam Hornáček<a class="hl" name="10" href="#10">10</a><span class="c">; a) in the case of the initial Contributor, the initial code and</span>
17eeb7e5b3SAdam Hornáček<a class="l" name="11" href="#11">11</a><span class="c">; documentation distributed under this Agreement, and b) in the case of each</span>
18eeb7e5b3SAdam Hornáček<a class="l" name="12" href="#12">12</a><span class="c">; subsequent Contributor: i) changes to the Program, and ii) additions to the</span>
19eeb7e5b3SAdam Hornáček<a class="l" name="13" href="#13">13</a><span class="c">; Program; where such changes <a href="/source/s?path=and/">and</a>/<a href="/source/s?path=and/or">or</a> additions to the Program originate from</span>
20eeb7e5b3SAdam Hornáček<a class="l" name="14" href="#14">14</a><span class="c">; and are distributed by that particular Contributor. A Contribution</span>
21eeb7e5b3SAdam Hornáček<a class="l" name="15" href="#15">15</a><span class="c">; &apos;originates&apos; from a Contributor if it was added to the Program by such</span>
22eeb7e5b3SAdam Hornáček<a class="l" name="16" href="#16">16</a><span class="c">; Contributor itself or anyone acting on such Contributor&apos;s behalf.</span>
23eeb7e5b3SAdam Hornáček<a class="l" name="17" href="#17">17</a><span class="c">; Contributions do not include additions to the Program which: (i) are</span>
24eeb7e5b3SAdam Hornáček<a class="l" name="18" href="#18">18</a><span class="c">; separate modules of software distributed in conjunction with the Program</span>
25eeb7e5b3SAdam Hornáček<a class="l" name="19" href="#19">19</a><span class="c">; under their own license agreement, and (ii) are not derivative works of the</span>
26eeb7e5b3SAdam Hornáček<a class="hl" name="20" href="#20">20</a><span class="c">; Program. &quot;Contributor&quot; means any person or entity that distributes the</span>
27eeb7e5b3SAdam Hornáček<a class="l" name="21" href="#21">21</a><span class="c">; Program.</span>
28eeb7e5b3SAdam Hornáček<a class="l" name="22" href="#22">22</a><span class="c">;</span>
29eeb7e5b3SAdam Hornáček<a class="l" name="23" href="#23">23</a><span class="c">; &quot;Licensed Patents &quot; mean patent claims licensable by a Contributor which are</span>
30eeb7e5b3SAdam Hornáček<a class="l" name="24" href="#24">24</a><span class="c">; necessarily infringed by the use or sale of its Contribution alone or when</span>
31eeb7e5b3SAdam Hornáček<a class="l" name="25" href="#25">25</a><span class="c">; combined with the Program.</span>
32eeb7e5b3SAdam Hornáček<a class="l" name="26" href="#26">26</a><span class="c">;</span>
33eeb7e5b3SAdam Hornáček<a class="l" name="27" href="#27">27</a><span class="c">; &quot;Program&quot; means the Contributions distributed in accordance with this</span>
34eeb7e5b3SAdam Hornáček<a class="l" name="28" href="#28">28</a><span class="c">; Agreement.</span>
35eeb7e5b3SAdam Hornáček<a class="l" name="29" href="#29">29</a><span class="c">;</span>
36eeb7e5b3SAdam Hornáček<a class="hl" name="30" href="#30">30</a><span class="c">; &quot;Recipient&quot; means anyone who receives the Program under this Agreement,</span>
37eeb7e5b3SAdam Hornáček<a class="l" name="31" href="#31">31</a><span class="c">; including all Contributors.</span>
38eeb7e5b3SAdam Hornáček<a class="l" name="32" href="#32">32</a><span class="c">;</span>
39eeb7e5b3SAdam Hornáček<a class="l" name="33" href="#33">33</a><span class="c">; 2. GRANT OF RIGHTS</span>
40eeb7e5b3SAdam Hornáček<a class="l" name="34" href="#34">34</a><span class="c">;</span>
41eeb7e5b3SAdam Hornáček<a class="l" name="35" href="#35">35</a><span class="c">; a) Subject to the terms of this Agreement, each Contributor hereby grants</span>
42eeb7e5b3SAdam Hornáček<a class="l" name="36" href="#36">36</a><span class="c">; Recipient a non-exclusive, worldwide, royalty-free copyright license to</span>
43eeb7e5b3SAdam Hornáček<a class="l" name="37" href="#37">37</a><span class="c">; reproduce, prepare derivative works of, publicly display, publicly perform,</span>
44eeb7e5b3SAdam Hornáček<a class="l" name="38" href="#38">38</a><span class="c">; distribute and sublicense the Contribution of such Contributor, if any, and</span>
45eeb7e5b3SAdam Hornáček<a class="l" name="39" href="#39">39</a><span class="c">; such derivative works, in source code and object code form. b) Subject to</span>
46eeb7e5b3SAdam Hornáček<a class="hl" name="40" href="#40">40</a><span class="c">; the terms of this Agreement, each Contributor hereby grants Recipient a</span>
47eeb7e5b3SAdam Hornáček<a class="l" name="41" href="#41">41</a><span class="c">; non-exclusive, worldwide, royalty-free patent license under Licensed Patents</span>
48eeb7e5b3SAdam Hornáček<a class="l" name="42" href="#42">42</a><span class="c">; to make, use, sell, offer to sell, import and otherwise transfer the</span>
49eeb7e5b3SAdam Hornáček<a class="l" name="43" href="#43">43</a><span class="c">; Contribution of such Contributor, if any, in source code and object code</span>
50eeb7e5b3SAdam Hornáček<a class="l" name="44" href="#44">44</a><span class="c">; form. This patent license shall apply to the combination of the Contribution</span>
51eeb7e5b3SAdam Hornáček<a class="l" name="45" href="#45">45</a><span class="c">; and the Program if, at the time the Contribution is added by the</span>
52eeb7e5b3SAdam Hornáček<a class="l" name="46" href="#46">46</a><span class="c">; Contributor, such addition of the Contribution causes such combination to be</span>
53eeb7e5b3SAdam Hornáček<a class="l" name="47" href="#47">47</a><span class="c">; covered by the Licensed Patents. The patent license shall not apply to any</span>
54eeb7e5b3SAdam Hornáček<a class="l" name="48" href="#48">48</a><span class="c">; other combinations which include the Contribution. No hardware per se is</span>
55eeb7e5b3SAdam Hornáček<a class="l" name="49" href="#49">49</a><span class="c">; licensed hereunder. c) Recipient understands that although each Contributor</span>
56eeb7e5b3SAdam Hornáček<a class="hl" name="50" href="#50">50</a><span class="c">; grants the licenses to its Contributions set forth herein, no assurances are</span>
57eeb7e5b3SAdam Hornáček<a class="l" name="51" href="#51">51</a><span class="c">; provided by any Contributor that the Program does not infringe the patent or</span>
58eeb7e5b3SAdam Hornáček<a class="l" name="52" href="#52">52</a><span class="c">; other intellectual property rights of any other entity. Each Contributor</span>
59eeb7e5b3SAdam Hornáček<a class="l" name="53" href="#53">53</a><span class="c">; disclaims any liability to Recipient for claims brought by any other entity</span>
60eeb7e5b3SAdam Hornáček<a class="l" name="54" href="#54">54</a><span class="c">; based on infringement of intellectual property rights or otherwise. As a</span>
61eeb7e5b3SAdam Hornáček<a class="l" name="55" href="#55">55</a><span class="c">; condition to exercising the rights and licenses granted hereunder, each</span>
62eeb7e5b3SAdam Hornáček<a class="l" name="56" href="#56">56</a><span class="c">; Recipient hereby assumes sole responsibility to secure any other</span>
63eeb7e5b3SAdam Hornáček<a class="l" name="57" href="#57">57</a><span class="c">; intellectual property rights needed, if any. For example, if a third party</span>
64eeb7e5b3SAdam Hornáček<a class="l" name="58" href="#58">58</a><span class="c">; patent license is required to allow Recipient to distribute the Program, it</span>
65eeb7e5b3SAdam Hornáček<a class="l" name="59" href="#59">59</a><span class="c">; is Recipient&apos;s responsibility to acquire that license before distributing</span>
66eeb7e5b3SAdam Hornáček<a class="hl" name="60" href="#60">60</a><span class="c">; the Program. d) Each Contributor represents that to its knowledge it has</span>
67eeb7e5b3SAdam Hornáček<a class="l" name="61" href="#61">61</a><span class="c">; sufficient copyright rights in its Contribution, if any, to grant the</span>
68eeb7e5b3SAdam Hornáček<a class="l" name="62" href="#62">62</a><span class="c">; copyright license set forth in this Agreement.</span>
69eeb7e5b3SAdam Hornáček<a class="l" name="63" href="#63">63</a><span class="c">;</span>
70eeb7e5b3SAdam Hornáček<a class="l" name="64" href="#64">64</a><span class="c">; 3. REQUIREMENTS</span>
71eeb7e5b3SAdam Hornáček<a class="l" name="65" href="#65">65</a><span class="c">;</span>
72eeb7e5b3SAdam Hornáček<a class="l" name="66" href="#66">66</a><span class="c">; A Contributor may choose to distribute the Program in object code form under</span>
73eeb7e5b3SAdam Hornáček<a class="l" name="67" href="#67">67</a><span class="c">; its own license agreement, provided that:</span>
74eeb7e5b3SAdam Hornáček<a class="l" name="68" href="#68">68</a><span class="c">;</span>
75eeb7e5b3SAdam Hornáček<a class="l" name="69" href="#69">69</a><span class="c">; a) it complies with the terms and conditions of this Agreement; and b) its</span>
76eeb7e5b3SAdam Hornáček<a class="hl" name="70" href="#70">70</a><span class="c">; license agreement: i) effectively disclaims on behalf of all Contributors</span>
77eeb7e5b3SAdam Hornáček<a class="l" name="71" href="#71">71</a><span class="c">; all warranties and conditions, express and implied, including warranties or</span>
78eeb7e5b3SAdam Hornáček<a class="l" name="72" href="#72">72</a><span class="c">; conditions of title and non-infringement, and implied warranties or</span>
79eeb7e5b3SAdam Hornáček<a class="l" name="73" href="#73">73</a><span class="c">; conditions of merchantability and fitness for a particular purpose; ii)</span>
80eeb7e5b3SAdam Hornáček<a class="l" name="74" href="#74">74</a><span class="c">; effectively excludes on behalf of all Contributors all liability for</span>
81eeb7e5b3SAdam Hornáček<a class="l" name="75" href="#75">75</a><span class="c">; damages, including direct, indirect, special, incidental and consequential</span>
82eeb7e5b3SAdam Hornáček<a class="l" name="76" href="#76">76</a><span class="c">; damages, such as lost profits; iii) states that any provisions which differ</span>
83eeb7e5b3SAdam Hornáček<a class="l" name="77" href="#77">77</a><span class="c">; from this Agreement are offered by that Contributor alone and not by any</span>
84eeb7e5b3SAdam Hornáček<a class="l" name="78" href="#78">78</a><span class="c">; other party; and iv) states that source code for the Program is available</span>
85eeb7e5b3SAdam Hornáček<a class="l" name="79" href="#79">79</a><span class="c">; from such Contributor, and informs licensees how to obtain it in a</span>
86eeb7e5b3SAdam Hornáček<a class="hl" name="80" href="#80">80</a><span class="c">; reasonable manner on or through a medium customarily used for software</span>
87eeb7e5b3SAdam Hornáček<a class="l" name="81" href="#81">81</a><span class="c">; exchange. When the Program is made available in source code form:</span>
88eeb7e5b3SAdam Hornáček<a class="l" name="82" href="#82">82</a><span class="c">;</span>
89eeb7e5b3SAdam Hornáček<a class="l" name="83" href="#83">83</a><span class="c">; a) it must be made available under this Agreement; and b) a copy of this</span>
90eeb7e5b3SAdam Hornáček<a class="l" name="84" href="#84">84</a><span class="c">; Agreement must be included with each copy of the Program. Contributors may</span>
91eeb7e5b3SAdam Hornáček<a class="l" name="85" href="#85">85</a><span class="c">; not remove or alter any copyright notices contained within the Program. Each</span>
92eeb7e5b3SAdam Hornáček<a class="l" name="86" href="#86">86</a><span class="c">; Contributor must identify itself as the originator of its Contribution, if</span>
93eeb7e5b3SAdam Hornáček<a class="l" name="87" href="#87">87</a><span class="c">; any, in a manner that reasonably allows subsequent Recipients to identify</span>
94eeb7e5b3SAdam Hornáček<a class="l" name="88" href="#88">88</a><span class="c">; the originator of the Contribution.</span>
95eeb7e5b3SAdam Hornáček<a class="l" name="89" href="#89">89</a><span class="c">;</span>
96eeb7e5b3SAdam Hornáček<a class="hl" name="90" href="#90">90</a><span class="c">; 4. COMMERCIAL DISTRIBUTION</span>
97eeb7e5b3SAdam Hornáček<a class="l" name="91" href="#91">91</a><span class="c">;</span>
98eeb7e5b3SAdam Hornáček<a class="l" name="92" href="#92">92</a><span class="c">; Commercial distributors of software may accept certain responsibilities with</span>
99eeb7e5b3SAdam Hornáček<a class="l" name="93" href="#93">93</a><span class="c">; respect to end users, business partners and the like. While this license is</span>
100eeb7e5b3SAdam Hornáček<a class="l" name="94" href="#94">94</a><span class="c">; intended to facilitate the commercial use of the Program, the Contributor</span>
101eeb7e5b3SAdam Hornáček<a class="l" name="95" href="#95">95</a><span class="c">; who includes the Program in a commercial product offering should do so in a</span>
102eeb7e5b3SAdam Hornáček<a class="l" name="96" href="#96">96</a><span class="c">; manner which does not create potential liability for other Contributors.</span>
103eeb7e5b3SAdam Hornáček<a class="l" name="97" href="#97">97</a><span class="c">; Therefore, if a Contributor includes the Program in a commercial product</span>
104eeb7e5b3SAdam Hornáček<a class="l" name="98" href="#98">98</a><span class="c">; offering, such Contributor (&quot;Commercial Contributor&quot;) hereby agrees to</span>
105eeb7e5b3SAdam Hornáček<a class="l" name="99" href="#99">99</a><span class="c">; defend and indemnify every other Contributor (&quot;Indemnified Contributor&quot;)</span>
106eeb7e5b3SAdam Hornáček<a class="hl" name="100" href="#100">100</a><span class="c">; against any losses, damages and costs (collectively &quot;Losses&quot;) arising from</span>
107eeb7e5b3SAdam Hornáček<a class="l" name="101" href="#101">101</a><span class="c">; claims, lawsuits and other legal actions brought by a third party against</span>
108eeb7e5b3SAdam Hornáček<a class="l" name="102" href="#102">102</a><span class="c">; the Indemnified Contributor to the extent caused by the acts or omissions of</span>
109eeb7e5b3SAdam Hornáček<a class="l" name="103" href="#103">103</a><span class="c">; such Commercial Contributor in connection with its distribution of the</span>
110eeb7e5b3SAdam Hornáček<a class="l" name="104" href="#104">104</a><span class="c">; Program in a commercial product offering. The obligations in this section do</span>
111eeb7e5b3SAdam Hornáček<a class="l" name="105" href="#105">105</a><span class="c">; not apply to any claims or Losses relating to any actual or alleged</span>
112eeb7e5b3SAdam Hornáček<a class="l" name="106" href="#106">106</a><span class="c">; intellectual property infringement. In order to qualify, an Indemnified</span>
113eeb7e5b3SAdam Hornáček<a class="l" name="107" href="#107">107</a><span class="c">; Contributor must: a) promptly notify the Commercial Contributor in writing</span>
114eeb7e5b3SAdam Hornáček<a class="l" name="108" href="#108">108</a><span class="c">; of such claim, and b) allow the Commercial Contributor to control, and</span>
115eeb7e5b3SAdam Hornáček<a class="l" name="109" href="#109">109</a><span class="c">; cooperate with the Commercial Contributor in, the defense and any related</span>
116eeb7e5b3SAdam Hornáček<a class="hl" name="110" href="#110">110</a><span class="c">; settlement negotiations. The Indemnified Contributor may participate in any</span>
117eeb7e5b3SAdam Hornáček<a class="l" name="111" href="#111">111</a><span class="c">; such claim at its own expense.</span>
118eeb7e5b3SAdam Hornáček<a class="l" name="112" href="#112">112</a><span class="c">;</span>
119eeb7e5b3SAdam Hornáček<a class="l" name="113" href="#113">113</a><span class="c">; For example, a Contributor might include the Program in a commercial product</span>
120eeb7e5b3SAdam Hornáček<a class="l" name="114" href="#114">114</a><span class="c">; offering, Product X. That Contributor is then a Commercial Contributor. If</span>
121eeb7e5b3SAdam Hornáček<a class="l" name="115" href="#115">115</a><span class="c">; that Commercial Contributor then makes performance claims, or offers</span>
122eeb7e5b3SAdam Hornáček<a class="l" name="116" href="#116">116</a><span class="c">; warranties related to Product X, those performance claims and warranties are</span>
123eeb7e5b3SAdam Hornáček<a class="l" name="117" href="#117">117</a><span class="c">; such Commercial Contributor&apos;s responsibility alone. Under this section, the</span>
124eeb7e5b3SAdam Hornáček<a class="l" name="118" href="#118">118</a><span class="c">; Commercial Contributor would have to defend claims against the other</span>
125eeb7e5b3SAdam Hornáček<a class="l" name="119" href="#119">119</a><span class="c">; Contributors related to those performance claims and warranties, and if a</span>
126eeb7e5b3SAdam Hornáček<a class="hl" name="120" href="#120">120</a><span class="c">; court requires any other Contributor to pay any damages as a result, the</span>
127eeb7e5b3SAdam Hornáček<a class="l" name="121" href="#121">121</a><span class="c">; Commercial Contributor must pay those damages.</span>
128eeb7e5b3SAdam Hornáček<a class="l" name="122" href="#122">122</a><span class="c">;</span>
129eeb7e5b3SAdam Hornáček<a class="l" name="123" href="#123">123</a><span class="c">; 5. NO WARRANTY</span>
130eeb7e5b3SAdam Hornáček<a class="l" name="124" href="#124">124</a><span class="c">;</span>
131eeb7e5b3SAdam Hornáček<a class="l" name="125" href="#125">125</a><span class="c">; EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON</span>
132eeb7e5b3SAdam Hornáček<a class="l" name="126" href="#126">126</a><span class="c">; AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER</span>
133eeb7e5b3SAdam Hornáček<a class="l" name="127" href="#127">127</a><span class="c">; EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR</span>
134eeb7e5b3SAdam Hornáček<a class="l" name="128" href="#128">128</a><span class="c">; CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A</span>
135eeb7e5b3SAdam Hornáček<a class="l" name="129" href="#129">129</a><span class="c">; PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the</span>
136eeb7e5b3SAdam Hornáček<a class="hl" name="130" href="#130">130</a><span class="c">; appropriateness of using and distributing the Program and assumes all risks</span>
137eeb7e5b3SAdam Hornáček<a class="l" name="131" href="#131">131</a><span class="c">; associated with its exercise of rights under this Agreement , including but</span>
138eeb7e5b3SAdam Hornáček<a class="l" name="132" href="#132">132</a><span class="c">; not limited to the risks and costs of program errors, compliance with</span>
139eeb7e5b3SAdam Hornáček<a class="l" name="133" href="#133">133</a><span class="c">; applicable laws, damage to or loss of data, programs or equipment, and</span>
140eeb7e5b3SAdam Hornáček<a class="l" name="134" href="#134">134</a><span class="c">; unavailability or interruption of operations.</span>
141eeb7e5b3SAdam Hornáček<a class="l" name="135" href="#135">135</a><span class="c">;</span>
142eeb7e5b3SAdam Hornáček<a class="l" name="136" href="#136">136</a><span class="c">; 6. DISCLAIMER OF LIABILITY</span>
143eeb7e5b3SAdam Hornáček<a class="l" name="137" href="#137">137</a><span class="c">;</span>
144eeb7e5b3SAdam Hornáček<a class="l" name="138" href="#138">138</a><span class="c">; EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY</span>
145eeb7e5b3SAdam Hornáček<a class="l" name="139" href="#139">139</a><span class="c">; CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
146eeb7e5b3SAdam Hornáček<a class="hl" name="140" href="#140">140</a><span class="c">; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION</span>
147eeb7e5b3SAdam Hornáček<a class="l" name="141" href="#141">141</a><span class="c">; LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span>
148eeb7e5b3SAdam Hornáček<a class="l" name="142" href="#142">142</a><span class="c">; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span>
149eeb7e5b3SAdam Hornáček<a class="l" name="143" href="#143">143</a><span class="c">; ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE</span>
150eeb7e5b3SAdam Hornáček<a class="l" name="144" href="#144">144</a><span class="c">; EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY</span>
151eeb7e5b3SAdam Hornáček<a class="l" name="145" href="#145">145</a><span class="c">; OF SUCH DAMAGES.</span>
152eeb7e5b3SAdam Hornáček<a class="l" name="146" href="#146">146</a><span class="c">;</span>
153eeb7e5b3SAdam Hornáček<a class="l" name="147" href="#147">147</a><span class="c">; 7. GENERAL</span>
154eeb7e5b3SAdam Hornáček<a class="l" name="148" href="#148">148</a><span class="c">;</span>
155eeb7e5b3SAdam Hornáček<a class="l" name="149" href="#149">149</a><span class="c">; If any provision of this Agreement is invalid or unenforceable under</span>
156eeb7e5b3SAdam Hornáček<a class="hl" name="150" href="#150">150</a><span class="c">; applicable law, it shall not affect the validity or enforceability of the</span>
157eeb7e5b3SAdam Hornáček<a class="l" name="151" href="#151">151</a><span class="c">; remainder of the terms of this Agreement, and without further action by the</span>
158eeb7e5b3SAdam Hornáček<a class="l" name="152" href="#152">152</a><span class="c">; parties hereto, such provision shall be reformed to the minimum extent</span>
159eeb7e5b3SAdam Hornáček<a class="l" name="153" href="#153">153</a><span class="c">; necessary to make such provision valid and enforceable.</span>
160eeb7e5b3SAdam Hornáček<a class="l" name="154" href="#154">154</a><span class="c">;</span>
161eeb7e5b3SAdam Hornáček<a class="l" name="155" href="#155">155</a><span class="c">; If Recipient institutes patent litigation against any entity (including a</span>
162eeb7e5b3SAdam Hornáček<a class="l" name="156" href="#156">156</a><span class="c">; cross-claim or counterclaim in a lawsuit) alleging that the Program itself</span>
163eeb7e5b3SAdam Hornáček<a class="l" name="157" href="#157">157</a><span class="c">; (excluding combinations of the Program with other software or hardware)</span>
164eeb7e5b3SAdam Hornáček<a class="l" name="158" href="#158">158</a><span class="c">; infringes such Recipient&apos;s patent(s), then such Recipient&apos;s rights granted</span>
165eeb7e5b3SAdam Hornáček<a class="l" name="159" href="#159">159</a><span class="c">; under Section 2(b) shall terminate as of the date such litigation is filed.</span>
166eeb7e5b3SAdam Hornáček<a class="hl" name="160" href="#160">160</a><span class="c">;</span>
167eeb7e5b3SAdam Hornáček<a class="l" name="161" href="#161">161</a><span class="c">; All Recipient&apos;s rights under this Agreement shall terminate if it fails to</span>
168eeb7e5b3SAdam Hornáček<a class="l" name="162" href="#162">162</a><span class="c">; comply with any of the material terms or conditions of this Agreement and</span>
169eeb7e5b3SAdam Hornáček<a class="l" name="163" href="#163">163</a><span class="c">; does not cure such failure in a reasonable period of time after becoming</span>
170eeb7e5b3SAdam Hornáček<a class="l" name="164" href="#164">164</a><span class="c">; aware of such noncompliance. If all Recipient&apos;s rights under this Agreement</span>
171eeb7e5b3SAdam Hornáček<a class="l" name="165" href="#165">165</a><span class="c">; terminate, Recipient agrees to cease use and distribution of the Program as</span>
172eeb7e5b3SAdam Hornáček<a class="l" name="166" href="#166">166</a><span class="c">; soon as reasonably practicable. However, Recipient&apos;s obligations under this</span>
173eeb7e5b3SAdam Hornáček<a class="l" name="167" href="#167">167</a><span class="c">; Agreement and any licenses granted by Recipient relating to the Program</span>
174eeb7e5b3SAdam Hornáček<a class="l" name="168" href="#168">168</a><span class="c">; shall continue and survive.</span>
175eeb7e5b3SAdam Hornáček<a class="l" name="169" href="#169">169</a><span class="c">;</span>
176eeb7e5b3SAdam Hornáček<a class="hl" name="170" href="#170">170</a><span class="c">; Everyone is permitted to copy and distribute copies of this Agreement, but</span>
177eeb7e5b3SAdam Hornáček<a class="l" name="171" href="#171">171</a><span class="c">; in order to avoid inconsistency the Agreement is copyrighted and may only be</span>
178eeb7e5b3SAdam Hornáček<a class="l" name="172" href="#172">172</a><span class="c">; modified in the following manner. The Agreement Steward reserves the right</span>
179eeb7e5b3SAdam Hornáček<a class="l" name="173" href="#173">173</a><span class="c">; to publish new versions (including revisions) of this Agreement from time to</span>
180eeb7e5b3SAdam Hornáček<a class="l" name="174" href="#174">174</a><span class="c">; time. No one other than the Agreement Steward has the right to modify this</span>
181eeb7e5b3SAdam Hornáček<a class="l" name="175" href="#175">175</a><span class="c">; Agreement. The Eclipse Foundation is the initial Agreement Steward. The</span>
182eeb7e5b3SAdam Hornáček<a class="l" name="176" href="#176">176</a><span class="c">; Eclipse Foundation may assign the responsibility to serve as the Agreement</span>
183eeb7e5b3SAdam Hornáček<a class="l" name="177" href="#177">177</a><span class="c">; Steward to a suitable separate entity. Each new version of the Agreement</span>
184eeb7e5b3SAdam Hornáček<a class="l" name="178" href="#178">178</a><span class="c">; will be given a distinguishing version number. The Program (including</span>
185eeb7e5b3SAdam Hornáček<a class="l" name="179" href="#179">179</a><span class="c">; Contributions) may always be distributed subject to the version of the</span>
186eeb7e5b3SAdam Hornáček<a class="hl" name="180" href="#180">180</a><span class="c">; Agreement under which it was received. In addition, after a new version of</span>
187eeb7e5b3SAdam Hornáček<a class="l" name="181" href="#181">181</a><span class="c">; the Agreement is published, Contributor may elect to distribute the Program</span>
188eeb7e5b3SAdam Hornáček<a class="l" name="182" href="#182">182</a><span class="c">; (including its Contributions) under the new version. Except as expressly</span>
189eeb7e5b3SAdam Hornáček<a class="l" name="183" href="#183">183</a><span class="c">; stated in Sections 2(a) and 2(b) above, Recipient receives no rights or</span>
190eeb7e5b3SAdam Hornáček<a class="l" name="184" href="#184">184</a><span class="c">; licenses to the intellectual property of any Contributor under this</span>
191eeb7e5b3SAdam Hornáček<a class="l" name="185" href="#185">185</a><span class="c">; Agreement, whether expressly, by implication, estoppel or otherwise. All</span>
192eeb7e5b3SAdam Hornáček<a class="l" name="186" href="#186">186</a><span class="c">; rights in the Program not expressly granted under this Agreement are</span>
193eeb7e5b3SAdam Hornáček<a class="l" name="187" href="#187">187</a><span class="c">; reserved.</span>
194eeb7e5b3SAdam Hornáček<a class="l" name="188" href="#188">188</a><span class="c">;</span>
195eeb7e5b3SAdam Hornáček<a class="l" name="189" href="#189">189</a><span class="c">; This Agreement is governed by the laws of the State of New York and the</span>
196eeb7e5b3SAdam Hornáček<a class="hl" name="190" href="#190">190</a><span class="c">; intellectual property laws of the United States of America. No party to this</span>
197eeb7e5b3SAdam Hornáček<a class="l" name="191" href="#191">191</a><span class="c">; Agreement will bring a legal action under this Agreement more than one year</span>
198eeb7e5b3SAdam Hornáček<a class="l" name="192" href="#192">192</a><span class="c">; after the cause of action arose. Each party waives its rights to a jury</span>
199eeb7e5b3SAdam Hornáček<a class="l" name="193" href="#193">193</a><span class="c">; trial in any resulting litigation.</span>
200eeb7e5b3SAdam Hornáček<a class="l" name="194" href="#194">194</a>
201*a5cf78b2SChris Fraire<a class="l" name="195" href="#195">195</a>(<b>ns</b> <a class="xn" name="koans.23-meta"/><a href="/source/s?refs=koans.23%5C-meta" class="xn intelliWindow-symbol" data-definition-place="def">koans.23-meta</a>
202*a5cf78b2SChris Fraire<a class="l" name="196" href="#196">196</a>  (<a href="/source/s?defs=%5C%3Arequire" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:require</a> [<a href="/source/s?defs=koan%5C-engine.core" class="intelliWindow-symbol" data-definition-place="undefined-in-file">koan-engine.core</a> <a href="/source/s?defs=%5C%3Arefer" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:refer</a> <a href="/source/s?defs=%5C%3Aall" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:all</a>]))
203eeb7e5b3SAdam Hornáček<a class="l" name="197" href="#197">197</a>
204eeb7e5b3SAdam Hornáček<a class="l" name="198" href="#198">198</a>(<b>def</b> <a class="d" name="giants"/><a href="/source/s?refs=giants" class="d intelliWindow-symbol" data-definition-place="def">giants</a>
205eeb7e5b3SAdam Hornáček<a class="l" name="199" href="#199">199</a>  (<b>with-meta</b> &apos;<a href="/source/s?defs=Giants" class="intelliWindow-symbol" data-definition-place="undefined-in-file">Giants</a>
206*a5cf78b2SChris Fraire<a class="hl" name="200" href="#200">200</a>    {<a href="/source/s?defs=%5C%3Aleague" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:league</a> <span class="s">&quot;National League&quot;</span>}))
207eeb7e5b3SAdam Hornáček<a class="l" name="201" href="#201">201</a>
208eeb7e5b3SAdam Hornáček<a class="l" name="202" href="#202">202</a>(<a href="/source/s?defs=meditations" class="intelliWindow-symbol" data-definition-place="undefined-in-file">meditations</a>
209eeb7e5b3SAdam Hornáček<a class="l" name="203" href="#203">203</a>  <span class="s">&quot;Some objects can be tagged using the with-meta function&quot;</span>
210eeb7e5b3SAdam Hornáček<a class="l" name="204" href="#204">204</a>  (= <a href="/source/s?defs=__" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__</a> (<b>meta</b> <a class="d intelliWindow-symbol" href="#giants" data-definition-place="defined-in-file">giants</a>))
211eeb7e5b3SAdam Hornáček<a class="l" name="205" href="#205">205</a>
212eeb7e5b3SAdam Hornáček<a class="l" name="206" href="#206">206</a>  <span class="s">&quot;Or more succinctly with a reader macro&quot;</span>
213*a5cf78b2SChris Fraire<a class="l" name="207" href="#207">207</a>  (= <a href="/source/s?defs=__" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__</a> (<b>meta</b> &apos;^{<a href="/source/s?defs=%5C%3Adivision" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:division</a> <span class="s">&quot;West&quot;</span>} <a href="/source/s?defs=Giants" class="intelliWindow-symbol" data-definition-place="undefined-in-file">Giants</a>))
214eeb7e5b3SAdam Hornáček<a class="l" name="208" href="#208">208</a>
215eeb7e5b3SAdam Hornáček<a class="l" name="209" href="#209">209</a>  <span class="s">&quot;While others can&apos;t&quot;</span>
216eeb7e5b3SAdam Hornáček<a class="hl" name="210" href="#210">210</a>  (= <a href="/source/s?defs=__" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__</a> (<b>try</b>
217eeb7e5b3SAdam Hornáček<a class="l" name="211" href="#211">211</a>          (<b>with-meta</b>
218eeb7e5b3SAdam Hornáček<a class="l" name="212" href="#212">212</a>            <span class="n">2</span>
219*a5cf78b2SChris Fraire<a class="l" name="213" href="#213">213</a>            {<a href="/source/s?defs=%5C%3Aprime" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:prime</a> <b>true</b>})
220eeb7e5b3SAdam Hornáček<a class="l" name="214" href="#214">214</a>          (<a href="/source/s?defs=catch" class="intelliWindow-symbol" data-definition-place="undefined-in-file">catch</a> <a href="/source/s?defs=ClassCastException" class="intelliWindow-symbol" data-definition-place="undefined-in-file">ClassCastException</a> <a href="/source/s?defs=e" class="intelliWindow-symbol" data-definition-place="undefined-in-file">e</a>
221eeb7e5b3SAdam Hornáček<a class="l" name="215" href="#215">215</a>            <span class="s">&quot;This doesn&apos;t implement the IObj interface&quot;</span>)))
222eeb7e5b3SAdam Hornáček<a class="l" name="216" href="#216">216</a>
223eeb7e5b3SAdam Hornáček<a class="l" name="217" href="#217">217</a>  <span class="s">&quot;Notice when metadata carries over&quot;</span>
224*a5cf78b2SChris Fraire<a class="l" name="218" href="#218">218</a>  (= <a href="/source/s?defs=__" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__</a> (<b>meta</b> (<b>merge</b> &apos;^{<a href="/source/s?defs=%5C%3Afoo" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:foo</a> <a href="/source/s?defs=%5C%3Abar" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:bar</a>} {<a href="/source/s?defs=%5C%3Aa" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:a</a> <span class="n">1</span> <a href="/source/s?defs=%5C%3Ab" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:b</a> <span class="n">2</span>}
225*a5cf78b2SChris Fraire<a class="l" name="219" href="#219">219</a>                     {<a href="/source/s?defs=%5C%3Ab" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:b</a> <span class="n">3</span> <a href="/source/s?defs=%5C%3Ac" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:c</a> <span class="n">4</span>})))
226eeb7e5b3SAdam Hornáček<a class="hl" name="220" href="#220">220</a>
227eeb7e5b3SAdam Hornáček<a class="l" name="221" href="#221">221</a>  <span class="s">&quot;And when it doesn&apos;t&quot;</span>
228*a5cf78b2SChris Fraire<a class="l" name="222" href="#222">222</a>  (= <a href="/source/s?defs=__" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__</a> (<b>meta</b> (<b>merge</b> {<a href="/source/s?defs=%5C%3Aa" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:a</a> <span class="n">1</span> <a href="/source/s?defs=%5C%3Ab" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:b</a> <span class="n">2</span>}
229*a5cf78b2SChris Fraire<a class="l" name="223" href="#223">223</a>                     &apos;^{<a href="/source/s?defs=%5C%3Afoo" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:foo</a> <a href="/source/s?defs=%5C%3Abar" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:bar</a>} {<a href="/source/s?defs=%5C%3Ab" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:b</a> <span class="n">3</span> <a href="/source/s?defs=%5C%3Ac" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:c</a> <span class="n">36rCRAZY</span>})))
230eeb7e5b3SAdam Hornáček<a class="l" name="224" href="#224">224</a>
231eeb7e5b3SAdam Hornáček<a class="l" name="225" href="#225">225</a>  <span class="s">&quot;Metadata can be used as a type hint to avoid reflection during runtime&quot;</span>
232eeb7e5b3SAdam Hornáček<a class="l" name="226" href="#226">226</a>  (= <a href="/source/s?defs=__" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__</a> (#(.<a href="/source/s?defs=charAt" class="intelliWindow-symbol" data-definition-place="undefined-in-file">charAt</a> ^<a href="/source/s?defs=String" class="intelliWindow-symbol" data-definition-place="undefined-in-file">String</a> % <span class="n">0</span>) <span class="s">&quot;Cast me&quot;</span>))
233eeb7e5b3SAdam Hornáček<a class="l" name="227" href="#227">227</a>
234eeb7e5b3SAdam Hornáček<a class="l" name="228" href="#228">228</a>  <span class="s">&quot;You can directly update an object&apos;s metadata&quot;</span>
235eeb7e5b3SAdam Hornáček<a class="l" name="229" href="#229">229</a>  (= <span class="n">0xFF</span> (<b>let</b> [<a class="d intelliWindow-symbol" href="#giants" data-definition-place="defined-in-file">giants</a>
236eeb7e5b3SAdam Hornáček<a class="hl" name="230" href="#230">230</a>             (<b>with-meta</b>
237eeb7e5b3SAdam Hornáček<a class="l" name="231" href="#231">231</a>               &apos;<a href="/source/s?defs=Giants" class="intelliWindow-symbol" data-definition-place="undefined-in-file">Giants</a>
238*a5cf78b2SChris Fraire<a class="l" name="232" href="#232">232</a>               {<a href="/source/s?defs=%5C%3Aworld%5C-series%5C-titles" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:world-series-titles</a> (<b>atom</b> <span class="n">7</span>)})]
239*a5cf78b2SChris Fraire<a class="l" name="233" href="#233">233</a>         (<b>swap!</b> (<a href="/source/s?defs=%5C%3Aworld%5C-series%5C-titles" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:world-series-titles</a> (<b>meta</b> <a class="d intelliWindow-symbol" href="#giants" data-definition-place="defined-in-file">giants</a>)) <a href="/source/s?defs=__" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__</a>)
240*a5cf78b2SChris Fraire<a class="l" name="234" href="#234">234</a>         @(<a href="/source/s?defs=%5C%3Aworld%5C-series%5C-titles" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:world-series-titles</a> (<b>meta</b> <a class="d intelliWindow-symbol" href="#giants" data-definition-place="defined-in-file">giants</a>))))
241eeb7e5b3SAdam Hornáček<a class="l" name="235" href="#235">235</a>
242eeb7e5b3SAdam Hornáček<a class="l" name="236" href="#236">236</a>  <span class="s">&quot;You can also create a new object from another object with metadata&quot;</span>
243*a5cf78b2SChris Fraire<a class="l" name="237" href="#237">237</a>  (= {<a href="/source/s?defs=%5C%3Aleague" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:league</a> <span class="s">&quot;National League&quot;</span> <a href="/source/s?defs=%5C%3Apark" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:park</a> <span class="s">&quot;AT&amp;T Park&quot;</span>}
244eeb7e5b3SAdam Hornáček<a class="l" name="238" href="#238">238</a>     (<b>meta</b> (<b>vary-meta</b> <a class="d intelliWindow-symbol" href="#giants" data-definition-place="defined-in-file">giants</a>
245eeb7e5b3SAdam Hornáček<a class="l" name="239" href="#239">239</a>                      <b>assoc</b> <a href="/source/s?defs=__" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__</a> <a href="/source/s?defs=__" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__</a>)))
246eeb7e5b3SAdam Hornáček<a class="hl" name="240" href="#240">240</a>
247eeb7e5b3SAdam Hornáček<a class="l" name="241" href="#241">241</a>  <span class="s">&quot;But it won&apos;t affect behavior like equality&quot;</span>
248*a5cf78b2SChris Fraire<a class="l" name="242" href="#242">242</a>  (= <a href="/source/s?defs=__" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__</a> (<b>vary-meta</b> <a class="d intelliWindow-symbol" href="#giants" data-definition-place="defined-in-file">giants</a> <b>dissoc</b> <a href="/source/s?defs=%5C%3Aleague" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:league</a>))
249eeb7e5b3SAdam Hornáček<a class="l" name="243" href="#243">243</a>
250eeb7e5b3SAdam Hornáček<a class="l" name="244" href="#244">244</a>  <span class="s">&quot;Or the object&apos;s printed representation&quot;</span>
251*a5cf78b2SChris Fraire<a class="l" name="245" href="#245">245</a>  (= <a href="/source/s?defs=__" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__</a> (<b>pr-str</b> (<b>vary-meta</b> <a class="d intelliWindow-symbol" href="#giants" data-definition-place="defined-in-file">giants</a> <b>dissoc</b> <a href="/source/s?defs=%5C%3Aleague" class="intelliWindow-symbol" data-definition-place="undefined-in-file">:league</a>))))
252eeb7e5b3SAdam Hornáček<a class="l" name="246" href="#246">246</a></body>
253eeb7e5b3SAdam Hornáček</html>
254