<html><body style='color:#000000; background:#ffffff; '><pre> 0: <span style='color:#800000; font-weight:bold; '>package</span><span style='color:#004a43; '> net</span><span style='color:#808030; '>.</span><span style='color:#004a43; '>sf</span><span style='color:#808030; '>.</span><span style='color:#004a43; '>colorer</span><span style='color:#808030; '>.</span><span style='color:#004a43; '>editor</span><span style='color:#800080; '>;</span> 1: 2: <span style='color:#800000; font-weight:bold; '>import</span><span style='color:#004a43; '> net</span><span style='color:#808030; '>.</span><span style='color:#004a43; '>sf</span><span style='color:#808030; '>.</span><span style='color:#004a43; '>colorer</span><span style='color:#808030; '>.</span><span style='color:#800000; font-weight:bold; '>*</span><span style='color:#800080; '>;</span> 3: <span style='color:#800000; font-weight:bold; '>import</span><span style='color:#004a43; '> net</span><span style='color:#808030; '>.</span><span style='color:#004a43; '>sf</span><span style='color:#808030; '>.</span><span style='color:#004a43; '>colorer</span><span style='color:#808030; '>.</span><span style='color:#004a43; '>handlers</span><span style='color:#808030; '>.</span><span style='color:#800000; font-weight:bold; '>*</span><span style='color:#800080; '>;</span> 4: 5: <span style='color:#800000; font-weight:bold; '>public</span> <span style='color:#800000; font-weight:bold; '>interface</span> BaseEditor<span style='color:#800080; '>{</span> 6: 7: <span style='color:#3f5fbf; '>/** LineRegionsSupport object preferences.</span> 8: <span style='color:#3f5fbf; '> Installs specified RegionStore (basically HRDRegionStore)</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> which</span> 9: <span style='color:#3f5fbf; '> maps HRC Regions into color data</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> sets default size (in lines) of</span> 10: <span style='color:#3f5fbf; '> Regions structure cache.</span> 11: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> compact Creates LineRegionsSupport (false) or</span> 12: <span style='color:#3f5fbf; '> LineRegionsCompactSupport (true) object to store lists of RegionDefine's</span> 13: <span style='color:#3f5fbf; '> */</span> 14: <span style='color:#800000; font-weight:bold; '>public</span> <span style='color:#bb7977; '>void</span> setRegionCompact<span style='color:#808030; '>(</span><span style='color:#bb7977; '>boolean</span> compact<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 15: 16: <span style='color:#3f5fbf; '>/** Changes used file type */</span> 17: <span style='color:#800000; font-weight:bold; '>public</span> <span style='color:#bb7977; '>void</span> setFileType<span style='color:#808030; '>(</span><a href='http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html'><span style='color:#bb7977; font-weight:bold; '>String</span></a> typename<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 18: <span style='color:#3f5fbf; '>/** Chooses filetype according to the filename and first line of text */</span> 19: <span style='color:#800000; font-weight:bold; '>public</span> <a href='http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html'><span style='color:#bb7977; font-weight:bold; '>String</span></a> chooseFileType<span style='color:#808030; '>(</span><a href='http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html'><span style='color:#bb7977; font-weight:bold; '>String</span></a> fname<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 20: <span style='color:#3f5fbf; '>/** Returns Currently selected file type */</span> 21: <span style='color:#800000; font-weight:bold; '>public</span> <a href='http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html'><span style='color:#bb7977; font-weight:bold; '>String</span></a> getFileType<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 22: 23: <span style='color:#3f5fbf; '>/** Specifies number of lines</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> for which parser</span> 24: <span style='color:#3f5fbf; '> would be able to run continual processing without</span> 25: <span style='color:#3f5fbf; '> highlight invalidation.</span> 26: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> backParse Number of lines. If <= </span><span style='color:#008c00; '>0</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> dropped into default</span> 27: <span style='color:#3f5fbf; '> value.</span> 28: <span style='color:#3f5fbf; '> */</span> 29: <span style='color:#bb7977; '>void</span> setBackParse<span style='color:#808030; '>(</span><span style='color:#bb7977; '>int</span> backParse<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 30: 31: <span style='color:#3f5fbf; '>/** Installs specified RegionMapper. */</span> 32: <span style='color:#800000; font-weight:bold; '>public</span> <span style='color:#bb7977; '>void</span> setRegionMapper<span style='color:#808030; '>(</span><a href='http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html'><span style='color:#bb7977; font-weight:bold; '>String</span></a> cls<span style='color:#808030; '>,</span> <a href='http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html'><span style='color:#bb7977; font-weight:bold; '>String</span></a> name<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 33: 34: <span style='color:#3f5fbf; '>/** Adds specified RegionHandler object into the parse process.</span> 35: <span style='color:#3f5fbf; '> </span><span style='color:#7f9fbf; font-weight:bold; '>*</span><span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> filter If not null</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> handler would be activated only if</span> 36: <span style='color:#3f5fbf; '> </span><span style='color:#7f9fbf; font-weight:bold; '>*</span><span style='color:#3f5fbf; '> passed regions have specified </span><span style='color:#7f9fbf; font-weight:bold; '><code></span><span style='color:#3f5fbf; '>filter</span><span style='color:#7f9fbf; font-weight:bold; '></code></span><span style='color:#3f5fbf; '> parent.</span> 37: <span style='color:#3f5fbf; '> </span><span style='color:#7f9fbf; font-weight:bold; '>*</span><span style='color:#3f5fbf; '> This allows to optimize performance and disable unnecesary JNI</span> 38: <span style='color:#3f5fbf; '> </span><span style='color:#7f9fbf; font-weight:bold; '>*</span><span style='color:#3f5fbf; '> context switches.</span> 39: <span style='color:#3f5fbf; '> */</span> 40: <span style='color:#bb7977; '>void</span> addRegionHandler<span style='color:#808030; '>(</span>RegionHandler rh<span style='color:#808030; '>,</span> Region filter<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 41: <span style='color:#3f5fbf; '>/** Removes previously added region handler.</span> 42: <span style='color:#3f5fbf; '> */</span> 43: <span style='color:#bb7977; '>void</span> removeRegionHandler<span style='color:#808030; '>(</span>RegionHandler rh<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 44: 45: <span style='color:#3f5fbf; '>/** Current Background Region (def</span><span style='color:#7f9fbf; font-weight:bold; '>:</span><span style='color:#3f5fbf; '>Text) */</span> 46: <span style='color:#800000; font-weight:bold; '>public</span> RegionDefine getBackground<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 47: <span style='color:#3f5fbf; '>/** Current Vertical Rule (def</span><span style='color:#7f9fbf; font-weight:bold; '>:</span><span style='color:#3f5fbf; '>VertCross) */</span> 48: <span style='color:#800000; font-weight:bold; '>public</span> RegionDefine getVertCross<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 49: <span style='color:#3f5fbf; '>/** Current Horizontal Rule (def</span><span style='color:#7f9fbf; font-weight:bold; '>:</span><span style='color:#3f5fbf; '>HorzCross) */</span> 50: <span style='color:#800000; font-weight:bold; '>public</span> RegionDefine getHorzCross<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 51: 52: <span style='color:#3f5fbf; '>/** Searches and creates pair match object.</span> 53: <span style='color:#3f5fbf; '> Returned object can be used later in the pair search methods.</span> 54: <span style='color:#3f5fbf; '> This object is valid only until reparse of it's line</span> 55: <span style='color:#3f5fbf; '> occured. After that event information about line region's</span> 56: <span style='color:#3f5fbf; '> references in it becomes invalid and</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> if used</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> can produce</span> 57: <span style='color:#3f5fbf; '> faults.</span> 58: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> lineNo Line number</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> where to search paired region.</span> 59: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> pos Position in line</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> where paired region to be searched.</span> 60: <span style='color:#3f5fbf; '> Paired Region is found</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> if it includes specified position</span> 61: <span style='color:#3f5fbf; '> or ends directly at one char before line position.</span> 62: <span style='color:#3f5fbf; '> */</span> 63: <span style='color:#800000; font-weight:bold; '>public</span> PairMatch getPairMatch<span style='color:#808030; '>(</span><span style='color:#bb7977; '>int</span> lineNo<span style='color:#808030; '>,</span> <span style='color:#bb7977; '>int</span> pos<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 64: 65: <span style='color:#3f5fbf; '>/** Searches pair match in currently visible text.</span> 66: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> pm Unmatched pair match</span> 67: <span style='color:#3f5fbf; '> */</span> 68: <span style='color:#800000; font-weight:bold; '>public</span> <span style='color:#bb7977; '>void</span> searchLocalPair<span style='color:#808030; '>(</span>PairMatch pm<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 69: 70: <span style='color:#3f5fbf; '>/** Searches pair match in all available text</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> possibly</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '></span> 71: <span style='color:#3f5fbf; '> making additional processing.</span> 72: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> pm Unmatched pair match</span> 73: <span style='color:#3f5fbf; '> */</span> 74: <span style='color:#800000; font-weight:bold; '>public</span> <span style='color:#bb7977; '>void</span> searchGlobalPair<span style='color:#808030; '>(</span>PairMatch pm<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 75: 76: <span style='color:#3f5fbf; '>/** Return parsed and colored LineRegions of requested line.</span> 77: <span style='color:#3f5fbf; '> This method validates current cache state</span> 78: <span style='color:#3f5fbf; '> and</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> if needed</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> calls Colorer parser to validate modified block of text.</span> 79: <span style='color:#3f5fbf; '> Size of reparsed text is choosed according to information</span> 80: <span style='color:#3f5fbf; '> about visible text range and modification events.</span> 81: <span style='color:#3f5fbf; '> </span><span style='color:#7f9fbf; font-weight:bold; '>@</span><span style='color:#3f5fbf; '>todo If number of lines</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> to be reparsed is more</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> than backParse parameter</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '></span> 82: <span style='color:#3f5fbf; '> then method will return null</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> until validate() method is called.</span> 83: <span style='color:#3f5fbf; '> */</span> 84: <span style='color:#800000; font-weight:bold; '>public</span> LineRegion<span style='color:#808030; '>[</span><span style='color:#808030; '>]</span> getLineRegions<span style='color:#808030; '>(</span><span style='color:#bb7977; '>int</span> lno<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 85: 86: <span style='color:#3f5fbf; '>/** Validates current state of the editor and runs parser</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> if needed.</span> 87: <span style='color:#3f5fbf; '> This method can be called periodically in background thread</span> 88: <span style='color:#3f5fbf; '> to make possible background parsing process.</span> 89: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> lno Line number</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> for which validation is requested.</span> 90: <span style='color:#3f5fbf; '> If this number is in the current visible window range</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '></span> 91: <span style='color:#3f5fbf; '> the part of text is validated</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> which is required</span> 92: <span style='color:#3f5fbf; '> for visual repaint.</span> 93: <span style='color:#3f5fbf; '> If this number is equals to </span><span style='color:#7f9fbf; font-weight:bold; '>-</span><span style='color:#008c00; '>1</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> all the text is validated.</span> 94: <span style='color:#3f5fbf; '> If this number is not in visible range</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> optimal partial validation</span> 95: <span style='color:#3f5fbf; '> is used</span> 96: <span style='color:#3f5fbf; '> */</span> 97: <span style='color:#bb7977; '>void</span> validate<span style='color:#808030; '>(</span><span style='color:#bb7977; '>int</span> lno<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 98: 99: <span style='color:#3f5fbf; '>/** Tries to do some parsing job while user is doing nothing.</span> 100: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> time integer between </span><span style='color:#008c00; '>0</span><span style='color:#3f5fbf; '> and </span><span style='color:#008c00; '>100</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> shows an abount of time</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '></span> 101: <span style='color:#3f5fbf; '> available for this job.</span> 102: <span style='color:#3f5fbf; '> */</span> 103: <span style='color:#bb7977; '>void</span> idleJob<span style='color:#808030; '>(</span><span style='color:#bb7977; '>int</span> time<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 104: 105: <span style='color:#3f5fbf; '>/** Informs BaseEditor object about text modification event.</span> 106: <span style='color:#3f5fbf; '> All the text becomes invalid after the specified line.</span> 107: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> topLine Topmost modified line of text.</span> 108: <span style='color:#3f5fbf; '> */</span> 109: <span style='color:#800000; font-weight:bold; '>public</span> <span style='color:#bb7977; '>void</span> modifyEvent<span style='color:#808030; '>(</span><span style='color:#bb7977; '>int</span> topLine<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 110: 111: <span style='color:#3f5fbf; '>/** Informs about single line modification event.</span> 112: <span style='color:#3f5fbf; '> Generally</span><span style='color:#7f9fbf; font-weight:bold; '>,</span><span style='color:#3f5fbf; '> this type of event can be processed much faster</span> 113: <span style='color:#3f5fbf; '> because of pre</span><span style='color:#7f9fbf; font-weight:bold; '>-</span><span style='color:#3f5fbf; '>checking line's changed structure and</span> 114: <span style='color:#3f5fbf; '> cancelling further parsing in case of unmodified text structure.</span> 115: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> line Modified line of text.</span> 116: <span style='color:#3f5fbf; '> </span><span style='color:#7f9fbf; font-weight:bold; '>@</span><span style='color:#3f5fbf; '>todo Not used yet! This must include special 'try' parse method.</span> 117: <span style='color:#3f5fbf; '> */</span> 118: <span style='color:#800000; font-weight:bold; '>public</span> <span style='color:#bb7977; '>void</span> modifyLineEvent<span style='color:#808030; '>(</span><span style='color:#bb7977; '>int</span> line<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 119: 120: <span style='color:#3f5fbf; '>/** Informs about changes in visible range of text lines.</span> 121: <span style='color:#3f5fbf; '> This information is used to make assumptions about</span> 122: <span style='color:#3f5fbf; '> text structure and to make faster parsing.</span> 123: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> wStart Topmost visible line of text.</span> 124: <span style='color:#3f5fbf; '> </span><a href='http://www.java.sun.com/j2se/1.3/docs/tooldocs/windows/javadoc.html#@param'><span style='color:#7f9fbf; font-weight:bold; '>@param</span></a><span style='color:#3f5fbf; '> wSize Number of currently visible text lines.</span> 125: <span style='color:#3f5fbf; '> This number must includes all partially visible lines.</span> 126: <span style='color:#3f5fbf; '> */</span> 127: <span style='color:#800000; font-weight:bold; '>public</span> <span style='color:#bb7977; '>void</span> visibleTextEvent<span style='color:#808030; '>(</span><span style='color:#bb7977; '>int</span> wStart<span style='color:#808030; '>,</span> <span style='color:#bb7977; '>int</span> wSize<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 128: 129: <span style='color:#3f5fbf; '>/** Informs about total lines count change.</span> 130: <span style='color:#3f5fbf; '> This must include initial lines number setting.</span> 131: <span style='color:#3f5fbf; '> */</span> 132: <span style='color:#800000; font-weight:bold; '>public</span> <span style='color:#bb7977; '>void</span> lineCountEvent<span style='color:#808030; '>(</span><span style='color:#bb7977; '>int</span> newLineCount<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span> 133: 134: <span style='color:#800080; '>}</span><span style='color:#808030; '>;</span> 135: <span style='color:#696969; '>/* ***** BEGIN LICENSE BLOCK *****</span> 136: <span style='color:#696969; '> * Version: MPL 1.1/GPL 2.0/LGPL 2.1</span> 137: <span style='color:#696969; '> *</span> 138: <span style='color:#696969; '> * The contents of this file are subject to the Mozilla Public License Version</span> 139: <span style='color:#696969; '> * 1.1 (the "License"); you may not use this file except in compliance with</span> 140: <span style='color:#696969; '> * the License. You may obtain a copy of the License at</span> 141: <span style='color:#696969; '> * </span><span style='color:#5555dd; '>http://www.mozilla.org/MPL/</span><span style='color:#696969; '></span> 142: <span style='color:#696969; '> *</span> 143: <span style='color:#696969; '> * Software distributed under the License is distributed on an "AS IS" basis,</span> 144: <span style='color:#696969; '> * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License</span> 145: <span style='color:#696969; '> * for the specific language governing rights and limitations under the</span> 146: <span style='color:#696969; '> * License.</span> 147: <span style='color:#696969; '> *</span> 148: <span style='color:#696969; '> * The Original Code is the Colorer Library.</span> 149: <span style='color:#696969; '> *</span> 150: <span style='color:#696969; '> * The Initial Developer of the Original Code is</span> 151: <span style='color:#696969; '> * </span><span style='color:#3f5fbf; '>Cail Lomecb</span><span style='color:#696969; '> </span><span style='color:#0000e6; '><</span><span style='color:#7144c4; '>cail@nm.ru</span><span style='color:#0000e6; '>></span><span style='color:#696969; '>.</span> 152: <span style='color:#696969; '> * Portions created by the Initial Developer are Copyright (C) 1999-2003</span> 153: <span style='color:#696969; '> * the Initial Developer. All Rights Reserved.</span> 154: <span style='color:#696969; '> *</span> 155: <span style='color:#696969; '> * Contributor(s):</span> 156: <span style='color:#696969; '> *</span> 157: <span style='color:#696969; '> * Alternatively, the contents of this file may be used under the terms of</span> 158: <span style='color:#696969; '> * either the GNU General Public License Version 2 or later (the "GPL"), or</span> 159: <span style='color:#696969; '> * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),</span> 160: <span style='color:#696969; '> * in which case the provisions of the GPL or the LGPL are applicable instead</span> 161: <span style='color:#696969; '> * of those above. If you wish to allow use of your version of this file only</span> 162: <span style='color:#696969; '> * under the terms of either the GPL or the LGPL, and not to allow others to</span> 163: <span style='color:#696969; '> * use your version of this file under the terms of the MPL, indicate your</span> 164: <span style='color:#696969; '> * decision by deleting the provisions above and replace them with the notice</span> 165: <span style='color:#696969; '> * and other provisions required by the GPL or the LGPL. If you do not delete</span> 166: <span style='color:#696969; '> * the provisions above, a recipient may use your version of this file under</span> 167: <span style='color:#696969; '> * the terms of any one of the MPL, the GPL or the LGPL.</span> 168: <span style='color:#696969; '> *</span> 169: <span style='color:#696969; '> * ***** END LICENSE BLOCK ***** */</span> </pre></body></html>