From 809ef71059f0945277a0e1abdb3fcdcb286cf38c Mon Sep 17 00:00:00 2001 From: Mahmoud Ben Hassine Date: Tue, 8 Dec 2015 00:01:19 +0100 Subject: [PATCH] remove site (moved to http://github.com/EasyRules/easyrules-website) --- site/CNAME | 1 - site/_config.yml | 20 - site/_includes/analytics.html | 10 - site/_includes/bottom.html | 1 - site/_includes/docs_contents.html | 74 -- site/_includes/footer.html | 14 - site/_includes/header.html | 14 - site/_includes/primary-nav-items.html | 15 - site/_includes/section_nav.html | 22 - site/_includes/top.html | 19 - site/_layouts/default.html | 16 - site/_layouts/docs.html | 21 - site/_layouts/news.html | 17 - site/about/getting-started.md | 59 -- site/about/overview.md | 21 - site/css/gridism.css | 110 --- site/css/normalize.css | 504 ---------- site/css/pygments.css | 70 -- site/css/style.css | 1017 -------------------- site/favicon.ico | Bin 73070 -> 0 bytes site/get-involved/faq.md | 177 ---- site/get-involved/release-notes.html | 169 ---- site/img/article-footer.png | Bin 1898 -> 0 bytes site/img/jmx.png | Bin 160592 -> 0 bytes site/img/travis-ci.jpg | Bin 16357 -> 0 bytes site/img/yourkit.png | Bin 34144 -> 0 bytes site/index.html | 133 --- site/js/modernizr-2.5.3.min.js | 4 - site/tutorials/hello-world-tutorial.md | 106 -- site/tutorials/scheduler-tutorial.md | 93 -- site/tutorials/shop-tutorial.md | 261 ----- site/tutorials/spring-tutorial.md | 97 -- site/user-guide/defining-rules.md | 143 --- site/user-guide/embedding-rules-engine.md | 99 -- site/user-guide/introduction.md | 21 - site/user-guide/managing-rules.md | 42 - site/user-guide/rule-listener.md | 38 - site/user-guide/rules-engine.md | 96 -- site/user-guide/scheduling-rules-engine.md | 48 - 39 files changed, 3552 deletions(-) delete mode 100644 site/CNAME delete mode 100644 site/_config.yml delete mode 100644 site/_includes/analytics.html delete mode 100644 site/_includes/bottom.html delete mode 100644 site/_includes/docs_contents.html delete mode 100644 site/_includes/footer.html delete mode 100644 site/_includes/header.html delete mode 100644 site/_includes/primary-nav-items.html delete mode 100644 site/_includes/section_nav.html delete mode 100644 site/_includes/top.html delete mode 100644 site/_layouts/default.html delete mode 100644 site/_layouts/docs.html delete mode 100755 site/_layouts/news.html delete mode 100644 site/about/getting-started.md delete mode 100644 site/about/overview.md delete mode 100644 site/css/gridism.css delete mode 100755 site/css/normalize.css delete mode 100644 site/css/pygments.css delete mode 100644 site/css/style.css delete mode 100644 site/favicon.ico delete mode 100644 site/get-involved/faq.md delete mode 100644 site/get-involved/release-notes.html delete mode 100644 site/img/article-footer.png delete mode 100644 site/img/jmx.png delete mode 100644 site/img/travis-ci.jpg delete mode 100644 site/img/yourkit.png delete mode 100644 site/index.html delete mode 100755 site/js/modernizr-2.5.3.min.js delete mode 100644 site/tutorials/hello-world-tutorial.md delete mode 100644 site/tutorials/scheduler-tutorial.md delete mode 100644 site/tutorials/shop-tutorial.md delete mode 100644 site/tutorials/spring-tutorial.md delete mode 100644 site/user-guide/defining-rules.md delete mode 100644 site/user-guide/embedding-rules-engine.md delete mode 100644 site/user-guide/introduction.md delete mode 100644 site/user-guide/managing-rules.md delete mode 100644 site/user-guide/rule-listener.md delete mode 100644 site/user-guide/rules-engine.md delete mode 100644 site/user-guide/scheduling-rules-engine.md diff --git a/site/CNAME b/site/CNAME deleted file mode 100644 index 483a633..0000000 --- a/site/CNAME +++ /dev/null @@ -1 +0,0 @@ -www.easyrules.org diff --git a/site/_config.yml b/site/_config.yml deleted file mode 100644 index ca9c4a6..0000000 --- a/site/_config.yml +++ /dev/null @@ -1,20 +0,0 @@ -version: 2.2.0 -highlighter: pygments -url: http://www.easyrules.org -google_analytics_id: UA-46301888-1 -exclude: ["CNAME", "README"] - -author : - name : Mahmoud Ben Hassine - email : mahmoud.benhassine@icloud.com - github : benas - twitter : _benas_ - web : http://benas.github.io - -project: - name: Easy Rules - github: easy-rules - -markdown: redcarpet -redcarpet: - extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "strikethrough", "superscript", "with_toc_data"] diff --git a/site/_includes/analytics.html b/site/_includes/analytics.html deleted file mode 100644 index 6cc8d09..0000000 --- a/site/_includes/analytics.html +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/site/_includes/bottom.html b/site/_includes/bottom.html deleted file mode 100644 index 62d09b8..0000000 --- a/site/_includes/bottom.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/site/_includes/docs_contents.html b/site/_includes/docs_contents.html deleted file mode 100644 index 864ddb7..0000000 --- a/site/_includes/docs_contents.html +++ /dev/null @@ -1,74 +0,0 @@ -
- -
diff --git a/site/_includes/footer.html b/site/_includes/footer.html deleted file mode 100644 index 353a18c..0000000 --- a/site/_includes/footer.html +++ /dev/null @@ -1,14 +0,0 @@ - \ No newline at end of file diff --git a/site/_includes/header.html b/site/_includes/header.html deleted file mode 100644 index b844d49..0000000 --- a/site/_includes/header.html +++ /dev/null @@ -1,14 +0,0 @@ -
-
- - -
-
diff --git a/site/_includes/primary-nav-items.html b/site/_includes/primary-nav-items.html deleted file mode 100644 index 5753b1b..0000000 --- a/site/_includes/primary-nav-items.html +++ /dev/null @@ -1,15 +0,0 @@ - diff --git a/site/_includes/section_nav.html b/site/_includes/section_nav.html deleted file mode 100644 index fbcc456..0000000 --- a/site/_includes/section_nav.html +++ /dev/null @@ -1,22 +0,0 @@ -
-
- {% if page.prev_section != null %} - - {% else %} - Back - {% endif %} -
-
- {% if page.next_section != null %} - - {% else %} - Next - {% endif %} -
-
-
- diff --git a/site/_includes/top.html b/site/_includes/top.html deleted file mode 100644 index 1ab03bd..0000000 --- a/site/_includes/top.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - {{ page.title }} - - - - - - - - - - - - - - diff --git a/site/_layouts/default.html b/site/_layouts/default.html deleted file mode 100644 index 06203d8..0000000 --- a/site/_layouts/default.html +++ /dev/null @@ -1,16 +0,0 @@ -{% include top.html %} - - - - {% include header.html %} - - {{ content }} - - {% include footer.html %} - - {% include analytics.html %} - - - -{% include bottom.html %} - diff --git a/site/_layouts/docs.html b/site/_layouts/docs.html deleted file mode 100644 index a54585a..0000000 --- a/site/_layouts/docs.html +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: default ---- - -
-
- -
-
-

{{ page.header }}

- {{ content }} - {% include section_nav.html %} -
-
- - {% include docs_contents.html %} - -
- -
-
diff --git a/site/_layouts/news.html b/site/_layouts/news.html deleted file mode 100755 index 0a41f57..0000000 --- a/site/_layouts/news.html +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: default ---- - -
-
- -
- {{ content }} - {% include section_nav.html %} -
- - {% include docs_contents.html %} -
- -
-
diff --git a/site/about/getting-started.md b/site/about/getting-started.md deleted file mode 100644 index 52299d1..0000000 --- a/site/about/getting-started.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -layout: docs -title: Getting started -header: Getting started -prev_section: about/overview -next_section: user-guide/introduction -doc: true ---- - -Easy Rules is a Java library. It requires a Java 1.7+ runtime. - -## Building from source - -To build Easy Rules from sources, you need to have [git](http://www.git-scm.com) and [maven](http://maven.apache.org/) installed and set up. - -Please follow these instructions : - -{% highlight bash %} -$ git clone https://github.com/benas/easy-rules.git -$ cd easy-rules -$ mvn package -{% endhighlight %} - -Easy Rules core jar **_easyrules-core-{{site.version}}.jar_** will be generated in the **_target_** folder. - -## Use with maven - -Easy Rules is a single jar file with no dependencies. You have to add the jar **_easyrules-core-{{site.version}}.jar_** to your application's classpath. - -If you use maven, add the following dependency to your **_pom.xml_** : - -```xml - - org.easyrules - easyrules-core - {{site.version}} - -``` - -## Quick start archetype - -The quick start archetype generates a skeleton project with the right dependency to Easy Rules. -In order to generate a quick start project, just run the following command: - -``` -$>mvn archetype:generate \ - -DarchetypeGroupId=org.easyrules \ - -DarchetypeArtifactId=easyrules-archetype \ - -DarchetypeVersion={{ site.version }} -``` - -You will be asked for your project's groupId, artifactId, version and base package. Once finished, you will get a fully -functional sample application that you can run with the following command: - -``` -$>mvn compile exec:java -Dexec.mainClass=${your.base.package}.Launcher -``` - -where `${your.base.package}` is the value of the base package you were asked for when creating the project. diff --git a/site/about/overview.md b/site/about/overview.md deleted file mode 100644 index d7c07d2..0000000 --- a/site/about/overview.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: docs -title: Overview -header: What is Easy rules? -next_section: about/getting-started -doc: true ---- - -Easy Rules is a simple yet powerful Java rules engine providing the following features: - -* Lightweight framework and easy to learn API -* POJO based development -* Useful abstractions to define business rules and apply them easily -* The ability to create composite rules from primitive ones -* Dynamic rule configuration at runtime using JMX - -In a very interesting article about rules engines, Martin Fowler says: - ->You can build a simple rules engine yourself. All you need is to create a bunch of objects with conditions and actions, store them in a collection, and run through them to evaluate the conditions and execute the actions. - -This is exactly what Easy Rules does, with more features like rule composition and dynamic configuration. diff --git a/site/css/gridism.css b/site/css/gridism.css deleted file mode 100644 index 7231987..0000000 --- a/site/css/gridism.css +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Gridism - * A simple, responsive, and handy CSS grid by @cobyism - * https://github.com/cobyism/gridism - */ - -/* Preserve some sanity */ -.grid, -.unit { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -/* Set up some rules to govern the grid */ -.grid { - display: block; - clear: both; -} -.grid .unit { - float: left; - width: 100%; - padding: 10px; -} - -/* This ensures the outer gutters are equal to the (doubled) inner gutters. */ -.grid .unit:first-child { padding-left: 10px; } -.grid .unit:last-child { padding-right: 10px; } - -/* Nested grids already have padding though, so let’s nuke it */ -.unit .unit:first-child { padding-left: 0; } -.unit .unit:last-child { padding-right: 0; } -.unit .grid:first-child > .unit { padding-top: 0; } -.unit .grid:last-child > .unit { padding-bottom: 0; } - -/* Let people nuke the gutters/padding completely in a couple of ways */ -.no-gutters .unit, -.unit.no-gutters { - padding: 0 !important; -} - -/* Wrapping at a maximum width is optional */ -.wrap .grid, -.grid.wrap { - max-width: 978px; - margin: 0 auto; -} - -/* Width classes also have shorthand versions numbered as fractions - * For example: for a grid unit 1/3 (one third) of the parent width, - * simply apply class="w-1-3" to the element. */ -.grid .whole, .grid .w-1-1 { width: 100%; } -.grid .half, .grid .w-1-2 { width: 50%; } -.grid .one-third, .grid .w-1-3 { width: 33.3332%; } -.grid .two-thirds, .grid .w-2-3 { width: 66.6665%; } -.grid .one-quarter, .grid .w-1-4 { width: 25%; } -.grid .three-quarters, .grid .w-3-4 { width: 75%; } -.grid .one-fifth, .grid .w-1-5 { width: 20%; } -.grid .two-fifths, .grid .w-2-5 { width: 40%; } -.grid .three-fifths, .grid .w-3-5 { width: 60%; } -.grid .four-fifths, .grid .w-4-5 { width: 80%; } -.grid .golden-small, .grid .w-g-s { width: 38.2716%; } /* Golden section: smaller piece */ -.grid .golden-large, .grid .w-g-l { width: 61.7283%; } /* Golden section: larger piece */ - -/* Utility classes */ -.align-center { text-align: center; } -.align-left { text-align: left; } -.align-right { text-align: right; } -.pull-left { float: left; } -.pull-right { float: right; } - -.show-on-mobiles { - display: none; -} - -/* Responsive Stuff */ -@media screen and (max-width: 568px) { - /* Stack anything that isn’t full-width on smaller screens */ - .grid .unit { - width: 100% !important; - padding-left: 20px; - padding-right: 20px; - } - .unit .grid .unit { - padding-left: 0px; - padding-right: 0px; - } - - /* Sometimes, you just want to be different on small screens */ - .center-on-mobiles { - text-align: center !important; - } - .hide-on-mobiles { - display: none !important; - } - .show-on-mobiles { - display: block !important; - } - a .show-on-mobiles { - display: inline !important; - } -} - -/* Expand the wrap a bit further on larger screens */ -/*@media screen and (min-width: 1180px) { - .wrap .grid { - max-width: 1180px; - margin: 0 auto; - } -}*/ diff --git a/site/css/normalize.css b/site/css/normalize.css deleted file mode 100755 index e1adf43..0000000 --- a/site/css/normalize.css +++ /dev/null @@ -1,504 +0,0 @@ -/*! normalize.css 2012-03-11T12:53 UTC - http://github.com/necolas/normalize.css */ - -/* ============================================================================= - HTML5 display definitions - ========================================================================== */ - -/* - * Corrects block display not defined in IE6/7/8/9 & FF3 - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section, -summary { - display: block; -} - -/* - * Corrects inline-block display not defined in IE6/7/8/9 & FF3 - */ - -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -/* - * Prevents modern browsers from displaying 'audio' without controls - * Remove excess height in iOS5 devices - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/* - * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4 - * Known issue: no IE6 support - */ - -[hidden] { - display: none; -} - - -/* ============================================================================= - Base - ========================================================================== */ - -/* - * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units - * http://clagnut.com/blog/348/#c790 - * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom - * www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ - */ - -html { - font-size: 100%; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ - -ms-text-size-adjust: 100%; /* 2 */ -} - -/* - * Addresses font-family inconsistency between 'textarea' and other form elements. - */ - -html, -button, -input, -select, -textarea { - font-family: sans-serif; -} - -/* - * Addresses margins handled incorrectly in IE6/7 - */ - -body { - margin: 0; -} - - -/* ============================================================================= - Links - ========================================================================== */ - -/* - * Addresses outline displayed oddly in Chrome - */ - -a:focus { - outline: thin dotted; -} - -/* - * Improves readability when focused and also mouse hovered in all browsers - * people.opera.com/patrickl/experiments/keyboard/test - */ - -a:hover, -a:active { - outline: 0; -} - - -/* ============================================================================= - Typography - ========================================================================== */ - -/* - * Addresses font sizes and margins set differently in IE6/7 - * Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5 - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -h2 { - font-size: 1.5em; - margin: 0.83em 0; -} - -h3 { - font-size: 1.17em; - margin: 1em 0; -} - -h4 { - font-size: 1em; - margin: 1.33em 0; -} - -h5 { - font-size: 0.83em; - margin: 1.67em 0; -} - -h6 { - font-size: 0.75em; - margin: 2.33em 0; -} - -/* - * Addresses styling not present in IE7/8/9, S5, Chrome - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/* - * Addresses style set to 'bolder' in FF3+, S4/5, Chrome -*/ - -b, -strong { - font-weight: bold; -} - -blockquote { - margin: 1em 40px; -} - -/* - * Addresses styling not present in S5, Chrome - */ - -dfn { - font-style: italic; -} - -/* - * Addresses styling not present in IE6/7/8/9 - */ - -mark { - background: #ff0; - color: #000; -} - -/* - * Addresses margins set differently in IE6/7 - */ - -p, -pre { - margin: 1em 0; -} - -/* - * Corrects font family set oddly in IE6, S4/5, Chrome - * en.wikipedia.org/wiki/User:Davidgothberg/Test59 - */ - -pre, -code, -kbd, -samp { - font-family: monospace, serif; - _font-family: 'courier new', monospace; - font-size: 1em; -} - -/* - * Improves readability of pre-formatted text in all browsers - */ - -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; -} - -/* - * 1. Addresses CSS quotes not supported in IE6/7 - * 2. Addresses quote property not supported in S4 - */ - -/* 1 */ - -q { - quotes: none; -} - -/* 2 */ - -q:before, -q:after { - content: ''; - content: none; -} - -small { - font-size: 75%; -} - -/* - * Prevents sub and sup affecting line-height in all browsers - * gist.github.com/413930 - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - - -/* ============================================================================= - Lists - ========================================================================== */ - -/* - * Addresses margins set differently in IE6/7 - */ - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -/* - * Addresses paddings set differently in IE6/7 - */ - -menu, -ol, -ul { - padding: 0 0 0 40px; -} - -/* - * Corrects list images handled incorrectly in IE7 - */ - -nav ul, -nav ol { - list-style: none; - list-style-image: none; -} - - -/* ============================================================================= - Embedded content - ========================================================================== */ - -/* - * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3 - * 2. Improves image quality when scaled in IE7 - * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ - */ - -img { - border: 0; /* 1 */ - -ms-interpolation-mode: bicubic; /* 2 */ -} - -/* - * Corrects overflow displayed oddly in IE9 - */ - -svg:not(:root) { - overflow: hidden; -} - - -/* ============================================================================= - Figures - ========================================================================== */ - -/* - * Addresses margin not present in IE6/7/8/9, S5, O11 - */ - -figure { - margin: 0; -} - - -/* ============================================================================= - Forms - ========================================================================== */ - -/* - * Corrects margin displayed oddly in IE6/7 - */ - -form { - margin: 0; -} - -/* - * Define consistent border, margin, and padding - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/* - * 1. Corrects color not being inherited in IE6/7/8/9 - * 2. Corrects text not wrapping in FF3 - * 3. Corrects alignment displayed oddly in IE6/7 - */ - -legend { - border: 0; /* 1 */ - padding: 0; - white-space: normal; /* 2 */ - *margin-left: -7px; /* 3 */ -} - -/* - * 1. Corrects font size not being inherited in all browsers - * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome - * 3. Improves appearance and consistency in all browsers - */ - -button, -input, -select, -textarea { - font-size: 100%; /* 1 */ - margin: 0; /* 2 */ - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ -} - -/* - * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet - */ - -button, -input { - line-height: normal; /* 1 */ -} - -/* - * 1. Improves usability and consistency of cursor style between image-type 'input' and others - * 2. Corrects inability to style clickable 'input' types in iOS - * 3. Removes inner spacing in IE7 without affecting normal text inputs - * Known issue: inner spacing remains in IE6 - */ - -button, -input[type="button"], -input[type="reset"], -input[type="submit"] { - cursor: pointer; /* 1 */ - -webkit-appearance: button; /* 2 */ - *overflow: visible; /* 3 */ -} - -/* - * Re-set default cursor for disabled elements - */ - -button[disabled], -input[disabled] { - cursor: default; -} - -/* - * 1. Addresses box sizing set to content-box in IE8/9 - * 2. Removes excess padding in IE8/9 - * 3. Removes excess padding in IE7 - Known issue: excess padding remains in IE6 - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ -} - -/* - * 1. Addresses appearance set to searchfield in S5, Chrome - * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof) - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/* - * Removes inner padding and search cancel button in S5, Chrome on OS X - */ - -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} - -/* - * Removes inner padding and border in FF3+ - * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/* - * 1. Removes default vertical scrollbar in IE6/7/8/9 - * 2. Improves readability and alignment in all browsers - */ - -textarea { - overflow: auto; /* 1 */ - vertical-align: top; /* 2 */ -} - - -/* ============================================================================= - Tables - ========================================================================== */ - -/* - * Remove most spacing between table cells - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} \ No newline at end of file diff --git a/site/css/pygments.css b/site/css/pygments.css deleted file mode 100644 index a6dcbc5..0000000 --- a/site/css/pygments.css +++ /dev/null @@ -1,70 +0,0 @@ -.highlight .hll { background-color: #222222 } -/* .highlight { background: #000000; color: #cccccc } */ -.highlight .c { color: #777777; font-style: italic } /* Comment */ -.highlight .err { color: #cccccc; border: 1px solid #FF0000 } /* Error */ -.highlight .g { color: #cccccc } /* Generic */ -.highlight .k { color: #cdcd00 } /* Keyword */ -.highlight .l { color: #cccccc } /* Literal */ -.highlight .n { color: #cccccc } /* Name */ -.highlight .o { color: #3399cc } /* Operator */ -.highlight .x { color: #cccccc } /* Other */ -.highlight .p { color: #cccccc } /* Punctuation */ -.highlight .cm { color: #777777; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #777777; font-style: italic } /* Comment.Preproc */ -.highlight .c1 { color: #777777; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #cd5c5c; font-weight: bold } /* Comment.Special */ -.highlight .gd { color: #cd5c5c } /* Generic.Deleted */ -.highlight .ge { color: #cccccc; font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00cd00 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { color: #cccccc; font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #cdcd00 } /* Keyword.Constant */ -.highlight .kd { color: #00cd00 } /* Keyword.Declaration */ -.highlight .kn { color: #cd00cd } /* Keyword.Namespace */ -.highlight .kp { color: #cdcd00 } /* Keyword.Pseudo */ -.highlight .kr { color: #cdcd00 } /* Keyword.Reserved */ -.highlight .kt { color: #00cd00 } /* Keyword.Type */ -.highlight .ld { color: #cccccc } /* Literal.Date */ -.highlight .m { color: #cd00cd } /* Literal.Number */ -.highlight .s { color: #cd5c5c } /* Literal.String */ -.highlight .na { color: #008080 } /* Name.Attribute */ -.highlight .nb { color: #cd00cd } /* Name.Builtin */ -.highlight .nc { color: #00cdcd } /* Name.Class */ -.highlight .no { color: #cccccc } /* Name.Constant */ -.highlight .nd { color: #cccc00 } /* Name.Decorator */ -.highlight .ni { color: #cccccc } /* Name.Entity */ -.highlight .ne { color: #666699; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #f0e68c } /* Name.Function */ -.highlight .nl { color: #cccccc } /* Name.Label */ -.highlight .nn { color: #cccccc } /* Name.Namespace */ -.highlight .nx { color: #cccccc } /* Name.Other */ -.highlight .py { color: #cccccc } /* Name.Property */ -.highlight .nt { color: #00cccc } /* Name.Tag */ -.highlight .nv { color: #00cdcd } /* Name.Variable */ -.highlight .ow { color: #cdcd00 } /* Operator.Word */ -.highlight .w { color: #cccccc } /* Text.Whitespace */ -.highlight .mf { color: #cd00cd } /* Literal.Number.Float */ -.highlight .mh { color: #cd00cd } /* Literal.Number.Hex */ -.highlight .mi { color: #cd00cd } /* Literal.Number.Integer */ -.highlight .mo { color: #cd00cd } /* Literal.Number.Oct */ -.highlight .sb { color: #cd5c5c } /* Literal.String.Backtick */ -.highlight .sc { color: #cd5c5c } /* Literal.String.Char */ -.highlight .sd { color: #cd5c5c } /* Literal.String.Doc */ -.highlight .s2 { color: #cd5c5c } /* Literal.String.Double */ -.highlight .se { color: #cd5c5c } /* Literal.String.Escape */ -.highlight .sh { color: #cd5c5c } /* Literal.String.Heredoc */ -.highlight .si { color: #cd5c5c } /* Literal.String.Interpol */ -.highlight .sx { color: #cd5c5c } /* Literal.String.Other */ -.highlight .sr { color: #cd5c5c } /* Literal.String.Regex */ -.highlight .s1 { color: #cd5c5c } /* Literal.String.Single */ -.highlight .ss { color: #cd5c5c } /* Literal.String.Symbol */ -.highlight .bp { color: #cd00cd } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #00cdcd } /* Name.Variable.Class */ -.highlight .vg { color: #00cdcd } /* Name.Variable.Global */ -.highlight .vi { color: #00cdcd } /* Name.Variable.Instance */ -.highlight .il { color: #cd00cd } /* Literal.Number.Integer.Long */ diff --git a/site/css/style.css b/site/css/style.css deleted file mode 100644 index 41424b5..0000000 --- a/site/css/style.css +++ /dev/null @@ -1,1017 +0,0 @@ -/* Base */ - -* { - box-sizing: border-box; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; -} - -body { - font-family: Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 21px; - font-weight: 300; - color: #ddd; - background: #333; - border-top: 5px solid #fc0; - box-shadow: inset 0 3px 30px rgba(0,0,0,.3); - text-shadow: 0 1px 3px rgba(0,0,0,.5); -} - -.clear { - display: block; -} - -.clear:after { - content: " "; - display: block; - height: 0; - clear: both; - visibility: hidden; -} - -/* Sections */ - -body > header, body > section, body > footer { - float: left; - width: 100%; - clear: both; -} - -/* Header */ - -body > header h1, body > header nav { - display: inline-block; -} - -body > header h1 { - margin-top: 20px; -} - -body > header small { - margin-bottom: 20px; - display: block; - font-size: 1em; - font-style: italic; - font-weight: bold; - white-space: nowrap; -} - -body > header h1 span { - font-size: 1.3em; -} - -body > header .shadow { - text-shadow: 0px 3.2px 0px rgba(0,0,0,.5); -} - -nav ul { - padding: 0; - margin: 0; -} - -nav li { - display: inline-block; -} - -.main-nav { - margin-top: 52px; -} - -.main-nav li { - margin-right: 10px; -} - -.main-nav li a { - border-radius: 5px; - font-weight: 800; - font-size: 14px; - padding: 0.5em 1em; - text-shadow: none; - text-transform: uppercase; - transition: all .25s; - -moz-transition: all .25s; - -webkit-transition: all .25s; -} - -.main-nav li a:hover { - background: #252525; - box-shadow: inset 0 1px 3px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.1); - text-shadow: 0 1px 3px rgba(0,0,0,.5); -} - -.main-nav li.current a { - background: #fc0; - color: #222; - box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px rgba(0,0,0,.5); - text-shadow: 0 1px 0 rgba(255,255,255,.3); -} - -.mobile-nav ul { - overflow: hidden; - width: 100%; - display: table; -} - -.mobile-nav a { - float: left; - width: 100%; - background: #333; - color: #fc0; - text-align: center; - text-transform: uppercase; - font-size: 14px; - font-weight: 800; - padding: 5px; - border-radius: 5px; -} - -.mobile-nav .current a { - background: #fc0; - color: #222; - box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px rgba(0,0,0,.5); - text-shadow: 0 1px 0 rgba(255,255,255,.3); -} - -.mobile-nav li { - display: table-cell; - width: 25%; - padding: 8px; -} - -@media (max-width: 768px){ - .main-nav ul { - text-align: right; - } -} -@media (max-width: 830px){ - .main-nav .show-on-mobiles { - display: inline; - } - .main-nav .hide-on-mobiles { - display: none; - } -} - -/* Footer */ - -body > footer { - background: #222; - font-size: 16px; - padding-bottom: 5px; - color: #888; - margin-top: 40px; -} - -body > footer a { - color: #fff; -} - -body > footer .align-right p, body > footer img { - display: inline-block; -} - -body > footer img { - position: relative; - top: 8px; - margin-left: 5px; - width: 100px; - height: 30px; - opacity: .8; - padding: 1px; - -webkit-transition: opacity .2s; - -moz-transition: opacity .2s; - transition: opacity .2s; -} - -body > footer a:hover img { - opacity: 1; -} - -@media (max-width: 568px){ - footer .one-third p { - margin-bottom: 0; - } - footer .two-thirds p { - margin-top: -20px; - } -} - -/* Intro */ - -.intro .unit { - padding: 10px 0 40px; - font-style: italic; -} - -.intro p { - font-size: 1.75em; - line-height: 1em; - margin: 0; -} - -@media (min-width: 569px){ - .intro p { - font-size: 3.2em; - } -} - -/* Quickstart */ - -.quickstart { - background: #3F1F1F; - color: #fff; - margin: 60px 0; - box-shadow: inset 0 3px 10px rgba(0,0,0,.4); -} - -.quickstart .content { - padding: 0px 0; -} - -.quickstart h4 { - font-size: 24px; - line-height: 24px; - margin-top: 20px; - text-shadow: 0 1px 3px rgba(0,0,0,.8); -} - -.quickstart .code { - font-size: 12px; - display: block; - margin: 0 0 -30px; -} - -@media (min-width: 768px){ - .quickstart .code { - font-size: 18px; - margin: -30px 0; - float: right; - } - .quickstart h4 { - margin: 50px 0 0; - text-align: center; - } -} - -/* Code */ - -.quickstart .code { - display: block; - padding: 0; - font-family: Menlo, Consolas, "Courier New", Courier, "Liberation Mono", monospace; - line-height: 1.3em; -} - -.quickstart .code .title { - display: block; - text-align: center; - margin: 0 20px; - padding: 5px 0; - border-radius: 5px 5px 0 0; - box-shadow: 0 3px 10px rgba(0,0,0,.5); - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 16px; - font-weight: normal; - color: #444; - text-shadow: 0 1px 0 rgba(255,255,255,.5); - background: #f7f7f7; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y3ZjdmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjclIiBzdG9wLWNvbG9yPSIjY2ZjZmNmIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=); - background: -moz-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f7f7f7), color-stop(7%,#cfcfcf), color-stop(100%,#aaaaaa)); - background: -webkit-linear-gradient(top, #f7f7f7 0%,#cfcfcf 7%,#aaaaaa 100%); - background: -o-linear-gradient(top, #f7f7f7 0%,#cfcfcf 7%,#aaaaaa 100%); - background: -ms-linear-gradient(top, #f7f7f7 0%,#cfcfcf 7%,#aaaaaa 100%); - background: linear-gradient(top, #f7f7f7 0%,#cfcfcf 7%,#aaaaaa 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#aaaaaa',GradientType=0 ); - border-bottom: 1px solid #111; -} - -.quickstart .code .shell { - padding: 0px; - text-shadow: none; - margin: 0 20px; - background: #3d3d3d; - border-radius: 0 0 5px 5px; - box-shadow: 0 5px 30px rgba(0,0,0,.3); -} - -.quickstart .code .line { - display: block; - margin: 0; - padding: 0; -} - -.quickstart .code .line span { - display: inline-block; -} - -.quickstart .code .path { - color: #87ceeb; -} - -.quickstart .code .prompt { - color: #cd5c5c; -} - -.quickstart .code .command { - color: #f0e68c; -} - -.quickstart .code .output { - color: #888; -} - -/* Free Hosting */ - -.free-hosting .pane { - background: #444; - border-radius: 10px; - text-shadow: none; - position: relative; - padding: 0 20px 30px; -} - -.free-hosting img { - margin: -30px 0 0; - width: 180px; - height: 150px; -} - -.free-hosting h2 { - font-size: 28px; -} - -.free-hosting p, -.free-hosting a { - font-size: 16px; -} - -.free-hosting p { - margin: .75em 0; -} - -@media (min-width: 768px){ - .free-hosting img { - float: left; - margin: -20px -30px -30px -50px; - width: 300px; - height: 251px; - } - .free-hosting .pane-content { - margin-top: 35px; - padding-right: 30px; - } - .free-hosting p, - .free-hosting a { - font-size: 18px; - } - .free-hosting .pane:after { - content: " "; - float: right; - width: 73px; - height: 186px; - position: absolute; - right: 0; - bottom: -30px; - } -} - -/* Article - Used for both docs and news */ - - -article { - background: #444; - border-radius: 10px; - padding: 20px; - margin: 0 10px; - box-shadow: 0 3px 10px rgba(0,0,0,.1); - font-size: 16px; -} - -@media (max-width: 480px){ - article ul { - padding-left: 20px; - } -} - -@media (max-width: 568px){ - article { - margin: 0; - } -} - -@media (min-width: 768px){ - article { - padding: 40px 40px 30px; - font-size: 21px; - } -} - -/* Right-side nav - used by both docs and news */ - -aside { - padding-top: 30px; -} - -aside h4 { - text-transform: uppercase; - font-size: 14px; - font-weight: 700; - padding: 0 0 10px 30px; - margin-left: -30px; - display: inline-block; - border-bottom: 1px solid #c00; -} - -aside ul { - padding-left: 0; -} - -aside ul:first-child { - margin-top: 0; -} - -aside li { - list-style-type: none; -} - -aside li a { - font-size: 16px; - position: relative -} - -aside li.current a:before { - content: ""; - border-color: transparent transparent transparent #444; - border-style: solid; - border-width: 10px; - width: 0; - height: 0; - position: absolute; - top: 0; - left: -30px; -} - -/* Documentation */ - -.docs article { - min-height: 800px; -} - -.docs .content { - padding: 0; -} - -.section-nav { - text-align: center; - padding-top: 40px; - position: relative; - background: url(../img/article-footer.png) top center no-repeat; - margin: 40px -20px 10px; -} - -.section-nav > div { - width: 49.5%; -} - -.section-nav a, .section-nav span { - color: #fff; - font-size: 16px; - text-transform: uppercase; - font-weight: 700; - padding: 8px 12px 10px; - border-radius: 5px; - /*border: 1px solid #333;*/ - box-shadow: 0 1px 3px rgba(0,0,0,.3), inset 0 1px 1px rgba(255,255,255,.5); - background: #777; -} - -.section-nav a:hover { - color: #fff; - background: #888; -} - -.section-nav .next, .section-nav .prev { - position: relative; -} - -.section-nav .next:after, .section-nav .prev:before { - font-size: 36px; - color: #222; - font-weight: 800; - text-shadow: 0 1px 0 rgba(255,255,255,.4); - position: absolute; - top: -7px; -} - -.section-nav .next:after { - content: "›"; - right: 10px; -} - -.section-nav .prev:before { - content: "‹"; - left: 10px; -} - -.section-nav .prev, .section-nav .prev:hover { - /*float: left;*/ - padding-left: 30px; -} - -.section-nav .next, .section-nav .next:hover { - /*float: right;*/ - padding-right: 30px; -} - -.section-nav .disabled { - opacity: .5; - /*filter: alpha*/ - cursor: default; -} - -.docs-nav-mobile select { - width: 100%; -} - -/* News */ - -article h2:first-child { - margin-top: 0; -} - -.post-category, -.post-meta { - display: inline-block; - vertical-align: middle; - font-size: .8em; -} - -.post-category { - display: inline-block; - margin-left: -30px; - padding: 6px 10px 8px; - padding-left: 50px; - border-radius: 0 5px 5px 0; - position: relative; - box-shadow: 0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3); - background: #9e2812; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#9e2812), color-stop(100%,#6f0d0d)); - background: -webkit-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: -o-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: -ms-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: linear-gradient(to bottom, #9e2812 0%,#6f0d0d 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e2812', endColorstr='#6f0d0d',GradientType=0 ); -} - -.label { - float: left; - text-transform: uppercase; - font-weight: bold; - text-shadow: 0 -1px 0 rgba(0,0,0,.5); -} - -@media (max-width: 568px){ - .post-category { - padding-left: 30px; - } -} - -@media (min-width: 768px){ - .post-category { - margin-left: -50px; - } -} - -.post-category:before { - content: ""; - position: absolute; - top: -10px; - left: 0px; - border-color: transparent #6f0d0d #6f0d0d transparent; - border-style: solid; - border-width: 5px; - width: 0; - height: 0; -} - -.avatar { - width: 24px; - height: 24px; - border-radius: 3px; - display: inline-block; - vertical-align: middle; -} - -.post-meta { - padding: 5px 0; - color: #aaa; - font-weight: 600; - text-shadow: 0 -1px 0 #000; -} - -.post-date, -.post-author { - margin-left: 10px; -} - -.news article + article { - margin-top: -10px; - border-radius: 0 0 10px 10px; - border-top: 1px solid #555; - box-shadow: 0 -1px 0 #2f2f2f; -} - -/* Code Highlighting */ - - -pre, code { - white-space: pre; - display: inline-block; - margin: 0; - padding: 0; - font-family: Menlo, Consolas, "Courier New", Courier, "Liberation Mono", monospace; - font-size: 14px; - padding: 0 .5em; - line-height: 1.8em; -} - -@media (min-width: 768px){ - pre, code { - font-size: 16px; - } -} - -.highlight, p > pre, p > code, p > nobr > code, li > code, h5 > code, .note > code { - background: #333; - color: #fff; - border-radius: 5px; - box-shadow: inset 0 1px 10px rgba(0,0,0,.3), - 0 1px 0 rgba(255,255,255,.1), - 0 -1px 0 rgba(0,0,0,.5); -} - -.note code { - background-color: rgba(0,0,0,0.2); - margin-left: 2.5px; - margin-right: 2.5px; - font-size: 0.8em; -} - -.highlight { - padding: 10px 0; - width: 100%; - overflow: auto; -} - -/* HTML Elements */ - -h1, h2, h3, h4, h5, h6 { - margin: 0; -} - -a { - color: #fc0; - text-decoration: none; - transition: all .25s; - -moz-transition: all .25s; - -webkit-transition: all .25s; -} - -a:hover { - color: #f90; -} - -strong { - font-weight: 700; -} - -p { - line-height: 1.5em; -} - -.left { float: left; } -.right { float: right; } -.align-right { text-align: right; } -.align-left { text-align: left; } -.align-center { text-align: center; } - -/* Article HTML */ - -article h2, -article h3, -article h4, -article h5, -article h6 { - margin: 1em 0; -} - -article h4 { - color: #fff; -} - -h5, h6 { - font-size: 1em; - font-style: italic; -} - -article ul li p { - margin: 0; -} - -article ul li, article ol li { - line-height: 1.5em; - margin-bottom: 0.5em; -} - -article ul li blockquote { - margin: 10px 0; -} - -blockquote { - border-left: 2px solid #777; - padding-left: 20px; - font-style: italic; - font-size: 18px; - font-weight: 500; -} - - -/* Tables */ - -table { - width: 100%; - background: #555; - margin: .5em 0; - border-radius: 5px; - box-shadow: 0 1px 3px rgba(0,0,0,.3); -} - -thead { - border-top-left-radius: 5px; - border-top-right-radius: 5px; - color: #fff; - background: #3a3a3a; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNhM2EzYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxZTFlMWUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3a3a3a), color-stop(100%,#1e1e1e)); - background: -webkit-linear-gradient(top, #3a3a3a 0%,#1e1e1e 100%); - background: -o-linear-gradient(top, #3a3a3a 0%,#1e1e1e 100%); - background: -ms-linear-gradient(top, #3a3a3a 0%,#1e1e1e 100%); - background: linear-gradient(to bottom, #3a3a3a 0%,#1e1e1e 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a3a3a', endColorstr='#1e1e1e',GradientType=0 ); -} - -thead th { - position: relative; - box-shadow: inset 0 1px 0 rgba(255,255,255,.1); -} - -thead th:first-child { - border-top-left-radius: 5px; -} - -thead th:last-child { - border-top-right-radius: 5px; -} - -td { - padding: .5em .75em; -} - -td p { - margin: 0; -} - -th { - text-transform: uppercase; - font-size: 16px; - padding: .5em .75em; - text-shadow: 0 -1px 0 rgba(0,0,0,.9); - color: #888; -} - -tbody td { - border-top: 1px solid rgba(0,0,0,.1); - box-shadow: inset 0 1px 0 rgba(255,255,255,.1); - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=); - background: -moz-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.1)), color-stop(100%,rgba(255,255,255,0))); - background: -webkit-linear-gradient(top, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%); - background: -o-linear-gradient(top, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%); - background: -ms-linear-gradient(top, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%); - background: linear-gradient(to bottom, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1affffff', endColorstr='#00ffffff',GradientType=0 ); -} - -td p { - font-size: 16px; -} - -td p code { - font-size: 14px; -} - -code.option, th .option, code.filter, th .filter { - color: #50B600; -} - -code.flag, th .flag, code.output, th .output { - color: #049DCE; -} - -code.option, code.flag, code.filter, code.output { - margin-bottom: 2px; -} - -/* Note types */ - -.note { - margin: 30px 0; - margin-left: -30px; - padding: 20px 20px 24px; - padding-left: 50px; - border-radius: 0 5px 5px 0; - position: relative; - box-shadow: 0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3); - background: #7e6d42; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdlNmQ0MiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM1YzRlMzUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, #7e6d42 0%, #5c4e35 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7e6d42), color-stop(100%,#5c4e35)); - background: -webkit-linear-gradient(top, #7e6d42 0%,#5c4e35 100%); - background: -o-linear-gradient(top, #7e6d42 0%,#5c4e35 100%); - background: -ms-linear-gradient(top, #7e6d42 0%,#5c4e35 100%); - background: linear-gradient(to bottom, #7e6d42 0%,#5c4e35 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7e6d42', endColorstr='#5c4e35',GradientType=0 ); -} - -@media (max-width: 568px){ - .note { - margin-right: -30px; - } -} - -@media (min-width: 768px){ - .note { - margin-left: -50px; - } -} - -.note:before { - content: ""; - position: absolute; - top: -10px; - left: 0px; - border-color: transparent #222 #222 transparent; - border-style: solid; - border-width: 5px; - width: 0; - height: 0; -} - -.note h5, .note p { - margin: 0; - color: #fff; -} - -.note h5 { - line-height: 1.5em; - font-weight: 800; - font-style: normal; -} - -.note p { - font-weight: 400; - font-size: .75em; -} - -.info { - background: #0389aa; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAzODlhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDYxN2YiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, #0389aa 0%, #00617f 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#0389aa), color-stop(100%,#00617f)); - background: -webkit-linear-gradient(top, #0389aa 0%,#00617f 100%); - background: -o-linear-gradient(top, #0389aa 0%,#00617f 100%); - background: -ms-linear-gradient(top, #0389aa 0%,#00617f 100%); - background: linear-gradient(to bottom, #0389aa 0%,#00617f 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0389aa', endColorstr='#00617f',GradientType=0 ); -} - -.warning { - background: #9e2812; - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#9e2812), color-stop(100%,#6f0d0d)); - background: -webkit-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: -o-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: -ms-linear-gradient(top, #9e2812 0%,#6f0d0d 100%); - background: linear-gradient(to bottom, #9e2812 0%,#6f0d0d 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e2812', endColorstr='#6f0d0d',GradientType=0 ); -} - -.unreleased { - background: rgb(205,146,57); /* Old browsers */ - /* IE9 SVG, needs conditional override of 'filter' to 'none' */ - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(top, rgba(205,146,57,1) 0%, rgba(162,117,40,1) 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(205,146,57,1)), color-stop(100%,rgba(162,117,40,1))); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, rgba(205,146,57,1) 0%,rgba(162,117,40,1) 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, rgba(205,146,57,1) 0%,rgba(162,117,40,1) 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, rgba(205,146,57,1) 0%,rgba(162,117,40,1) 100%); /* IE10+ */ - background: linear-gradient(to bottom, rgba(205,146,57,1) 0%,rgba(162,117,40,1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cd9239', endColorstr='#a27528',GradientType=0 ); /* IE6-8 */ -} - - -.info:before { - border-color: transparent #00617f #00617f transparent; -} - -.warning:before { - border-color: transparent #6f0d0d #6f0d0d transparent; -} - -.unreleased:before { - border-color: transparent #664719 #664719 transparent; -} - -.note:after { - content: "★"; - color: #fc0; - position: absolute; - top: 14px; - left: 14px; - font-size: 28px; - font-weight: bold; - text-shadow: 0 -1px 0 rgba(0,0,0,.5); -} - -.info:after { - content: "ⓘ"; - color: #fff; - position: absolute; - top: 15px; - left: 15px; - font-size: 28px; - font-weight: bold; - text-shadow: 0 -1px 0 rgba(0,0,0,.5); -} - -.warning:after { - content: "‼"; - color: #fc0; - position: absolute; - top: 15px; - left: 15px; - font-size: 32px; - font-weight: bold; - text-shadow: 0 -1px 0 rgba(0,0,0,.5); -} - -.unreleased:after { - content: "⚒"; - color: #2b2a12; - position: absolute; - top: 8px; - left: 15px; - font-size: 38px; - font-weight: 700; - text-shadow: 0 1px 0 rgba(255,255,255,.25); -} - -/* Responsive tables */ - -@media (max-width: 768px){ - .mobile-side-scroller { - overflow-x: scroll; - margin: 0 -40px; - padding: 0 10px; - } -} - -/* GitHub ribbon display rules */ - -@media (max-width: 800px){ - .ribbon { - display: none; - } -} - -@media (min-width: 800px){ - .ribbon { - display: inline; - } -} - -/* miscellaneous */ - -.logo { - height: 80% !important; - width: 90% !important; - margin-top: 20px !important; - margin-left: auto !important; - margin-right: auto !important; - text-align: center !important; -} diff --git a/site/favicon.ico b/site/favicon.ico deleted file mode 100644 index e4569726aee105c5ffd2579fe376859764789c25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73070 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[1. Why is Easy Rules called the "The stupid Java rules engine"?](#1) - -The goal behind Easy Rules is to provide a lightweight rules engine without features that 80% of application -do not need. The term "stupid" is actually the perfect term to describe how the engine works: It iterates -over a set of ordered rules and execute rules when their conditions are met. This what makes it easy to learn use and -use following the KISS principle. - -## [2. I would like to return a value upon a rule execution, how to do that?](#2) - -By design, rules do not return values. But you can always make your rules return a result after execution. Here is an example: - -```java -@Rule(name = "my rule") -public static class MyRule { - - private boolean executed; - - private T result; - - //@Condition - public boolean when() { - return true; - } - - //@Action - public void then() throws MyException { - try { - System.out.println("my rule has been executed"); - result = null; // assign your result here - executed = true; - } catch (MyException e) { - // executed flag will remain false if an exception occurs - throw e; - } - } - - public boolean isExecuted() { - return executed; - } - - public T getResult() { - return result; - } - -} -``` - -This rule will return a result if it executes successfully. After firing rules, you query the `executed` flag on your -rule instance and get the execution result. - -## [3. I've registered multiple instances of the same rule with different inputs, but it seems only the first instance is registered. What's happening?](#3) - -Rules have unique names within a rules engine registry. If you register multiple instances of the same rule, only the first instance will be considered. -Other instances will be ignored since they have the same name. Let's see an example: - -```java -@Rule(name = "AgeRule", - description = "Check if person's age is > 18 - and marks the person as adult") -public class AgeRule { - - private Person person; - - private int adultAge = 18; - - public AgeRule(Person person) { - this.person = person; - } - - @Condition - public boolean isAdult() { - return person.getAge() > adultAge; - } - - @Action - public void markAsAdult(){ - person.setAdult(true); - System.out.printf( - "Person %s has been marked as adult", - person.getName()); - } - -} -``` - -The `Person` type is a simple POJO having a `name` and `age` fields. Let's register multiple instances of the `AgeRule`: - -```java -Person tom = new Person("Tom", 20); -Person david = new Person("David", 19); - -RulesEngine rulesEngine = aNewRulesEngine().build(); - -//first run -AgeRule ageRule = new AgeRule(tom); -rulesEngine.registerRule(ageRule); -rulesEngine.fireRules(); - -//second run -ageRule = new AgeRule(david); -rulesEngine.registerRule(ageRule); -rulesEngine.fireRules(); -``` - -Both Tom and David are adults, so you are expecting to see: - -``` -Person Tom has been marked as adult. -Person David has been marked as adult. -``` - -But actually you get: - -``` -Person Tom has been marked as adult. -Person Tom has been marked as adult. -``` - -The second rule instance has been ignored at registration time since it has the same name ( "AgeRule" ) as the first instance. - -So how to deal with multiple data using the same rule? - -You have 2 solutions: Either you clear rules after the first run using `rulesEngine.clearRules()`, or register your rule only once, - vary input using a setter (that you should add to your rule) and re-fire rules: - -```java -//create persons -Person tom = new Person("Tom", 20); -Person david = new Person("David", 19); - -//create a rules engine -RulesEngine rulesEngine = aNewRulesEngine().build(); -AgeRule ageRule = new AgeRule(); -rulesEngine.registerRule(ageRule); - -//first run -ageRule.setPerson(tom); -rulesEngine.fireRules(); - -//second run -ageRule.setPerson(david); -rulesEngine.fireRules(); -``` - -This is more efficient than registering new instances for each new business data input. - -## [4. Is Easy Rules usable with Android?](#4) - -Yes. Thanks to the community, Easy Rules has been made Android compatible since version 1.3 - -## [5. Can I use Easy Rules in a web application?](#5) - -Sure. Easy Rules is very lightweight and can be used both in a standalone application or embedded in an application server, -a servlet container or a dependency injection container. - -## [6. How to deal with tread safety?](#6) - -If you run Easy Rules in a multi-threaded environment, you should take into account the following considerations: - -* Easy Rules engine holds a set of rules, it is **not** thread safe. -* By design, rules in Easy Rules encapsulate the business object model they operate on, so they are **not** thread safe neither. - -Do not try to make everything synchronized or locked down! Easy Rules engine is very a lightweight object -and you can create an instance per thread, this is by far the easiest way to avoid thread safety problems. -And if, at this exact point of time reading this line, you are already thinking about performance, -don't forget that "Premature optimization is the root of all evil" - Donald Knuth. - -## [7. I have another question, how do I do?](#7) - -Feel free to ask your question in the [Gitter](https://gitter.im/benas/easy-rules) channel of the project: [![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/benas/easy-rules?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) diff --git a/site/get-involved/release-notes.html b/site/get-involved/release-notes.html deleted file mode 100644 index bc7d959..0000000 --- a/site/get-involved/release-notes.html +++ /dev/null @@ -1,169 +0,0 @@ ---- -layout: news -title: "Release notes" -prev_section: tutorials/spring-tutorial -next_section: get-involved/faq -doc: true ---- - -
-

- {{ page.title }} -

- -
- - -
-

This release adds the following features:

-
    -
  • New method getRules() in the RulesEngine API to get registered rules in a rules engine - (Issue #22).
  • -
  • New method getParameters() in the RulesEngine API to get engine parameters - encapsulated in the RulesEngineParameters class - (Issue #28).
  • -
  • New @SpringRule that turns a POJO into a Spring prototype-scoped rule bean - (Issue #29).
  • -
  • Support for meta-annotations: You can now define your own annotation which itself is annotated with @Rule - (PR #26).
  • -
  • The default rule name is now equal to the class name (Issue #24).
  • -
  • The default rule description is now equal to when[ConditionMethod]then[ActionMethods] (Issue #24).
  • -
-

This version also added many improvements, bug fixes and documentation updates.

-
-
- -
- - -
-

This release brings the following new features:

-
    -
  • New APIs to embed easy rules in a Spring container.
  • -
  • New APIs to schedule a rules engine using Quartz (PR #15).
  • -
  • New maven archetype to create a quick start project. -
-

This version also added new tutorials and many improvements and bug fixes.

-
-
- -
- - -
-

This is a major release of Easy Rules with some API breaking changes.

-

The most important change is the merge of DefaultRulesEngine and AnnotatedRulesEngine. - With version 1.x, rules that implement the Rule interface and rules that are annotated POJOs required to be used with different engines. - Version 2.0 removes this constraint and all types of rules can now be used in a consistent way through the single and unified RulesEngine interface.

-

This version also brings a lot of new features and improvements:

-
    -
  • Added a new RulesEngineBuilder as the main entry point to create rules engines
  • -
  • Added a new RuleListener to be able to add custom behavior before/after the execution of each rule (Issue #11)
  • -
  • Added a new parameter skipOnFirstFailedRule to skip next rules when a rule fails (Issue #10).
  • -
  • Added a new parameter silentMode to mute all loggers
  • -
-
-
- -
- - -
-

This release added the following features:

-
    -
  • Moved JMX support to a separate module so that the core engine can be used in both Java and Android applications (PR #5).
  • -
  • Fixed issue #6: Can't register multiple rules with the same priority to DefaultRulesEngine
  • -
  • Refactored tests to use Mockito and AssertJ
  • -
  • Improved test coverage
  • -
  • Updated documentation and tutorials
  • -
-
-
- -
- - -
-

This release brings the following improvements:

-
    -
  • Added a method in RulesEngine interface to unregister a rule.
  • -
  • Added a tutorial with a showcase of rules priorities.
  • -
  • Improved code quality by fixing several sonar errors/warnings
  • -
-
-
- -

- -
- - -
-

This release introduced a big refactoring of Easy Rules APIs to provide the following features:

-
    -
  • Added annotation support to provide a POJO based development model
  • -
  • Added new site for documentation and tutorials
  • -
  • Added new set of tutorials for basic and advanced usage of Easy Rules APIs
  • -
  • Renamed base package from io.github.benas to org.easyrules
  • -
-
-
- -

- -
- - -
-

This minor release fixed the base package name.

-
-
- -

- -
- - -
-

This is the first stable version of Easy Rules. It contains initial core API and implementation:

-
    -
  • Basic abstractions for rules and rules engine
  • -
  • Ability to create composite rules from primitive ones
  • -
  • Ability to manage rules at runtime via JMX
  • -
  • Java fluent API to create rules engine
  • -
-
-
-
diff --git a/site/img/article-footer.png b/site/img/article-footer.png deleted file mode 100644 index 3f97403ddb5a9096f0526437ddc8ccd8a8e9b68d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1898 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�RD1qm-q(+ISYEL=Yo}yKm&#o* zO>lvnzdS{+v9+&F-|%Rf-^Nyv%dV?kv$~k$ee<sH(NXxazgDYKOXG-0GJl9Ue7GEP;sXSo%0%lHIFs0i*G1M5Jk?)dd2kCP%fLJL z{%=L{4{7}*f-RNjgV6i_;?00+O)$g0MQtT?ucmyYLKS*%;RIRva4y7~)zQxGS?I~h z39|xlX-0kFhNGyN#PyOfe-L+u#)L<&?PrbzIRX_$A##TQfbgxG*v31HiR|juG|y4Y z6M|-x%{2Cx8=IRi%*?VQ6Y3TUiRQSf4X=Ckd6!=sws}AI?j6khyirk6QNr%7!(6p( zoO146Z@V>!{zg~vBu|ZVsc<%x>&mD7)~o&N_5Ihq{DJA7T0iyN(@GOf!^pZg2$!D3 z?!m1mp_zitU!51~v~+Zsy1ToXW2&rZu-1iNTq<-wP%DZ#YHAXlYxb?s(besbr4}2~ zj!*}QDl02TK79DF5dU99>KYF0+j|T3quVR>t}9#zb(58rin*cO9307)mzVg^P~)1F zaJ<~}xV!`XJPd59*?O%fM#0a}5culZ)J_i3L$%ZyzJF$@Ym)kKJXkS<`C$GQU}$K6 z3}0&YP4n5Gf0u#@`55x8X3&!g+dL|ivgYZ5`3~3-!j*g6OL~L#>g9VDqWKfg&C0gw5Rgmv7#ge$!@z}Jitt)gpp$;J$&<3C%prD}W;706E7Q~TD zi}CzxTYci#teC*#ZTd%#9!-3fy|o5o5fT#WSc=<4df$?sT?G^r5KavfU*gXh->RXu z{6_-3Rx)8jB$_!Gw_)NXi8s4P`{T77rRR!aqzv!7rQZH<{%+(#@G9dUH|zC&r9DtB_Oo|e$BN7fv+O=;u(Qhv{dR7NKYES=vY2|#S(lVm*JVG6?gnDJ= z+6IgZ4aR?6aI?0ywr4ml)jDLCD(v6dX;;C5g?y@xfYE#}+0&Phq``k273yqd6d^f= zuZNkREmzSGSZX?{a+4w>V9y*;Y?xojhG1%4S3LJO_Q-F(4fiYFqgX^EdiH`INvR1yC=MH6@ln0@9w6-|A zKvXMo-4pq0nFlIw58JUdxP0K{sUWfX!LiS>Ruf+tvxLZeHT?JFaNR;8H7zLras9%a z9vD)Xv1t6`|QY>*9wYc$kUu{dXslU=PhH#{vOrNL^;_Mhp zYR>O_`%IQE?^=oVzy5ALA&5<0RvT%!FcLhXg&O!#C1VH<%F{6~iVf3zUXRWD%^2sc zL)}0DyP(Kc^kl);io1Jr-#O~*ina90mv)k6vz3%rJa*>jEBT5)Q$&}@1S78F!_Ozm zge%+1QUtc-|DvzHh2Gcfmb$!(NV(MfYD~YktM~|QWV^LrGs8j&zB+BLa{I|(*$B|l zS#P-Sadl6CHh1SbG_PKsoSOQ=-28J3VuWKWtcy$JsE;ubBr_C}1yB_)W%|=H3rnT{ z=2|W8Jy=%tF!xN-813a9_x9l$C*RzU+)aL$G-FrLec1UvV2OhyuT>au}kn&GM!W&99@j6NFauRU(%RDIl8IfY*kmey;eO0tZp3*1nZjw zJ<3!vRVTSy8>!7QZv#TLU0P5|h-X$yZxq*46^G~62gKZ)7JYg&g{ZeYH=w?QoTKkI zf7a|v>_2S`a99y;HTYeR@33Hjnx3L{!7f{#wVDw#Ej>or4wvYQsOSl>aXl>d0qqNn z!d3D8SSXC3$!eB3wJn>(0sYDXCD9-ls<^EC3=QRbZY6?yK}ra#iflAqxpko21x0yl`dRdyo-GcIHPcYT+!QbGQJ^p{5<4W<9FNcKKFN$@Q0=NoPr2Ecn7 z_u{@5pbbydvLVAl9Bk$ITc>TLBk2fnTB?SaNz*3(3+Ir^ecu!`V&`W2~j=Ek32dTf81ct%Va#i;evI-A2p zL@j_Yl77^_-gCnOYEE#|U1mGTi|_K6{QVDmk6i?H6^r#2*40W)^w8%CD%=o@2@>sS zhL5CPn*_HPFXXgQmL?a(YYt|U+XUqCc)*=IS%4;`-y9!lUR=?;RP^S#m;qpwllEN_ zuioL&4&Y!%r>bO4y>k7Ipizj&iN?@MSJl<@u!f&uwp=7tfKGaR%lY>gk!K@Xy?Vh--7~8gs%C2QOP4=9&E33jQJZEYd9i?0_inVqHbKjQ$%tr3X#jw64j2Tena~Hd{LwdReGEE zYwJS6obAaAe_JlAhF--B@7tiv;rZ&{y%k=$_CTqU0I$1SyQ8Mi(6wDf0xvF~Wp&5k zc)y*Ajo2@3Iv!>FJ@G{z0`FDT0_&g1r3z6P#^0X1Hiig!K{n1J;Hh(g8v{6h+5JM; z(?4Wf`r?_sPI@aAn=y_`9e)}!vAS$Oj|~|@>JJ!Nn#udMK zFnseYJJAsy*jtksgcdl8sSH?|qH`o|V}-2jH*FqLf7`=tJYp$OSz%4x9KKlZ`_#$u zvE{U($cP^*+qqQ&$Co2GOc!ry+j4nWAw{g=vOz|YBSRY)PuL4_cvc8o)c#bxDenK z?YPC~atO8=HnNA5KR)aFN$H}y9%%XQ%Z9@tJO=dSF)+T&xz=?o9pQ-DAxWlQ_~nC3 z>*2qBxBxRK$5uWk$~OghTxzwT=N0C>)ApFeowbJPIbK~N zs1sX@ntyFjRl6>#lYFS~yPD*x5O*e`a<;W=O@x z##_H9fJ9(62P<49O`D#6%vwAMkLWP!BhYr;b*xS3=(9``XSsA6qjv(zd-UB;qUr|I zGx4n$v-PIZ&N#93%xtK+gbd`zrkEk)KObd;B(*n(&V8u1-i?6wsaz+PNX;&!N7BdG zTQ>7)nytoF0=QIDDs!6$#bQ@!zbEXC<`wa2|BkpGP6Ib2&@;yQ9XP)eOjL8<#=Jlq zG<~|i@YQpR%be$_@tT`_H17QTKq$ZSWPXg(QqvQKimqZ|aF=l9qhDT0jRFqkW-DC< zv}>TC?+F0N5FY5mJMd$7-_d$zEi|z}mI5x%UjMiotYk}$IH^3E=!6k?Yz4QN5h0AK z;l=TI#cZ_x(RZKTw(kVpA{;e*fl&s4<Is1)l{o3H5FAsAD-WgU6Q%r50utGpw1^bpw( zRD1y*=}y!K>kF0{al|d6H2Y}LDpd!Fwe@rCNXg=ZXxs`V3f`_F=(o;p`t=dt83sdm z!^IBePgsFM>TrmuExjVuj8xXC+QXAX9>wV7G#XzbpAF9=;Ekg1M?{?t`mG*&(kmpJ69se#=+Q8-6-W&{YcSZ znfrz-c2+VzrRapA_OwFVJ zuFXQ6igWCZ5^yR>_80w;tg;SGdjC8NnDg+Va?btUersEf1j-zbl(R+~)p})yoL0ry zq#mG(+N8W|$nH>yMpw&^O+|Pp3$2LUM;V07tz<`2t0w1$OK5>=%5zg0VxFU@uYpLv zMmv;V<8JEKP&y*jHGU06{LH>Un-Avl?qp|@*<1ZpOs(+R+nKjtZ||e}8xmrwrW%fb zEVSj4+NjxBWK1UQu|hgS=itWZw-19>Rwp0mU1 zDCy9h!N@9`C0Il3b=uySau$8;VewaDzJ zldwIVje>cMbPk~Or1~%6!U-9yvmo>5u&bQR(FC+2TDol}uw+VEj9fEga&OrU^4^=? z@l>hXPrWzHV_hjh@zpc{nar_p{6vIfPw!fKMgk@HSCvG(UL|GbWF>~LM{EVF3GRC< z>@Ahd`7!8fRnF+5#27OIY*Du(-k4qQ^A9ZukHyQNd-H@pX0r#=kGSryEu7V!278z~ zC$XVB&!iZr!NG6taXT z;TAKPQqhogu60_jk*^aCy*5JPKUx!5&#cDBrP^q7r2ZtK#yhgm4-;Q;FY!!onl37j z_ut*L9gy2`ZcglX=9cYIC514zJTER0984WH27%S8%(dTf1lgxvOh9bbo)~F9jmX|; z$VSGAg&}iXJT^Dl+ypy@M`szo0^ZR0HxYYgyA@XF3>Y4rNsV|MS@Ze~nDbiwkR~4k z#~p8f=H^oO%66Z(j@R!0bbs}phd#e!Whp2h7Ls*KFf}vBoe|XyWGaS&z!oCMeahG5 zYqB}Gs%xucxSjXCnMz-YRsOM<_1n4Nmuogi<=>2UPMLPWftMRn%&TeL|Ur#$PsCn;dcQ2DY}5vE%Kr#Yt?8Fom`Zk%o%4Se~Gls@K!+Tbo1uGX+w| zn2awzjd3al%TXY|io7em9R8FV)F;R4Mq{MvkSq_UOOH%KqP@AO>!BEy!C6%e<^Z6HLLA-(alca0OgXce&)TA=2fnOG| zVjll4pN_b08YQAW)0vLs%=aOy;GKNoMv=6XlVlA^L+1SjF`>2Cyfz|O483XZMC2FM zNuR7F#;QQy+Pjo`G_dfxe%z7K%S7dy)E9qojEwM|&VS(f`y4VWj?b&*XL)})J~XOQ zWYsg3FI)buGZd`pa$azeXa-V6_El=l6sQLH?mv+bbxF!}3G6EKSl_UI?-zMDnX%(dXv61`)@&A#mGi~WI$^VZqn`3GO08{&Q^gt4X#j|K*;_g?d|LFbGE zPT=%nTZ>GXyTC}xmJd6|OJAONHr-9&qhbt2$jl8CSR-dFH^wHMt29kV`V7b=KUuCD zQJIe@nJ2&+)R5{o;^Ns|#dT)N%-9A~Ig_kuTj&!q=~MeBLovCfqEOz(^FnkvRp6?b zk7(i&^H)uw-2AR0`(+#5$Hu*U?rnD|JgfS|FanKRn`Mb4H)GvsX89YDJqJ#Z{rrsy#dU>6y3iFyjnA4Glj(f8Vw3 zf?K6cm<1@toy++Z9@AnR`_?Q&I_hh>aGc58{ql05&6`eaH1u`G9sloIC|b<^pw;d+ zdP0x7EmyzurlK0rEv^uH{hKkFtVcbesv8}7lvb+!l0a$)laQXD4+8Yv8a%r%$ug`` zXt~ose7dMKg%RJ*o3>qsXvX(=-KsTd;RVqt1+tFDEgsc(;TT}c=ipeH$@Orv!3U9^ zQF&==%(p@nL4NsDGkb}{j{1GZm{xro5%m6jQp}b$(y60+Ldrv#-jlvwZM^_f+0S2a z8muVNdjf`4rq^l;26-3iaOlWb^ZxunlQ0>b>BzW2GU67yFsVLheT4oG(f8KLRjS^1H76^_`Y2gguOA? z6wlz7oMzv2^patOU@D(gCHP>Vqt(8aHyXf977Eqb**d@Zv4yrQ<)d!#G4ZfK z$!e0aZz%T9rJ)sGppPk$735!DdVDAI^pQNSZI7asKW}3U5Yi6OuP~+9j5@V3QBFzn zzT3$wn>51;ZjKgNra$IomHkV^9g|zJ;(Z^90*}h z^2{?^kh52@d-2~|77v6!KVaEqu*{E%hvc|DL=B=D`D9YzT0Tw5zK5s}6=_DcLHgN@ zHEqkviqWhKlK#4|oV*)#DT`FjEBqERMX}*l6F(IEA0mL5nnhaJ`dSF94jJ->^rNXj z>)~D^aIJc7EhhP0Z*1aWtIkP<%!1OwYQFzW7Q#naI zoF%I}uLxS>LiP?dYE`;dJ1w+~ADUzG7ZKIau5CBj39`_mN*$-=CxmLbK%F@y$4kwn z*);{FKn=0)#`q{PBO8*Z8|6?my=R(kpUoE9%d(r-AJHGU-XvxMMz~}mj}9m9%;~OC z^Dr^k=rGAL(=L_DBl~kR8fhJ7SigKyx=Ag_YjRWptw;n`OD2BwrnE+E4r^5&G5Q~V zHr}`${DU5pXPT*r5H#I*b*{{7-gfEVlRFaSC8RQ4H(Yg;Yv?hW0w%L`t5EB3_Ytn; zq;&Cdd`pNJKHu<|jW7QR#8o?{7HBj~%O!>`lt$zI64UF1>6jMo>dujF0qyiE0MD*d zhm6;v>-z|Szwcn;lN=>``=Uy8?+vWlyB;YQ3Au$GEB-|H>W*n8gVLq-nl|$oJwjf* z;rYdDR%y~9Y4?vLdYuPB^qd|Wr7Y_859!S)0tfpa} zL;+lu*-fg>$&rZFxD6ICn7<<;SiQhQ#PeGp$zbiqD{}p1{@B#jnj1`@%JSC=%8Zh*LXC2~}34B=lbltg=T*(H}h3%Pu(_!GcU zZ8LlwAARxl>(?%W(`I6Pl5dQU!tjiA$j2PIE40t=wJ3a zT_&!F)pq}+bpRyIss{`>r1m@Lsu-A?jQy58VW&rz3wDp;_X#ke3E1egxw@$#u9goH zR6ZSQQ*;T`OX+;4Cb`!sac3hwH`enZ=5r;nZ*uScWlAsJQcu6Yq&!XN@ygN9rf=8Z zHGIqR8RrL1g~ly<4m+E_3$Cn)qIU)41epVXZVi1$c%Pfh3i>tU9?Zj1k`|7?EQuR` z22CpGoB6~fw;pC(p3Mp6&DBuThZ9RF$4VV4vB8ZVf9~Vj3;ud}bj$w;4wfJ_i;JCe z>~i-wom1>D*GDs-wd^SE8{7*ylXl2D77F7_e7P#y3Zq3)i9YYry3FB+(Vg?g%+qLP zgsj|6omjI zvg%&!;`zS!$J@`VQ7Q7`(8BPcEro=yuJh5H>Ox+LMEeUW3xaCsGhY#yeKDx1!{>>+ zH8So8r*phSvrj*)^+Hwtx%n;omF2^oieU$z{!P$Gi94tf+j?SCMg7tgzj-HrhN!QPeQfWy4upv1lza>Z8w_SdS>OJ}b-!GX-?W(EZE4$z zfC~e6ov6@9pFq_j{;_{e0sby}|4YU9l-p+(7D&;o^@x|8XvS`yzlh9lZ2f2LF(drK z@istKlrl>9lj@-Hpo}o_Z)EdZZsR{0LSfC@h0A8%XXC3u;5*H#leeBKm1q771V%To zry-0zIs41KBSO{Z^stJp8&VU$ho=A1{+|OVi+f!*2&w7mSq1RV8@C%n| zDviz-aBGGPE^}p4E`1a^tHpSK&q)5+$FD+sFir?6&^WGQ$He&q+x*U+29WVrQu?n_ z@Ru@^O#94M;N&m|nqHHV-sb;am;d9Aoj*=U(|3@t zi~F>3J)zn#pI55C$n6(Ue_g7vCj7!gfH#W5G8K6~c2kMbZrNpf#tM$8ouf_vo*Jr0 z?m71TYEboR*K~tf-Dl+b)M`HFT`yTL6}M>$EvK=wT(DUqeSBXP%@s~<+|2oydFvP5 z+TA0PY+7>95HeVcpiOYgKu1Siem}4vhoZt>0XiBWb}9-sK0B+44LwSZv`-N82Ytq^sd zj%2K`UrD=|2N6GfWy11rDBIxF!OSMpD?kd%2A7U_t1}N$%Zs0Bi}>$WGE4duI*wN$ zF3u;dnUO1LW&-Y(ijW8B{K2GZleWE{Ir{Or%5w~d)sB>v^z|Wc!V_lLOry3P4SKwI z0F-axmJ^F6TutVxn7v;h4=r~o^xUdH{^)(5gxVv#IsE4YJXGk5xZUOqc=>*fio!fp zbOp@s0m^mtg&>y*Mq@-=hL7}BgBQN{c02j@E}iw3j(X*ldwwTofcT%UEP97*wYZ|x z&EdbYP<^H&SbT>0U9a_-tL`j-@5fTFi7j&mfnHaq6@l1 z^@y=={qu2Dy0CTpLTfO!Y~rS_!`p7Dr~5yK7rd25(|I}{s^v&78K-!mD=}^MD8aWu ze!e?DQ3opx!M<-*IbHD$2jEN9y;BfKb1H(*%z%1a(#QrCc|&zNTQf9a!cJ|{n8u>D zdcM}grLaWcNX+*s&*4b1bK9E0)E3Y~LeR0k@hX_o_+6_Cfm-?J<&zi}-8@cUB*J{a z65R&V-_IuDfj8ZIFAMh?B`aHOMR8|DlaICqeJp|?SZvnr>SU8{EaBzA5r8f8>yI(h zyT!=f`gly~WgflP0Pwq;!gCqs{rLz#!=viOwUKtvXdm%7f7YXm^MfLo`lsEc=AnmY zFi)^hrVJz^ses0EASZpNe5G+67?hK3%2&$-XdItG%8O;UMcLB-9nd}ag=Pk~#)4F@ zxl=**YI5W+_Tirj?e~IF_Um1^?#?yk0!PY$-C)5}!6_o2EOnL8lxFiuy`+}yFHtqD zHbH3rtxOap9O$?@KOc{G5KECH6{zL9f{q(8q8tx7gY{A4wSjmw4aln6^#>i7JjdIZ zCMFCcmK!>kZhz`6svFrKFZ(K;Dc6-*dRX@`9K8JmM=#Tf$r}XspQ-%9>;du& zp=cc833Y?a&2Gci`+|2~@GX6LQ^#C>`?kxFCt|sFD#B;RZ;&qq;yu#L;6c5-hJ?j2 zKzo;dl=DIS`L0i92nfK=f(MCwd*enf3b}*(nc!EwH<;Ugl(5+8>RFg>kzM)O;4$B# z|MQ5=?*)94Yo%3;kheCuM!iamZuGCj_g~9nqWFH^=chNYhsGeQ07`!`TT5k!gzQYH z(P4n1~ICs7lx9wtMnn&I)aG$o?U6fsxq=MM+(viwTnM-#;@FF(<=0$+h zt_1rWR# z--zX5_cJNj*~brkP%&8#Pfx}HzLarfKwO%yxNGa_0wA`)S7PW_4){;q^q+!N>g%#* zeGs?8vC-w$0%5Cml~@2Yo#l5d{|_~I{j-k-TME=_noo??L5fMwxVqQwLghTqXVak9 zy>q-@-ZnG+MQDE3sQmqqLuCc&B}5HcqGr)EZ+6k^lodAcKHk-*R>{Y#%t>L#V7}Y8 z=43(edap~~XeLF~AxIrA4n}ZX!}-_w+$E>pbNmFOpil-IzmzlZCw=JbS-@=jWeO3h1hf2>UAze`7`&3CtxA>>2Dp$TQdyWo287IHU>#w9V$* zXsV_+CdD+3aH9^RUyt1VyKSzAKN}Eqw{Rfjt1dB>`C-Mo`Sy|A=zl$e_{kc-Z~~xs zwtH|wFMUm|6oF#JSYTmLD*7o{(#jo__KDlYG@Z+CJ`R)j1*hAe9smy$%^Ne=S{nN? zpY2%6Q19x_c_9Fgkus_KZk%i&$x`Xd!oOB4;yVK!?2 zemLaa-8L34l(wAzXXuexF(h>Jbiu%W6&36f!G*+Q#_TN+GMCS#nG*Q%6(SBHkuXt! z-#)eWu|aHerj2VjMwIsas3d>shHJ3JYRR$>#NGT%MKz=!=0S31wvo+3kjf#5B+w8U z=|X*85gN7?o$=lkUJ1T}GL!H7ExS)d<)g3OMX6qPL~&;}1ULIIXFqd^js*B$sgXc? z#{n5uiH%6u?f89oeK{g3L_9_4@6M%$?LE+xXxr`f_L>&Ewtyjb_6w;W|DB-!X{gmu zUAy`fO+kTzD7sI;YrO4m#q7rd)l2X^_*eFZdwn@)E6~fr+O^(;shes+FVOCo8~MkV z)fxis*C7{;5>?WoH00Q0dX>wi>GCH51zbx(w_GQE(p($s-CTzywQF2*2N_vva?Q_( zYUyZq_a~krIwOdM5Kq~>ITtC57wyfwHp1Hw`!k^**j!61gbsT&mW2*~b_S-O_qm45 zb+Ip?C%dM-Q<#^Jj_8@qn(}741TGdEoWr0h%MWc1WFg39MfM?9??RDYPvCtKWE1PQnWVJ`XfKY z3xp9>jPZap9`T(CgWLxq^E;F1SFZLyMyW0vn@xNUXM+%!)&*TOm)sxs4jGRtC{O!K zFzHV;|0qcN;1`b2RPMIzCDblMR%uh_+hJY*ekObHzUEbH4iSL%=6Y{NHbAlYDw@2U z_Q(t6Q&Hj>T)MTfF)!P#cDA!HTC=lMP!Z|cas_8DHv#u|4bNyT&Lyu1Axuepp^N=p z`X-l;NNg`VEe~=sp(qAS=|t^VssdyyXadpaj@+pC=KSJ$47%;_oJ2}qVR^0FsI^C< znl(@nY)w0+5S$jpNGQ~F;Zcpd#?EjKH=le2;jZ&)6!=t)gnRKaeW9jlw#(R;+Z$oI zNR8D=X_A8&Z9!(UVRjEmmQWnQGt-S?gfy4M&7Jh~-)PIqpXstgoCV#_5>J^!oPYK* zOZt~KhkrIT59`<8U$$H&>VC&OLrkrKn2Xhzy`bh>uLp0?&{BtX-aHE|frR<&FRfjk zYma6yQ;Ri`UKv$f?NTnnV^X31xhHe6DXw375iyN0_xaWZ33ZKN7>zBwWd%?(W^8qY zw;y-J`L|X`J6X6ipG3W_p^-*ZDDh*P-y#dY8z2AqtfKb8YYzaX#Zxt^J5-eO%KOa; zeH11`qMZ98RPv;y$f(9HG7>7&won^f({OzjCg0)mE2El;_8N?7?DWp3hB9d9RhbX~ zQq0kvz>IN7$SFugl4r`VH|$U`lWc{LXpBaEmW=>@8F^IR-R4MJQ6?v-w=W3fEJ@2e z|6(u2f7l{Wk$yh?s6L}X*4US&eI#R_nHIh68=)L>zGy{ayRy0>p+QV8@>KkZ*x@As zH*oI_u-x-czAvE*n5U7UtvX=&?847CmwgxR_KMX@m9n# z{TOqvv;GvbVo4Q=*a8oOOsrUldLJazPAhb`DIj*PZXL zHNngS3xJo@XOdPYq)7C;m5+Uad{0-5v&({7*2uFJw_n5O)==jV|4~14?*`@4u49s0 z=??p}C7jUz9sqicdkVlg^g1n!ILaZ#T)=rYhyEF6qGvdoFldhNjwULX>q!)boX_TQ z;~&O~WTQ|iz}8A%w=or*S>G&)sfU-ImOm*9Qt#{V>zygf$Ha#PCnY916l76BdIMat z9S=>a2Tw!*&5#pa?gw5hZye`V^1p$AMhmAP)y4Q9&G)qoHLh6(r18@Hv+}anAg9qo zF{1r@2F8Z=^Mw1}m64Q`QL5sh8!`8<#7JZKkuj8Yzy{fu&*g&ac$=!R0qSpUvqAP2 zwZ}r_Tb38)t;~kn+Lji>m@Dqk=sw4*`ZffKb_fO}lxcv7A&lJr!~^0z_`GuVMi7Ps z+aqlF2CUPXdZGCXa6$hv%;DJxpTDbrO;ORM-3gHEjAqnsZRc>gb>V6mGSk#+JxO$S zo-I*S?+Q`0Efd(dw$UyGZT`-eX%EqmK2bU(eNcC)S@pL0w_rxR^ywdVwZn$% zD4o+G{OoIc#SrX2o{TZ=ks8=~l3BaPx5Dw~%DtoUipn|-!4U%F6hObR=Yz0$$CQ=) zley8_?GXY))K;xK=a3_XDd5yOO6+lC6XPcU5L(h!)5RGlxLsEa%6FLFf;AntsX{tgeLMwjZk+o(Qp;wpiOpoCbaqU?gT2!zrNx+uEmOAxySSAPxVusB( zPIVboXglGzHg_18pHP$p4cm&H{;@95L%pcr+8-+~_l?jiS4X>crfQ9K5Ht^Eb>iQI ze_nx~{3xha1h!4-li6Gj&Bi3mNI7@?o=N>L8|c%i81If37P|;^1{;T>2_(PuL~d@eoj*%k`zrVc#PO zbLwxKF1$c{La%cAzUL;NmvY3lg0+kd%w7!aEn~(^P{K1BY$_ZN!PTNQH|So3OpBf^ z-Jf616zVYgAJy-$ z`A<$^_nj-QEQxwv{7t+v>?-xOzHNoS_gQW#ro3+0C|~ma7?Iwir2igg`-{8DsYG|5 zI%MQJgS}nj=m8J+3SYCOP0dwF<4QSP>s2)Eh$iP#H5CnRmO?D5C~S&dGrwQI7DP*8 zmnpHdZ_qo(Kg;Lxr9wydR(8tQuT%dYV_zN6bie&i3W&6V(xISIQi9Y7u?dqd0Rib| z#73jEBAtqeN{nt8-Cd&xjE=#mjTrlVy!Sr$iF=>#{rxxC_St9ebKd8D&g;BhXVouX zzPv*0&~KQSoGDWm%??epe){a=c%Q$_f=@0`KH+E=FB*Bz5R!iSx&a4m1xKG*kYOJ< zVnAoQwPnMjIvyjJYxAVOR8@{CTFyM?y=I1ZV+#chyUD`z0Qj}IE=~)1C_B;?iLMdZ zH>7zfH&5H{}LhGU3PqG{jTFYV6%?Tp~UzrETyr&Z#!g zGdibYHpRFY>~~|b1~Id?m>-=WD&*>MZw8;jv>;{icd?@Z^1uW=T_tYbK@V`8)08}@ zsG)H98=we#^)mHs`rn7e6Go6q28@IuLOap9))AF-zr^UKV$G1Qbq=-3lH$HJ;b&; zP%>C^Ng{K#Vegzu;xGl$&r!5oit^9Dn03)qD{f=LZ%pSrJE<7K>?bjX|Cf#WkIZc7 zfk|KL9Uy$XOt5aR`l*A^S()p#x$}2*(Z7p#Ky)-WI%6{%<-#m#w7Hn#bK1O)Jj8&U z7Fyzy6z*U9_Y42#0VPwSg1386D^wChI4U19&Y%p+zNP%%G1%Wdf8Zt+Zf$=aohpj8 ziwg~p<^7wh{|i;{UnV>Kgm)JlxqtoaX(rU_vZkMKg!Labo(%_?({Hl?{_Caudleew*+ZBN5dG>Z_kl zS*`y+l$r57na4gr`$M8=V|D%hk6XVBUjF-+$G`Ktc~bYh@4j+g4(UpoM|uU_-tQ*- zL%{muKXv(c@Y_)2>fV;=%cG3gSSAts<#h_FNiCG44gcRc@4x@A7v#6TDOE1uFD@+2 zOqhKn2Xf!kk?a27g(5YR-$!KmE@CZH{wJXE6wi#j^1rKmA)qDTkh7(G1puqFqzc(2 z{$~qmz>5;MhD|xbRj^@9l{W5prvBd@MWDB%1avPsjo*)3Fcd&aiCt``YG3ETr}eIQhd{g|2u63md_UG1|1(+1wDeFgIL^jJv%*0Hvf;_&M$fI6a}B(i%I-gHfOu1D)*f|F$-*KVmih4`3sr`SU$mz9)xLPJq~Rd*EcF7Vmnf7Y|t5$fln8E!FO59buaLqNm87V$={cN;)ok&ME;lXb~C`Oq?&I2tubh5u@w!o?2 zm8c^;AR*(br`De&(cY1A%Tz^g>5X0@x^TSEH1NvXt;sU6(7f;8Zyi+kJLS|q;*U$#lUhC|&T~KiWX;TMN~IhJeY_dxb?OrwHbp0og7}gg?=1BuLLs|& zyH25DAHLTydZW|S@=sR3{)Idh6~GG$`f}Ws!(BNY>JH+s z2qm`?fN!_7aqYeH2|Km^=@iFiskYy;z`oNH?_&C5DGlcMCZ2!q+g}gnsMSo6%jYI4 z)V^|`<}Of|$&371HlQaA^p&??9-9r-i(=KyrBL3M%UeBe+h?N}w!O?5ucQ#_J68^6 zu70pCqWN>oREnp}o75J~Wp9N}$+s`jk^cVl*CfB2w?|(q_AZq0+e0UQ#N4De%xU}4 z)%^;Z25XZ=k7^s|cSf|pPiD5C#c#aCZFul!C!BaGf0gf!AxcZ_8ut0tHth6QNRW&# z6T8kzvC%vB$Jhou?xcUPcqaGyxjiq3E3fk8+YBA2=2W>SZp}3nNuFD6z5Hm2m2Lh$ zxvhIldx3w>$GK(wftdv^7Hc7*&}jR@Sv%*7MtP{w`DG z#`-#=-Q>^7))cHL^r*YE4@)@PCPdU)F%#a?zCi}s=xrbH@F4^ruz|blz@?A7Gx%ga zX!~bdWe+iiSF^qsA?{oQH)s)BFHA#XLGv3&n zg|~ML@D9V&<*V}k67M=L5Km{^rxr8B-`xn>)lo4!*c)4_T~!o2vI;&4+KOQkaZbte zY;B1Q^=a*G*9p?*-%H~0C_rYfL)y41Cn*QO`#> zT>%a661FhyT%sFe`LPsSK3eypIrE!aB4VpF!6(UsXC3Y0b6aSN)d{t9mG730m&TeNhR;F@pBaBb%_1Vn3utf6 zUzhE)SK|ZXE3AjxUO3Ed)|*k&U8mp4q$b|`1C_%+p4$XT{mtc6%4Y1cQ?=?d3(L2) zPdZM1*y7Drw%A3JJ?zce7;gaPpq&k!=J3-c604h z+`56D8FZJ*{Y8i1WtdfdpyP;*a*X0&Tcmb+q}W0)58FY$Z<^yZlBM-@1@EClsPgT~ zZ{87OkkmpWoepCkOzZ9e3~Cr9zuQsDE_(gb=h6@cKL`O;H0rLL2n?g>xt<~lKXtw$ zX%#b9>wPe)9qEiG;Nb)Ta&q!rAX9@+4B(W5kAML+$2W7I7VH(t5w;wlOcCH&@Ji=9 z20k+Bxx$_d5VRiL;g?1P!Zp%uip)!1#CbLZXzA!&_Y~79En5if7KLD_tB%)mvukS& zq7;u;3sYY(R`W-sL}fa^C}@Kem*uxX>~!w^c0&C#d5ke48AQX&*y*HrIb*HVc!w#6 zZpYV_u^D!MnSU-S*<0RIjc74!tBgORxo^1St~pGXq~l_0xIi}KcFH4QSj?D#KO6q& z6Tl(3d%jIjZ^Qh~o8y|)&Dt;dC1vs3nj1a)Vh;K3lzVTt+Nr|ybXuELIM4Wo-SW^i z+lpBixny0fo{2N1wO`UU;6WI;sJGl8YCWNY;#9$#MeU38pGnM-z1NRAwfKVDFu1)%`@M?2pYRkxv=S%y;nh6hM`KjD* zPJ5yvzv->Ku25s$z->bbHj7Q!S~c!lwdy1*qtf}utJ+COJlZ2tXwzH?heJiH=Wzi$ zsPG}DQwsxs{YF8}lRUX|BP8}abB&YPy6kpoy{yH50OCJ#({~f`P&s{xKO1jdXBkpR zkNR+<>ZbAblq-ALC&aOBtFrJo9q80iLTdYTbk}%e)LHR4HXXCf0aIi(o>^nCo9*m6 zh@v>E_HHZ)*E*fLgc%y-XNMUN9NR`Rxf)Tt_CC=WUo+RSg0>`U-0Nd0ix%g}XopNGx(j^F!q?1!T z-BHb&#vbCwD(aVn#m&4eCL(vV&TT&lkjo_Ck%Y3`kB{0}1#kF&*0`ySdSPB9`g>yV z&#n_y%ZtdxqwEH+eo%p&5WE-XGK3rz0l+n6xA_#{v7DU`a;KuUCq=U9Q6`gB2M zM~g#$y5+)P)-+eTak9+VBE`YBkEwFI z<LwUkc!!G>_mOeWR*4*h4^Sw(f29ExzUh6*?wlJTbS1b|MG@)oZ@Y|8M^%Q6>TITxJ70v7HdMa&xc1zA?QNtS<#2PQtQTeshfo>A3e(N|QQQc% zh}cy(V!N$_t6qwk8Pan)ePClw86ZAi$I59Og6S6t0yRiw3XYLd z8G*PSH(nJbk}J63`wioejpFW2SCTKjDRYy=(9}w#l5F~unpq9+V9g|PHLrtp3$)aZ z39-n#XH;=-qPJxUE z2_l9OLo|=dft=$7CwP&e1kb8pQ%5}2hC!WYHbEG9=VLO$S-zNhS13?)C=gEf$VDd_ z!sjy=LziYs`V|E|#dwW~D4<2-dg%`ueCE5EMfIDb#ZQSg2D3tijB3X_0-OuKclgSX zfIAE5&ip>-wZ}VMkC=xZ=2y&qv`h!L^{^E;&Ke1J#fuu-kA*{U#jha_aC~_!ZXtYk z3VAj*@;OaPf_^h!HMRL2tFr%Uf-6S>;e&LMS{rphFPHKncgWhQe`k z7?UY6)m6u6KO24$bjInJMZ&}ySB^svX=6zeFVTVxmD$^;Qen^+UTkket(*o9=|D$$32;Lur zcU1gHGc7CcJt)*+*HDG@aCJ%1UvOh|_>;`=ZOqz=@!JKra6{v4hn{4!UD6YBZyPBi zW{Ra#ME#-E5sHg&U8{{($e?mSCmQM4OmoklCR_+k6fS+e&9spwqY$V3^$C5mGawVv z`G|BKR-dnsHuLaP)KZe$LP>|jf2KKB>Wmbdhq{e?f2t>3=o8wntN*Haqq%_m`nG88 zj!G4}dZS5zS_la}$Tdz9!!Ji3&C^V4@izAhlk66L3vKeAEVU*HS8>2)5RSO~4>&KI zBFNH9o4#;vn&hv(e1+m^ypfao`r`K(a&)2u=h!q5gXfE$TJG(nNKA5jZWLybK7z`> z^K(;7^no6D z*ZQ6THAMojONE=VN$dGMldh5om4k3|q7@KBysoOYRWvDySCHMrM^Hp?+9DxSi~ zR7nD$k*9TRROZQRWRf2PG!+&bq62O9_$$&*tff|3h*Pcvj{-fW!Hi!iqb`$gplpl^@Zl?%?PE*eriO2b!Fp<^n zkJB1uoUL~oPkqmZSEQZkG!WD&F=JnL|4@}HRa3QyD?P9f8a?>#*D&J(n{BTSd1Rh*0@OH0o&d1L6Ic5)$TK4I&qfDF#iMhU#h8lp-nGOn(<*bQ%tWFEU|9L zn^K+8wQu!3z0YAG0)NZk5`d&@o-hD_DBSUdT)F@&yxtX6u|ZW+TD+Qruvj%Zdhg;k`i9 zQewrqQ?1tKSQz9WcRAQ=+%yyP$W-CG&B)~%&K*9ZJ(U5vJ>lGA5Wq}?9IskZswEYLiS*0JCCTh{3c7J)A@=bFY)M<%99KKZJ7jUta(Dl%8ROOG<;JB}D#&y*)orgTP^ ztIRtYOU%@&Oz&R^IF4@G7%-e{c(OB`5nb=UFS3LBDSi|>d zwgT9VOA&L@_wu~9SQfqFy1?w_sem_Dr+cob%4@_hCSx38WM%*ERu&eYE- zwktBb>-7h^o)SK7x;3Ro8?)9hXU>I+o*EO55p4s+HTEV%a|lk0O3?;iMkB=wsv$Y) zUR{^D=LpD}?RvSlAQ0G*=^Y`%`*73RVBx3?Blvi~#vc_(L`n;~qudpdc>&Ur^7vfn zH>fA;kKXvj5P z&)p!a%N3FsFc5m|t2UNS3Q6Q^$R^6$-OMcTdhy-?!4o;dtdk(DiSHO28M*t(`{XSr z+JkSUfyfTmAK05okL~N$f3uR6 zCaS!`^;IDXpHRPlE$g%ydqFOeJ`>mOV?q@nndf@Y$hYgc8*V5um%53aH1huCBDB^D z<()<>0Xvu|4nf#n*cksLrtE~rZpBWwXg$CH_Uuk{U_|Vu8?g8}-_65VS>s~U(FrO=2# z9SL(Zo;Pl}KeqN;8Uw%uvq_Y%^f*nZ;R_6jJ4=Hhr~3we!Q*vs5>Syf1y|>Qnv)Cj7O`_}OGlkGy)!DAR*) zZI3Gq4wj-%UIe*zYsO2=Y9~AyIMJADrdnLBmejcC&g;9-D`(`(YlbU(sAkWLMLxYm zfW#hs`P8^@MY*EU6A{ccujQk<7Q*6uT(^oi%-P<8?H)W{&8JIlXQ$76@c8N~P8mVb z?LwwgPEIAu>8>=_FY0L=|HaOvbCU)GDSa&`Yp|@O8S(Ybghpj9G(?qBtEk3-fPaaN4U|Pz+WbI;B?oG z*}JxS8dw@SbxX%GcY*8Gj10VRiX1|4nrZA##Auxh6V$=+DPf{B+d-??Nmp9mmTLQn ztxeZr1bGK#Q#+@`1KAD?4KD&_7qjv5=898{(|+xP<>Qo|qq+8LAH+EYu=RZU?Nr;B zl;2?q)_G?&VJR*;2rw?`s-spo3iqb$^$41#DBI~IvE>OiRGVkYA&uR6$g&v`6JoP ziu>hvw3)E*Q|J?)-5&)Y+`2D1dSsmy!7_rbvo~6w7Ep_`kxo2hA&mG6G%yh$4T}Pi z9!tqj0=TsDcs!98@@Furx|axrQM9ZkKcX^0s{x1Das*e<`Mlcl9%$@?`hr9fhEPhnE_Z~wwt8l`*;CwL%&mQAI7xk^2f`#w@BNTHQ8uX z@5}bi{R8P)`7fh;GF9fqzNsT`AL7mK$tf0f1pc|m1 zm2sDZ(^C}#2k*TZ)`sQJ)_cr?bDkbYUlvp0gy2k3hy7FhhTuw-yYCK_q&s9h9|RNv zDBwGLPfvd$?faDL!$|W~I$?x7=Mc~LR{a5QmAK|V@KT;#%fx2k)IUUKVxK3miq1Go zC>V>nC~(d?J1AbFc8BG;E;31lgh_A9p)2_~hOPPeCM)0f)g&q9D8-$94==>^kEs&D zA6k^y0_b{MUD%n{K@<&g^5>4`J<}POF^CV899QE}>j~C5Zhpq5xXDD-S)f@#F@N7F z=9cG@Shc4n_1Wy)2d4mQyR+BY4ZE8)$qpuT( zP;}J_>xS+2>Br6ud-7BXj7o88k%rF0g-Vs9Jki8p>R_v|XdRbM$$uQJRs7!d|EL&3 zTd!ZdrS)^}+JfU!U?`gwj&IKQg4QXjk?51Mr=OKzDNr@sN5xu!fh`r6ah=O9!zy(X z6Uh&n1#{#Zm+rczwGS@Z{CajPV=b}0^IGZ_>MP>##YKYh8T8SCEW@IF5H+h0e5das zZbwscjx{31(g#tbs(fVvKR-)B$2^CovvzAWt9WS1icO(B&g4%kzVR1rCD42@5j@#? z3AEq0&VL=oaGUf_KH_s9+4;rnPw+bQ2+CGkD2|L`c>V*6NPTnndT`+6w>&^z-*9*H0BGs#3 z3Wq?ipeNQ>4M=`Wk?iZ1T73Y|8|R(rQLqT@>`|)`_g$$pxdT+PWwL9R^L7}m$SS?w z1JN&HkEZ6*4&$P}eN}5M{Us4g$W9>FWwjE$gEgFRukh+o!QNq;azBd$A+ufK!{N9! zaVyA(nJOG|9e+T~e34)hZI&&%TzZMn34zsZoKMy~te)c#U{IV@EZS9$cBt;#&~Yi= z7;@vB62}h#hu*2V#g~Zo&g|qZl%&_bmBcO12mz*mGs35Wjk{l5UN)cSkp2L{feg5I zXjmn`>#`I!Q3qihiCz)jDv#!wvQjJJ_n-4^?KIPA>i(?e3t+oTwrQZ&&?iV%wyzxy zd2Z!vCFl118}?kKyTl)wypI_NW=ekOC{-+;y4g-q2gYyF70s#&$ZDU)D_O0f;tIgc zIO$mBeg_V|L9oEjlKz*C6we}9Y!*U$ezhg~K?I+cp?M9`dP4@0y8WTA8ZT@GLZg=f zc)5d|#lR$wfP@l!`8%Fa3K0(UULl@sO?oRjk4m@1M@)hyer3MmJ`29ln^I&7^_}U6!$jqwU%@ppsmF~c{YgHZvwUf^^s-_6L^HCy=Dht~hjwrUeF}vB)hTmr(!~=u}Ld za)-W@U!0q#5bBNzb>m3<%2@bDKCcSE&U^YOD%<@>B|q(t7e`ajNzb^(`e192G=irX zvtxe>&KR45s(Z7ZC>pbeG*<-DJ-+~Rnv+?`yjI98?)1^rp3=QamPwbe?31jKGBI4m zJ~M!$-gLJHegfM6zW^swcUzMSwW;(zK)2C&Qa$TipmUolIlBZqY|6f-_c{wVJDtcJ zgp}@crjkDh+|x}f+zG@J`~E2n3I$+98a8uFOu9CK1gUu)|M}fv`s2dm(3A6(tR?yQ zLFtKYspD^q9|4G{Szs31VRU~06<*(&`nx|}*{`P8OgH4(_Eh>1He&~w7c@Q!s|wkb zsd5zur=H@nF0>Qb@9aR2f8?aI<|ly%GS&&2okjv*G`fB?DA1k3Wsg_0dKJhFGJ*a4 zc%D!(9|8jq=ia+>=}SP7l~4t1t{VX`?cN%%9m1^(BByAzUs#<{0j;T48%l4Jr2u|* z{6-NoNK3ctv~{mR)h*~~ZzY9=iZ2q}l-NRB32Lgm#XOj1?Cv{Iiq?9`M=oX3K-i-k z;;?)2F7%--~Emxh5{W6@#H?P~dA5#w%&ppBuNrIj8RiZ$@wJ z@LdMAm?%ec*=o`9&8Y;0662KDauPLN^LJF~JZ|n#(^0!z|1m#Cs{doVYK4>U9@p!u zyiDg+H#I6xce{I|pL^Fk3V#I+ya3>&K>f=)Sd=mer_LPp`6X${<~^6lAhE%7pbl95 z@mnzd0AYbyXnk{2%Ux+LSxyakFBH^AuX37+_2lTE?IYUg+WbSYJi511?7F2i1o2bl|JK9>?EBAYN+a=R_ z{mL_xr_79GEI(@n)O;5+YYXxqtfoE<4Hc&}Y6W!x2}YK~O&$P47xxM15nIIsZ<_aQ zaJ%f5tG9zUHinGy z^R*x%svyR%*jc&jFUc;dDcyJ`^nxM#=5=oF^OVoXo;JWG*VK53sp^7edB`7d2gT5T zj9Fa5W97X2&CvCAcH6Uuv)i@(z9n*UE^n4AN}dBeNs3;+&0~zvK3(7v)aHmrtg%zk@eX98l85sSSKxq9f^%{u}_BP8JRN0bzV(I zm9r*dFd*iLJB`!^`mMNQ+gP!0RzPBTJ=E3(;pXGjncnL{1u(1ECJwP`%k`0;0ZSJo| z)6*MFJPpv2qyd2j^-xdrBAa?eEwc}1qPyLakDsl1!z6v=qpi`yJ_zd}4C<>L%iH&w z$=H-~qZ6GMUWRrGBGPqUrPNEyt#moq#Vm%Tfm{oa^^ZtasV=IHei_sS55=e>)Ywnx zqbUs>xWs0%3h=v1RiCGK8*DkkM_MmR+_JmNE*W`?Du`d+7dP}+)XtU-9d%i(DJkHt zlmE;|-H+C%Q+Fuc9Uf6ECojiYD@}NIwfWq>SHwZox+??FQ~kJ5*O)&xR446-#Cs?( zk*Fw9QWEoUlO=NzKTo!kiUg~UEv7o%iBoWJN0?ic?|pdzQP*vgerR-4LpY=TQZ{w= z=-Z<=9(zEmar4uA&-){yY$%j-KTH*cy!oXn*l#uL%<3p>-jGfu{DQEvQP@OFzNBGK z^NZJr+v-Q-?olCntSY$^w7lv}@E7b)C^6wo)I6sj-;r}b;uydA-n=7UcoFJYrV4r- zEPPNqCKC&hn0saI8;y$p1|&eUf;3$HX2~a#NVjCyQyJ^2V7-OdW&F2%gd%gCk+yzx zw>pe-OQi~oXgGT6dOuj}zM!4Jx}56|UOd2p0jU zcxM$1&N^{sY}X2-g}c%vFJ>ftn6R(eN_Cf>GusUfd^u<`1z_cARH^)(1;spMzukhX zG8w&iR$Xsj+v@;=h|c~uAx62V!x;}GQEbqKz7qc7aZBQJ;=Mw0R#TF&Cu|)}NpCpOO=LiU|_f{e#Q?!!t7($<9-qbuWF;+aUl2VM0ns z6V+dxfSe)Gq5dcU`1Kj`;T%o6Up|oOfUNIRo8roce)#hp(UU|fbC=B#{77l7o4}zxJveayy~B8F%P^HxuczV;kWhu8+!v6>Yyd2IxA^@mioUgszfQt?tixt>h0~_ zEb;CC4U(ALepl0QlPhZF1wU^ct@L^M@y84s;ii_2& z-zfJtCnQ!!bF~L@G&6n~9gV2**d~HLMJNFl5ZU2e%UkYCV*?0eERCOTJP(KloyjE1 zgPm{r9`82<5!MH)8^T{P{O20cD9z0U(z*Xg2WTT{&#>e_(m15_9Wo3fk37}223cUd!=g;X97^48Uv_B#v4*^SpSzLUA;+()64vJ}=@>)rCf?J$eR6^s5C|LYC$qdH?a_n9WF z{JIL1>MUhT{RW8JZ!Uu?0D6&MEK&&AuH0P27elmlOv$m{0EIFD=-Br9N(&KjpH{eo zK=Eija=;Pwm((wH2yh^BG9c@(mR}kB9{dajsxxdc$&Jymlg-$uJUfyF5i)V5xl|B= zk5pt$_jKVq>CpXGPyVnNo|Ltx>o#cgdx3Okbhs#d!Qe@-%J@m}n4X#2ihXhCy*@*; zvX^PO&>1FTGCZaKat0Jabyj0}$?C_mc5;F_ryapd_yvI2z}W&2Oq%kjA%%^+64sCP zjCO`(Pd?z{w2hop2;|H<4HI~W8O9qcjHeZz9CO^rXvO1>By15~X>0h`&Hu9fm6&+_ z;z1zh5Jz3ITXq9pRL@iBnJs=$G2D^>Q6AehhS^9GUTUZ81mAe99!ONICKSeP!!F~P zNk&lLdoyHlH-O+;DW#qVkUq&{`PI)49QFtFjLk&T$=#xMzXmpNUUIwEeBF=!dT;~4 zYg!4&tC;o54tRCoV^pbjQFeJ}dl>`Xm~lcwaOb%@ zz0@+knnd1boIYVzvBq8>;Toso!lMQAGP3`Xqmi~8peVU(x}tarf7)j;P5yc9yj|VW za^H-7O8!5Oc5OnC5+g}u!3vWAWU=^Q?%j7IIQERp1HQQ{cn8boy}do1U=%4yKo|%o z8~ey(R96VwHC&Ep!1WfVw<;pn@pFxjtG)3XoRr*)((@quv2PHsKGto&&4VMezO6f` z8OrfPD}hG?-b$`W@An-5WZ-Oh7lq+wF7WkV%32{UcSdg>o(p8Lk!4*Xrecefn&?f@G7pS8@$|&(2aVz1Q*FO5P*xC z{K$@fi}`r{M1@;{604r;*2NauJClAkLRrZ+Tt!~NF5d-ZHfc|K(H zrzwY$1%}N$)WYkWJenQu43#NCP!8+h6>6m|D$^Zt#Wv|_m=^cf+8S1pvE^iEzJgIi z)ba4>`TSi<{|I`eHe3snCRqo&T7IOTSKSx{YM;W&#T)8mt~_=Fg6mw-Efnl*9umBw zMI5BW#67@F%lx?}^m3TUDCiefCPt$Y&4Ucpte*3xHx^ z^j1V9{qiTZj}M?(yflP*Jc|cb4$bMyV%DaX{JlAzWBs(f{^Xkr;kd$z0u`TfpVgNw z4_>f`0Pzf5pnQ@jGiZSV5jf_jllH#cnCoN9Uq+w6=tmLR@j5*-n(3^)q_<~Gggro} z&t4$4b&hP%XK{mr9=i=tE@$9#3iDkOSmnp7juB-Hw@l&NyaxS`Vq_ikUck@wfo6!S z#_l1V(H~W_ypGRs($n~oXyn>7IZK4QNq(7=b7hgkeM{Y1>|v|O>FZ{!E4nn@Moybh zeVc@mkZ+$nmr-p4IS|2T5Dp6;JAV%5J?i!G{SsWDSeGU7l36Dc=522e+o8AnZVdmP zUX!wewBdufCCF{Md~(^YKcnkYSo-ulH5aOqsYezg#%t3e8UODHIQ8vY?3(`RwVNmZ zJnXfk$yOz{=DHyG<5A(6HxD`h>ZN$$LV zsP<^O5Lyn_yxQHa#xLO_dassi^zdpO{rx?sIMxwe%I7PKlDKXXX*KRCVx==RLpI`| zv--IVoBDPkmY>zP17-lT=Fe!H@HZ-VRa+0*q^ zC45F~_l4W%*UX9`ev$I~UF`30SxcUrc`-h)lil)Yrf?6ecHQ z3|X^ZsXthV?c=ClPwq=QYc*dfD8dx<31762n-{EF*~7kT+jgkOXnMeRoHOJ+-VpME zGs=*Tc>QacS>?2To!tv-4%ikaK2u&Zrx zmaUW{#WTwh8s@L4g$k7l0Tv;}W1*s;ngYq#SOHCUlq&ARHt;-gpxGUvj{x4GnO zcBLPfb}yjsO+_bV8UQ~5M;j`T5pk{){Vn{ge*soj;fM)2( zXB!ed{^VLdEe>V~b)N$gN6KHUy7m=RH0W@m@{CCl$i$2scN!@urff^pXZIwfKh;g{ z<~-DPDpmvXVq1*uW$Ba4z3M3+%E5LbZ-GsKKW{fm%T7PhA{PM_gn~Se*K!OoL$9YEjqB9G+;pd$ z54Vn;YsiA@o?|e9yp0*{v zfq_;cKm^$nnTk5QC>M_@JCBtpAMUsPk;pUTEaFJ}m`;5Ge>eq0DSW000W**(TD`}p z;-cw`P3Thmx8p%1*^ivH5%R5+C%&-_t*wG34SK}kqebTzI zAA073tg%P@k^ma$Q8w!YsVbqE4vI!_EwGZavi_V)1-hU78@NRt9Bk(bcTe9jmSrvx zP-8thVfU)8fp2w5q@Ik~0CKn3{x63WFDehl!q?Z{+T^b+U{gVpN4w+09#to5q4%-W zB2`s2qF5wvxDcaI($s-kDj+^oct^ee(UWJt!gD0lGc9Z{a?ixnWV+I+5fC%on3{5O ze2pDjK0b)G;o9@^jSXaZf7c-wU9N2;Vhzd!ij+@F4*us`Q^YO8$erwe?AleYebX=s zaAa*&4(iW-r`8WT!$jME-e@4Db2W>5wqj1r{})%D5Zo`#Ju9s zVyqv8eluxh$IKtRHw}Ku%$b1O!Ng^L#MJ_=4r0*y@GE`0rIPQf$=i2F-00uwWfVM5 zw>M;zy}dE5NAphds2)&d1^8lTq?J$^Tk5WgwiOmN7bVTwE=Vigf4tvJ2fA=LZbny; z>_9ZfLaS$g)CN{J z1}qOr%TXdUYx>zivi~q}vCY!VUy`OwDB&!!>+QF-N$*?I&zIF(@?IPzMvO;^fTo@l ztK*K+wtWO-mJ`iR+c^*y3Q^WA+j1n;_LZx@%>wYiPTheuxK+3HPe1C~ zYoy>J`z6Cjc_2Z2f2XpQSzkt71XoDZRv;qzWq1d6RkZhVd0e+G5H`nfV}cxlq1l!N zM=Z{G$6uV9fM905>q=HqrcFUa!Xq{4>h8$BU(Dh=Eof6iFTUpvGNV*E zmDl&mZWCapmA+9=FhJx760zbGO~bZ6+~-`=DLlxSklK5}bev*5eQ@;UT13n!nU9cC zFK~P`7I%xV+16~86C)$P%aT)7RA92->*i3zMj7NQ!yvQ!_&};Gt~%@=$}jb~(017>Q@tU+!O$bpHj~vDi3emR^Y(-L znkni1FlI#dx>PI|+1UW`ygfA;rJ?_3U5b9L_=GN_f(t9BT%L68tA|UNGS|m((Sa9Z z-vt};^{5usmC=6)$%uj)Uf0mx#ddEPORHWH1}%@tX<|cTbyibA@?%xuBJ5>cb>708 zX!vDpv5WWN`_nDR`)k@xXD-fi@K<^g>n!#s8(gUbkHc{HbCoILgh3-H02_+zA0Ujm zfaZCRA=~Xldx<@}Wo`bAc$(#eVYq!6iSBG~zS|iWu0K%Z{b#{~_31Ne(S_-Wau=tP z<}4wf%TyKc+P$7tNJcoXNBsjP*~EQ!S3+ObhnmjDJ}F2Wa!B7LQtFH2rBh??t+GAZ zZahThcGK5JKpe6;Y3D9#Uoqo;$uUpyI*Mn*jJ}rH%K`9Wh&-YCnEiGXDamIQ_*<9J zS;1%1mt%*6IFsdU>|v_?j(MAbYp{&SI8uZ_D~dzt>E)A*fBWA5mb zjJv3JkU+sTG``C_&Jj+Iixb{$LP$xQP&sK-%>IrNyGrQnKj)91uMakij|8$n(` zsDPz$IJj34fV9)Ce;+18f~j5)Ex=0Ofhj;&DwndKLBkR0ayBCD^U2!j`Wi0jijT2HFn0K`9y%vcQpL9bQBE(p* zM^B~2)Vk=%U#1`R`ziuedLhc}mC&i9Vn(cnY^Si&aesHO^!!}hZTo9$*KP6i9mrfA zxNF=q8u~d@-l2A&ZCq>dkdLwJpju<1m>K&vpstvq@;Z-cC@1`4`?I(M`Ytfd+s`ti zIF}u5DGY!yOb%*kH|GphjxN^>?dys8=*Crr_}^@du+2<+)8s(AFLW`3>Ri(`t56Pi zM-jsLU@TrY2vxI-A2MhTrE*WMgs^wlZfp0sy;`yw!Rl*Vc^oXZ$+{HZWn8opzw+92 zGby-L3gnWTADTT2O?Ho`Qcd>!L}lt9M}rVRg4U8}F3o+|&l5a88aD^0ofDjD>s=5o z?;YMLlo=i2LN)e1s?l&>Q%y|dR}gF$HPVb-z-?b$1AjE0+-~!XJ5Coikf>3#Kd3Dr zW9rs^#xBXnprk~p6x-B-e^giT=-8VrA*P;6WnnGOMbjtCxryo9l?_;&vb`cnqDfX- zkWUKX=<^p@^M2#5r1`MW_s9}0KPsM2T#3WQd=U=B3z;4lXTlgPXJ0-Ku$z1>C%ds3XYXC3i(rYLCT^VB&0(^V(5?<5$OgA1*A*5k(eQrhM@;(7@C1O5AQzv zTzmh1`&{q-kBfN*?pSv`Ykk*em7;!J#(#xn3O}H`!|OT=@@m`C0k8nRnl;PDQS-u* z^mK9{dfU>c$sgdiAI09EEvksPaeXvAflSLn*YRf81S4KVRun{Qh-`$@JGppzURA)Q zQ8BY0po6U3*6Fc3sS{BbOXZF0X^Z8Ms}fYF2^WW&_^U)-lP|~B*;hl1rD>w3uGaxG z*Y6t7Wq}0147(r=(dqkVK!WdHwaesGh7=(8m=}p4X7bzb$n4Bfa#;$amYf@19QafU zOa4aiyU;FefBZTi*7CRW&PG$pES0}|p}ZLPy~^R?gYF$yEbdE zJGOvFv-#4bFbe6HkK58vTH|NSWR7zy7kr%c)8*57I&i%96RU3vuxy%F9u=3j0Xl#T znWr35WE8XxNfr@ePWfZEK$xDb2c3C?d`&})9!DGb&>y0A(!*1B6rvw$9-N(IloeiX zR|6uK*Fync850CW2JdJ7K zZ;gEURnNbLJ2$%8G3VAJ{3jdzFBMmE*24L=b}wUmS=~6HuDjcFSKCUuZl{)gfG?m& zEWmD{t0_Ds;~IgvGPTIw#JP`tW(Zl{*&0d}3W?@#ovMXvh5J)GJ}$(XGKuS@?bd!7=taJvYhA>RK4oG*b zb4BDNo`2x}?qd0Hx3WW1%JCi?dY*2-m+8wLB7>T@E^kZHy$H7e6D3dVRO@|-0ta+* z$Mv}9=budWa)Qx+4q(8>F7dl@h11VScus^`1r>*MOT%nA(L8MA5xIZC#N;bTcS>UH z4({W;H;SBFCZUnz;W*e8_}Tm24eyYvr#q^Wb;Si(#o_+Ll3S%K!8FW7dkCSV2xdj8 zsC`7Fb8t3umd$oJ!Zts4j^Xne2nfPG+n-j(NL&bdjfz)qF z&)o9^y^o6of=~{afqfa}%_%$_*2pb>PLLdER; z=AS_BPZ+#oT{4X=WD6Ln6K9<+?WRR6+0;4Yws*1!{9BevH`<$V&U}NKaolmAU3_~y!py$~O^A)*h4 zfG!)<1;}4j8IPeIwwh7<*Q4=*IbET63L0P;5@J~(;cFg?l->uVMZRFk4h_1CqwDbO zvYX|002w2$!hqO)oX z*mFdlU^<`V)ERP_PJ{w9eNv=taaga7^k|36f?vN>;jQj2{lt6P}kaB3Fr zzyqN!%DsKNu7raMWVmjT@-$1^EUcS25qR!gZ!*yDqvW4#nq@i=9<>oUC3hAMbvJfdL>TE^A|Qp zh4o-#M(39@aKNQnx|-?EY+NA**=KRrPMi9VmY%qfg@V>B9M2zcehE1vFVKI$G^Z^4 zVhVQ4fSblM_#qVqdfq1V!1bt{SJo+QZy2uob#GdWd#847ey+wZO~#~g4b|nkgLtXz za5c+Dhoj_c^3(U(EMk0jx>MMPRU_bIYMl!ZfB@oBD!$=cm*C~;DL zTESG92SohK?baZak2X?B+4SBVa1lR0bvR&_{q=lI*nnNQx+f^h7A91fE$vhFlEI88 z$b!yMY^OoX&k%%Qo$0y>xf!Zf~xe_m_ zp88p2Xqj3z5pB>v&F&$GbaX*qMsFz~ta!)X;=$bpBYZ^gFri3)*E+Sksry&y2y~&Z z*UbV+@yz(iMvIcZz!x&y`GSnt>joC)~^vIbupT;L`7sxtIP4wmO=V!(z9=k&sy=`Ga zt=SCjp}wu{eDUE~1?h!;pwZEVT+M4#HfGzZI$lYb1N)b`gV2oTy~ku)(2F7S>9ek6 z)o*r8xuYR0%#LiH{uNU_n&}GN3JgT#w&4L=h6p!Yks1uSQJx)ulEE}4^oGL+;j@ni zc~N=%Mv7`A#h zpS3*u(%$xV%e?Z`)K1D?-^#6BtQ+ba>720lIf{trw;!`@R-Vre1>N-#JDJV&KCz&W z^479UW8Vk6eSpUNPak0OPS*S}vfdO7D8unvA--JQL>16#xa1a(F2QJwrQmd^ysPX9%nwt8 zNQdW7oo+{ztj`=eIf*n6L`iYir+{}`Y`qpfYjHN(Zk01`WnZf7c<)IF9Zm-@)Ly!~ zr(Kyk(Zy=bBKzkwzj06T&M*{-)!|jND zxR-O(p2EDG{&au{e)}ACNA3N>qhqm0@;ey*iX$Dq_=kJoKXYOT`sCyd$wtN%#AU}Q z3r#@wVAVMo6>WPxlOqL(KJr zNTP1!9n#*1vZGofu&xNkE}kR#FT*hY0ew=n3l96#U8yZ)l8z$}s~v~-PL<-Vi-?-o=&*X5)^l?2k5sr`!o(xm*3oQ*5C^G(9?QoA zNgnvjo^M-ZF4y=WfB2SyeCP+kh2#QJU948ykG+8ujzfHFs-_@6H^rm1LD=N00>yPf58f!B!2;8N41{)YW|K~;)45Dvs7edR@Z50~)KD;% zf0AM>pf2uLRdGhn%t}RJ$1cR(u}U~h43;)W`(o1MA0ilVrPxE0&uI0%=XeI6Z(PFbex$O&+2Hc`p}c*W7F zcbllH1nlj zR%9?aCRA?_Fih7rcX+S4u+8Rv8AF#H;95)(&ZYoByC~&$6A*|4e3gL zhaa-Z-Hq4X$t($$1+qg3h~PCSTjZr3`2^x1%q77GOHEu^*Tknl=&Ea(Z{^V2?=nk| z%Pc@a@(bLn4`#f6kH^zW{);2{?0ixcVMS#pN(5CK=<5UrV+5D)Pm<8eZ<{NIh~;rGSSR@!8V*rkagCsRC^ga zq1QXFmCocy+ssiXH!Sz`&0!&AuY6byUDy z7Y_&9VTU$|w!6+hw07#Pjoc57;wAG?7h*PbX)skG-K2M#A#u5dD>9toxouQpgp`+G z@o$`AdZErn?$CFH?rbH8$zZuY}R|>W}sORk{**yRY5P zSZkJ8WIam+{zUS7>!&r?eoFH!-h<2C?Ep8qETgYnda}slkgDcYd@8wnlW_amNgWdR zk~Lkf)>@49lhf#aD<_xkY%SH8!xh?i<+%q$$~&#M9%GpJRgT;IFLWL2!a9s)GD78( zfJNG~(z9pGcI*1JAt_M{re?<>$U)Nif}(DPUC)esf}b;3XQ)KZ_JdIFarTN9M#N#N zA~+Z#gxgKa48lV9xGhhn@wBZ^NVbS$fcVR>Ps`z}`*S81r!DhWHVOHp<~?g}MEQmR z{QR3zmhN;Pq7~DwsSs!Si)w>CQr)Y}{``&)9NE^X8nz<8Gd zSwMt_XM5a>CFZaz=V9bx+h={Q&}&tWsj1)XI8-abz2u4AIc6mZ?VP=GomjK>r{u>(^szvy>abyoTn# zL>0h9VtD6<^hf=Ua@Ygbvk)f`h}UjO{+_Fo<|ue$y5#XFXiZE(0EQzK3<;e~X+9X% zoPm*h_Ey;sK(|c0;BEEpSUikFSprNp3~?+Yot@+Nd}%lvfZ8#yBe&Ph z7oN(pE-*_mj-pS;D?G*<_Ej(R-`jZ?#tN1Do7@xODbhl%uR)7;Qrp@s0$ML$HoGDY%J^VrIf!&2UH*Y<&?&NTo+?y6d_ci0j1G1baIn`Eyrm7*xO52Tscebt8 z8o74_Qv?*w$m<{2!k77QK`U^%{_nIjtm^W%8U%g00?Ht;dRJ^&H&q1E`f-qbjTo6u z?@v6;oiua<#|E2prwb|oj&c*SyZojlEL zf}ts&Y-miknrN0}>v*`mvfm8H?^y&oWf9@|c3KE8!IkZf-x&$3p<+x#_2o_Q(k|$w zCi^Gwiy!MP04;oXQ>Yl!Mm~CPA`ErP=A1!Fy=t}wB=SIZpgV1>5W?h%GB6|Jo&3aY@!b5(- zNMuab*UIAyt5@GGsa2(x)xya+|7_X#b<}dS^6aUTzrY8`*+R)`nAVR2f@gKSf)9=6 zNLh>G`D40C>FYq(mLJJL_=?7yc!RuMOjvx zzVcxQ-S80i4gQ_c_G?&3{+`7tcOD}j;B=cuh`Lq~QA1>1JnnZlx!HcPtM4kRZ*=*M zeiDM)L4KSe#77gzB5aY<-ADv7`VepGyvz}V_P!PZ$1#W7<5R}6fVBclR(uY!&s~?7 zevJ7W&Kl`vWHmAZvMBMYGAY*j;>K4F7Pi-3RQvq*WOtqah~f+y{C?5~`|^i*Dj2FG z2FA;&sqN_(wj{K?(yiQAg_BjpQ>Cq@aGF&`FnXbivf0 zXoKam0HgMoc2}zL1!+pT*KB9yR&%d*PIam~g+Er-I^M_?-2~Tb`>8OUM2>*d;Rw3v zB^~WZ&$!(@REsp_{ga}#s(Frn=4FoNZ9!|V%~x7}`~lO8XI}aIc80OdFN7S_gy6oqgDR+6@;J4XW53Mh=_Nq|*U@aFXs8LwPW06gIF$2zT5wi|$ z<-P%v#$pe`)1`cWpiF(93d4ORz4{&Zdh$JF&+bcX&u!6sl>)Dz?g(+fOY6NFXAKw=qeCVY)TRe9M>?Gfl@J_X3VEf&x9 zY`{mdJA>?^F}{yC#wK7o6ZwG?k1i~bzveXTyx?#p;@F1_icLoV%Sj9rxCu*m(j{8s z-}3cxJ(P0XPMvM%V2bmdT}VADO)*XLqg?5$t~s|Ri=^W6q#4}++M>-oZ6QqLt9 z(St=2gcl;=pfuaj21-_nebSDHSzTODclJE7n*Kxt+_b!2E@qeiX_2s z<+;vbpbtCV;E~t0K3*n`&Z7K`YTIo+kMta_%LCYSOQ)tQ9_ClMp;MIlZ?|=GIvk90 zj1avb-!h8{`;dD)|-%Bu5XG83K$$0mi0un2n49>cH ze)@-Ey6&>s`7%bwuGmekoAWtG_k$Fip zgsD!_f?Y;aG_otZ<5SsKZ`W)0Y!1_cu@Vl1S$AMUS?VuJVJ#M65th18M<8tN77fBj37Z zxd*&vG@assL)1WeLGANVU$A?!D1XkaEThAzxCk#J{BHucMG5<}TAH&gF;==)uO zkZm2GMo;!wzU_9r#ElTgn7OR_3G7jNRi1H=22OS&yxx6z-U2g+HXxIn?v>c1wPs;? z=RflvCHTz|@inyDbVpPmmYm8_R_&8XrOs%h;{}lHx6r3av4G>NXK!E^h`KI* zIGtJ{mGCNyt#@%k%$-Sn?)s9~=$?PgCj4P{8JxY+rq9>%N?j=K*P|CevG;uFxw!oicTG;f{_$v!xyPh7uWyO{dgNE|< z)srbdjWM}Hf=z~BuZTLpe{|FMm+$4jJ&aw%lvcysh{3qn_(>iXQ*@#;*6EHJi_GTa zbom)&?F!KdSAD(4V+A`x;(k{MnegwxS-~iAo5oB%eEbU5O4RAQzrUy)Cuu^t4wndnndl- zo&d(sf9MniQ1LG?o~WnzqkwBR{~3ph$VL8k_Q)`S*Y=?bTDh(Q=IGN% zecsS#phe745x9{Nd)tU*FBEl2vyxp9ZE?3jKurE;U}mfeI`4x_Jv1#?QGeMU%^C3`?;&w_w#Zu}VW9j{eU2v}AZvK< z4|oS9d&a!4)#meUBM$FV-8<_A7=xbz=UtEQTg47NLwn|D{qgFnAwvtxb6ZQRm z@wTH4LH?Ot_?u|{hwK=vle4i>CJuKZ(mQwRUFBPlTdCAmePv?9O;7|+tG3n4-RiI7 z^Z85?#5u3S*JcH4E+_jGrSMuaDDCd>E;yTHycxZ`QR>*;*UXd@X)lyk=vN4NI23ym zL1By_BA5LN%X@8R{dQwR{pA%Pnp7Vm;vm(lwDx5q;AhQ&e`7zQC>1shnESE?m(W)Z@e?!+~ce79E{ey5*aB^G$ee}dw zz1^(7=Szj7Emej0D3pdCS=KGb3laPe+Xh`j1{vQQmOqe;+lO)|+pakJdP&c_`3S#k zpnZ;_+rDfnr+WAkp~0y#17+|a84Z^o-)rn>4C`z=9_rdXzit$*eC18uFaWv6;pQNZ z8Jl2^Hs!w|0x=Ryp4(ZxoZ6%zkWG39ShL%Cy_-0RMR*qBFjOv|Il7ngs>>KMg3?l! zQt_O167n+LL>QCGtOu7ixz?OHqc3Wdq-c0sUifVuG{3&M)cMxdTKLdkGuO0sZ;~W5 zQ$}pF#Khme)N&d!;)48MH7p1-e%rz<>2+~beBGG7Z+h8mD{X-q4Ws(d`zLx8wpev( z(vo++OYhvWl?Nn1689&pNA=En@n$Tw3ke@dilsv}twOpe5gp zZo(BZn9dtHg?f6MLUuS7$!kPMy~YbOk{cy`2~E=ZL>VfKz7j9!P5nh0Dd~tv>_OhS zQ&mHojtX2Ed%Cb+=JzpsY$l=wy zhNM9?J3JIlk%SWk$tE*`BbHSmUm5MafP~85&0*NBmYzlO>W`;VdxF||?wL8C0p1Eb zml?aFM#m#Q?QLengQNyb64&rikMX=dIe8$X&+NW!3ESRKnvc50FhX`B{3Qu$obdi=aGs ziHvVXx)a9DGGru!T}UBd&t>QB|~6jJ-vw6SV!W+542f4DV7#y2>C{!>CR4JjCLN7%mBzd&9`0 zEt{#SaA}ZzQOHSSugvtl>JUyMg$b@k=c~1r*5=H*N&~gB11+Q_V@TV4>CByn0dGJ8 z#kITvi9PBh^HjG9a~5*L6&}>=T!a|!V`RajjkrlM!fW4U90#REJ==bh#}oJbWNtxb zIoI#DH@mFOF}&Z%b*gZgbM0%~33Bkaap_chM0}5Km?7AfyNjWHu$*S}V-@8f*B@Aye3!oCMBG~LY(X!qm#^54krAlM;L};GHdf5RGow&P zL@@lk?sc`c(iOXw@~{cXpiPT$b*;1LHN~XIuuX zkY{3j&4c20Gx~KprafmQGRRF27IX>L5q!dnv!Yx zjH_vaW?x9VdyY<#x!c`yXT-CQu&EWTx8Hk&cg3|nHv$VkTX&qJhR&*;X0P3Q(&oK0 z)9jFr0knc!(imR1u3Uwsq8bg?rD;3t#M^r~iDwZm%mK|RzRV8vDp;LT<`#WZmxqJ= z@Y(5C8dneF3)Gp}Jrvrz^$3Sw5A*~-Ug7Ay!^5DfX4hJ;Hg4Oq&ov+?g`|pPI)g*z z{P(o&Zq3Nrd~>}Rn%)h_y_J9K@;Sevl!d6N?;9l8Qb#yznyu&$X7LHB1ZFZj@{AVp z3@+mk3}mDt>ea49P*q2)JpsR4FM6mqxAdeRKN<_oLfid<@zrgx!64IbBE-E~v_T}p z)j>5)Tj+8dcrhGEgNgAyTb~73C7+1eOKujELd(UQ~J3n4Snu*kEX6?OZV5&6}J6+8M)LD>HNiZZw4j08UJ3lesy)H zyYRO8{QcX^y~X?3xc5T!?k&<=pu2I{k&v`Gtj1SVp{4Q8RcT(?O0qvFNN1OZoA59^ z!q+c}fLc8hE}linBMxs0DE44P{2oso)?|QmjZBXF1P%K_%TMIp7w6pJ#3N38N-58B zSgqw08TtF}+-AIuTS%cP&gzXm=*x^EABvH?lQuQ++ICXzD|!kgd|uTMHdk|ANP(?e z^OgL<;(}8XbiG41@ZF`@x!JGG5Bi5Iz>d)T{<}rpwu?l=smJNiBLZ71ft)2D_DE?K z(29#wt5VIE>8!U>K4@tXcL}uL=8szP;+o7iSU|`h-9>m*>Gh1!`f-eoSg=>!QvMEf zcr2b>MH1y<4W?mz6pT+2(1XVqq8xgCR^8vHAR3IhzdYMfbK5YFoDB#-DEfI4b$fYD zyEjg=w>N}&b=*((T52PGkq_+&Wwpf3{`M6tn{8lfiAqA}E4C|AS`391f)n(G47KfK zA6+dxS}Wf#i;^ojIxW+NG<7aJ%e)oDfy_8=GKCg;P}y{_M%t*iPhGZN?z#tG11XZV z`A>N=fZ8|tnvs#g3`Bh(qI3Cf6!Lc z`fr!27oW8${Rn7+hD&&^>01?hl4#H>{UI|GjPj8t;Cb>p<@~F4MwE0|HT7tgiceT2 z@9}3wc0bEsxeC8FT*=)eJ+~jX%0K_SN6{fu#g;&=ztEA+C}X`ofOhSGI)9cx15^MS zX<)W@eVK%;)!X5mt*<{Tm&k-pd%wV+38=+{Kix5|ugE;2zkYnjQ|Z`Up?Sh$;6!>sPHko=5>>=uH1shYUxyh89?88r1}yCpqaJ}t`D-ugl}(Duo5 z;zFoqQP1qnY^#=^*B$)P!)J8SxyOnr0N;MiF7#6RwsC@JGy+7OM7lHQUZMAbE^N8z zxLj8TGnk8OLezcSbL%RoZbmO|W?pu?y(bRPH~F=Vy!9L?XxwT#Ix z;Xocd^mroG>y5KSE``OiKp;gQt>H$f>v$EUGT{MKW0H7q=PWPicD&Y*u*Hkpxq3+} zwQ8+m$*Gc8CAu6g|74RMr$kIi|LH0fn)dRXE9~D z5qoW2jgF>%n{)H-g$#B@Io^hA(&-zf)u*TUud63adwt2&n2dyWpY&@$6v06*A53el zICx|;Xlnb$TO&zq&Mh>B+kmPuT+GoCGg}`YvJTrvuO}u2z)j-g@>8qLv+lHj14`X5 z;mk6o4W`}Be>$G~!k6mS$WZ%)6ddA8{Og&rl`i&a2SWraHlvjdaMET`gr7V38%14L z{k>7}IRBZV{wP{Z<9U`4RUz|IL=3?LoZeotU_S~u3m5^mv_V%4So?^LN9z4(H-N+r zu-54rz{*xY`U+45QK$4G?LhLZcv(k|4Q2zu;EgpNw30kfHplCfR1kVTHV6EtbT%C<`8*51Y|g zd#TKpIG&!I#<5OI|@*-TSi!&lf-I75c2b zBrCPZ^~>n`q}s1<=S~k|nk-C4&D6%!Y(4bts3VB!*8|p83-kw{Yc5b0z9TCJWU1Gs z+JB}d3}aG0_uV4w>AZwLoehPwwte4<#@eB|jfZ|z@ODe9;7 zt>_;dIKUAsW`9*+d^a%y%euTu)L*GZEV=O*AbAFH#r&iJIEvy&QXk)tZ=_j!%&Maq?b*z^4B_^Yqofv|loxIhRO?fcs zA`zFeOCJAhLRykY4bs`?bRAjTOrS=DsUh-T{90((F1clNJ!xqn93E$ZG?F%Of=CtsW; z7r_tWsRTydS$#C|Ed#dXnp-_y&&sCB|6p4EUwYGq0VpMBfqH`a5v#c%<@3l7GTiry zj4&_kk_T0mZpcbZ*g|VbGB&O}1lThw5Z1a3aaHsCXIcscVdyimQB5<-tlzGW!sG3h zX8k30pA+o7)T{_LpHcv&5-);UM%z;M1R3A|!{9h)kw9^qfZ zwdZS#4`jWzQ!zRU)=dbKPruRCcaIFjN^5OmA9Vn3!nIGL_0P|>e<syId~Rj*B>EttBXn_k!!O)`+R~D;=oGgFWAaD{=^VSI z;)HE<`8;L%cWoyCIE3cSTZ2vv1BEiSNKVbLo)Flyoe>y)YXFG3PG4Ex^WmkD1Od5+ zh_#;_c(nsLtxyA2?$#c%V%;lI;t>m$pYW4)RqveI@*{^+ zMXXfNyK!ptOJ~PZP_Zp`vF`+N;twI58pJgzEqhh3K}OT4#JlrfcL7?GeUuZUH;UYX z57|R)dI!iZEHeX&s4;#$937jE3YF7UY3HC__dGuQ<~L7-T{5}uSw2=$Gk*)a1hMX! z>{gO-^IPD@o8KDW!d6#)9wCTr-idh+x^B81@JQu~OyJE^3bZ@)q$-t}gYzwP>s0ph z3ly6f0-FzP75%bMop8dyo)@4!oz^C13IX)B@NW{hW3J}>kkmIxgn%?~N2j{&q_(^f zniv-g)#=2n`*{t#_5=x}gp_s-#8rzE2KBP%T+E+&6W5?BfY`z24|& z<9}gC{S%mG%Z3N=z-DuedM&8H<7du!4v)AM+F1djm87H%EFGMYOxw=f26C0SvO_htqGdUd@HGFA_cG)XbRLM|0sS zy`?7hXev4zu>6mq241MiR@zWJ~|nd$mR?M?Dx8+VJwp5=~3 z&kNW84Ria)U;9XlW4#3y3b*(Rv}gMm@4cvgz-Pw)*!F+_|2emB`i>*5M2Yk7AN+5+ z--yGF0@J}+@tpi`pVhtv7_%;RR^C4mmH&U5pRFj+0_QrhJoG;e`Cp%ny%Hq;Ckx=; zd4|O}z;;rCrS<%OVm|-%>;L$QFg?&3v03`(0sp@NWWoFAC$EA6@i4Cgi;DklH~>y9 zG0=kaomejL-#`29hS~S1{pG8_pA!H~hld$HQU3g200>{R0H+n@;=})f^=SPBXo0ma z`v3qA{+sy=dPJ7O?>GnG;#eGC{Z~lMx1oW;*Y;8V)=x(ebR?gV&@B39u z4)kjhq*wW0tR&El$>VLRz5M%r#oqKwx&1@g-_M%zjWMum>!$sEzkvC|!-(MMIQ$oj z=VqPJ2mKhk_cvC9&8p3Qvzd@rSaARS)RNz9CZJ!5g@4~KI#!@xv4NC^e?PUca%Qc{ z_cx0qY+wvtmlyPV;-}}M{1RU1Gtvwx%XM|+$zIz>cdkwTS4?aF_pZqDKe{SMt&n3*hbeEpE(|#UXbkSVHZO}Lyk>;mi<&M0_^!n1)d92Q zY1k;g)G0jKbYPyr-0fwR{KEqS2H{HO~TI&GBeKC zSeP289ueSM0TkpSknvS(t8H9}al3)4vyC7mw5C#FbMsDxbc$Gt@G9dEk zb9&t1bCZ|87J?1vRatXR=V}*h3JOLq%kK$>ost*-)wU7-YKZaH;icW5AAWd8CZ8(P z#GFk4r&j2TyXxnW!id^U_Y1E>KnsP}v|aVg1@K%>YV7YpY;H)pK#kVKRxFdDhc63P zhX)I_pr0vPSY8{$?hMmG=|moR11!{#8xHCjp!zae0IpYed8&sVcRVU7z3b4pmPA=3 z=(RidVfj_?G!Pu5lLlOU9SyE4!2pK!haV}Uq_7?U1v3s1o3YLRFvdsa-5W#OVF?8a zZZb$b7GDab2v(vtuF=~M3`_ls1$G1YI09-(+v>^uwKzPe@izI+AcudRCY;BLAv|f| z{dPz7vw`B<#kpBB?DZ`&bX@Sv$#t}i|9OFXTZYVRW3uUi7&4AlYN3&n!S{>%zrnHp zVU;6K@#=t?;H)`BRR9DZe4v0{n;*Y1Q4n8HJ5b7%zQU4@)f1?EvZYf9RQ#0?2XgF< z-s9rm0o@>jeiUSi<^s%_3Bp<%N9@}W z0FWhh_zu8~CEr88L^?Ge^ae6=+5*>AF0Rj{=YJtZf852H!Tp`MP&mN$KUT{>*uOAP z^T~{Thv=-sO6WC!2{W$1TwhK~5R@e{NDZ&xc+~t_>AV60F%QMh7DGZ1=yfq-?!{p- z1cTq@EW)!B0)}rJec1ah_XGm4_()(t3V9W3P=SjG|Kqf0Pk0V#v6M29A z21eH2NjkM#(M7@-jjw9H#(C4K4L;B>jTOvJJ;FVuRg7b7$k{$x_zam|o{TcJZC{2N z+hmGlHeGz$cnqOL=9d0HA0(IB zN0A>Hq=8}#gUCEMr@K_PF!rXG2K!BjD_CZ{nN3S&!yyE73ZW#t)-|wu;MMO|>wUC4 zFLic(+QyvWy&Q#I7_nTl`K{y!BcbnhWdy~EdoR}c1CnSQ6dVkZRx7%^2@>-LR)9JI zeBPz03s61VA2oahyuYfS+YB(Rv{ppLo6P9Y->B_yNC>W%NFg-R2i+9dNSesM+A~j%t=iMHVyK(?A1CKk6qdoF^`|u;$y6zE z?w(8>7RS4o-dK8@WQ{G0+xQUnW~K=ZmFHsPiC2VwOaNCEY8sar<@n8Spt@M zIBf%COp%gmpMQ1ke7O1(J7TN(VzXpdrB4d*s+iUO)*+f&sOzP(Z|Jg8d(c(a3LHlF z`Dvtej9itFVmI3mP+QllXsQj^4?5~wk9lo`1o;(q!(Tf{3TZY&fYmT3DycJ5iKzz` zeS`MYwC`dN!C{^y#tB$7Fw`?&6mVinNdpwZ*hOHoCUu!6>7P&-2puF%4_mWkunMa- zWx~$~v`5sHAi2k$&7X~`b<8$hm(DY`g)0)RuSg^E_u?H84;L`x~PH_6t;`D+@Nq?Y%8i6fMEHhYkQEJKT zAxWr3IzNI!l=I;e3BzXzW8BA?ZWWXS&vWG!3tg0f2v=NzbrT1S?MI)tlE7;ZKdj_ETR?UrO?%z*=n`?i7~j6k9F6T z$}YR!F8HP@J!RzC+AEsaG5Y!*hfF_);LgbV8hicq`k8={0pr_9g8*n!gz)!Gch_I9 zvfDa2ccf9=Bw^(o8fo|D04N<_;IPW=2$DHkEbHnliQc=<6dz+R3y{(ZS}5)V#ge6( zPKMs3&W@-gv%#piy6g3f97cs8Z=|*S)+4?|H)dM1a#NoR`p8$W@;+qliXerflto8C zk^tf&hxfPq^p3d-iGH&-Y%tKX%)+wl`I*Ip-R4j6QnrgUm6~XsFJx zqvD`$aT{l5r&4(P{VEyF@P?-m7YmVTZ~V#hS;P6%^!CX8;<5i8VBolKb*DcF3Usb2U{k>aF9K$1_Jaj(Dw z*k~%qu~LatrGXh1TNzghOu2!^T*r+$-I9<@pXluLjKJS`YvHQ&i?hi#Yp(1&u&Kyr z!~}W5{!Jh(<6%3Y7MiOr0SEIPq5nk+;{2>~1K4NQGB+6zhBO4AffvBmLW>dh!IL+6 zU#Xd6iwf4Y1eDDQnY2>6Z?PlGA&a!2*Y^~1pN`xP5PB{g{rt^$F^#)r?@ofpIAnXA z%#UUxCBX3{MLtU^pg!ttTpctnCX}9Ys1BTDL4r+6AnRztC8It#Kcov6X!V*|6WTz1 z`+31(LZ!s!nbYe=Q?W@{=Dee$7NVo3iPH3dRamYD$MA&geel+faD3E*G#(?=JPTRS z?msbg$E%S>0^|GnXDzbl`C?=NQb&SGF2**|O|ISAgXe2$;Bjs#-_6*6)3y5==X%U-;b9!%4tulTfcRlfllIc# z9!r?g?E+uP>hx&h=blhP=>1hP{gXCLf@rDRlI4&6&uetkk{uBRuvhMuIr8j^G5i)K zBg0>$)3A`|eiXlu=f`Usp5_IOGR;Mr6r6fPNnO-5#lG*Lfe z#qkA+`L3A~lhW~i5Pa+j80>bMnDACcQD9*>jX|*U)HjFt4Hz}h0ulr=xnzM7y+M$+ zw3vwmgy3Pfeew9PB0_N+225Xt&EAtC?t04m(_mM$o&iS~tzz&Ar0}&4N-KMT41GJ~b~WY0UY9$Y|D^9`2^s$G+KfPaidPzBD6qD?HaGryg5v{W+Q^ zX7{OR2=pS1<49^UIED4(x(MdzGhrs`k9PR+4V<3jmXjpAZPz@_-5d^LutO=i{Mbr2 zIeAJKwAT$pYb&LLMY>J*UhTho>)0(r$%-ZR*f!2bmnlhKY-2Ig{7=f$a4WawTbe7$ z7t%GoVVnh5?Oy}qFoInDrynpK$^Gsf@*DWvdB-Ra#Q~Qy)^OJLyM!|1r}zD7`9_nS zFr4Ni%qwLhb3hg_l7Q0x)a)&UETykhqm%3GRU&!>%BucXH+=d1vN9xIyeuYY(p>1R z90Ai8!5~+(!P#=0(~6$6lZCRpuS)J3l^;d6n3hvm0>ibO_?Ip1M8<^ou;`$Hku&#* zkPkD=M!sSLl-o&JziiL&^Ln~30bXkg-HPfU9P5q)F7BmJ)vi-r@f#%@l_3z)(enw*L6a>|_I#F2Ni5$jN*Mf3j zQRV7X;>Kv*N9$U-HoxV9W^H>Oxpb9L$DVgQ`!WPBc9P(Uaoc|a$l z{2wP{k8_vK3MK6Mn`sY1#Zdz`1y4_H|F)1BLf^Y_+I3P%O9BH;9sL$L5#iWx^h^Cfb`|@DYER<@$jaG)R3GnfGZDMpoPoTgmPn z;fgUQ-rjYrmrmjy8s}Vr`?1PchCS$R0{s1&5<;929bhm0w0f~RbCc7gWmENWylS)_ zdAvJ?{yM4uH;LO0kwVu>q~J4he=y|Vme)tMcVTV{^oK7-Xt^IPf_4q>oq~%at--wn z9^v5*e*O8G$~DzJrZiKUc5L^b_uJWPy?ziRBETqL!&`}CYf^XgIa-Gym)5qTpV-H% zn@aSp`Xq6>3O}?1DdbN7n|R_AiD$d6oCC~orO+i> zgFnvi71m?P%#4WAh#2DtSQd11DXOPLT#INi{~9Z$6hl3 zwpu;uE#s)2S5b_x1V0{d)aZhn>+TI*>m1$Ou}?pUv}B|g+U_g~`x92&AZjCmjVf6Y zKE5Fg=OVO-Wy-#jNLzBxg`KY^%Hms`VVzin@-`!{eq_9-fS&EneHH~S5W%S4*)gv0 zjJ{RqRbXDSJlSHR=gIowFylQTj((8-9-A6WL3peD*m{5Z zb{r2?E3O`m*S=0~>;uPm+1n-x}(>L<@%0NMpuO9m_zln=+0)- zAe*(Y34L}pn+1|*^|*)np~Tm|@V^zR6d#|AOrP$IWtlV=Ii<~QPvlsoeb9}V(fxT# zU0SsDRMdyV#B0sdc*Eq z=PqQlv;Y(DF&itg#g4GD9tBJ0+}}%NCsN$X@a-rGWdYO8pO4*~rKSOT28@ z5Fg*tq1b%4H)|YbIF1A!>p2RSGLb1>^Sy*x3m(s8Z)r7(of&)XN+xjzy&HouWE*)d zhhnl>)L4RQuVCJ-W;u^u`%z<>%2XOGOOOC-XxZJL4$a%swn1n26OR`R0_`T(`tSNRu86LrkuMs;n|oPedSEP6D;|@d zKP0>ebUFE6HAk@c`xvu%&j1w%n$c`cCY(LeWLe~iu`i@K_D)@bblPb*PD0Wx3&^e26=?*F4C+_ zgjLl~>uT%H!9X~=1dfr|4_NervKT5S+$BSiq}yhYHS7J!@2{nAOvddn3-|jysX?Pf z+#ACY8GJ%|fsu5CZLV_~(w(L^9I|dlA{1rCwtJ$RcqyjtKKv=)UoH3$FWENRWzV^6 zn%A^@MLu_;C9+OT#*A~bl;r7EwG~8=K)1UnW1RZ;FP{S*Jsc1iH%oRwelHy084$^C z3os{*&V=Qq_o{Qd{WA{WxI=bu zn0Papwsi|Kx_YkfWaLx(+{}=LaQfWY(XrEkhg71f?uqO2?_-qOPMYOvjt)|_9LM!c zJO4pbgDc@mZ=C~d#mwGr_M9s7Wm(Ejl*9!5TqIth@cAQiaRLHSd;AyneGlD#d$-ce zbgjHBV;kU4(&;35M>MPhkd={@Kz4Jw8(B2zd_E6q$)?^$$!Bui-m=nO$!sqQ%OxM3 zGmF;OzBW?W`N5lEi)My0Be^q>lYh4spht@{)-GC2$}>itr|cc?AK2UvVJnrg_tqS5 zd??(Mbivu(`h-pDxrZWQCqqlsw?q0=!|w=@0M^HSa6BfbN&w}5u{3m==EMm8^p zdGzfU-=-p5xKQODz%D)Zq1T?nT)2G*4{e}PEdFD4v8}guKLo9r0cD$6st3zFEYtdt z)@?TCb%$-vZ}00`pT9nBHIdE=V>o+}Fm6=}9N+^0Y~mzU`OeY_kxNSK99paQO0udz z)>by*{@rg|8U{fOA2&Om0SlyVD@j+?d8L(!kI0V_2Lhb6eu84>PhC}M^E|gzTMD}` zD&K{xc7j&U#?5__9^n`l$6+eQ-l7)fhkk^@LQ)BzidH<0uRQidMXAD4_Rd6OR^0Ah zN3O_J%_+j|_qU9vuDYBWkJnv_$+_g7*XB6al@#ow)+A6LL&}1WpKzp^t1egl$e!LR zw48~6bH6Hi??JGapktgoynP~_wPD~vBNuQU=XX0}HZt?JYJ#^8kJ;*~{%0Nkry4wK z1Y{p^-9uVWFeSY0uR;BqtNxGe&Qd^Oqz|xu_G?z}l6J@&V>lz9D5tI5N;mwVfN>*P zlVs&}CMH7|pX6#w6@&Z5(^F65aNkk(-VF=b(twE66AYr?*xrS#C^zN6ypdnnYK(0S z&Fj=mjSIwRqcxI~v84LqpX3iy)yEv)Z+j2t{vNZEtc43&jV_<%IeF}J_7%h}Q^Hjy zIS*a;D)LT?$P__qZ!li^4M+WMtCE$oS)Gm3M!o3C43B2*r&VtK2P_{qAp|!(%045| zfO}P^8`y?vB~q!Ow;rP0UeA+Pv~!w9e|wR^gB=Gu5=swVsB4(bKUX@kE4srzTWyuU zqT%4qj0$0QvOb9-M%NsPWffNAB#5MB>`DJ-mWm88(G`VzO?pV4F3iy#h2PO7*}Aen z7;Jyx5x@WP$U$*Wt!A_1QpE`6dRHALI+4iYGW*5XJ~#4=lM0q-;r%BiN3hNHol zcyf=?G^aV2EQvKj*vIc#y>0v1LxbH_-X%zP&)cwk;7#d0k zs%cMjYk&+x)W%u(!WIs5s7(#=cAaRLyI{&z-*I+@Wm`9BI)Yv4R{paq6`SLiDyk?~ zYQ={0*^O1rvgPd~x8h0nuvY>b2YUPCt1Tj~HU6>*^j(=k@6~Gx4ou#X8zf)DM_4M&PdmOnQ`6A*e>yY+P%`hz zA!{EpjQvAkG73+xzG}qoJrjqrwmDpPF40+Ws8o01q{anr2AzERMljlC#Z#7Tk!L`` zrAC3|>kV$_r6Cs2ft@eo+#y;0=0A2hIpSB9qPSjilS7zf7IAdk#M*UpI})9 z#aJ%ynd?LjueEQ=(F&d(td06YmHa_1==lJ7UnWSk^5ux!oRCZZ<2znu`s-smIw0Wnncz+Ioao7v(Z-Fh?&lkLu&)k>G}I7PL9sz{SU>feVJ}^vdD`gf7Ln(wQYB$e>f2aQW?Fj#XfcY}NcLQ`mbt$Ml&vyWLdcU)qag2tDdAj8~K4TU$G^7E= zI9oM&OjEjFQZrSm^Xe%b0cq&W^wR-h%;BX57VROSaOq}_+TWS>0^{#L=1xR`$To7K z(r{Q?(FEQjiL>p)TK?d=NkcjtwEczPgvBJKf4+K?+mW_;bXBP#$p2!qXB96B2A0*^ z&b9lq$=t}^*bjNXRl-s?vf#V5mc&{ULgQFrxHsTZlSzr~m_JY5&IL@#wa4i*d>in( zRz>bLE>t(}ceC0&&|P5{kJYlQfds%u--pvgRvd81l#f;n9uzzP8=+S~^t%?}g=k-U zCv&*gYEjlt;iV{Y_O`DI9krkp;Kh$>1P;NNO$|BW1@1dRHapo{=>s<^XhIkm@vIE+5eUh6V$X@;bycVH_ipGi`fk-w9%s&-9n zt*HI7SX5va6eJ-WV>!W(^oNW~eM`?kk?R$x#f$+V+Y9-+m+R@pMwEuxVy`Y|SPjQa zb*px!CCsX9bsq;aQJeFN%?J>~B#LU+^EAj*W?pPuW+G_)pBIj5gR;LB0I|smw56Nl z7iLn=-pmb!oGe(sFkP-yzjWU|zT}AncSo6>dgcppvL z2@ZuH_($8d#HsJ`1eNtku=4fyNXs9JUgsm;rZ#mKg-#9TdUY`*LP3#G>)X5XIo$%~ z=dO2>nw-|%!m3k`yh^A*&+;Vw4f8%_7iblKzbY=+I9YrM^*VneKMTad_<^JSVy+i? zkbC@BEc$!ipXmo3;Akn*!l-g!$enxNbNx4$82D`2ETh)u%qCHaOvrxU?9|Z-G%HZz z3UEBK5Gl6QA}}y&H;eX?+5NPQHe5!Dv5e)QO8u)|_5^MIJc8pyOQ*yChR69x8jb1o z8(n(7)JA)%EiQnGLLT|BF?}KOqcqV6{Vl)jgG>@Zkk5+m`KF!ngHd)Lh#Ul1D5<$; z1XE}_`(7yjzR`90#x{8)42{f;t{LuXi$2p31(Y6~Juz@gBd+`Aq`E$YIp{U$tYWx4 z}i!(y_>`aEVmY1Le2g1Jl1|{ zz0vz6`vQxgi#*VSDcc-u7DED(M+-LQG)VnT?A>^Zv;0YBhL?QsdtCPc6x*>QaYNts z+sXIHfN!o10(mufaM%I;vXSA-IoB*K7Q%V&YBl-R_U0Xz0k>h}dG-ULt_%6kpn&J3 z!M!mS=@8Tkh$VLn#TMFWJC@rB(W2~8ncD+isR*kbH>MPd6ZGZ`i}?O(qFs2kXitF( z+ktWJ&7o(E3NV{)TSWA-h}{5nmAZy!aKwD|Pzx;DU-z_?EK_kqBoPp67{b|`XR+^m z9A_s3eVNrJa}cn0 zgvRf$+^z;~mH_%PAX&LaF`Od9zd;#g1D47N^YxdZf!`#4{jw6=T*J&oMP17SfRd%N zP8w#{`4Yk@aMFyklRy@JqB^#>9IAwz*l_NguqdH(Om$ho?O`jE`zFhUcrURx|NTTo zr%B8e@-^LtEn&lj9>3h;ZjY5yu%o*L8HYK~2QD@y54V!Gy^ac6-z$3G=XTp8w z+G(*zHDXDYv`-Tf=LSN3ppk8f3XzozJ5#;{Ld<#=&+2%{R;U)mq{p|bGnOdx-();0 z0hdw$;AOE$JPp7&(4zK2?qQl8Yz1y8+;Am7(n;pYoh=Vp)t7ow<6QZeDD*vW%x`=Y z(s3)SpF{YgtPtZ8-1HIdMEd8=@(~5!#(dcR=ZNU=FB~Dh1esqBScK=kdsOesf0VIu z>CqBe8UOB1Q3M4r%R9dl5KYtAYZ6Fike#l?_8;z#+)B4;ed|;0$f7A1MW%zmp>?YM*9xgXgx}9Ecq!&>$1gAd-Zp*E@}*SL zQ|M}mMr$A;`;D_g0eu!cO}5b_l67bRDiLMCnV`KhCvoX#;+R)qt!fSypdJd_=8oJK zh0ESOUG`CZ{qAkf<)}yW+zreZ3tG`&m=hNgv~Ah9X?`F6AVdPLSm=qQ@}4dq5d$p3 zh5WbmLcs3T5Bp6z0XL(3hNacB^&Y!7U&U#s4g2X{Iw(So3^a&&6=R>(2#pHW2LKAq zj|W-4yJHCh`rZa1ZjA!A-r-b*;zM{WFZjmS#m5F3+Rdtss&=%7i_RPKgv9oLl;v#J zw3oQbxX)bDt2_9~mbMeg`pt0IOzBo`c3ga8OR?PEfM0w@~Gv;F-lN`K7?;gnp$>_vFegsd>>F%vJeeFY1r}D zOOZ*6yuBNW(e@+nZpLia$u+tuul=aB_8qMoj?VL0$*{}A5zLR0*XOU-M^Vm|2s@6Nz8dSr%GwYa9&)^(mS|8=MtG|Z$L%7ig8BpM zMG9pBXhP0{A!>KjCL1|FK{&;a;+wY^X||d&V{D)2tsoPDQCvale0z*>DyplJx$jo^ z_0`IWt^8WYPKCN|ND~7YI<47iwqhc%$=;LXiL$5u?SB01)5ulqANXathn+9I;~oVM zE$DP_t$hA?wPC_YyjLZ8$#=o6{!<8^b}O-N;#$3NEN}HMpBFgwAc?UNL+-X^J#Mo; z%W4T8v&(cD&E5^#pIb?!`c6=-S+-XX7O8+hAa5c+c`ZTZjSkX-N&AhXtO~ZZ=vx_6wvs~tx z4I?_H>dw;-%uyw35O5a5#X3E)by3OI2MU*mh(*z-DG%{>RwRPa2F{fm{v7zzApX48 zoSm82I?;bUmtVbYv{zYLG<`B4C9Iv3U8Nb#Jt^00I_Di{bm zvp+DU80vF(BhP)zS{}tE*7_+R{JahL16zR0TtCHOJSfXNYM9oSg}6;))#)KQb_y`Z z@|7q+Y!kux==7q7)07WFHHzLnm~}ntQ01fxGV|iuW9#-{A^Wo_paYa|j z*}ht#jQsd0mO(>{?NynY$xl{?+MjEx_G!_pw`DyGgu0P~++4I#rWGTmIYZqQtsX>2 z-#&9*Jp!gWi?$oC7T<$SGy8e*@iI66=)RcWg>;!O9oNu`>2Sjx?x&%`TM zg(LVF`zn07RK=`Dt<4NPBJi~u1%r1iDs2{@Pg8E3=J{2!$~ZLUg!m{^&c7p{jOnve zy)nPdH{U-xkx3jD{2M4Yfwvxx4``9plGm?o8PvNc9lVh+!Ep^OVFc{ry=J7fvp%r) z5FGEebfLd@6_*%SPLRZL+{Joren`LHYz`0=zr5=sCvFV<4MXt~vST&hNr{7juyrke z$VBA|9e5aUK0Jg3HEG*&$=n{WL}hfWA3XDUM(i&HbAQg4$ooylefH;oXzI3Aft@LG z%>0&qMNl1cH@xCYBO$+m-!&NO@@}TIXu5u%i|X|=|1F5&?{N_YWBaJoeUNm~cP1tz zk3aFi-E_&P73LJy_USd-g>v4WzK_2`krD4`Rf!Vq`kRS|X>LcuQWtd~FZR$?rPehV zBZyt&izusfks-=p7*SEovhe??_X zS>l($b031MhRke-J#WFOzB!LNu3Eg`czfRk?i|3Gm%L+9Fp@A~S#1?w%BwlqS(bG6 z+jL}+2xl=@r($)e0V>=|dfj1dK06eRls3{os_xF~d|$t7ebB~F9((!w(IDpT`|$kY zLqmefl85dahUCvC&pO~rC3qazhB0x=ksq+m)2>+d_V_trNoa^Ha)r0(MXgfz9EMCk zMD^^3rFdwF@ti3rn_fQ*A*zk%uVNS^#7a~~o`{R}`GO<_6x-lp04)=V#4A}#PO}aZ z@i!&3c?e~cDOgY;`m?c5^07Gk^%RKNPNvEs8(Y$mCF2ku# zb2WyfVh3xAH#9qLqGO2kN@*E?%>aptp_QXq`jmpZRZfRG&9$`hhnIE_{sbQImH+(q zCv{lyWDz^BL@>edHyZsIRW%j|jwwrIDwFrZbt;EZW#zR2QwzobwKW(OR|L4p7QLGT zSy7#sOL;wkNkA@qU>Hvm_E38wz1QS7$2d}s9SH<6BDIzezd~&^5~rF+|9sAWe5q;3 z6-#Udp|vl+xmO`(`>YFmDtIP}eh};GOgW-EE+}E7{*HXI@h#|44HG{Eqm`Xq_EZy= zKf?lpbz3@RQmd1*^RfN2)vpr9k-odVLT#Y z&bNCcp>O?XEy9~$@z2_;yx%|I&*V7mielgYXgI?2>MDxO8K+e5ZfCT05I_k%lntweA|8gdvAHBa`w*bC$*$W_ud@Ba* zW$aKjCb{@q@#Z+xoIQtzS|R9{?pfwc<3z~nU%~%%p8mIw0gGdWk?0$-vthON-Vv|6UU$%x@!tOU0+Pu|JA4+wrPx8yWZ4 zUjO6W;DFA{N@Rxz$*sQ(7K2P!5)Jujpr6POsb+540Hmb>QwII<>b!{aT6Ww=@KhpD zRZSqgSu7rJ6#E+S89=z|`hXW;#TaZuE#bL%zOVJ?vi)b2`maDOrRRqmstHE}%z<)9 z6ab$K-K<3xfq#hUB09!vx{iptxue2j!1k9o5d)pqw?N{_+6tbJ+*bz-$X*EJpJNv8 z^ROcNl&1RhFJGDFAGgUXg3%|9Ck^^v6O4nGteaF685L8hJOM`9(N?`~CK(Inau!d$ z%ZIC^xvV7Y0*_L@&=t^FGk31v`~}F)q*H<%5gRcxZ-WB=;RT?sgIm;ua&0vKd9<1a zMoj4NXRCU$a14lDShOjS?u*WtMi8r4#idwp9@Y|eew#Mp_xy{PB9-2B9a;t;jBO1N zJIs&*V>LJm^Ld*KqI~URGeH50O1#EpxL*R?mXN9*w2rf55Q57t;2aV07E0mjUkYwyy;H(_whJ2 z!JFN=l>hDwLC2}N`T?hX?6mSLB%~A7JZL&agePf%epfwo}J>!T)|| z(xi7J3hIeG5rNw&fPVFdm*n{NLfEm|wq3hme54?9(*%akKVvO^dN$xiLkcRBr#UI$ zja~R8P7rkQ6%2R&sk{r?j&Opj-TPpCC?gU)Y6LaLSrC*YV9FT!DPsUMU0yHMR~vf2 zcfo�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

;cQ6yNh1P*rm`0J+#9xu)u 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 diff --git a/site/img/travis-ci.jpg b/site/img/travis-ci.jpg deleted file mode 100644 index c0575b047f9f3f2e0b63a26f1f780124a5246fe0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16357 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

%wK9ZPeyUW4XyWU2@kZS%Q~2Q{-sxKG4+`2 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 diff --git a/site/index.html b/site/index.html deleted file mode 100644 index dcc057f..0000000 --- a/site/index.html +++ /dev/null @@ -1,133 +0,0 @@ ---- -layout: default -title: Easy rules • The stupid Java™ rules engine. -overview: true ---- - -

-
-
-

The stupid Java™ rules engine.

-
-
-
- -
- -
-
-
-

Then, fire it!

-
-
public class Test {
-    public static void main(String[] args) {
-        // create a rules engine
-        RulesEngine rulesEngine =
-                            aNewRulesEngine().build();
-        //register the rule
-        rulesEngine.registerRule(new MyRule());
-        //fire rules
-        rulesEngine.fireRules();
-    }
-}
-
-
-
-

First, define your rule..

-
-
@Rule (name = "my awesome rule" )
-public class MyRule {
-    @Condition
-    public boolean when() {
-        return true;
-    }
-    @Action
-    public void then() {
-        System.out.println("Easy Rules rocks!");
-    }
-}
-
-
-
-
-
- -
-
-
-
-
-
-

Latest news

-

06/12/2015: Version 2.2 is here with meta-annotation support! Check what's new here.

-

28/06/2015: Version 2.1 is out with Spring and Quartz support. Check what's new here.

-

21/05/2015: Version 2.0 is finally released! checkout what's new here.

-
- -
-

License

-

Easy Rules is open source, hosted on GitHub and is released under the terms of the MIT License.

-
- -
- - - -
-
-

Credits

-
-
-

Many thanks to YourKit, LLC for providing a free license of - YourKit Java Profiler to kindly support the development of Easy Rules.

-
-
- -
-
- -
-
-

Many thanks to Travis CI for providing a free - continuous integration service for open source projects.

-
-
- -
-
-
-
-
-
-
-
-
- diff --git a/site/js/modernizr-2.5.3.min.js b/site/js/modernizr-2.5.3.min.js deleted file mode 100755 index 27fcdae..0000000 --- a/site/js/modernizr-2.5.3.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/* Modernizr 2.5.3 (Custom Build) | MIT & BSD - * Build: http://www.modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load - */ -;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a)if(j[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.substr(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function L(){e.input=function(c){for(var d=0,e=c.length;d",a,""].join(""),k.id=h,m.innerHTML+=f,m.appendChild(k),l||(m.style.background="",g.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e});var K=function(c,d){var f=c.join(""),g=d.length;y(f,function(c,d){var f=b.styleSheets[b.styleSheets.length-1],h=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"",i=c.childNodes,j={};while(g--)j[i[g].id]=i[g];e.touch="ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch||(j.touch&&j.touch.offsetTop)===9,e.csstransforms3d=(j.csstransforms3d&&j.csstransforms3d.offsetLeft)===9&&j.csstransforms3d.offsetHeight===3,e.generatedcontent=(j.generatedcontent&&j.generatedcontent.offsetHeight)>=1,e.fontface=/src/i.test(h)&&h.indexOf(d.split(" ")[0])===0},g,d)}(['@font-face {font-family:"font";src:url("https://")}',["@media (",n.join("touch-enabled),("),h,")","{#touch{top:9px;position:absolute}}"].join(""),["@media (",n.join("transform-3d),("),h,")","{#csstransforms3d{left:9px;position:absolute;height:3px;}}"].join(""),['#generatedcontent:after{content:"',l,'";visibility:hidden}'].join("")],["fontface","touch","csstransforms3d","generatedcontent"]);s.flexbox=function(){return J("flexOrder")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){try{var d=b.createElement("canvas"),e;e=!(!a.WebGLRenderingContext||!d.getContext("experimental-webgl")&&!d.getContext("webgl")),d=c}catch(f){e=!1}return e},s.touch=function(){return e.touch},s.geolocation=function(){return!!navigator.geolocation},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){for(var b=-1,c=p.length;++b",d.insertBefore(c.lastChild,d.firstChild)}function h(){var a=k.elements;return typeof a=="string"?a.split(" "):a}function i(a){var b={},c=a.createElement,e=a.createDocumentFragment,f=e();a.createElement=function(a){var e=(b[a]||(b[a]=c(a))).cloneNode();return k.shivMethods&&e.canHaveChildren&&!d.test(a)?f.appendChild(e):e},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+h().join().replace(/\w+/g,function(a){return b[a]=c(a),f.createElement(a),'c("'+a+'")'})+");return n}")(k,f)}function j(a){var b;return a.documentShived?a:(k.shivCSS&&!e&&(b=!!g(a,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),f||(b=!i(a)),b&&(a.documentShived=b),a)}var c=a.html5||{},d=/^<|^(?:button|form|map|select|textarea)$/i,e,f;(function(){var a=b.createElement("a");a.innerHTML="",e="hidden"in a,f=a.childNodes.length==1||function(){try{b.createElement("a")}catch(a){return!0}var c=b.createDocumentFragment();return typeof c.cloneNode=="undefined"||typeof c.createDocumentFragment=="undefined"||typeof c.createElement=="undefined"}()})();var k={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:j};a.html5=k,j(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&o.call(a.opera)=="[object Opera]",l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f 18 and - marks the person as adult", 1); - this.person = person; - } - - @Override - public boolean evaluate() { - return person.getAge() > ADULT_AGE; - } - - @Override - public void execute() { - person.setAdult(true); - System.out.printf("Person %s has been marked as adult", - person.getName()); - } - -} -``` - -As required, this rule class operates on a person that is passed at construction time. - -The `evaluate` method checks if the person's age is greater than 18. - -The `execute` will mark the person as adult by setting the `adult` flag. - -Finally, the third constructor argument which represents the rule priority is set to 1 to tells Easy Rules engine to fire this rule in first order. - -Now, let's create a class for rule 2: - -```java -public class AlcoholRule extends BasicRule { - - private Person person; - - public AlcoholRule(Person person) { - super("AlcoholRule", - "Children are not allowed to buy alcohol", - 2); - this.person = person; - } - - @Condition - public boolean evaluate() { - return !person.isAdult(); - } - - @Action - public void execute(){ - System.out.printf("Shop: Sorry %s, - you are not allowed to buy alcohol", - person.getName()); - } - -} -``` - -As for rule 1, the class operates on a person instance and prints the denial message for children. - -To launch the tutorial, we will use the following class: - -```java -public class Launcher { - - public static void main(String[] args) { - //create a person instance - Person tom = new Person("Tom", 14); - System.out.println("Tom: - Hi! can I have some Vodka please?"); - - //create a rules engine - RulesEngine rulesEngine = aNewRulesEngine() - .named("shop rules engine") - .build(); - - //register rules - rulesEngine.registerRule(new AgeRule(tom)); - rulesEngine.registerRule(new AlcoholRule(tom)); - - //fire rules - rulesEngine.fireRules(); - } - -} -``` - -To run the first part of the tutorial, you can follow these instructions from the root directory of Easy Rules : - -{% highlight bash %} -$ mvn install -$ cd easyrules-samples -$ mvn exec:java -P runShopTutorialPart1 -{% endhighlight %} - -You should get the following output: - -``` -Tom: Hi! can I have some Vodka please? -INFO: Rule alcoholRule triggered. -Shop: Sorry Tom, you are not allowed to buy alcohol -INFO: Rule alcoholRule performed successfully. -``` - -As expected, since Tom's age is under 18, he has not been allowed to buy alcohol. - -## Part 2 : Changing the legal adult age at runtime - -In this second part, we will expose the legal adult age as a JMX attribute. -So first, let's define an interface that allows us to change this age via JMX: - -```java -@javax.management.MXBean -public interface AgeJmxRule extends JmxRule { - - int getAdultAge(); - - void setAdultAge(int adultAge); - -} -``` - -Then, we should make our `AgeRule` implement the `AgeJmxRule` interface to expose the the legal adult age as a JMX attribute. -So here is the new `AgeRule` class: - -```java -public class AgeRule extends BasicRule implements AgeJmxRule { - - private int adultAge = 18; - - private Person person; - - public AgeRule(Person person) { - super("AgeRule", - "Check if person's age is > 18 - and marks the person as adult", 1); - this.person = person; - } - - @Override - public boolean evaluate() { - return person.getAge() > adultAge; - } - - @Override - public void execute() { - person.setAdult(true); - System.out.printf("Person %s has been marked as adult", - person.getName()); - } - - @Override - public int getAdultAge() { - return adultAge; - } - - @Override - public void setAdultAge(int adultAge) { - this.adultAge = adultAge; - } -} -``` - -Finally, let's suspend the program to change the legal adult age value at runtime via any compliant JMX client and see the engine behavior after this change: - -```java -public class Launcher { - - public static void main(String[] args) { - - //create a person instance - Person tom = new Person("Tom", 14); - System.out.println("Tom: - Hi! can I have some Vodka please?"); - - //create a Jmx rules engine - JmxRulesEngine rulesEngine = aNewJmxRulesEngine() - .named("shop rules engine") - .build(); - - //register rules - rulesEngine.registerJmxRule(new AgeRule(tom)); - rulesEngine.registerRule(new AlcoholRule(tom)); - - //fire rules - rulesEngine.fireRules(); - - // Update adult age via a JMX client. - Scanner scanner = new Scanner(System.in); - System.out.println("Change adult age via a JMX client - and then press enter"); - scanner.nextLine(); - - System.out.println("Re fire rules after - updating adult age..."); - - rulesEngine.fireRules(); - } - -} -``` - -To run the second part of the tutorial, run the following command: -{% highlight bash %} -$ mvn exec:java -P runShopTutorialPart2 -{% endhighlight %} - -You will be asked to change the legal adult age via a JMX compliant client. - -In the next screenshot, we use VisualVM to change the age value: - - - -If you change the age value to 13 for example, you will see that Tom will be able to buy alcohol since his age (14) is greater than the new legal adult age (13). - -That's all! In this tutorial, we have seen how to create a real business rule with Easy Rules and how to reconfigure it at runtime. diff --git a/site/tutorials/spring-tutorial.md b/site/tutorials/spring-tutorial.md deleted file mode 100644 index f0ac297..0000000 --- a/site/tutorials/spring-tutorial.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -layout: docs -title: Spring tutorial -header: Spring tutorial -prev_section: tutorials/scheduler-tutorial -next_section: get-involved/release-notes -doc: true ---- - -In this tutorial, you will learn how to use Easy Rules embedded in a Spring container. - -You will create a dummy rule and a rules engine and configure them as Spring beans. So let's get started. - -First you need to add the following dependency to your **_pom.xml_**: - -```xml - - org.easyrules - easyrules-spring - {{site.version}} - -``` - -Then, let's create the dummy rule: - -```java -@Rule(name = "dummy rule") -public class DummyRule { - - @Condition - public boolean when() { - return true; - } - - @Action - public void then(){ - System.out.println("Hey, I'm managed by Spring"); - } -} -``` - -Now, we we can use the `RulesEngineFactoryBean` to configure a rules engine and register the dummy rule: - -```xml - - - - - - - - - - - - - - - - -``` - -Finally, we can get the rules engine from the Spring context and fire rules: - -```java -public class Launcher { - - public static void main(String[] args) throws Exception { - ApplicationContext context = new ClassPathXmlApplicationContext("org/easyrules/samples/spring/application-context.xml"); - RulesEngine rulesEngine = (RulesEngine) context.getBean("rulesEngine"); - - rulesEngine.fireRules(); - } - -} -``` - -That's all. To run the tutorial, you can follow these instructions from the root directory of Easy Rules: - -{% highlight bash %} -$ mvn install -$ cd easyrules-samples -$ mvn exec:java -P runSpringTutorial -{% endhighlight %} - -You would get the following output: - -``` -INFO: Rule 'dummy rule' triggered. -Hey, I'm managed by Spring -INFO: Rule 'dummy rule' performed successfully. -``` - diff --git a/site/user-guide/defining-rules.md b/site/user-guide/defining-rules.md deleted file mode 100644 index 2e1ac7d..0000000 --- a/site/user-guide/defining-rules.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -layout: docs -title: Defining rules -header: Defining rules -prev_section: user-guide/introduction -next_section: user-guide/rule-listener -doc: true ---- - -The key API in Easy Rules is the `Rule` interface: - -```java -public interface Rule { - - /** - * This method encapsulates the rule's conditions. - * @return true if the rule should be applied, false else - */ - boolean evaluate(); - - /** - * This method encapsulates the rule's actions. - * @throws Exception if an error occurs - * during actions performing - */ - void execute() throws Exception; - - //Getters and setters for rule name, - //description and priority omitted. - -} -``` - -The `evaluate` method encapsulates conditions that must evaluate to _TRUE_ to trigger the rule. - -The `execute` method encapsulates actions that should be performed when rule's conditions are satisfied. - -You can define rules in two ways: - -* By implementing the `Rule` interface or extending the `BasicRule` class -* Adding annotations on a POJO - -## Defining rules by extending _BasicRule_ - -Easy Rules provides a simple implementation of the `Rule` interface named `BasicRule`. This class implements most of methods -defined in the `Rule` interface. You can extends this class and override `evaluate` and -`execute` methods to provide your conditions and actions logic. Here is an example: - -```java -public class MyRule extends BasicRule { - - private BusinessData myBusinessData; //data to operate on - - @Override - public boolean evaluate() { - //my rule conditions - return true; - } - - @Override - public void execute() throws Exception { - //my actions - } - -} -``` - -## Defining rules using annotations - -Easy Rules provides the `@Rule` annotation that can turn a POJO into a rule. Here is an example: - -```java -@Rule(name = "my rule", description = "my rule description") -public class MyRule { - - private BusinessData myBusinessData; //data to operate on - - @Condition - public boolean when() { - //my rule conditions - return true; - } - - @Action(order = 1) - public void then() throws Exception { - //my actions - } - - @Action(order = 2) - public void finally() throws Exception { - //my final actions - } - -} -``` - -The `@Condition` annotation marks the method to execute to evaluate the rule conditions. -This method must be public, have no parameters and return a boolean type. Only one method can be annotated with `@Condition` annotation. - -The `@Action` annotation marks methods to execute to perform rule actions. Rules can have multiple actions. - -
-
Actions can be executed in a specified order
-

You can also define the execution order of actions with the - order attribute:
@Action(order = 1)
By default, the order of an action is 0.

-
- - -## Composite rules - -Easy Rules allows you to create complex rules from primitive ones. A `CompositeRule` is composed of a set of rules. - -This is typically an implementation of the composite design pattern. - -A composite rule is triggered if **_all_** conditions of its composing rules are satisfied. -When a composite rule is applied, actions of **_all_** composing rules are performed in the **natural order** of -rules which is rules priorities by default. - -To create a composite rule from two primitive rules, you can use the following snippet: - -```java -//Create a composite rule from two primitive rules -CompositeRule myCompositeRule = - new CompositeRule("myCompositeRule", "a composite rule"); -myCompositeRule.addRule(myRule1); -myCompositeRule.addRule(myRule2); - -//Register the composite rule as a regular rule -RulesEngine rulesEngine = aNewRulesEngine().build(); -rulesEngine.registerRule(myCompositeRule); -``` - -## Rules priorities - -Each rule in Easy Rules has a priority. This represents the default order in which registered rules are fired. - By default, lower values represent higher priorities. - To override this behavior, you should override the `compareTo` method to provide a custom priority strategy. - -* If you decided to extend the `BasicRule` class, you can specify rule priority at construction time or by overriding -the `getPriority()` method - -* If your rule is a annotated POJO, you should annotate the method that provides priority with `@Priority` annotation. -This method must be public, have no arguments and return an Integer type diff --git a/site/user-guide/embedding-rules-engine.md b/site/user-guide/embedding-rules-engine.md deleted file mode 100644 index 9f127a8..0000000 --- a/site/user-guide/embedding-rules-engine.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -layout: docs -title: Embedding rules engine -header: Embedding rules engine -prev_section: user-guide/scheduling-rules-engine -next_section: tutorials/hello-world-tutorial -doc: true ---- - -Easy Rules is a lightweight library that can be used in a standalone Java application or embedded in a web server or a dependency injection container. - -As of version 2.1.0, Easy Rules provides support for Spring. -Support for other DI containers will be added in future versions. - -In this section, you will learn how to configure rules and rules engine as Spring beans. -First you need to add the following dependency to your **_pom.xml_**: - -```xml - - org.easyrules - easyrules-spring - {{site.version}} - -``` - -Then, you can configure your rules and the rules engine as follows: - -```xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - -The `RulesEngineFactoryBean` is responsible for creating rules engine instances. -As you can see, this factory bean is the main entry point to configure: - -* Rules -* Rules listeners -* And engine parameters (priority threshold, skipOnFirstAppliedRule, silentMode, etc) - -
-
Heads up!
-

If your rules are not thread safe, you should consider make them of scope prototype.

-

The rules engine instance returned by the RulesEngineFactoryBean is already of scope prototype.

-
- -To get the engine and fires rules, you can use the following snippet: - -```java -ApplicationContext context = new ClassPathXmlApplicationContext("application-context.xml"); -RulesEngine rulesEngine = (RulesEngine) context.getBean("rulesEngine"); - -rulesEngine.fireRules(); -``` - -
-
Hint:
-

The main advantage of using Easy Rules with Spring is the ability to register/unregister rules through the Xml configuration - without recompiling your application.

-
- -You can find a complete tutorial on how to use Easy Rules with Spring [here]({{site.url}}/tutorials/spring-tutorial.html). - -# Using the @SpringRule annotation - -The `@SpringRule` annotation is a meta-annotation that turns a POJO into: - -* A rule compatible with Easy Rules -* A **prototype-scoped** Spring bean - -This annotation is the combination of `@Rule` and `@Component` annotations. diff --git a/site/user-guide/introduction.md b/site/user-guide/introduction.md deleted file mode 100644 index 57d08e7..0000000 --- a/site/user-guide/introduction.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: docs -title: Introduction -header: Introduction -prev_section: about/getting-started -next_section: user-guide/defining-rules -doc: true ---- - -Most business rules can be represented by the following definition: - -* _Name_: a unique rule name within a rules namespace -* _Description_: a brief description of the rule -* _Priority_: rule priority regarding to other rules -* _Conditions_: set of conditions that should be satisfied to apply the rule -* _Actions_: set of actions to perform when conditions are satisfied - -Easy Rules provides an abstraction for each of these key points to define business rules. - -Next section will show you how to define a rule either by extending a base class provided by Easy Rules or by annotating your -own domain class. diff --git a/site/user-guide/managing-rules.md b/site/user-guide/managing-rules.md deleted file mode 100644 index 1584bf5..0000000 --- a/site/user-guide/managing-rules.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: docs -title: Managing rules -header: Managing rules at runtime -prev_section: user-guide/rules-engine -next_section: user-guide/scheduling-rules-engine -doc: true ---- - -Being able to dynamically reconfigure business rules at runtime in production systems is a recurrent requirement. - -Thanks to JMX, Easy Rules can expose rules attributes to be managed via any JMX compliant client. - -First, you need to add the following dependency to your **_pom.xml_**: - -```xml - - - org.easyrules - easyrules-jmx - {{site.version}} - - -``` - -To make your rule manageable via JMX, it should: - -* implement the `JmxRule` interface or extend the `BasicJmxRule` class -* or be annotated with `javax.management.MXBean` if it is a annotated POJO - -Once you defined your rule as a Jmx compliant object, you can register it in a `JmxRulesEngine` as a managed rule: - -```java -JmxRulesEngine rulesEngine = aNewJmxRulesEngine.build(); -rulesEngine.registerJmxRule(myJmxCompliantRule); -``` - -This will register your rule as a JMX managed bean with the following object name: - -`org.easyrules.core.jmx:type=YourRuleClassName,name=YourRuleName` - -An example of using dynamic rule reconfiguration at runtime is provided in the [shop tutorial]({{site.url}}/tutorials/shop-tutorial.html). diff --git a/site/user-guide/rule-listener.md b/site/user-guide/rule-listener.md deleted file mode 100644 index 3e9a009..0000000 --- a/site/user-guide/rule-listener.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -layout: docs -title: Rule listener -header: Rule listener -prev_section: user-guide/defining-rules -next_section: user-guide/rules-engine -doc: true ---- - -You can listen to rule execution events through the `RuleListener` API: - -```java -public interface RuleListener { - /** - * Triggered before a rule is executed. - */ - void beforeExecute(Rule rule); - /** - * Triggered after a rule is executed successfully. - */ - void onSuccess(Rule rule); - /** - * Triggered after a rule is executed with error. - */ - void onFailure(Rule rule, Exception exception); -} -``` - -You can implement this interface to provide custom behavior to execute before/after each rule. -To register your listener, use the following snippet: - -```java -RulesEngine rulesEngine = aNewRulesEngine() - .withRuleListener(myRuleListener) - .build(); -``` - -You can register as many listeners as you want, they will be executed in their registration order. diff --git a/site/user-guide/rules-engine.md b/site/user-guide/rules-engine.md deleted file mode 100644 index 8c21f27..0000000 --- a/site/user-guide/rules-engine.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -layout: docs -title: Rules engine -header: Rules engine -prev_section: user-guide/defining-rules -next_section: user-guide/managing-rules -doc: true ---- - -Easy Rules engine holds a registry of rules with unique names. Each instance of Easy Rules engine can be seen as a separate namespace. - -Rules are applied according to their natural order (which is priority by default). - -## Create a rules engine - -To create a rules engine and register a rule, you can use the static method `RulesEngineBuilder.aNewEngineBuilder()`: - -```java -RulesEngine rulesEngine = aNewEngineBuilder().build(); -rulesEngine.registerRule(myRule); -``` - -You can then fire registered rules as follows: - -```java -rulesEngine.fireRules(); -``` - -## Rules engine parameters - -Easy Rules engine can be configured with the following parameters: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefault
rulePriorityThresholdintnoInteger.MAX_VALUE
skipOnFirstAppliedRulebooleannofalse
skipOnFirstFailedRulebooleannofalse
silentModebooleannofalse
- -* The `skipOnFirstAppliedRule` parameter tells the engine to skip next rules when a rule is applied. - -* The `skipOnFirstFailedRule` parameter tells the engine to skip next rules when a rule fails. - -* The `rulePriorityThreshold` parameter tells the engine to skip next rules if priority exceeds the defined threshold. - -* The `silentMode` allows you to mute all loggers when needed. - -You can specify these parameters through the `RulesEngineBuilder` API: - -```java -RulesEngine rulesEngine = aNewRulesEngine() - .withRulePriorityThreshold(10) - .withSkipOnFirstAppliedRule(true) - .withSkipOnFirstFailedRule(true) - .withSilentMode(true) - .build(); -``` - -All parameters are encapsulated in the `RulesEngineParameters` class. If you want to get parameters from your engine, -you can use the following snippet: - -```java -RulesEngineParameters parameters = myEngine.getParameters(); -``` - -This allows you to reset the engine parameters after its creation. diff --git a/site/user-guide/scheduling-rules-engine.md b/site/user-guide/scheduling-rules-engine.md deleted file mode 100644 index 066b37b..0000000 --- a/site/user-guide/scheduling-rules-engine.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -layout: docs -title: Scheduling rules engine -header: Scheduling a rules engine -prev_section: user-guide/managing-rules -next_section: user-guide/embedding-rules-engine -doc: true ---- - -Easy Rules provides APIs to schedule a rules engine using the popular Java scheduler Quartz. - -To schedule a rules engine instance, first you need to add the following dependency to your **_pom.xml_**: - -```xml - - org.easyrules - easyrules-quartz - {{site.version}} - -``` - -Then, you can create a `RulesEngineScheduler` as follows: - -```java -RulesEngine rulesEngine = aNewRulesEngine().build(); - -Date now = new Date(); -int everySecond = 1; - -RulesEngineScheduler scheduler = RulesEngineScheduler.getInstance(); -scheduler.scheduleAtWithInterval(rulesEngine, now, everySecond); -``` - -This will schedule the rules engine to start now and repeat every second. - -The `RulesEngineScheduler` API provides methods to schedule a rules engine: - -* At a fixed point of time using `scheduleAt(RulesEngine engine, Date when)` -* Repeatedly with a predefined interval using `scheduleAtWithInterval(RulesEngine engine, Date when, int interval)` -* Using unix cron-like expression with `scheduleCron(RulesEngine engine, String cronExpression)` - -To unregister a rules engine, use the following snippet: - -```java -scheduler.unschedule(rulesEngine); -``` - -You can find a tutorial about scheduling rules engine in the [Scheduler tutorial]({{site.url}}/tutorials/scheduler-tutorial.html).
-
- - - -
-
-