Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Nebula » [DateChooser] Custom Colors, and custom selection support patch
[DateChooser] Custom Colors, and custom selection support patch [message #59286] Tue, 23 September 2008 14:28 Go to next message
Laurent Marchal is currently offline Laurent MarchalFriend
Messages: 91
Registered: July 2009
Member
This is a multi-part message in MIME format.
--------------040207040206010903010709
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hello,

For my RCP application i needed to show customs colors on a calendar,
and allow the user to only select specific dates.

For example all day having a specified property, are in green and user
can only select theses days.

there no calendar supporting this feature, so i decided to modify the
DateChooser to do this.

The DateChooser widget is very well designed, and all major
modifications are done in the DateChooserTheme, the DateChooser itself
contain minor modifications.

I've tested the code on Gtk, OSX, Windows, and it works very well even
with lots of colors, and custom enablement states. So i have attached
the patch and a screenshot.

With this you can
- enable/disable date selection
- set custom color on dates
- set custom tooltip for each date

The code is not clean enough to be integrated into the CVS but if the
main developpers are interested in these features, i can improve
documentation and work to integrate with the mainline.

Thanks for this nice widget !

Laurent Marchal.

--------------040207040206010903010709
Content-Type: text/x-diff;
name="datechooser_colors.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="datechooser_colors.patch"

Index: src/org/eclipse/nebula/widgets/datechooser/DateChooser.java
============================================================ =======
RCS file: /cvsroot/technology/org.eclipse.swt.nebula/org.eclipse.nebul a.widgets.datechooser/src/org/eclipse/nebula/widgets/datecho oser/DateChooser.java,v
retrieving revision 1.6
diff -u -r1.6 DateChooser.java
--- src/org/eclipse/nebula/widgets/datechooser/DateChooser.java 17 Feb 2008 17:41:44 -0000 1.6
+++ src/org/eclipse/nebula/widgets/datechooser/DateChooser.java 23 Sep 2008 14:07:25 -0000
@@ -25,6 +25,7 @@

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Point;
@@ -1010,6 +1011,12 @@
private void select(int index, int stateMask) {
Cell cell = days[index];
if ( ! navigationEnabled && cell.adjacent != 0 ) return;
+ //check if the cell is enabled
+ if ( !theme.getCustomState(cell.cal.getTime()) ) {
+ refreshDisplay();
+ return;
+ }
+
boolean ctrl = (stateMask & SWT.CTRL) != 0;
boolean shift = (stateMask & SWT.SHIFT) != 0;
if ( shift && beginInterval == null ) {
@@ -1109,6 +1116,14 @@
? theme.weekendForeground
: theme.dayCellForeground));
}
+ // Now check for customs colors
+ Date cellDate = cell.cal.getTime();
+ Color custom = theme.getCustomColor(cellDate);
+ if ( custom != null && !cell.selected ) {
+ cell.label.setBackground(custom);
+ }
+ //set tooltip
+ cell.label.setToolTipText(theme.getCustomTootlip(cellDate));
}

/**
@@ -1348,7 +1363,7 @@
String[] ln = symboles.getWeekdays();
int f = firstDayOfWeek;
for (int i = 0; i < headers.length; i++) {
- headers[i].setText(sn[f].substring(0, 1).toUpperCase());
+ headers[i].setText(sn[f].substring(0, 2));
headers[i].setToolTipText(ln[f]);
f = (f % 7) + 1;
}
@@ -1461,7 +1476,7 @@
refreshDisplay();
redrawDec();
}
-
+
/**
* Sets the today date.<p>
*
Index: src/org/eclipse/nebula/widgets/datechooser/DateChooserTheme. java
============================================================ =======
RCS file: /cvsroot/technology/org.eclipse.swt.nebula/org.eclipse.nebul a.widgets.datechooser/src/org/eclipse/nebula/widgets/datecho oser/DateChooserTheme.java,v
retrieving revision 1.1
diff -u -r1.1 DateChooserTheme.java
--- src/org/eclipse/nebula/widgets/datechooser/DateChooserTheme. java 26 Mar 2007 21:41:12 -0000 1.1
+++ src/org/eclipse/nebula/widgets/datechooser/DateChooserTheme. java 23 Sep 2008 14:07:25 -0000
@@ -10,6 +10,12 @@
************************************************************ *******************/
package org.eclipse.nebula.widgets.datechooser;

+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
@@ -292,4 +298,241 @@
public void setFont(Font font) {
this.font = font;
}
+
+
+ //
+ //
+ //
+
+ /** Map date and cell properties */
+ private Map customCellProperties = new HashMap();
+
+ /** Simplest way to compare only year.month.day for dates */
+ private SimpleDateFormat _dateFormat = new SimpleDateFormat("yyyy.MM.dd");
+
+ private class CustomCellProperty {
+ public Color bgColor;
+ public boolean enabledState = true;
+ public String tooltip;
+ }
+
+
+ private CustomCellProperty getCellProperty(Date date) {
+ if (date != null) {
+ String strDate = _dateFormat.format(date);
+ // get the property for a the date
+ return (CustomCellProperty) customCellProperties.get(strDate);
+ }
+ // return for the null date
+ return (CustomCellProperty) customCellProperties.get(null);
+ }
+
+ private CustomCellProperty getCellPropertyOrDefault(Date date) {
+ CustomCellProperty property = this.getCellProperty(date) ;
+ if (property == null) {
+ // the property was not found so return the default
+ return (CustomCellProperty) customCellProperties.get(null);
+ }
+
+ return property;
+ }
+
+ private void setCellProperty(Date date, CustomCellProperty cellProperty) {
+ String key = null;
+
+ if (date != null) {
+ key = _dateFormat.format(date);
+ }
+
+ customCellProperties.put(key, cellProperty);
+ }
+
+ /**
+ * Clear all custom color for all days
+ */
+ public void clearCustomColors() {
+ Iterator valuesIt = customCellProperties.values().iterator();
+ CustomCellProperty cellProperty = null;
+
+ while (valuesIt.hasNext()) {
+ cellProperty = (CustomCellProperty) valuesIt.next();
+ cellProperty.bgColor = null;
+ }
+ }
+
+ /**
+ * Clear all custom tootlips for all days
+ */
+ public void clearCustomTooltips() {
+ Iterator valuesIt = customCellProperties.values().iterator();
+ CustomCellProperty cellProperty = null;
+
+ while (valuesIt.hasNext()) {
+ cellProperty = (CustomCellProperty) valuesIt.next();
+ cellProperty.tooltip = null;
+ }
+ }
+
+ /**
+ * Clear all custom enabled state for all days
+ */
+ public void clearCustomStates() {
+ Iterator valuesIt = customCellProperties.values().iterator();
+ CustomCellProperty cellProperty = null;
+
+ while (valuesIt.hasNext()) {
+ cellProperty = (CustomCellProperty) valuesIt.next();
+ cellProperty.enabledState = true;
+ }
+ }
+
+ /**
+ * Clear all custom colors/tooltips/state for all days
+ */
+ public void clearAllCustom() {
+ customCellProperties.clear();
+ }
+
+ /**
+ * @param date
+ * the date to ask the enabled state
+ * @return true if the selection is possible on this date
+ */
+ public boolean getCustomState(Date date) {
+ CustomCellProperty cellProperty = this.getCellPropertyOrDefault(date);
+ if (cellProperty == null) {
+ //enabled by default
+ return true;
+ } else {
+ return cellProperty.enabledState;
+ }
+ }
+
+ /**
+ * Change the enabled state of a day <br/> A disabled day can not be
+ * selected<br/> Use null to change the enabled state of all days<br/>
+ * Warning this method will not redraw the control each time it is called,
+ * call it manually after
+ *
+ * @param date
+ * the date to change the color
+ * @param enabled
+ * the state to set on this date
+ */
+ public void setCustomState(Date date, boolean enabled) {
+ CustomCellProperty cellProperty = this.getCellProperty(date);
+
+ if (cellProperty == null) {
+ // not found create a new one
+ cellProperty = new CustomCellProperty();
+ cellProperty.enabledState = enabled;
+
+ this.setCellProperty(date, cellProperty);
+
+ } else {
+ cellProperty.enabledState = enabled;
+ }
+ }
+
+ /**
+ * Change the background color of a day <br/> Use null to change the color
+ * of all days
+ *
+ * @param date
+ * @return a color or null if no color was found for this date
+ */
+ public Color getCustomColor(Date date) {
+ CustomCellProperty cellProperty = this.getCellPropertyOrDefault(date);
+ if (cellProperty == null) {
+ return null;
+ } else {
+ return cellProperty.bgColor;
+ }
+ }
+
+ /**
+ * Change the background color of a day. <br/> Use null background to change the color
+ * of all days <br/> this method will not redraw the control each
+ * time it is called, you have to redraw the control manually after setting colors.
+ *
+ * @param date
+ * the date to change the color, or null for all dates
+ * @param color
+ * the color to set on this date
+ */
+ public void setCustomColor(Date date, Color color) {
+ CustomCellProperty cellProperty = this.getCellProperty(date);
+
+ if (cellProperty == null) {
+ // not found create a new one
+ cellProperty = new CustomCellProperty();
+ cellProperty.bgColor = color;
+
+ this.setCellProperty(date, cellProperty);
+
+ } else {
+ cellProperty.bgColor = color;
+ }
+ }
+
+ /**
+ * Change the background color of a day <br/> Use null to change the color
+ * of all days
+ *
+ * @param date
+ * @return a color or null if no color was found for this date
+ */
+ public String getCustomTootlip(Date date) {
+ CustomCellProperty cellProperty = this.getCellPropertyOrDefault(date);
+ if (cellProperty == null) {
+ //enabled by default
+ return null;
+ } else {
+ return cellProperty.tooltip;
+ }
+ }
+
+ /**
+ * Change the background color of a day. <br/> Use null background to change the color
+ * of all days <br/> this method will not redraw the control each
+ * time it is called, you have to redraw the control manually after setting colors.
+ *
+ * @param date
+ * the date to change the color, or null for all dates
+ * @param tootlip
+ * the tooltip to set on this date
+ */
+ public void setCustomTooltip(Date date, String tootlip) {
+ CustomCellProperty cellProperty = this.getCellProperty(date);
+
+ if (cellProperty == null) {
+ // not found create a new one
+ cellProperty = new CustomCellProperty();
+ cellProperty.tooltip = tootlip;
+
+ this.setCellProperty(date, cellProperty);
+
+ } else {
+ cellProperty.tooltip = tootlip;
+ }
+ }
+
+ public void setCustom(Date date, String tootlip, Color color, boolean enabled) {
+ CustomCellProperty cellProperty = this.getCellProperty(date);
+
+ if (cellProperty == null) {
+ // not found create a new one
+ cellProperty = new CustomCellProperty();
+ cellProperty.tooltip = tootlip;
+ cellProperty.bgColor = color;
+ cellProperty.enabledState = enabled;
+
+ this.setCellProperty(date, cellProperty);
+
+ } else {
+ cellProperty.tooltip = tootlip;
+ cellProperty.bgColor = color;
+ cellProperty.enabledState = enabled;
+ }
+ }
}

--------------040207040206010903010709
Content-Type: image/png;
name="colorDateChooser.png"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="colorDateChooser.png"

iVBORw0KGgoAAAANSUhEUgAAAiMAAAKdCAIAAAB+iP7jAAAAAXNSR0IArs4c 6QAAAAlwSFlz
AAAOxAAADsQBlSsOGwAAAAd0SU1FB9gJFw4aOo7YN9YAAAAZdEVYdENvbW1l bnQAQ3JlYXRl
ZCB3aXRoIEdJTVBXgQ4XAAAgAElEQVR42uydaVwTZ9vFT8iesIiKCwWtCsji jiKiglYE1Kq1
tgV3Ra1La13b2qLlteLaR8V9qdujdX2sW2sVd9wQFUXqilgR0SKKBBTIRvJ+ iFKKSQgzgwJe
/x8fJhNyMjP3mblm7pnch5f95G8QBEEQRLlhRZuAIAiCoEpDEARBUKUhCIIg CKo0BEEQxFtB
UOJ16+/20EYhirg0pw/ZgyB7ECztQdc0BEEQRPlClYYgCIKgSkMQBEFQpSEI giAIqjQEQRAE
VRqCIAiCKg1BEARBUKUhCIIgqNIQBEEQVGkIonLh4+Z4et6glJ/H0KYgCKo0 DOH2CELHo6rH
1E/b/d/W0y4jV/7jbB5v+ZjgLz/0Jm8QxFtHUCmWsvgR5O2q+TepNzK4RatG dQrU2thrabN3
nM16XgCAx8PXH/uG+XvqgW2xNxbsOa/Xw8z8BrWrRfbv6O1SB0BCSsaMrafv PVaQHRnT+L0a
sdfSis/57jO/pHuZqw9dIW8QbwuyRCW7pqk4hHdtvjYmsc3EDcHTt70oUEV/ 3tUwP8zf08fN
MSRyR7fIHb6NHT/t4GF+/pJRXS/fzWj/9ab2X2+6eu/x4lc6BDPEQr62UFd8 zqwdZ8taZsgb
BFnina40RX0azg62a77slrRsxI2Vn68f36OGjbToH/oHeMXOHXhr1ajffvjU w7lmNbn44qJh
djJxkUg1uTh+4VA7mbhIjW/Fm/Kx74WFQ6+tGLn4865yibBIbVjX5mfmD7qz pmRfytBFv8Ve
S8tXabKeF8z9X5zhLAPAx+3cF+yJz1TkZSryFuyJ7+vnbn5+wzr2q/64nJuv ys1XrTiQ0LBu
NdotWdoj5ecxhonXm9W8GYq3NXmjyltlQCevk3MG3Fw56uCM0NYudfv6uR+d 1d9w3Gj8Xo1S
jzPFWz+gSb2DM0JvrRoVO3fgZx09Xv86skRlvab5+cvuG44m+Uzc2HbSxr8e K74PbV/0VtvG
jp/N3dNy/PrDV+7NGhygyFMdTLgb5u9Z9A9h/p774+/k5KuK5ozp3qpJfYde M3e1nbRRqdF+
07dd0VstGtTqNXOX6+fm+lLaezpfufvYMO3qaP/n/SeG6Wv3n7g62puffyIp dVS3ljZSka1M
PKpbq5NJ9+kowBhDl5fLyJWGideb1bwZjLY1eaOq4ufh1O+nfa3Gr9sff2fd +B6dmtYbtGB/
y6/W/XHp7qzBAaUeZ4q3/n+Gd1m872KzL9f2m7+3ZcPa5r/3HbdEJas0IZHb 4249VGq0zwvU
C3bHd/R0Knorcsupx4q8ApVmbUyiV72aAP57NGlA5yZ8KysAfCursACvDUeu Flf7tIPHj9tO
Z2S/yFNqfvr1fHCrhv/0vew89+x5gZkl8XCuOS3Ub9rmWMNLmUSYr9QYpvOU GrlEZH7+zO1n
P2nvfmXJ8MuLw/v6Nf5x+1k6BHCF0WY1YwajbU3eqKpEbI79+9mLArV249Ek uUQ4fcupopdN
33co9ThTvPWVaq1DNVl1G+mjZy++++9JsoQZBJVrcVs1qvPNJ75ezjWlYiEA w+0yA4q8lxcr
BWqt4YByN0Nx59GzEO+GBy6mdPNueDkl49GzF8XV6tjLD8/sV/SyuFqmIs/M YrRt7PhTeJdx
q2KK7svlKzUyifBFgRqAXCLMU6rNz58f/sGeuOT1R64CGB7U/KfwD4Ys/I2O ApxgtFnNmMFo
W5M3qiqKF8qiA0WJl4bjhvnjTPHW/2JlzJcfeo/v2eZ5gXrmjrPHr6aSJapI pVk6Omj2znOn
rqW9UKrlElHikuHm/3/D0aTxPdscuJgyNLDZD1tOlXg3U5H/yZzdj80eOF6n RxuXiM/8Ri0/
+Gfqk6KZdx5lN63vEHfrIYAm9R3uPMo2P7+Na92RS/5QawsBrDiQcKW0FSEs x1SzmjcDeYMo
63EmKTXz82UHeTwENKk3Z0jndsYqDVmiUvaeiYUClaZQpSl0qmk7a1BAqf9/ 5voDa6lw0AdN
8lSaG2lPS7y7Nfb6rMGd6jnY8q2sGr9Xw5InOsK7Nv/2k3aDFv5W3DcA9sTd nvRR21rV5LWq
ySd91PbXc7fMz095lD26eytbmdhWJh7T3Tv54TPavbnCVLOaNwN5gyjrcSb6 864ujvYCvhWP
xxPwrcgSVeea5rv/noj4zG/5mODHiry1MYk92riU+pENR5OiBgWELz7w+lur D175vBs2T+5V
u5r8rwzF8gMJpap9/5kfgJgfw4rmNPtybb5Ks+3UdWcH20MzQgFsO3Xjf2du Gt41NX/i2qMz
+nf8PKQFgCt3H09ae5R2b64w06xmzEDeIMp6nDl65d6KMSH1a9n+laEw2kxk iSJ42U/+Lv66
9Xd7KtxlF493a/Uot89X0Q7w5rk0p08FtwdB9iAqvj0qQe+ZZ72aT3PyqdkI giAqKZWg0uyc
2ufnmERqKoIgiEpKJbhP4zlmDbUTQRAEXdMQBEEQBFUagiAIgioNQRAEQZWG IAiCIKjSEARB
EFRpCIIgCKo0BEEQBEGVhiAIgqgMlBz3jCAIgiDomoYgCIKgSkMQBEEQZa00 DVw9aGNVJbht
ULIH2YPsQfagaxraGWjFaSvRitNWemsrTpXmJffu3KQVJ2gr0YrTViqPFadK QxAEQZQvZa40
JS6XLLl6auDqsWXrdv/OXRt7NQvq3vNSwuVdu/d80LWbm2ezHr363E5ONvxb 2oMHI0aN9Wru
7e7VfEj4yKdZWYylCgsL5/1nYeu27d2btPhqwuS8vDzL14vBZwEoFDnePn45 ObnF57Tx7ZCT
k8tMMPbU6aDuPd08m3Xo1GX7zv9ZvolMoVKrv/72e4+mLX3adVz987pyuvAn e5A9yB5kj7d2
TXPm3LkdWzdfTbjwUa8Phw7//OTJU1s2bUi6fKFH95CpET8Y/mf452PChw6+ fOHcxfNnGjVs
GDV7LmOpFavWXL9+4/d9uxPiz4rF4jnz/2P5ojL7bLVqdiEhQVu37yias33H zl49e9jZ2TIT
nDTl24njx/2ZeGnn1l8SE5PKtImMsih6SdazZ6dPHj3w255zcecr1PkO2YPs Qfao2vaw9Jeb
DVw9DF1yRRMl5pv/7OULcfb21QAolUqPpi2Lv2zass2dm3+W+IhSqewQ0OVS /FlmUh06dfnv
+rWNGjYA8OTp0x49+1yIO23hCjL4rIG//ro3aNjw2GOHBQKBVqvtHBiyY+tm R8e6zAT9/DuP
HjkiqGtgnTq1jf6DqU1kCt8OAdu3bHq/fn0Af91L7RLUzWiDMj5XJXuQPcge ZA9TvKF0Z0Nz
ApBIJCVearVaw/TlK1fmzPvP9Rs3CwoKAPB4PMZSjx9nBgZ3/6ecmpAyCuPP NmzYwNXF5WDM
4Z49uh+KOdyqVUtHx7qMBVcuW7J0+cropctsrG1+mPZdlw86W76JjPL0aZaz k5Nhup6zU4U6
aSV7kD3IHlXbHmWuNAKBQKlUGtopO1vBoZ/GjpsQ8d23nfw7Wltb5+XlNW3Z hrGUg0PNPf/b
Ubt2rTf82fChQ6KXLuvZo/u6jZuiZkSyEWzerOna1Sv0en3sqdNfT424GHea 5SaqWbPGg/R0
w1nJg/T0cjookD3IHmQPssfrlPk+jYd74zVr1yuVysePM6f98H8cekWlUknE YpFY/CA9/ftp
kWykBvYPmxox/X5amlarvZ2c/NWEyW/ms/4d27948WLT5i3WcrmXpwcbwXET Jqek3NVotHq9
XldYyH4T9e75YdTseVnPnj3Nyvoxak45HUrIHmQPsgfZg4NKM2fWzMNHjjZt 2aZvaD+/dr4c
emXe7FlRs+d5NWvVb+AQb++WbKRGfz7Sp7X3gMHDPJu1+mrilK5du7yZzwII Hzp4RtTskcPD
WQoGd+0y+otxXs1bzZn/n4UL5rPfRJMnjrezs23v/0G3Hr192/qU06GE7EH2 IHuQPV6HxnIG
AJ1O5+rR9O7t67QpCLIHQfbgHPrlJgBcv3GzZs2atB0IsgdB9qBKU158Gtp/ 1MjhtB0IsgdB
9igPqPeMIAiCKF9KPuVcrWYd2ihEEYqnGWQPguxBsLRH+f5yc7vua050wqx+ 4nCpDk/lcaIT
NFfPoRR43EhBz6kUUTGcRvYgzFHh7UH3aQiCIIjyhSoNQRAEQZWGIAiCqMwI 3uJ3j6mx1jCx
MmsEG51jx44tWbIkPj5eJpMFBgbOmjXLwcGBmdSVNOG+RHFKpkAs0Ddz1g7y Lagu17FZtlwl
b+qvNlkvrHaMYj7K04x/v4xkt9kfA0eANEACdAZa0k7wlghd/XJ4RzbeAJAC nAMeAELABQgG
5Eyl7gBngXRABDQEggEbaqfKzwyODh1snPY2r2lWZo1gWWMMLF++fNy4cXfv 3o2Pj7e1tR0x
grnmb1fF3ZuqVg/OWT4gt171woVHZCyX7X8XJUFeavbrGFnsjw1ZwDbAG/ga GA6k0V749tgx
SsGyxhiIA/yAr4EvAAnwKwupc4AvMAWYANQGdlIjVQnYHzfYO01QBbbj7t27 DRNyuXzmzJkN
GjRgLPVDzxdF0z2aqX5NELNZsIcK/tV04YLPnm+Ll1SQbXUSCAAMo/fZAb1p L6z8DHo1IQK6
AvNYSA0pNt0OOEUbl+DIaYIqti1OnDjRpk0b9joqLe/QNXGT97RsRDbHSULb KIV8Dh4GnQ+o
AHugBdAeYPwc4j2gFrAAUAGuQE9AQjtQFeIvwJkLHQ0QDzSgDUpw5LQqVWn+ /PPP77//fteu
XSx1DB3odlL9j72fMxZJShc8V1r5uXDTdQZAD2QCh4A8IJipVD6QDYwFAMQA vwOf0E5TVcgA
DgEDWesYuvXlQDhtU4Ijp1WdZ8/OnDnTv3//devWubi4sJTaMUqxcVhOcBPV ypPM79NsjpMO
alfA424FeUBtoC+QyEJEBAQBUkAKBAN3aKepKqQC24FPgBpcnNlMBXyAfbRZ CY6cVkWuaXbv
3h0REbF169aWLbl5lkoq0vdsrtpzmXnfUtozfuQ+6+LXSZzc/uUBbDrjatOO UhW5DsQAYYAj
R4JiwI/u0xDcOa0qVJrly5evWrVq3759bm5uLKWWHZf1aaWqY1v4QmW1P1Hs Wpv5fZridYVl
mfkV6AjUBHKAg4AnixVsARwGggAAMYAb7TqVnzggHhgMsB+5fg/QEagO5APn OLrlQ5DTUEF+
T2OYYPzE87Rp0wC0bdu2aE56erpczuRHBd71NdFHZA8VfGuxvoWzZkJgXkVo YA9gN/AEkANe
QBcWUi2BHGApoHn1RADxtij6PY1hgvG5yGHD+VaxOd8BIkZSjYFdwBNACrjQ Pbyqwox/TzB+
4pmN095mpeHkxzQAsrOzuVqkdo007RppOF9Tlv1mnuyuY0rQCehEO18FgJPe VHD0U4nycBpR
QYisADo0Gg1BEARRvlClIQiCIKjSEARBEJWZkunOlJpHFIdCFQmyB8HeHkae CHCK/oqTr0mf
sKRiSlXUol85QhU/+q0fJ9p7e24je1Q9e3DYEBXTaWQPZvag3jOCIAiifKFK QxAEQVClIQiC
ICozZfvlZt6Mzf96LRbKp4Yx+2JdVq764IXCtEwA/Hq1RN18rGrYMpPSF6jV B85rk9N5QqGg
jZuoU/OyKtjb2xsmiv8IVK/Xz5gxY+PGjTweb+jQoT/88APPgh5Mo1Jm5pvB aFIes9g7o1Ll
FLCoea5OmH5O9UwZsCmEsUgJp8kjB7FZJN3jbPWRy4VpmTyJUNS5haAlwzFY ixrRgI2NTVoa
wzC5lJSUb7755vz58wB8fX3nz5/PeGRYJfAbcAcQAm0Y/SzXVCbjUSABANCa 3cgUBgpTHmrO
XNc9fAqhgN+orijIm2cjq2JOu3btWmRk5Pnz521tbSMiIgYOHPjWnZYF/AE8 AAA4A91ZjMHK
xmllqzTFm0Fz/qb+eQHjJlHtOs1v7CT+xB+AJu6Gatdp6agezKTUf8RDIJBN 7AtAfeiSNvGu
oEWjMikYjv4lWnfjxo1nz541HAsGDRq0efPmwYMHM5MyM98Mkf8+ChgwxN7V AzRALPArMJip
lCFg8X3ACogHdgLDuag0qbtT3gus99fOZJY6LPf54uc0ym0nRMGtJaGd9PlK 9cmrjCtN8bOE
FStWZGRkMF6q8PDw7t27b9iwAcCyZcuGDx8eGxvLTOp3QAhMBAAcAhKBFmVU MGqPBOD+q4CJ
ncBloBXLU5CzNwS+7vz36/CseJr4W8qdsdLh3aqS01JSUvr16zd79uxffvkl Kytr7ty5jCsN
h07bBTQGPn119NgFjGIqxcZpDHvP9IWFmgu3hL7uzPf/JwphhyY8iYgnEYn8 m+me5jCW0ian
i4Jb86RinlQsCmmtuZLCiW+2bds2ffr0OnXq1KlTZ/r06Vu3bq0IF6GDABdA BMiBruzimYcA
7oAEEAHtgAwuFi//UV72n0+dgt+vOJft6pNXRQHNBB71IOTz7OTi3n4caKrV a9asGTNmDGOF
5OTkiRMn2tnZ2dnZTZkyJTmZ+eHyDhDyKgkiBLjC0XZLBD4AbAAb4AN2WRUG JEO6Ctzr8SQi
iITCdp66v59VMafNnTv322+/7dmzp1QqdXJyWrZsWUVw2lOgIyABJEBH4CmL hWHjNIbjnmmv
/sWvX5vNxa+gsbP27HWBrwf0es35mwI3J+Yb4N8PW+ozuRlO6tatW0UZBC1a tLh16xYqGBUw
YPHutlvv93XlCTm4/5c/fyfUGl41a0GLRkI/L1gxfPhSl/pYX9s+f8EuvUot cHMS9fDlSUUs
l2379u0dOnSoW7cuY4WQkJDFixePHj1ar9evXLkyODiYI/sjkyN3PSk2Mrwj 8IRD42q0mgu3
+Q3rVjGnnT592tPT093dPTc3Nzg4eNGiRdWqVXvrTnMDzgC+gB44z274djZO Y1Rp9HrtuRuS
sE5stqAopHXBukPqk1cB8OzkbK6jBa7vqY8kiLp6A1AfTtCrtZzsDnl5eUUD QltbW7948aJC
lZkKGLCYfe2p9oWmlm9d9mv3skNDp9c9UagPXdLnKUXBrRnuHvlKXfZz6die ANQxCeo/4sV9
O7LqjtPpli5dumXLFjYic+bMCQ4OnjNnDgBnZ+fDhw8zlnItlgRxGFBzZDB1 sWF6RYCKI1nD
fRGeXCIJD6liTsvKykpNTY2LiwMQERExefLkdevWvXWnhQDrgJMAADt2PeRs nMbkjEB7/T6v
hi2vph2b9VftPSdo3lD2bajs21BB84aqvWeZF60ePihQ5y/cVbBiv1U1a/Zn rC8tKJfn5b1M
DXjx4oW1tXXFKTOpFTJg8e7W2w37NQaHOaNWPKva9uJPOmoT7zIXEQpEgd4v O1eDvbXJ6SwX
au/evS4uLizDkMaOHRsWFpaampqamhoaGsqme6QHUAAsAJYB1QAZR9teVOxQ ogbEHMnKIwfJ
p4YJfdxV+85VMafJZLIff/zR3t7e3t5+1qxZMTExFcFpe4HmwLfAt0BzYC8L KTZOY3JNozl7
Xdzdh+VG1KVlivt15gn4AET+zfLnbmcsxZNJxKEBhj1BeyWF34CbITHc3d2v XLni7+8PIDEx
0d3dHRWDChuwmJf+PDEqvuhl7OBDbB4K+vdVNPOgUavaJZ7CYHt8io6O/umn n1iKxMXFbd++
XSwWA5gyZUr9+vWZH+CA0FfTVzjqBQXgADx6pfYIcODQwWKh0M9Tc/rPKuY0 Ly+vf/mMVyGc
dh/oD/ABAB2BuSyk2DitzNc0hSkPIeRbObM1Hq+mnebMNb1SrVeq1aeSeLWY d2iqfovT5+ZD
W1h464E6NkkY0IwTz/Xr1y8qKiojIyMjIyMqKqp///4VoczEAUeAwVyUmT3A U0AHvACOc3HL
J2BTSNGf4SVjKeWu07pMBXQ63bPnqr3nBJ7MD8TCFo3URxL0BWp9gVodk8B3 e4/NOh45ckQq
lRaP3WNG48aNFy1alJOTk5OTs2DBAg8PD8ZS+4FcQAvcAmKBAI6c1hw4DjwH ngPHy/48m5H9
dM9Z/dMc6HT6PKX6eKKVU80q5rQBAwZMnz5doVAoFIqIiAg29944dJoDcBpQ AkrgNFCLhRQb
p5X5mkZ9+pqovRd7H0v6dlAduJB/9joAvrODuE97xlJ8J4eCtX/olWp+vVqS sE5WZe/WK3r4
2DBheMRw6NChqampvr6+AIYNGzZo0CDGUmbmm8FoUh6z2DujUhU5YFHgUU+1 +4zuSQ5PLhF4
1Rd1aclcqqWLLievYNk+vUYjcHUSf+jLZsEWLlw4fvx49iv4888/T5kyZfHi xQB8fHzWrFnD
WMoZWAsoAWcgjFGHqlF7tAaygRUAAG/WjzgD4Ls5KXed1j3J4UlFfJf3DL9w qEpOGzhw4IMH
D1q3bp2fnx8UFBQdHV0RnNYXOACcfWWVviyk2DjNyFjONMLm26FCjpH3+mC9 NMIm2cOMPWiE
TbKHUXvQaDQEQRBE+UKVhiAIgqBKQxAEQVRmKHOTMAeFKhJkD4K9PYw8ezZj xGFOviZybRCH
Uhyu/+Gp3NzyCpqr51CqsoQqcgjZg+xR6SB7MLMH9Z4RBEEQ5QtVGoIgCIIq DUEQBFGZsWiM
gOhfX452M6HvjhJvFahytx6b+rwg6/W3LJcqmmnqW4xiKsWSQexd6OqXY+Hs GKV4faYBqUi/
cVgOM6lHCqsNZ2W3MvgA3OsUDmuf71hNV6qU0SREBrF3ZmI6OQlV5DBm1Kg9 7j++eil5/6On
t4UC8fu1W/g3GyyT2DFbqiNHjkRHRyckJMhkss6dO0dFRVkyHrvRNjWQq+RN /dUm64XV628x
dpqFUqaCMh8DR4A0QAJ0BloylSoRjCYGpnJnj7ceaGv0I8eOHVuyZEl8fLxM JgsMDJw1a5aD
gwOzNr2SJtyXKE7JFIgF+mbO2kG+BdXlujfpNEvaNNKybcWJ0yyqNIbdvkQ9 MBB343/NGgWd
vbbNwgY2JWVhdSmO0RRLZrF3hsYzs8MfSBJn51t0/WdUavFReev3NRO65gH4 /ap4yTH53L7P
S5UymoTIIPbOVEwnV6GKHMaMGrXH5Tu/e7v17NXua41Wdf7mroMXl/TtOJ3Z Ui1dunTMmDEd
O3bk8/mrV68eMmSIJcP1G21TA/+7KAnyUm+Ll1i4gqakLDx8lGqPLGAbEAyE AvnAScsqTWRp
h6HzwHMwpGIG2hr9yPLly8eNG7d169b8/Px58+aNGDFi3759zNr0t6vi7k1V Xu/l8Xk4eE28
8Igs6qMXb9JpRtvU8urCudNY9Z49e/4wLfNqK9ceqDCUR+ydthCHrom7N2We 0PFQYfVRS6Vc
pJeL9B+3Uj3MZr7ZGcTemYrp5DxUsZzo0yHi/dothAKJTGLn32zQ31m3GUvt 37//ww8/tLOz
s7a2/uKLL5KSktgs2EMF/2q6sEdTVcXZVieBAMADEAJ2QG8uNAuBeMCX0+Ws mIG2u3fvDgwM
lMvlDg4OM2fOjI+PZyz1Q88XPg00cpFeItT3aKZKfcp/x50mYPNlp5I2t/MM 5VsJ2S/3qt+G
a7RKW3ktz/oB3m69rHgMj8XlEXsXmyzydNRacvFrCu/62v2Jkm5NVXrgjyRx q/rMs9pYBiwW
j+ksx1DFcuP+46Q61V3Z6+Tn569ZsyYggNXAx5vjJKFtlEI+Bw/7Dt9op9Tw atnqAhqrezVX
Mk19xD2gFrAAUAGuQE9AwnrZrgLvAzactmPFD7Q9ceJEmzZt2OuotLxD18RN 3tNWEKfNB1SA
PdACaM8iQqOsThOw2eeV6uduzhykshv6THR63bPc9NirG/OVOQHNhzCT4jz2 Tq/H70mSKcF5
bESG+BVM32u985IEQE1rXVQf5vGdbGLvSsR0llOoYvnxRJF6Kum/H7X/jqWO oc/EwcHh0KFD
jEWS0gXPlVZ+LhxEXBr6THR6pGfzN56V5uRLh/gVMKygQParHtEY4HfWQ3Tr gXNAGNdNWcED
bf/888/vv/9+165dLHUM/WB2Uv2PvZ9XBKdFvmrTTOAQkAcwDjYoq9OYd+Oc Ttrs32wQj7vc
OyueVU27et3ajr9xP5axCOexd3F3hXXtCt+rVshGZMVJWYCbev2wnPXDcvzd 1MtPMM9FZBx7
l/paTGc5hSqWE+lPbuyP+6mbz3h7G7bRPNnZ2WlpaSNHjvzyyy9ZnGZKB7Ur 4DT1EfWqF44P
zI+9zTw0VgQEvepcDQbusF6qG0ANoCbXrVmRA23PnDnTv3//devWubi4sD+H 2DgsJ7iJauVJ
WcVxGg+oDfRl12FeVqcxv6Z5mpu28+Q/t5eifw1lcFff6EmUXs+8n4rz2Lt9 iZLwDgUsRW79
Lfg25IWQDwAft1IN28C8S4NZ7J3RmM5yDFXkmtsPzp1K2tTL7+va9o04EbSx sRk3btyCBQsY
K6Q940fusy5+9srgrr7RHUDH4sO1OT/sAt3LoUErbKDt7t27IyIitm7dWtS5 xxKpSN+zuWrP
ZUlFcxrvta74cnUa80pT4jFlNmXmj/jFbT0+trd2zM1/evLqBlcn5ncfDbF3 M2fOBMA+9u5K
mlAk0Deuo2XZqE72hXuvSLo3UwE4cFXsXJ35FdJ+oBMgA1KAWMCSdLY4IB4Y /NqZqSFU8TMA
wHHLHlJ6K1y+8/uVlIN9/adXt3mPpdTo0aMnTZrUsGHDZ8+eLVmyhE1HfInH lNns/IuPyj5u
pXKsVvj0hdWGs1LfhhrGUi2Kda7GAG7sNpfhYXrncmhTQ6Dtpk2bAERFRVny gOgbYPny5atW
rdq3b5+bG8sth2XHZX1aqerYFr5QWe1PFLvW1lYEp/0KdARqAjnAQcCTxQqW 1Wll+z2NYYJN
UTEq5fKez8ELS549fygT2bk5t/NrYlG3sNEUS2axd0WPFRomitpy7xVx7xZl u39hVGpcl/x1
p6X7E8UA3OoUjvvAors+RpMQGcTemYrp5CpUkcOYUaP2OJW0GcCmw5OK/u2L 3v8VCiQMliok
JCQ8PPz27SOIMTsAACAASURBVNv29vaBgYHr169nYw8GGJXyaaBZckz2UMG3 k+raNdKE+SgZ
26MlkAMsBTSv7tMyljJc0LRnffiumIG2Rj8ybdo0AMUDldPT04vuJ5WpTb3r a6KPyB4q+NZi
fQtnzYTAvDfsNKNt6gHsBp4AcsDL4p/QceI0I2M50wibFvIujJFXroP1kj3I HpUOsgcze9Bo
NARBEET5QpWGIAiCoEpDEARBVGYoc5MwB4UqEmQPgr09jDx75hT9FSdfkz5h ScWU4nBTznEa
z4nOd+mLK0uoIoe38au8PTg9J3zn7FExnUb2YGYP6j0jCIIgyheqNARBEARV GoIgCKIyU/oY
AYV3H2nOXi9My+SJhHwXR1Fwa5785c+z82ZsNkzIIy36ia8pKTNfUWaplIea M9d1D59CKOA3
qisK8ubZlDK2nfmgvaysrICAgIcPH1ryw+N7hY8uaK6lF2YKecKGfMfOojZy ngTA/LxNxf/t
G3npoU9mgjLLGqpoSoqrUEWjQZnZzx+dvLrh4dNbAN6r6d6p+TBLRsY06ih9 gVp94Lw2OZ0n
FArauIk6NWduWj3Uxy5rE+6AB0ErV1GXVqWOEGvGHmWNejQlxSDq0VSb3gHO AumACGgIBFsw
2r8ZpwHIB1YDuYwStMzYo0TYnUggHdt7Y2V0mqm2YxAqyqHTTLWp+bYuV6eV fk2jibsh9POS
fxMq/aIXxELVr6eL3pJHDrKwxpiXMvMVZZY6e0Pg6y6d/IlsQh+rWtWUO0sf FtoQtHf37t34
+HhbW9sRI0YUf3fOnDnDhw+3cAUvam74CJt8JQ8bLu0thuh31ani1aXozxIp Q1Dm18AXgAT4
tajyAdsAb+BrYHixWDMGUpHF/oIBb6aHkgl9d7w+QNEfFxbXre42sseqkT1W 1bZ3OXjBolup
Rh2l/iMeAoFsYl/pl7302S+0iXeZ2yMhuTD1sXRsL+mYXoWpjzVX7rCxR3Z2 tuVxwmakzDuw
TG16DvAFpgATgNrAThb2MHASYBnSYtQehpmGP/9mg5s2DKykTjPVdkWhonFx cWfOnNm8efOb
dJqpNjXf1uXqtNIrjWRgIN/FESIBTy4RB7XWPWCemGVKisFXmJQa0lXgXo8n EUEkFLbz1P39
rFQpM0F7ycnJx48fHzt2rIUr+JkksAHfUQiBnCfpLG79UMd8W5kKyjxZ9lBF U1L/XAGUQ6ji
s9yHrRt/JBbKxUJ5W4+Pn+U+ZCylTU4XBbfmScU8qVgU0lpzJYWxPbRX74q6 tOTZSHk2UlGX
lpYcSjjMYTQlxeArTLXpEMAdkAAioB2Qwc4eT4EUro1R0ns67dW7h1q6dq+k TjPVdgxCRTl0
mqk2LfVQUH5OK9tYzoV/PbJy4iarwpQUg68w/hGNVnPhNr9h3TJJlQjamzZt 2vfffy8WM4lu
uVf4yNHqnz6QJfk7NNDY8aybCFx8hF5WZcn1KR6UyTJU8S9jQ/OWR6hiQ0fv hOT9LVy6Afor
d/5o4NiKuda/H6bVZyoY20P3JIfv+HJUUivHGvonOWzswQZTUgy+wmibaoB4 i0MlTEkdBjqz
zOUtjZv3Y50cPK0l1auA04q3HctQUQ6d9peJ0bj/Kvso3WycVgYX6TKeqWIu SQZ0Yb/ypqQY
fIXRjxg6YXlyiSQ8xHKpEkF7J06cePbsWd++fRmsYKbu2XHVxU8lgUVdZwB0 0GfpFMfUF/P1
BR+ILLVRiaBMNqGKJaSKdq7yCFUMaD5k54npcTd2ArCV1QztHMVYSuD6nvpI gqirNwD14QS9
WsvcHmotRC89zxMJ9GoNY3uwwZQUg68w2qaGO3ByILwsS1VC6i8gH2hanmVG r9cn3Pm9Z7sp
VcBpJdqOTagoh04zag8z88vPaZY+e1aY+li5/aS4b0erGrZsr2ZMSDH4ClMf kUcOkk8NE/q4
q/ads1Dq9aC9adOmRUVFMchSSyvM2K080UvsX93K9t/bmudgZd9T7P+n9q6F UqnGgjKZhSq+
LmWgnEIVD19c4VE/YEyv9WN6rXev5x9zcTljKVEPHxSo8xfuKlix36qaNU8q Ym4PkQCvDh96
tZYnEjK2B2NMSTH4ClNtGglMBXyAfSzsEfMqfaT8SE6Ps7euyzJ2qCI47fW2 YxwqyqHTTNnD
1PxydZpFlUZ7LVW1+7T4swD+e2yPSKakGHxFKR8RC4V+nvpHWZZI7d69e+TI kZs2bfL2/ue+
+I0bN7p162YIikaxxz9K6Q3Q3vtddfojcae6/JpmTuUskboO7AY+A4rviMxC FY1KvXQ20KEc
DiKPsm61adynqPf8UdYtxlI8mUQcGiCP6C+b/AnPVsZvUIexPawc7ApfWUL3 KIvnYMfYHsww
JcXgK8y0KQAx4Ac8ZCGVCWwAZrw6b51RDia5lLyvdePeld1pRtvOECpqmLY8 VJRDp5myh3nb
lJ/TSu8908Td0MTfkg7uyqtpx3LlTUkx+ApTH1HtOSvq2IRX3UZfoNacvW7J LR9TQXvFH/aw
t7e35NmPi5obCZqbodKgGrx/LdV+5Sk/UbPqVra5uryj6guNBfVLlTIVlMkg VNGUFMozVLG6
jdOl23sNd3ov3zlQw5b5l6h+ixMFNOfJxIUpj9SxSZKBXRjbQ9jCRX38iuSz TgDUx68IWrow
tgcDTEkx+ApTbboH6AhUB/KBc5a1rCmpyH93kkRy7ZDUjCsCvsixRuNK7TRT bccgVJRDp5lq
UzOHgvJ2WumVRn04AUD+8v3/9E1918/Q2V30TLphotQnnk1JmfmKskrx3ZyU u07rnuTwpCK+
y3viT/xLXUFmQXtGOaG+BGBd/j+XkhPl/YUQuAnq/aY6naXLkfEk7oL3/UWl JymbCspkEKpo
SgochSoaDcoM8Rl34sq6S7f3A6hb0y24zThLpIw6iu/kULD2D71Sza9XSxLW ycqC0xFT9hC0
ctVlPy9YsR+AsLWbsKUrG3uUNerRlBQDB5pq08bALuAJIAVcLLuHZ8YenGAq sffCrb2t3XpX
dqeZajsGoaIcOs1UmzJoa66cZmQsZxph03Kq/Aibrw/WSyNsvh3ePXvQCJtV yR40Gg1BEARR
vlClIQiCIKjSEARBEJUZytwkzEGhigTZg2BvD8E7uP6Hp3Jzyytorv4d3Hpc PgRR1e1BTqt6
Tqug9qDMTYIgCOIdhyoNQRAEQZWGIAiCqMyUfp/GVBJcSkrKN998c/78eQC+ vr7z588vdUg4
U1IKhWLixIkxMTEymWzEiBFTp5ae/XjkyJHo6OiEhASZTNa5c+eoqKi6deuC UdTdlTThvkRx
SqZALNA3c9YO8i2oLtcZ3gpdXc0wsWOUgrxiFA5jRs1kDl67di0yMvL8+fO2 trYRERGlju1h
SqrE4HU2NjZpaaWEdFx9INx/VXw7gy8WoIWzZrBfgZ1UD+CRwmrDWdmtDD4A 9zqFw9rnO1bT
MZPKU/F+Pi1LuC+QCBDkpfq0tbLK2KNiBtpy6DRTbVp06DAgFek3Dst5Y04z FZSpBH57NQZV
G6CTBS1oJlvzKJAAAGgNlDpuT+nXNKaS4MLDw318fG7evHnz5k1vb29LgilN SU2ePFkqlV6/
fv3ixYupqalbtmwpVWrp0qVjxoy5fft2UlKSp6fnkCFDDPMZRN39dlXcvalq 9eCc5QNy61Uv
XHjknzToHaMUVGPMw2HMqCl7pKSk9OvXb+jQoSkpKUeOHDGc3DCTyi7GrFmz hg4dWqrU70ni
ns1Va4fkLgzNlYn0S469HCRm8VG5W23tqkG5qwblutTSFs1nILX2jEzE168c mLsoLPdxrtXJ
26IqY4+KGWjLodNMtanh0GH4G9yuINBD/SadZioo83dACEwEvgSygUQLtpWp bM0E4D4wFhgL
pAKXS9Mp21POBQUFDRo0yMjIAFCnTp379+8bUsJUKtX777//999/W27B4lJO Tk7Xrl2rVq2a
4VjQv3//gwcPWi6lVCrff/99g1RQUNC0adP8/f0BnDp1avbs2YcOHSrx/2Ye +VAX8sI32P4y
4l9nH6GrqxmtN+/CE0GvP8Zq5okgLQqX5G+fJBtgONM0v9ubfyKouD1GjBjR qVMnS8YoLFXq
n4ZWq318fA4ePGi4FLbUHlpe+Ea7X0YoAAxca7dhWI6QDwCaQl74BtvN/7aN +YeLiksNWW+3
YkCuXKwH8ELF++mQfEbvF5XCaWV6yrlEQyQnJ4eFhcXFxdWpU8foNU3FdJqF bfrPohZi4g7b
Gb1fFPWUlNUeljjNzANjGmAeMM2wSYGJr7ITC4DtwLAS/2322TMtMA+IAACs Az54FYB2Dzjx
ekQNm9FoiifBhYSELF68ODc3NycnZ9GiRcHBwYylSoyif/PmTct18vPzV61a FRAQYHjJJupO
peUd/FPc5D0tCKY9aSViRhfk/7K2YO95zTUd9Iztcfr06czMTHd3d0dHx2HD hikUzJMQi9i+
fXuHDh1eLzPmSUoXuNZ+aQ/v+tr9iZJ8NS9Pzdt7RdyqvpaxVIkQiQfP+FXS HuUaaFsRnFa8
TYuITRZ5OmpLlJk36bTiQZklNk1mWXQ0wPli2ZpPAMdX045AqTn2Zfg9TYkk uDlz5gQHB8+Z
MweAs7Pz4cOHGUt17dp1+vTpM2fOBDB9+vSiBKFSMXS7Ozg4FF24MI66M/Sr 2kn1P/Z+TjWD
ARzGjJawR1ZWVmpqalxcHICIiIjJkyevW7eOmZQBnU63dOlSSzppi5Oaxf/v Oel33V86aohf
wfS91jsvSQDUtNZF9XnBWKplPe3m89JBvgUANsdJlVpe1bNHxQy05dBpJdq0 6Bzi9yTJlOC8
t+W0EkGZrsUyRw4Daot1Xs/WVBcbBFoEqEpTsPSa5vUkuLFjx4aFhaWmpqam poaGho4ZM4ax
1IIFCxQKhYeHR9u2bevVq1e9uqWh4tnZ2WlpaSNHjvzyyy8NcxhH3e0Ypdg4 LCe4iWrlSRmV
jbLCYczo6/aQyWQ//vijIZJu1qxZMTExjKUM7N2718XFpUwpIDceCX46JB8f mFd0M3bFSVmA
m3r9sJz1w3L83dTLT8gYSw3vmJ+n4o3ebDtpp20tG521WFfF7FExA205dNrr bWog7q6wrl3h
e9UK34rTUl8LyuwBFAALgGVANcDyI93r2ZqiYoVKDZR6ZWpRpTGaBBcXFzd5 8mQ7Ozs7O7sp
U6YYTgSYSdWoUWPz5s1///337du3HR0dDXdZLMTGxmbcuHGXL7+8I8Us6s6A VKTv2Vx198m7
OG4CGziMGTVqDy8vr+L/Y+HhyUx8YXR09IQJEyxfwXMpwiXHZJOC8lxq/XPI uPW3oE8rpVyk
l4v0H7dS3fpbwFjKVqKfHJS3eUTO6kE51eW6KtZ/WzEDbTl0mtE2NbAvUdK7 heqtOM1oUKYM
CAUigCmAbbGuMEsoka3pADx6Nf0IcGBfaZYvXx4ZGblv376i+x8GGjduvGjR opycnJycnAUL
Fnh4eDCW+uqrrx49eqRUKg8cODBv3rxvvvmmVKnRo0cnJydrtdrMzMyoqKii nlZD1F1GRkZG
RkZUVFT//v1LlVp2XPZQwS/UIafAascFyes9rYQZLmpuxKovh0qD6vD/FTG+ X3nqqU6hg06h
e35QddaSmFFT9hgwYMD06dMVCoVCoYiIiLDkjqApKQBHjhyRSqXF86bM83uS eEu8dHrPvEYO
/zqOONkX7r0iyVPz8tS8PZfFztULGUutjpU9y7NSF/Iupgp3JUg+8a46Tzmb aojiDwHCgmiv
Cus0U20K4EqaUCTQN66jffNOiwOOAIOL3Up5ua2AXEAL3AJigQALlmoP8BTQ AS+A48Vu+TQH
jgPPgefAcaBFaTqll0dTSXA///zzlClTFi9eDMDHx2fNmjWMpXx8fLp06ZKT k+Pr67tlyxZX
19KTEENCQsLDw2/fvm1vbx8YGLh+/XrDfAZRd971NdFHZA8VfGuxvoWzZkLg P52qRQ/FGybo
iefX4TBm1JQ9Bg4c+ODBg9atW+fn5wcFBUVHRzOWArBw4cLx48swoNbmOCmA STuKfkWA/4bn
SIT6cV3y152W7k8UA3CrUzjugzzGUm61td/vts5T89zrFE4Jziv11xKViIoZ aMuh00y1KYC9
V8RluqDh0GmmgjKdgbWAEnAGwor1qpnBVLZmayAbWGE4hAKtStN5F8dypnEP LadMTzmXCRph
swo4rVzHcqYRNstgD8rcJAiCIN5xqNIQBEEQVGkIgiCIygxlbhLmoFBFguxB sLcH/XaEIAjO
cIr+ihOd9AlLaGNWJaj3jCAIgqBKQxAEQVClIQiCIAhT0H0agiDKi8KUh5oz 13UPn0Io4Deq
Kwry5tm8HNcxb8bLlEJ55CDaUFRpCIIgGKI5e0Pg685/vw7PiqeJv6XcGSsd 3q14gSmqNwRV
GoIgCCZIhnQtmha281THJtE2oUpDEARRTlc3Ws2F2/yGdWlLUKUhCILgHkMX GU8ukYSH0Nag
SkMQBME98shBUGk08bdU+85JhwXTBnkHoaecCYIof8RCoZ+n/lEWbQmqNARB EFyi2nNW/zQH
Op0+T6k+nmjlVJO2ybsJ9Z4RBFFe8N2clLtO657k8KQivst74k/8i94qer7Z MEG/qqFKQxAE
wej44lVf4FXf6FtUWt4pqPeMIAiCoEpDEARBUKUhCIIgCFPQfRqCIDiDEswI o5RMdyYIgiAI
bqHeM4IgCIIqDUEQBEGVhiAIgiCo0hAEQRBvh5LPnrX+bg9tFKKIS3P6kD0I sgfB0h50TUMQ
BEGUL1RpCIIgCKo0BEEQBFUagiAIgqBKQxAEQVClIQiCIKjSEARBEARVGoIg CIIqDUEQBEGV
5p0i5ecxtBEIgiCo0lCBIcgkxFtoYvIAJ7y7mZsuI1eaede/Sb2RwS1aNapT oNbGXkubveNs
1vMCADwevv7YN8zfUw9si72xYM95vR5m5jeoXS2yf0dvlzoAElIyZmw9fe+x gmxXqU1C3nh3
jgOW/AN5g65pmBPetfnamMQ2EzcET9/2okAV/XlXw/wwf08fN8eQyB3dInf4 Nnb8tIOH+flL
RnW9fDej/deb2n+96eq9x4tf6RDkDfIGeePd8UblrjTODrZrvuyWtGzEjZWf rx/fo4aNtJpc
fHHRMDuZuOh/qsnF8QuH2snEKT+PGda1+Zn5g+6sGVPqRfHQRb/FXkvLV2my nhfM/V+c4eQC
wMft3Bfsic9U5GUq8hbsie/r525+fsM69qv+uJybr8rNV604kNCwbjXaG99w 38iATl4n5wy4
uXLUwRmhrV3q9vVzPzqr/61Vo3774dPG79UwZSQzPSfkjSrmEKNt/fr8lJ/H 9A/wip070GAe
D+ea5I13pdL8/GX3DUeTfCZubDtp41+PFd+HtlfkqQ4m3A3z9yz6nzB/z/3x d3LyVQBaNKjV
a+Yu189Xlulb2ns6X7n72DDt6mj/5/0nhulr95+4Otqbn38iKXVUt5Y2UpGt TDyqW6uTSfdp
337D+Hk49ftpX6vx6/bH31k3vkenpvUGLdjf8qt1f1y6O2twgCkjkTeI12nb 2PGzuXtajl9/
+Mq9IvOQNyyhct+nCYncbphQarBgd3zs3IEA/ns0acPEnmsPXy3U6fhWVmEB Xv3n7zX826yd
5549LyjTV3g415wW6jcs+oDhpUwizFdqDNN5So1cIjI/f+b2szun9hnfqw2A h1nPP51LAR5v
mojNsYoXSgAbjyZN7tN2+pZTRS8n9G5jxkjkDaIEkVtOKfJUANbGJH75oTd5 412pNK0a1fnm
E18v55pSsRCA4Wba3QzFnUfPQrwbHriY0s274eWUjEfPXhj+P1ORV9ZTmJ/C u4xbFVN0Oy5f
qZFJhC8K1ADkEmGeUm1+/vzwD/bEJa8/chXA8KDmP4V/MGThb7THvkkMdQVA gVpb4iXfysqM
kcgbREkv5aleNw95o+r3ni0dHbT5+DW/rze5fr6yxVfreLyX8zccTRrapRmA oYHN1h5OZCbe
o43LohGBX6w8dPVeZtHMO4+ym9Z3MEw3qe9w51G2+fltXOuuOJBQ1N/axrUu 7a6VyEjkjXeH
Qp1OKnp55l3NWsJYh7xRBSuNWChQaQpVmkKnmrazBv3TbXrm+gNrqXDQB03y VJobaU8ZKId3
bf7tJ+0GLfztz9Qnxefvibs96aO2tarJa1WTT/qo7a/nbpmfn/Ioe3T3VrYy sa1MPKa7d/LD
Z7RLVyIjkTfeHW4+yBoR3EIqEtSuJo8a6M9MhLxRNXvPvvvviYjP/JaPCX6s yFsbk9ijjUvR
WxuOJkUNCghffICZ8vef+QGI+TGsaE6zL9fmqzTbTl13drA9NCMUwLZTN/53 5qbhXVPzJ649
OqN/x89DWgC4cvfxpLVHaZeuXEYib7wjfL/p5Nwhnb/80DsjO2/NoSsh3o3o uMEhvOwnfxd/
3fo7ui1J/MOlOX3IHkRVtYcVj3dr9Si3z1dRU5a3PeiXmwRBvKN41qv5NCef tsObKOq0CQiC
eDfZObXPzzGJtB3eAALaBARBvKPXNGPW0EagaxqCIAiCKg1BEARBUKUhCIIg qNIQBEEQVGkI
giAIgioNQRAEQZWGIAiCoEpDEARBEFxTctwzgiAIgqBrGoIgCIIqDUEQBEGU tdI0cPWgjVWV
4LZByR5kD7IH2YOuaWhnoBWnrUQrTlvpra04VZqX3Ltzk1acoK1EK05bqTxW nCoNQRAEUb6U
udKUuFyy5OqpgavHlq3b/Tt3bezVLKh7z0sJl3ft3vNB125uns169OpzOznZ 8G9pDx6MGDXW
q7m3u1fzIeEjn2ZlMZYqLCyc95+Frdu2d2/S4qsJk/Py8ixfLwafBaBQ5Hj7 +OXk5Baf08a3
Q05OLjPB2FOng7r3dPNs1qFTl+07/2f5JjKFSq3++tvvPZq29GnXcfXP68rp wp/sQfYge5A9
3to1zZlz53Zs3Xw14cJHvT4cOvzzkydPbdm0IenyhR7dQ6ZG/GD4n+Gfjwkf OvjyhXMXz59p
1LBh1Oy5jKVWrFpz/fqN3/ftTog/KxaL58z/j+WLyuyz1arZhYQEbd2+o2jO 9h07e/XsYWdn
y0xw0pRvJ44f92fipZ1bf0lMTCrTJjLKouglWc+enT559MBve87Fna9Q5ztk D7IH2aNq28PS
X242cPUwdMkVTZSYb/6zly/E2dtXA6BUKj2atiz+smnLNndu/lniI0qlskNA l0vxZ5lJdejU
5b/r1zZq2ADAk6dPe/TscyHutIUryOCzBv76696gYcNjjx0WCARarbZzYMiO rZsdHesyE/Tz
7zx65IigroF16tQ2+g+mNpEpfDsEbN+y6f369QH8dS+1S1A3ow3K+FyV7EH2 IHuQPUzxhtKd
Dc0JQCKRlHip1WoN05evXJkz7z/Xb9wsKCgAwOPxGEs9fpwZGNz9n3JqQsoo jD/bsGEDVxeX
gzGHe/bofijmcKtWLR0d6zIWXLlsydLlK6OXLrOxtvlh2nddPuhs+SYyytOn Wc5OTobpes5O
FeqklexB9iB7VG17lLnSCAQCpVJpaKfsbAWHfho7bkLEd9928u9obW2dl5fX tGUbxlIODjX3
/G9H7dq13vBnw4cOiV66rGeP7us2boqaEclGsHmzpmtXr9Dr9bGnTn89NeJi 3GmWm6hmzRoP
0tMNZyUP0tPL6aBA9iB7kD3IHq9T5vs0Hu6N16xdr1QqHz/OnPbD/3HoFZVK JRGLRWLxg/T0
76dFspEa2D9sasT0+2lpWq32dnLyVxMmv5nP+nds/+LFi02bt1jL5V6eHmwE x02YnJJyV6PR
6vV6XWEh+03Uu+eHUbPnZT179jQr68eoOeV0KCF7kD3IHmQPDirNnFkzDx85 2rRlm76h/fza
+XLolXmzZ0XNnufVrFW/gUO8vVuykRr9+Uif1t4DBg/zbNbqq4lTunbt8mY+ CyB86OAZUbNH
Dg9nKRjctcvoL8Z5NW81Z/5/Fi6Yz34TTZ443s7Otr3/B9169PZt61NOhxKy B9mD7EH2eB0a
yxkAdDqdq0fTu7ev06YgyB4E2YNz6JebAHD9xs2aNWvSdiDIHgTZgypNefFp aP9RI4fTdiDI
HgTZozyg3jOCIAiifCn5lHO1mnVooxBFKJ5mkD0IsgfB0h7l+8vN7bqvOdEJ s/rJKforTqTS
JyzhcAU/+q0fJzp7e25DWX5IZQ69nkupdw8OTcvlYnHXplyalqh6lM/Rg+7T EARBEOULVRqC
IAiCKg1BEARRmRG8xe8eU2OtYWJl1gg2OoV3H2nOXi9My+SJhHwXR1Fwa55c wkzqyJEj0dHR
CQkJMpmsc+fOUVFRdevWZbNsmufqhOnnVM+UAZtCGIvM+PfLSHab/TFwBEgD JEBnoCXtBG/D
tMeOHVuyZEl8fLxMJgsMDJw1a5aDgwMzqTvAWSAdEAENgWDAhuVBIVfVeEKM 6Gn+lf1h1OKE
0WNRWY9Cb/OaZmXWCJa768ujedwNoZ+X/JtQ6Re9IBaqfj3NWGrp0qVjxoy5 fft2UlKSp6fn
kCFDWC5b6u6U9wLrsV/HyGJ/bMgCtgHewNfAcCCNdp23ZNrly5ePGzfu7t27 8fHxtra2I0Yw
1zwH+AJTgAlAbWAn62Wru/VaVncXamvC1IGIAVWh90wyMJDv4giRgCeXiINa 6x48YSy1f//+
Dz/80M7Oztra+osvvkhKSmKzYPmP8rL/fOoU/H7F2VYngQDAAxACdkBv2nXe Ert37w4MDJTL
5Q4ODjNnzoyPj2csNQRwBySACGgHZLDcmx7k2lz+O7NXY2ojgkMEVWx9Cv96 ZOXEwcgQ+fn5
a9asCQgIYCNyd9ut9/u68oQclPP5gAqwB1oA7QHGzyHeA2oBCwAV4Ar0BCS0 E7xtTpw40aZN
G/Y6GiAeaMBO5L0NiX8PaKoT8aldCKo0xtFlPFPFXJIM6MJSx97eHoCDg8Oh Q4cYi2Rfe6p9
oanlXAOEoAAAIABJREFUW5f9ehkuV/VAJnAIyAOCGVdQIBsYCwCIAX4HPqGd 4K3y559/fv/9
97t27WKpY+hAlwPhLERsEzMEuSqFf31qF4Jbqs6zZ4Wpj5XbT4r7drSqYctS Kjs7Oy0tbeTI
kV9++SXzC5qttxv2awweZyvIA2oDfYFEFiIiIAiQAlIgGLhDe8Bb5cyZM/37 91+3bp2LC9v7
IpHAVMAH2MdCxHFdYnp4Cz2PWoagaxpjaK+lqg9fEod15jvW4ETQxsZm3Lhx CxYsYKyQl/48
MeqfzvfYwYfYPH5WvN6w+eF+bbJ8hWH37t0RERFbt25t2ZKbBwDFgB9wioWC 9L7Cbeqxopct
e22nx88IqjQv0cTd0MTfkg7uyqtpx1Jq9OjRkyZNatiw4bNnz5YsWcKm97x4 XWFZZn4FOgI1
gRzgIODJYgVbAIeBIABADOBGe8BbYvny5atWrdq3b5+bG9tG2AN0BKoD+cA5 wJmFVPG6QmWG
qCKVpuinCYYJxg+Pqg8nAMhfvr9ojvy7fhAxWbWQkJDw8PDbt2/b29sHBgau X7++IjSSB7Ab
eALIAS+AzW2olkAOsBTQvHoigHgrpp02bRqAtm3bFs1JT0+Xy+UMpBoDu4An gBRwoRtvRHky
498Tlj/x/DYrDSe/SwAgjxzE1SJ99NFHH330EedryrLfzJPddUwJOgGdaI95 26bNzs7mapG4
tYfR6xuCQBlLSwloNBqCIAiifKFKQxAEQVClIQiCICozJdOdKTWPKA6FKhJk D4K9PQTv4Pof
nsrNL9OC5uo5lKLMTbIH2aOc4DBmlOzBzB7Ue0YQBEGUL1RpCIIgCKo0BEEQ RGWmbPdpDIMc
F2FjY5OWxjBMKyUl5Ztvvjl//jwAX1/f+fPnMx5kUKFQTJw4MSYmRiaTjRgx YurUqWVVCF1d
zTCxY5SiaKYe2BYvPXpDBB4CPVT92ip5TKXMzDeD0Xi7FOAc8AAQAi5AMCBn KsV5VmMJe7D8
ceK1a9ciIyPPnz9va2sbERExcOBATpaKjWkfKaw2nJXdyuADcK9TOKx9vmM1 HTOpPBXv59Oy
hPsCiQBBXqpPWyvLqmAq/fAokAAAaG3xcBKmpBgHLBqFw5jRipmNW7SPl3VP N8r9LP6WeOmt
v/kykT60jbKzu5qZTonEXjEwlekiZQF/AA8AAM5Ad8DyUSbLdk2TXYxZs2YN HTqU8XYMDw/3
8fG5efPmzZs3vb29hw8fzlhq8uTJUqn0+vXrFy9eTE1N3bJlS1kVdoxSvG6L ozdENx7xF4Q+
X/DZ8xuPBMdvihhLmZlvBqPxdnGAH/A18AUgAX5lIcV5VmMJh7DRSUlJ6dev 39ChQ1NSUo4c
OWI4I2G/SCxNu/io3K22dtWg3FWDcl1qaZcckzOWWntGJuLrVw7MXRSW+zjX 6uRtUVkVjLZp
AnAfGAuMBVKByyykwEXGa3E4jBmtsNm4ht2cwc7++jnN/EPyQA/V2iG5UX1e 3Mpg/uhW8bje
YMCbxVLtApyBScAkwAkoU9AFw94ztVq9Zs2aMWPGMF7o5OTkiRMn2tnZ2dnZ TZkyJTk5mbFU
TEzM7Nmz7e3t7e3t58yZ88svv3CyY8Qmi8J8lPYynb1MF+ajjE0WoQIwCHAB RIAc6Mounpnb
rEZumTt37rffftuzZ0+pVOrk5LRs2TL2muxN+1Bh9VFLpVykl4v0H7dSPcxm 3vl8+b5giF+B
tVhvLdYPbV9w4hY37koEPgBsABvgA3YBE5zDYcxolc/G3ZUg+cRb6dNAIxLo a1rrxnTKZ69Z
CMQDviwUngIdAQkgAToCT99Apdm+fXuHDh3YXLGGhIQsXrw4Nzc3Jydn0aJF wcGMw72g//fj
dDdv3uSksdOz+Y0cCg3TDR0K059VuBTCv9gN3PtP1wFwnnVW48sN1bBhrVq1 2rRps2jRosLC
QsY6p0+fzszMdHd3d3R0HDZsmEKhYL9s7E3rXV+7P1GSr+blqXl7r4hb1dey MO2/Xj7gyF1P
AMdX047AE1RQuIoZzc/PX7VqVcXJxh2+0W7Az9Um7rDdmyjRsXgI/PojoaLA atRm20Hr7KKP
yvNUHDx5fBV4n10PuRtwBlABSuBMGUeCZ3JRptPpli5dyqCTqjhz5swJDg6e M2cOAGdn58OH
DzOW6tq16/Tp02fOnAlg+vTpeXl5nOwMSg1PInxpFqlQX6CpWPlQGcAhYCBr HU6yGov6qQAU
FhbeunXru+++e/LkyezZs5lJZWVlpaamxsXFAYiIiJg8efK6devYLBsnph3i VzB9r/XOSxIA
Na11UX1eMJZqWU+7+bx0kG8BgM1xUqWWG3epgaKLIxGgqpBlhquY0YqWjWvo MdPpkZ7N33hW
mpMvHeJXwEwqt4CXmWu14LPnADadk649IxvfhdVhTQ+cA1iOmRoCrANOAgDs gDLd8GBSxvfu
3evi4sIyV2Ps2LFhYWGpqampqamhoaFs+jQWLFigUCg8PDzatm1br1696tWr c7I/SIR65avq
UqDhSYUV6HdqqcB24JOy3JEzBSdZjcXh8/leXl5r167dunUrYxGZTPbjjz8a ekRnzZoVExPD
cqk4Me2Kk7IAN/X6YTnrh+X4u6mXn5AxP/ntmJ+n4o3ebDtpp20tG521WMfJ xhcB6mJVR1zx
ygyHMaMVMxvXiod61QvHB+bH3mbeIyoW6gf6vuxcHexXcPk+25/Y3wBqADVZ 7kRAc+Bb4Fug
ObC3vK9poqOjf/rpJ5ZrHhcXt337drFYDGDKlCn16zOPLq9Ro8bmzZsN07/8 8ou/vz8njnGy
L7z7hN/kPS2Av57wnaoXVpB99ToQA4QV6ydhCfusxtfh8Xg6HfOjp5eXVwk1 lsvDiWlv/S34
NuSFkA8AH7dSDdsgYSxlK9FPDnp5lnrilshgM/Y4AI9edYQ+AhxQseA8ZrTC ZuMCejbnDvW5
PtqcAbqzFrkP9AcM/bwdgbnlek1z5MgRqVRaPMGJGY0bN160aFFOTk5OTs6C BQs8PDwYS331
1VePHj1SKpUHDhyYN2/eN998w0nbdHLTbL8oyc63ys632n5REuCmrgj7ahxw BBjMRZnZAzwF
dMAL4DgXt3yGDx9+8+ZNrVZ77969L774onfv3oylBgwYMH36dIVCoVAoIiIi 2NzG49C0TvaF
e69I8tS8PDVvz2WxM4vDwepY2bM8K3Uh72Kq0HD7lxN7NAeOA8+B58BxoEVF KjPLly+PjIzc
t28f+zIzevTo5ORkrVabmZkZFRXFMhu36A/soqQWH5U9eMYv1OFxrtXKkzLf hhrmB5/G6s3n
pXkqXp6Kt+mc1Lu+hs3mugMIudjBHYDTgBJQAqeBWuV6TbNw4cLx48ezt93P P/88ZcqUxYsX
A/Dx8VmzZg1jKR8fny5duuTk5Pj6+m7ZssXV1bWsCkUPwhsmDP2tXTxVj59b Td5hAyDQS/2B
h5qxlJn5ZjAab2e4nbW82L99V6xrvkxSnGc19uzZc+TIkbdv33ZwcOjTp8/0 6dMZSw0cOPDB
gwetW7fOz88PCgqKjo5ms2BcmXZcl/x1p6X7E8UA3OoUjvuAede5W23t97ut 89Q89zqFU4Lz
GPwux2ibtgaygRUAAG+gFQspsAhYNAqHMaMVMxvXp4FmyTHZQwXfTqpr10gT 5sP87KGzu/rJ
C6sJ222VWrSqp/3cn9WzZ2eA9lysYF/gAHAWAOAM9C1TJ8c7OJYzjZFnudQ7 OFgv2aPq2YNG
2Hzr9qDRaAiCIIjyhSoNQRAEQZWGIAiCqMxQ5iZhDgpVJMgeBHt7GHn2bMaI w5x8TeTaIA6l
nKK/4kQqfcKSilr0K0eoIocNQfYge5hpiIopRfZgZg/qPSMIgiDKF6o0BEEQ BFUagiAIojJj
0RgB0b+GGiYm9N1R4q0CVe7WY1OfF2S9/pblUkUzTX2LUfJmvBzrTB45qPh8 3eNs9ZHLhWmZ
PIlQ1LmFoGXpA/kVxTIWz+9iltVoVIpZwKjRxEMl8Nur4SXaAJ0s2FBmYjoZ 5DNa2BCFdx9p
zl4vTMvkiYR8F0dRcGueXMLMHqkZVy7e3vc4O0XAF9ev3axjs0HWkuqM7QFA n68sWH1An5v/
+luM7WFh8ptRKTAKGDVqD2YBi0al2AQsGkVfoFYfOK9NTucJhYI2bqJOzTlx GvRQH7usTbgD
HgStXEVdWlkyXKYpe5ixTZnalFnAqFEpZgGjZvJS84HVQK7Fgz5Y4rRSpSyq NIbdvkQ9MBB3
43/NGgWdvbbNwlYxJWVhdSmOwQpFznhZZrJyldtOiIJbS0I76fOV6pNXLak0 hnY1c+xYsWJF
RoZFUWFGpcLDw7t3775hwwYAy5YtGz58eGxsbKlSkcZa9HdACEwEABwCEi0Y 28oQ01kP0ACx
wK/AYADF8hkB7AQuWzx4iSUNoYm7IfTzkoR11mu06pNXVb+elgzuysweCcm/ tXTt7uzgxePx
E1MOHohbGNo5itlSGVCfuCps01h97IqFK2i0TcEovtqolCFgdPbs2b/88ktW VtbcuXMtqTSR
pe3w54Hnli2VUaldQGPg01cW2gWMYldp1H/EQyCQTewLQH3okjbxrqBFIw6c lpBcmPpYOrYX
AOWOk5ord4StXBnbw4xtytSmhoDRrVu35ufnz5s3b8SIEfv27WMmZQgY7dix I5/PX7169ZAh
QyzJWDHapgZOAm2AYxavoCmpMo1OxKr37Nnzh2mZV1u59qg412jqk1dFAc0E HvUg5PPs5OLe
fhxoVqSA0TtACCAFpPh/9s48PqbrDePPZPaZrCTWxJImEXsiRChBRWIpqrSx 74qi1lqK5ofY
a6+1tCq1VhG1xVJLRBJECIkgNIiIENlnX35/DCOSmcnMvTcMPd9P/pi5mfvc 5bznvvece+55
0Bkw52JpzKazQv0ZBQOD2B41wOOwxAJ+cHPNY+qmXL0Df/So4c/ninkcQTOv btl56bTurF/k
ax485bZqYD1BWxEGo+/XYNEgqrsZvJDmLCGfJeTzOjdXJqYxcvZUN+7zOvqy 7IQsOyGvo6/q
+n1rKFOrNRh9AaTRCwxq0Mo0F5IiWjUIZdtw6e/Hpr9HrDs44PeTk6/cOaSh Md+2Jv2Ztlgm
WbG/eNEu+f4LWikDEzBbl8Ho21+zLVy9pE3nO/NnVD/ItHF1pq+jVMuv3zte q0ojOiLyqARu
Bx+wGXhCac0Go+/XYNGc2NVm5zESXZrn+ewarzr2bGpU1j7Ph5VhVQajJ4EO 1NxiyrAMWAD8
DFwsc12i2HtmkIfPkmSKQi83BhoNuj4TjVbzsiDj/I3tEll+u6ZDKAazRKbJ LRR+2x2AIipB
cSye37strTi2MoNRT+AkEPw6aCxKpKVsOt+NP6Mm66U86qpgQEeaOrouNZHA 4et286nnvPtP
IZVzGtahf1zWbDD63g0WDV9rPGsqTiXwOvkBUJxM0CqYseSBQgXeq+sYi8fR KpSwJqzKYPQB
IAEaM3FcYa8jLRs4ARQDIRXUpolOighsMojFnFmdDcvG2aFWl5YTUx6ep67C 5fCC/F610EP8
VHczaO6VtRmMdgOkwArgZ8ARMN/0Mb2MTec78GdUpz+T7TnH793WprI9/duR b3tub+oeciph
I/WL0smrvGA/Bg0WrdNg9L0bLBqE180fUoVk5X7phsM2jrYsIY+ZMuBx8Dpp aRUqFo8Lq8Ha
DEajXt+kMgULqAr0NqPvnXqb5kXBo33nwkreclJ4qm/wfkxLo/fMpqpTmVNB 71baygxGRYD+
cXnia3fFcjFo01nR/oyqW+mKk1f5fTvoOzdoX1KEfvW6X7lzkHoDKztP+tub 63jxvAjzhxiZ
qm9WZjD63g0WDZ8lkYAf2k53Q6NKTGPXZWbqGhsXB3Vmjk5Nk5nDcnGwkjRj hQaj2cBvJb7O
o+05pL/Iltt7Rr1NM6n3Xv0fKA0e03Msfk1OwWONRp1X9OxkwkZPV+rPq7g+ nyhOJWilCq1U
oYhKYHvVpHMGrdBg9DBQAKiAVOA8YE6XrTGbzgr1Z1TGpihOXxMO7kQ/zURd +fll4RONRi2R
51+6tbdaJU/KUuKwQfo/WDKStSxWazBqDQaLBpH/HastkEClVqc+VpxP4rZr wkikcX08FP8k
agul2kKp4p9ES8ezVRDWaTAaVuIP9NLMX0A2oAFygUig3AE2lr1Po/tAJ6kY lPKo6X/88tqX
hU9EPAcvt1atG5nVw6wfiaj7oLtqcHw9NPnF0p8jtUolx9OV/7lZSUs/rFD3 QT96lYJXo0Ep
agajBh0P3YCtgAxwA/qa94qDMZtOav6MZhaE4mQCAMn6w2+u8rP66fvTLQqP utX9jsWvfln4
RMCzrVPVp6v/JMp7RQ2DZUrNYNSgFDWDUWOGmBQMFg1K0TFYNNzT6Ooi3XpM K1Owa1UR9G1v
4+zASKRxmnlqcgulGw4D4Db34vp60gkPCmFjsEypGYwalKJmMMqgX6pBqfrA AeA5IAYamvE2
noG5nMkMm++HD8RUkcywScLj3YQHmWHzYwoPMhsNgUAgECoWkmkIBAKBQDIN gUAgED5kiOcm
wRTEVJFAwoNAPzw4/8HjPzmTmUdewUu0DEp9KKaKDD7GJ+FBwsNEeFhnpJHw oBYepPeMQCAQ
CBULyTQEAoFAIJmGQCAQCB8y5T+nMWEeZ8xA0FIpCv50xlah4E934zH38A3+ nSw2nwMfN+Xg
1lIH4ZsexgIZa+ZfdjlFNntHlz/JuTGp0M2OJX9mjpQJo8xnwCngESAAOgC+ VKWo+TOWxaBR
pkxR/E/iLw+eJnA5gqbuwQENvqIcHlqtdt68edu3b2exWEOHDv3xxx/LnRmM waA1Vqamw8Yi
qcRH3Mjr/LRsDp+jbeKmGhQgrSTWUA4PWGiqaGZ4UH7J3Jhj7/P8hxdv7sx8 kcrjilo3DG1Y
pwM1qVK+eTyO8Nue28uVYtAbV1+7S9brYjnrl2hRwkOOgIPghvKvmssoR5oW 2B0vPJ3CAwtB
9eX9WspYNK4e8ywsUGNSpiOQSptGZx53//79+Ph4e3v7kSNH6v+Vm5trke2g MSkTm7BUSudP
d+fOnaSkpAYNGgwZUr77wJEkfvem8q1DClaGFoh42rVn3jpjf14RBDc0d25+ E1J7R+fp/8yR
0hllfg+MAwTAX6+X5wC7AT/ge2BECVszClIlJ0EKAfyoXkr0c9+V5Oz1rRw2 b2TXjUOCV+UX
P0tOP0e5TLdv3x4TExMXFxcbG3vx4sWIiIh3GbTGytR02Fgk9fcNftfG8s2D 89cPKKhVSb3y
lIhymeo4B5g/N5YJqVLTZDEYHrmFmYcvLWtcN2h09619O4Rn5qRSlio5AWNg k8GN3YPMkTIY
BsOHD/f39799+/bt27f9/PxGjDDLKsFgpd56UcRjazcOLFjVt+BZgc25OzzK 4XE6hZeSyV4R
Wrji68KUTM4/t3n0yxS0w8N0BFJp0xw4cED3QSwWL1iwoG7dupRjzpgUhU0Y W+Xw4TcTbY0b
N86caZhndyvSfRBwMaiVbPj2N9MxPclj38jgrvi6cHe8wJwDNCFlKfrplnhA J2BpiYtIO0A3
Q6cD0JOGlB6dP+NwRhvLD55eG9Flg4AnBtCu6dDDl5Y3rNOeWpnu3r177ty5 1apVAzB37txF
ixYNHjz4nQWtsTKlUNbGVvmxe5H+N92ayP9K4NMpU52p4rdm2/eWGx4VQdzt /QH1+3jU9Adg
J3Lu5DeWvqZao7px/8RX7edRVrh79+6pU6f0c67TMT+99pCzYUCBmK8FMPRT 6fIT4vb1FNTC
4/xdXl9/mZNIA6Cvv2zfVUHH+op3VqbGpCzdhGWjnJkyjzMhRWETBleRSCRb tmyx1J8uKYPj
WfWNQVNErCC0hYzL1lI4wFJSI7Y7yJSsKvaadvUUPZrKbCwZSVjSKPNfoAqw ApADnkB3QACK
Um+a7bT9GQ3w9hjHnILHlMs0NTVVPyGuj49Pamrq+wraUmVa7nJLpeQq1olb /EY1LZMqVaZ0
TBVLSS0D5IAT4AN8CgZtfZDxPNnZwe2Xo6PlSol7db/PfEfpbkrocPvheVeX BraCSpQVdN64
Y8aM0Wq1GzdupOWN+/Y14/FLNuXwyMhlf+LyytHV3UWdYaHUAyYm9jYtZc4m LAhIpszjTEhR
2ITBVaj506XnsH+/JJzVtUhf2IUym9YeVPyhS0npGtcaLTJy2dtjhPkS4ZDW UjOlShllSoBc
4FsAQBRwBOhj9l6VknpVJZjwZyxLneq+0Tcj2jYeBCD6ZoRSLaNcpsXFxfpJ cG1tbYuKit5L
0JYq03KXWyql6+53EGrn9ywE1TKlY6pYSspSU0WLkMoL8ouyB3VaAeBC0o6z 17d28Z9IR1Cr
1SbcO9K91TQ6Igx64/rWUkXECQcFSAFExAplKhbl8JApWQLuq8Ql5GqlShbo VXkwER6WbsLc
sWcMmscZk6KwCWOrUPCnS8nkLD8hnhhUXMNR87pBIxzUSkrhPq6s1KtzzUKt SuqJQZLzd8x1
G0w3ZJQZDAgBIRAC3DM/fMtIvdpbJvwZy/KZzwi5onjr0TERp6bYi6oIuLaU y1QsFhcXF+s+
FxUV2dravvugNVamxpZTkNo7Om/7sPyQRvKN50SUy5SyqaKx8DDfVNEiOGx+ m8YDBTxbAc82
sMngB0+v0RS8mxHrZFu9kh0tPyoGvXFHtJUUy1ljIuyn7LOvYqex5VMPDwFX K3udXaRKlpCr
pVmmDIaH+Zswq03DoHmcMSkKmzC9ikX+dJfSuDtihd93Lta3UgE8eskOi7Qt ectpzsN8g1Kl
br/MDDqDRplVKZ12g1KvLsdM+DOWRci3/7zV1FdbTz/rVqUR5TL19vZOTEwM DAwEcP36dW9v
73cctMbK1Iyytiw8hDxt96byg9cElMuUmqmiifDQ5xsto+Hh7FC7lD5Nrt6N 7OBD91Ejg964
9gLt1OBXt0dnU3lm9ogaDA9XJ/X952ydwoPnbNdKajBRpvSvHhZtovxMs379 +k2bNkVGRnp5
edHcY2NSFDZhbJUxY8ZMmTLF3d395cuXa9euNaeD/kgS//hN/tzuxTUd1aXu MS1NM8ak1pwW
fdlMXsNR/aLI5rcYYYC7svygB+KBwWVaGz7Aydf3rVGAOefLmBSY82csy+mE zQENvhLwbR9m
3Yi7vb9Xm9mUy7Rfv37h4eE7duwAEB4ePnDgwHcZtMbK1NhyClI//yPq1Uxe zV5dJLc5fJ1v
ziMfY2UaZnmaMSb1F9AWcAbygeNmmCpaRMM67fWdqxeSdtSt7kdHLT0rkcPm 1ahcj+Ze6bxx
dU2Z9evX0/HG3Xxe9FVzma1Ae+MxZ3+CQP+0n0J4tPdS7rkimOokAbDniqBD PQWdKm9x9jUi
Zekmyp9hUz/wXI/ePK7Uv8odPGpMysQmLJU6dOjQTz/9pPenmzdvXtlXc0pN N1TqZRcAvw/P
F7zdRDWYacrOXGRMKvY+98A1wZM8toNQ0+oTZV9/Ge/tUQZlZy4qO4BGZ5QJ 4BxwBVAaGxGg
tUDqN6A1YLSCGrK6KjsbVakXGnTjUJPTz15K3itXFtd09v60Uf8qjqVHf5Wd jcpYmWq12v/9
73+///47gGHDhpnzPg2doDWzTMsNGwrhYcvX+rgpBwSUfjXHovAoJ9OYHR4p wIW3TRU5zIUH
gNiUfUkPTilVsrrVm3X0/abUiACD854Zk9p3LszPq/snNZobDAaD854ZDIO7 d+9OmzbtypUr
APz9/X/66SdPT0/T4QEjb8udTeXtvSIoVrC8q6n7t5TWdVZTvnpogV3xwjMp PABBDRX9/Et3
6VsUHuW8JmV2eJQfgW+Hx39xLmcyR575UuZcSqhBZtgk4WE6PMgMmx9TeJDZ aAgEAoFQsZBM
QyAQCISKhUNOAYHACCGl3pNeytybjgxKsaxSqgz/28aQzogoEpnWAPHcJJiC mCpacuFlFRcf
JefBehCLu2m1WnIerOHqYaBN47r6O0Y2kzFprXVKkQigAwkPwocVrhmT1i52 nciI2qyMNVZ7
m8OMDvHcJBAIBMIHCsk0BAKBQCCZhkAgvBPE4m5ktwkVQfljz9T3M5UxyepH 2Swel+1RgxfS
nCUWANDkFCiOX1Y/ygbArlWF18XfprI9NSmtVKE4Gqe6m8HicjktvHjtm5a/ V2lPlBeTNU9e
gMthf1KdF+zHshMBgBaKM9dUCffAAqeZJ69jM7BIKVcgxsoUgOZZruLUNfWj bJaAy+vgw/H1
oCZVPO9t6zM+Vzyz7zsLWmP2nXl5eZMnT46KihKJRCNHjpw5cyYJhg+Ff9WZ l5W3MtTZXBbX
nV2jA6+FmCUAsKx4R8mfTRcPLlfKhLvrrVu3wsLC4uLi7O3tZ8+eXe4sSsak Sk1nYGdn9+hR
OQ6Ixgwxc4BjgM7Aww3oasbMmMakZMDfr6ezagG0p9+mUcamcFs3FE8PFY7r AT5X/le0brl8
f7SNq4toSh/RlD42NZ3l+6MpSymOxYPDEU3uLRzfQ5tbpLp+v3ypmBROgLdw ah/RpF42VRxl
+86/Wp5wV53+TPhtD+HYHur0Z8rEe6ReVSjGylSTUyDbfZbj5yn+/mvhiC66 izs1KXHYIP0f
L6Q518/rXQatMfvOqVOnCoXC5OTkK1eupKen79y5s9Rddqk/xs/8ixf5deoM kMvfzKHXt2+4
/rNMpqhdu/+LF/kV1Ia4d++Ju/tAmaz0HFz5+cX+/uPy8ooKCoqnT9/SoMFw B4ceNWuGhoYu
OHfuupXs/xVlij+30XfiviOEPfngHZFfKJld9H/mSBkLj7S0tH79+g0dOjQt Le3UqVM6x2hq
UrklWLhw4dChQ8uVMmaIuR9wA6YAUwBXwBwvDWNSRwAuMBkYD+SaMdV3+ZlG MDCI7VEDPA5L
LOAHN9c8fv7qUvI8j9umEUvAYwl4vMAmGjNiwpiU6m4GL6Q5S8hnCfm8zs2V iWnlSw3pxPFE
AVmSAAAgAElEQVSuxRLwwONyWzXQPH35SurGfV5HX5adkGUn5HX0NSdpEehg rEwV527w2jXh
1K8FLpvlIOb3bE1ZSo9WrVZeTuUGeL/LoD1w4EBQUJBYLHZxcVmwYEF8fLxu eVRU1KJFi5yc
nJycnBYvXvzHH3+UWrG4+GjJP8bPvLOzQ8uW3kePxr++HhUePRqXk1Og+3r4 cGxAQH1nZ4cK
KndPz5qtWzeMiDhVavnWrcdatKjn6Gg7aNASpVJ17Njily8P3bix5euv2y9Z ssdK9v9rQVBd
dg0uOGKWoAO/+RPNc8pSxsJjyZIlM2bM6N69u1AodHV1Nce+05iUHoVCsWXL FnO8DAYBHgAP
EAOdSnjAvwDaAgJAALQFXphxgMak7gGdX9uXdAYS6WeatzolHmTauL6au5NT z00Vk6yVK7Uy
hSL6JsfLlbJUqRnJtdl5FggpVcr4VLZ79deXknx2jVctQpsalbXP80F4Zz1p JcpUk/5MWyyT
rNhfvGiXfP8FrVRBPTxeo7rxgF276qtu0vcRtCXtO0u9qHH79m3T6+bmFtaq 1S8vr6jkkjp1
BuTlFanVmh9/3F67dn9n515DhiwtKpLqmw5btx6rX3+Yo2PPVq0mJCU9KKU5 cGDQrl2vTJzj
4m5rNNq4uFe78ccfpwcODDKmbGy5nsTENE/PwevXR5o4omnTvl637pBGoy1x KVRt3nxk0qTe
AC5cSFqwYFidOlXZbBtnZ4fevdueOLHE0v2XyRTjxq2tVu2ratW+Gj9+nb4J JRZ3W7fukJfX
EFvbzy3d7bI9aTVs3kzCu1ayd4Xkj63SQ3HKWxoLrRJKhkd0dHR2dra3t3eN GjWGDRuWl5dH
WUrPnj172rRpU716dYukShpiegEXATkgAy6aNxO8MalSp6bcLgsLMo0m66U8 6irv8wDdV13j
Q7Jkj2TpXtX1+7zOLShLcTxrKk4laKUKrVShOJmgVZjrbls8L6J40W5lbMqb rStU4L16+MTi
cbQKJUkA74ZSZaqVyDS5hcJvu4sm9waHozgWT1nqdWhrVZdSeJ82pLNXdIJW Z9+5atUq3ddO
nTrNnTs3Ly8vLy9v7ty5eq82Yzg52fXq1ebXX9+YwP7664nQ0HaOjrbLl+9N TEy7dGltevou
gYA3Z84bi5no6Jtnzvz05MneHj1ajx+/rpRm584tEhPTnj/PAxAbm9KxY7PY 2BQAmZk5t279
27lzC2PKJrYI4Pjxy1988eOqVd+OG9fTxBH5+HxSp061Q4di9Ev+/PN88+Ze np41AQQENJgw
YV18fKrU+E1Gufs/b17E06cvb978JSnpl8ePs+fPf/PE7urVO5curS0qOmLp br91fdS8/Ed+
JZgXoO86+04UOlk0oCe/Xbo685ziKuXwyMnJSU9Pj42NTU5OFgqFU6dOpSz1 KpI1mnXr1n33
nWXvjekMMfXZWNf4WAIsBa4DnWlIeQInARkgA04C5d5Imptp1OnPZHvO8Xu3 1T9BlR+6xGnq
LpoRKpoRymnqLi8RcJZK8br5Q6qQrNwv3XDYxtGWJTTXklIcNkg8sy/X31se eenVIh4HrxOV
VqFi8bgkB7yL1kyZMgWXwwvye9UjGuKnuptBXUrXoEl+yKpsz7KkO4XBoC1r 37lixYq8vLz6
9eu3bNmyVq1alSqVtq8v+5xm3LieW7YcUanUAFQq9bZtx8eP7wXg999Prlw5 pmZNZ1tb4YIF
wyIj3+zV6tXf1qhRWSwWTJz45Y0bpbuCuVxO795t9+49DyAuLmX27AFxcSkA du0606dPIJfL
MaZsYoubNx+ZMGHdgQP/+7xUpjfE999/vXq1vusea9YcmDLlq9c34HPc3KqM G7fW1TXU23vo
9OlbSrbnzNz/P/88t2zZNy4ujlWqOP7005g//zyvX3fJklEl+9Ys2m0dj9RZ B2Rne/ADK9nY
v31NZLnYOHXnB95U3accHiKRaP78+brO1YULF0ZFRVGW0nHo0CEPDw+L/JbS yxhiHgKaAjOA
GUBT4BANqW6AFFgB/Aw4AuX2M5g175nqVrri5FV+3w76jikAmkfZ/H4dWBw2 AF5gE8nbnbAW
SbFEAn5oO77uB4lp7LqWTHnC53JbN1BG33wVJS4O6swcnYImM4fl4kDSQEVj sExtqpZyiGFR
lnrVSxqTzO/qT3OvqAWtQfvOypUrR0REvO7q+SMwMPDu3btvNbjLPJvx8nKt X7/2oUMxffoE
HjwY07JlfTc3F90tvI/P6DdnqsRL2k5Odq+vXHxdikKJQb3FxUcHDgwaPXrV N990y80tatnS
++XLQrlc+ccfZ3bsmGFC2cQW1607OGBAkF+JYRclN1fqiNq2bcxm21y4kBQY 2OT06WuVKtk1
b/5qRQcH8fz5Q+fPH6rVau/de7JmzYGBAxcfObLQov3Pzs6r+/pqULdutewS /erVq7+V2svu
tmluq/49q7j6Jf+zamyjw6/MnMnGYHg0bPhW45tl3ov3JoxiV69evXz5cvPj 36Ah5kOgP8DW
lR2whIaUCNCbBSUCdem3aZSxKYrT14SDO5Wq/CxnB+XFW1qZQitTKC4ksao4 UpaS/x2rLZBA
pVanPlacT+K2a1KulPxgjPZFPjQabbFM8c91fUc818dD8U+itlCqLZQq/knk +HxCMkGFYqxM
uT6fvOkRjUpge9WkLAVAnfYEXLaNmwvNvaIQtOvXrw8LC4uMjCxV+b/77rvM zEyZTHb06NGl
S5dOnz7dnB0bP77nhg2RADZsiJw06UvdwmrVKt27t0M/dqBkj5DhTuMSowya NHHXPdVo0aIe
gBYt6m3e/LdAwNUtN6ZsYotRUUsPHrxYsqVielDDtGlfr1y5H8Dq1X9NnfpV 2R+wWCwvL9fl
y0fHxNyydP+rVHFMT381d9a//2a5GL9xLLvbJriiTDmvuBYqDC6VZg7LLrzQ 5GmgydMUHpfH
1OPUphweAwYM0Heuzp49OyQkhLIUgFOnTgmFwpYtW5oZ/7HAKWBwGd9lFyD6 dZdXNFCFhtRh
oABQAanAeaAd/TaN4mQCAMn6w2/ucWb1A48j6N1GfvSyJCYZANvNhd/rU8pS bFcX6dZjWpmC
XauKoG97GzN6SNherrL90Zrn+Swhj+1Rk98n8NXxNPPU5BZKNxwGwG3uxfX1 JMmgQjFWphxf
D01+sfTnSK1SyfF05ZvRp2FMCoAi+pZFT2gYDNo5c+YAKFnJdfad/v7+HTt2 zM/PDwgI2Llz
Z1lzRoN07Nhsxoytmzb9LRYLmjZ9dRs0cmSX8ePX/fTT6Fq1qty583jZsr2/ /z7D/IMdMCAo
LGz78uWjAQQGNpkyZePcuYNMK5vYYs2azlFRS7t0maVSqadN+7rcrXft6v+/ //2+e/c/L17k
d+rkV+IZzMxRo7q1bdu4cmX7p09zVq/+y9/f29L979MncPr0LZs2TQLw/feb v/rK6AXNot0+
q7gKYJvkzcCByeL+XHC8OLX+lkfnaPJFLIE3p04gz5dyeAwcOPDx48fNmzeX SCTBwcGrV6+m
LAVg5cqVEydaMHWbzkJufYklOkPM3sBRQNdV6gb0piHlBmwFZIAb0NeM93IM zOVMplAk6Ck7
lzMJD6N1qcRczmVfoNH/a/v2qAkT1h06NL9jx2av+vQ02pUr/9y27fjTpy89 PWvOmNG3T59A
nUjJlkSpr3pevMj38BicnLytZk3nhw+fNW36TVraDt0zDGPK5W7x2bPcLl1m ff11u5kz+5Xd
Yqk92bPn7OjRq7ZsmRwa2kG/8Pz5G5s2/X3hws3CQkm1apU6dmw2b96QKoYa kSb2XypVTJmy
8cCBaABfftl25cqxQiHPxJkptdticbeaqyaQGTYtoMI8N0mmIZBMw3ym+Ygp KpK6uw/Mzv7L
+neVZBrryTRk3jMCgWAuarXm999P+pDHnwQLIZ6bBALBXBwde9SrV2vr1qnk VBAsa3QRz02C
CYjnpgV1iXhuWhnEc9N6rh6k94xAIBAIFQvJNAQCgUCoWMhzGgKBMYglF4FA Mg2BUIH8Bx8J
kMd4BDMhvWcEAqGiOHXqVLdu3apVq+bu7j5ixIinT5/qs/L//ve/OnXq1K1b d968eeS5Pck0
BAKBQJF169aNHTv2zp07SUlJDRo0GDJkiG759u3bY2Ji4uLiYmNjL168qJ+r lPCxQkY5E0xB
ukcITIWHTCarU6dOVlYWgODg4Dlz5gQGBgK4cOHCokWLTpw4Qc7nRxwe5DkN gUCocCQSyZYt
W9q1ezVFZmpqqn7GYh8fn9TUVHKKPm5IpiEQCBWLk5MTABcXF33Dpbi4WDdL MQBbW9uioiJy
lj5uyHMaAoFQseTm5j569GjUqFHjx4/XLRGLxXo/7KKiIltbW3KWSKYhEAgE WtjZ2U2YMOHa
tWu6r97e3omJibrP169f9/b2JqeIZBoCgUCgwpgxY+7evatSqbKzs8PDw1u0 aKFb3q9fv/Dw
8KysrKysrPDw8P79+5Nz9XFDntMQCISKonPnzsOHD79z546Tk1NQUNCvv/6q Wz506ND09PSA
gAAAw4YNGzRoEDlXHzdklDPBFGSUM4GEB4F+eJDeMwKBQCBULCTTEAgEAoFk GgKBQCCQTEMg
EAgEgjFKjwggEAgEAoG0aQgEAoFAMg2BQCAQCCTTEAgEAoFkGgKBQCB8DJSe jab5rIPkpBD0
XF3ci4QHgYQHgWZ4kDYNgUAgECoWkmkIBAKBQDINgUAgEEimIRAIBAKBZBoC gUAgkExDIBAI
BJJpCAQCgUAgmYZAIBAIJNMQCAQCgWSaj4O0X8aW+kAgEAgVfcEhfAyZptzi JOVNoICAy/lz
5pf7Z30p4HLI2SAQmOXDq1QeozbS/IHB5GRsrcBGtUaF+DT7pJpUoTp/69Gi vTE5hVIALBa+
/zKgb2ADLbD7fMqKg3FaLUwsr1vVMax/Wz+PagAS0rLm7Yr+91keiT/r4cd+ bX6JSmSxWD/2
a/PDjnMkMP4jrRAKl4t3wMcXXeQ5TTkM79R0a9T1FpN/C5m7u0gqX/1NJ93y voEN/L1qdA7b
2yVsb0C9Gl+1qW96+drRna7dz/r0+x2ffr/jxr/P1rzWIVgJP+w4dzLx36hr D/RphgQGgVx2
/ruZxtjTF3OeyrBtWNO+DLi8cuitDaPWfNNJLODqf5/2y1iDKw5d9ff5W48k cmVOoXTJn7G6
uwMAX7byXnEwPjuvODuveMXB+N6tvU0vd6/mtOnYtQKJvEAi33A0wb26I6lO FYebi/2W8V2S
fh6ZsvGbXyd2q2wn1C3nc9mLBre/vnbE9bUjFg5ux+eyTcQSCQxrpl2jWsfn haZuGn1+ycCv
29Y3UcF1hfhNZ9/4lUNvrh+1ZGgHHodtsHxNrD6gfcNziwfc3jj6+LzQ5h7V e7f2Pr2wf+qm
0X//+FW9mpX1e1V2K7rVh3VqenHZoHtbxprYyscdXf+tNs3Yrs0a1XbpsWB/ yynbZUrV9N6t
9L1tHqM2ltuO/rSBW+L9Z7rPnjWcbj58rvt86+FzzxpOppefTUof3cXXTsiz F/FHd2l2Lukh
uVhUHL+M7/rb6ST/ydtbTtn+4FneD6Gf6pZP+aJlFUdxx9m7gubsqlHJbnJP fxMiJDCsmZ9G
dFwTeaXJ+K39lh3yda9qooLraOFZvWvY3vYz/3C2F03q2cJg+ZpYvXV9137L I5tN3HY4/t62
id3aN641aMVh3++2Hbt6f+Hgdia2osOnbpUeC/Z7frPR9FY+4uj6b2War9rU n787Oiu3qFim
XP5XXEgzd/PXre/mPCe09ZyI87qvIgFXIlPqPhfLlGIBz/TyBXti+nzqnbh2 xLU1w3u3rjd/
Twy5WFQcncP2xKY+kSlVhVLFigPxbRu46pZ39/cI33Mxp1D6okA6f/fF7i09 6W+LBMZ7QaZQ
uTiKKtkJM18Wzfr9XLkVPHxvTE6hNKdQGr7nYg8j5W5i9dkR55++LJIqVNtP J4kF3Lk7L+i/
Nq7jUu5WFu679LJQSuEq9NFE139rmE01J/HJBf30X3UPzcyhZb0ay4d3nLAp Sv88TSJTigTc
IqkCgFjALZYpTC9fNvyzg7F3fz11A8CI4KbLh382ZOXf5HpRQTT7pNr0PgEN 3ZyFfG7Jgq5s
L3r8okD3+dHzAmd7Ic0NkcB4X4zbGDX+c7+J3VsUShUL9sb8cyPddAXPeF3u j18UujiILL0+
5BXJdB+kClWpr2wbm3K3kp1XTOEq9DFF1wecadQajZDH0RW8o63AnFWy8yR9 Fh94VqLUzaFb
C4/ZX7cevf74zfTn+oX3MnMb13aJTX0CoFFtl3uZuaaXt/CsPmrtMYVKDWDD 0YTEtSPIxaLi
WDcmeNG+SxduPSqSKcQC3vXXZzunQOLqbP8wOx9ALRf7nAIp5VgigfF+SUrP /ubn4ywW2jWq
tXhIh1Y30k1XcH25uzrbvXhd7oxcHypoKx9ZdH3AvWe3H+eMDPER8jhVHcXh AwPNWWXX+eSF
g9vXcrFn29jUq1lZPxKjQCJ3r2b4WdnwTk1n9Gk1aOXfJcsbwMHYO7pO/yqO 4ilftPzrUqrp
5WmZuWO6NrMX8e1F/LFd/e4+eUkuFhUHn8uRK9VypdrV2X7hoDfd6EevpM0J /bSynbCynXBu
30+PXEkzHUskMKyW1d908qjhxGHbsFgsDtvGdAUHMPvr1pXshJXshLNDPz0c f89g+ZpY3UwM
bsXMq9DHHV0fcJvmhx3nlgzpMP5zv6zc4i0nEjv7fVLuKpuPJ37TBRFTe1R1 FD/Iylt/NEG3
fOvJG4fm9BHxuWWf/f7wdWsAUfP76pc0Gb9VIlfuvpDs5mJ/Yl4ogN0XUv68 eFv3X2PLJ289
Pa9/2286+wBIvP9sytbT5GJRccz6/ezsr1uvHxvyLK94a9T1bi08dMtXHLwc 1r/tP4sGADh2
9f7Kg5dNxxIJDKvldOK/G8Z2rl3F/kFWnv6kGavgAK6mZR2fFyric49fvb86 8rLB8jWxupkY
3IqZV6GPO7pYuc+flvzefNZBaw4vGxYrdfNor282kZr2bri6uNcHFB4EEh4G sdo3NP874fGB
9Z41qOX8Il9CipBAIBA+ID6wTLNvZq9foq6TYiMQCIQPiA/sOU2DsVtImREI BIsgXWekTUMg
EAgEkmkIBAKBQCCZhkAgEAgk0xAIBAKBZBoCgUAgEEimIRAIBALJNAQCgUAg kExDIBAIhHdI
6XnPCAQCgUAgbRoCgUAgkExDIBAIBIKlmaauZ31ysj4mmC1QEh4kPEh4kPAg bRpSGciBk7NE
Dpycpfd24CTTvOLfe7fJgRPIWSIHTs5SRRw4yTQEAoFAqFgszjSlmkvmtJ7q etbfuWtPYIdO
9Ro2Ce7a/WrCtf0HDn7WqYtXgybdevS6c/eu7mePHj8eOfrbhk39vBs2HTJ8 1IucHMpSarV6
6U8rm7f81LuRz3eTphYXF5t/XBTWBZCXl+/n3zo/v6DkkhYBbfLzC6gJnr8Q Hdy1u1eDJm3a
d9yz70/zT5Ex5ArF9zN+qN/Y179V282/bKughj8JDxIeJDxIeLy3Ns3FS5f2 7oq4kXD5ix6f
Dx3xzblzF3bu+C3p2uVuXTvPnP2j7jcjvhk7fOjga5cvXYm7+Im7e/iiJZSl NmzakpycciTy
QEJ8DJ/PX7zsJ/N3ldq6jo4OnTsH79qzV79kz959Pbp3c3CwpyY4ZdqMyRMn 3Lx+dd+uP65f
T7LoFBlk1eq1OS9fRp87ffTvg5di46zqfoeEBwkPEh4fd3iY++ZmXc/6ui45 /YdSy02ve+1y
rJOTIwCZTFa/sW/Jr419W9y7fbPUKjKZrE27jlfjY6hJtWnf8fdft37iXhfA 8xcvunXvdTk2
2swDpLCujgcP/h00bMT5Myc5HI5KpeoQ1HnvrogaNapTE2wd2GHMqJHBnYKq Vatq8AfGTpEx
Atq027NzR53atQE8+De9Y3AXgwVK+V6VhAcJDxIeJDyM8Y7cnXXFCUAgEJT6 qlKpdJ+vJSYu
XvpTcsptqVQKgMViUZZ69iw7KKTrm3RqRMoglNd1d6/r6eFxPOpk925dT0Sd bNbMt0aN6pQF
N/68dt36javX/Wxna/fjnFkdP+tg/ikyyIsXOW6urrrPtdxcreqmlYQHCQ8S Hh93eFicaTgc
jkwm05VTbm4eg/H07YRJs2fNaB/Y1tbWtri4uLFvC8pSLi7OB//cW7VqlXe8 7vChQ1av+7l7
t67btu8InxdGR7Bpk8ZbN2/QarXnL0R/P3P2ldhomqfI2bny44wM3V3J44yM CrookPAg4UHC
g4RHWSx+TlPfu96Wrb/KZLJnz7Ln/Pg/BmNFLpcL+Hwen/84I+OHOWF0pAb2 7ztz9tyHjx6p
VKo7d+9+N2nqu1k3sO2nRUVFOyJ22orFDRvUpyM4YdLUtLT7SqVKq9Vq1Gr6 p6hn98/DFy3N
efnyRU7O/PDFFXQpIeFBwoOEBwkPBjLN4oULTp463di3Re/Qfq1bBTAYK0sX LQxftLRhk2b9
Bg7x8/OlIzXmm1H+zf0GDB7WoEmz7yZP69Sp47tZF8DwoYPnhS8aNWI4TcGQ Th3HjJvQsGmz
xct+WrliGf1TNHXyRAcH+08DP+vSrWdAS/8KupSQ8CDhQcKDhEdZyFzOAKDR aDzrN75/J5mc
CgIJDwIJD8Yhb24CQHLKbWdnZ3IeCCQ8CCQ8SKapKL4K7T961AhyHggkPAgk PCoC0ntGIBAI
hIql9ChnR+dq5KQQ9OS9yCLhQSDhQaAZHhX75uYezfeM6PS1Wc7gXp2cyWJE J3iJlkEpsJiR
gpZRKYJ1RNqHEh4MVnnX1d8xIpUxaS2DUl/83Y8RqUPddzMZalYfHuQ5DYFA IBAqFpJpCAQC
gUAyDYFAIBA+ZDjvcdtjK2/VfdiYM5KOzpkzZ9auXRsfHy8SiYKCghYuXOji 4kJNKvERN/I6
Py2bw+dom7ipBgVIK4k1dPatQMaa+ZddTpHN3tHUZ3ma9/bXMHqn/RlwCngE CIAOgC+pBO+J
0M2vpnekExsA0oBLwGOAC3gAIYCYqtQ9IAbIAHiAOxAC2FlllVffz1TGJKsf ZbN4XLZHDV5I
c5ZYQFEq7YnyYrLmyQtwOexPqvOC/Vh2Ijr7pixUJMy9JH8pa7ejM2URJyen kl9zc3OtocqX
uhDxgZkfRKbRRZs++Cizfv36CRMm7Nq1SyKRLF26dOTIkZGRkdSk/r7B79pY 3rBmMZuF47f4
K0+Jwr8oorNvf14RBDdU7I4X0DzGMIbOeQ6wGwgBQgEJcI5kmveHLsHo8w1l YoHWQC1ACZwH
/gIGU5W6BAQAdQAbIB7YB4ywyiqvjE3htm4o6NtBq1Qpzt2Q/xUtGNyJolRM CifAm12nGsuG
pYxPle07LxzRhc6+pR9IqxlU68G+uzSPkWZ2qYgqX/IqFAcUWrLux9B7duDA gaCgILFY7OLi
smDBgvj4eMpSP3Yv8q+rFPO0Aq62WxN5+gs2nR17kse+kcHt1lhuPefqHNAO qA9wAQegJ7ne
f/gMAjwAHiAGOgGPaEgNAbwBAcADWgFZ1nrIgoFBbI8a4HFYYgE/uLnm8XPq UkM6cbxrsQQ8
8LjcVg00T1/S2TFJZnHuzReuIXU+7iqvBuIBi+at43xkte7s2bMtWrSgryNX sU7c4jeqqaIj
EhErCG0h47IZGCu8DJADToAP8ClAeRziv0AVYAUgBzyB7oAAhI+HB4AbEzpK IB6o+yEcsvpB
po0rE5PBKFXKy3fY7tXpaNzfnVqntyeLy8AdvLu7e1FRUe3atfv37//dd9+x 2WzrqfI3gDoW
9qx+VJnm5s2bP/zww/79+2nq6Do0HITa+T0LKYskZXAKZTatPRT0j0vXaNUC 2cAJoBgIoXzP
BeQC3wIAooAjQB9yef5YyAJOAANp6+i648XAcKs/ZE3WS3nUVcGAjjR1iudF AGCJBYLh1B+u
5N56oSpSVgmoTv+4dF1narU6NTV11qxZz58/X7RokZVUeS1wCehr4Vofz9iz ixcv9u/ff9u2
bR4eHjSl9o7O2z4sP6SRfOM56s8GI2KFg1pJWcwdIAuoCvQGrtMQ4QHBgBAQ AiHAPXJ5/lhI
B/YAfYDKTNzZzAT8gUjrPmR1+jPZnnP83m1tKtvTlBKHDRLP7Mv195ZHXqLe oNl1x71fPTBX
59lsdsOGDbdu3bpr1y7rqfIpQGXA0lbkR9KmOXDgwOzZs3ft2uXry8wTbiFP 272p/OA16g3N
Ry/ZYZG2JdtJNIcY6fMNnc64quSS/DGSDEQBfYEaDAnygdbABSs+ZNWtdMXJ q/y+Hdg1KjN0
zFxu6wbK6JvUG0YZhdfD3zwkPj/4BJ3hZ2+qPIul0Wisp8pfBLpavtbHkGnW r1+/adOmyMhI
Ly8vmlI//yPq1UxezV5dJLc5fJ3vWZX6c5qSeYVmmvkLaAs4A/nAcaABjQP0 AU4Cwa+b0l4g
fPDEAvHAYMtvM8tyEGgLVAIkwCWGHvlUBMrYFGV8qnBwJ5azA00p+cEYXttG rEp2WqlCGZNM
55FPybxCM82MGDFi2rRpnp6ejx8/njFjRs+ePa2kyt8DuJQCwyrep9F9oDzE fs6cOQBatmyp
X5KRkSEWU3mpwK+2cvUp0ZM8ti1f6+OmnBRUbA31qj5wAHgOiIGGAJ0+aV8g H1gHKF8/HiS8
L/Tjm3UfKN+LnNTdb5VYMgvgUZKqB+wHngNCwKMCnuExVeUVJxMASNYf1i8R z+oHHpWrGdvL
VbY/WvM8nyXksT1q8vsEWkNsdO/efdSoUXfu3HFxcenVq9fcuXOtpMpfBD6l tOL7f5+GPkwN
PAfQ6hNlq0+UjB8pzX6zBvTaMaVoD7Qnl3krgJHeVDD3rhXjkVZxVV4cNoip XeI0rM1pWJvx
I6XZb/bFF1988cUXVljlh1FdkcxGQyAQCISKhWQaAoFAIJBMQyAQCIQPmdLu zsQ1j2DUt1sA
ACAASURBVFASYqpIIOFBoB8eBkYEWKfVHYNS1pr0PwxTRQY9B0l4fHzh8dFD HHuphQfpPSMQ
CARCxUIyDYFAIBBIpiEQCATCh4xlb27qZjx9A58rntmX2oY1OQWK45fVj7IB sGtV4XXxpzxN
nlaqUByNU93NYHG5nBZevPZNLVXQO9yVfAlUq9XOmzdv+/btLBZr6NChP/74 I8uMHkyDUiaW
m0DvcFfy1TxqBosGpSrIYJERz8FSkUbzTT3Ns1zFqWvqR9ksAZfXwYfjS3EO 1lJOiHZ2do8e
UbSDSUtLmz59elxcHICAgIBly5ZRnhlWBvz9epqQFpTe0TMYHgBOAwkAgOb0 ZqZg/JDz8vIm
T54cFRUlEolGjhw5c+bM91jljXmnUvBUNbjKjcfcwzf4d7LYfA583JSDW0sd hNp3WeWNhQcA
CbAZKDDj9WHLMk3JCq+Mu60tlFIOO/n+aHY9V93cD8rYFPn+aOHobtSkFMfi weGIJvcGoDhx
VXX9PsfnE4sUdNFW6jqyffv2mJgYXcUYNGhQRETE4MGDqUmZWG6CsLeLWQc1 g0WDUhVksMiU
5yBT74Frcgpku8/yQpoLQttrJTLFuRuUM03Jq9KGDRuysqhbhQ0fPrxr166/ /fYbgJ9//nnE
iBHnz5+nJnUE4AKTAQAngOuAj4UKBsMjAXj4erb5fcA1oBm9gmDwkKdOnSoU CpOTkwHMmjVr
586dAwYMeF9V3ph3KgVPVYOrHEnid28q/z5EJVdh/1XB2jPiuZ8Xvcsqb1BK xzmgBXCm4nrP
tGq18nIqN8Cbev1/nsdt04gl4LEEPF5gE82LfMpSqrsZvJDmLCGfJeTzOjdX JqYxcoXavXv3
3Llzq1WrVq1atblz59KZuJtBrNxg0Qo9BxXnbvDaNeHUrwUum+Ug5vdszYCm QrFly5axY8dS
Vrh79+7kyZMdHBwcHBymTZt29y71xHwP6Px6WvjOQCJD5+068BlgB9gBn9Hz qmD8kKOiohYt
WuTk5OTk5LR48eI//vjjI67ys7sV+bgpBVytg1A7qJXsThbHSqr8CyDNbOdN iplGdeMBu3ZV
lh11+xZOPTdVTLJWrtTKFIromxwvV+pH/HZTUpvNzHRSqampeg8CHx+f1NRU WBkMGizGMWSw
yKDnoGTZPkn4TunPkcqLt6ChPqBWk/5MWyyTrNhfvGiXfP8FrZ
Re: [DateChooser] Custom Colors, and custom selection support patch [message #59316 is a reply to message #59286] Tue, 23 September 2008 21:46 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
The only chance to get this integrated into the core is to file a bug
and then the patch is finalized there until it can get intergrated into
the HEAD of the control.

Tom

Laurent Marchal schrieb:
> Hello,
>
> For my RCP application i needed to show customs colors on a
> calendar, and allow the user to only select specific dates.
>
> For example all day having a specified property, are in green and user
> can only select theses days.
>
> there no calendar supporting this feature, so i decided to modify the
> DateChooser to do this.
>
> The DateChooser widget is very well designed, and all major
> modifications are done in the DateChooserTheme, the DateChooser itself
> contain minor modifications.
>
> I've tested the code on Gtk, OSX, Windows, and it works very well even
> with lots of colors, and custom enablement states. So i have attached
> the patch and a screenshot.
>
> With this you can
> - enable/disable date selection
> - set custom color on dates
> - set custom tooltip for each date
>
> The code is not clean enough to be integrated into the CVS but if the
> main developpers are interested in these features, i can improve
> documentation and work to integrate with the mainline.
>
> Thanks for this nice widget !
>
> Laurent Marchal.
>
>
> ------------------------------------------------------------ ------------
>


--
B e s t S o l u t i o n . at
------------------------------------------------------------ --------
Tom Schindl JFace-Committer
------------------------------------------------------------ --------
Re: [DateChooser] Custom Colors, and custom selection support patch [message #59366 is a reply to message #59316] Wed, 24 September 2008 08:26 Go to previous message
Laurent Marchal is currently offline Laurent MarchalFriend
Messages: 91
Registered: July 2009
Member
Ok thanks I filed a bug
https://bugs.eclipse.org/bugs/show_bug.cgi?id=248394

I will wait comment/advise from the main developer to modify the code to
be integrated.

Laurent.

Tom Schindl wrote:
> The only chance to get this integrated into the core is to file a bug
> and then the patch is finalized there until it can get intergrated into
> the HEAD of the control.
>
> Tom
>
> Laurent Marchal schrieb:
>> Hello,
>>
>> For my RCP application i needed to show customs colors on a
>> calendar, and allow the user to only select specific dates.
>>
>> For example all day having a specified property, are in green and user
>> can only select theses days.
>>
>> there no calendar supporting this feature, so i decided to modify the
>> DateChooser to do this.
>>
>> The DateChooser widget is very well designed, and all major
>> modifications are done in the DateChooserTheme, the DateChooser itself
>> contain minor modifications.
>>
>> I've tested the code on Gtk, OSX, Windows, and it works very well even
>> with lots of colors, and custom enablement states. So i have attached
>> the patch and a screenshot.
>>
>> With this you can
>> - enable/disable date selection
>> - set custom color on dates
>> - set custom tooltip for each date
>>
>> The code is not clean enough to be integrated into the CVS but if the
>> main developpers are interested in these features, i can improve
>> documentation and work to integrate with the mainline.
>>
>> Thanks for this nice widget !
>>
>> Laurent Marchal.
>>
>>
>> ------------------------------------------------------------ ------------
>>
>
>
Re: [DateChooser] Custom Colors, and custom selection support patch [message #592294 is a reply to message #59286] Tue, 23 September 2008 21:46 Go to previous message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
The only chance to get this integrated into the core is to file a bug
and then the patch is finalized there until it can get intergrated into
the HEAD of the control.

Tom

Laurent Marchal schrieb:
> Hello,
>
> For my RCP application i needed to show customs colors on a
> calendar, and allow the user to only select specific dates.
>
> For example all day having a specified property, are in green and user
> can only select theses days.
>
> there no calendar supporting this feature, so i decided to modify the
> DateChooser to do this.
>
> The DateChooser widget is very well designed, and all major
> modifications are done in the DateChooserTheme, the DateChooser itself
> contain minor modifications.
>
> I've tested the code on Gtk, OSX, Windows, and it works very well even
> with lots of colors, and custom enablement states. So i have attached
> the patch and a screenshot.
>
> With this you can
> - enable/disable date selection
> - set custom color on dates
> - set custom tooltip for each date
>
> The code is not clean enough to be integrated into the CVS but if the
> main developpers are interested in these features, i can improve
> documentation and work to integrate with the mainline.
>
> Thanks for this nice widget !
>
> Laurent Marchal.
>
>
> ------------------------------------------------------------ ------------
>


--
B e s t S o l u t i o n . at
------------------------------------------------------------ --------
Tom Schindl JFace-Committer
------------------------------------------------------------ --------
Re: [DateChooser] Custom Colors, and custom selection support patch [message #592310 is a reply to message #59316] Wed, 24 September 2008 08:26 Go to previous message
Laurent Marchal is currently offline Laurent MarchalFriend
Messages: 91
Registered: July 2009
Member
Ok thanks I filed a bug
https://bugs.eclipse.org/bugs/show_bug.cgi?id=248394

I will wait comment/advise from the main developer to modify the code to
be integrated.

Laurent.

Tom Schindl wrote:
> The only chance to get this integrated into the core is to file a bug
> and then the patch is finalized there until it can get intergrated into
> the HEAD of the control.
>
> Tom
>
> Laurent Marchal schrieb:
>> Hello,
>>
>> For my RCP application i needed to show customs colors on a
>> calendar, and allow the user to only select specific dates.
>>
>> For example all day having a specified property, are in green and user
>> can only select theses days.
>>
>> there no calendar supporting this feature, so i decided to modify the
>> DateChooser to do this.
>>
>> The DateChooser widget is very well designed, and all major
>> modifications are done in the DateChooserTheme, the DateChooser itself
>> contain minor modifications.
>>
>> I've tested the code on Gtk, OSX, Windows, and it works very well even
>> with lots of colors, and custom enablement states. So i have attached
>> the patch and a screenshot.
>>
>> With this you can
>> - enable/disable date selection
>> - set custom color on dates
>> - set custom tooltip for each date
>>
>> The code is not clean enough to be integrated into the CVS but if the
>> main developpers are interested in these features, i can improve
>> documentation and work to integrate with the mainline.
>>
>> Thanks for this nice widget !
>>
>> Laurent Marchal.
>>
>>
>> ------------------------------------------------------------ ------------
>>
>
>
Previous Topic:GridViewer - Resources
Next Topic:[Grid] DefaultCellRenderer and wordwrap
Goto Forum:
  


Current Time: Fri Apr 19 07:40:42 GMT 2024

Powered by FUDForum. Page generated in 0.02791 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top