From 2f7cb616111b9e2c12c6c246ba37a1396d46ff1a Mon Sep 17 00:00:00 2001 From: balat Date: Fri, 13 Sep 2024 13:37:17 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20ocsigen/?= =?UTF-8?q?tuto@f450d07ee85cfd10c39389436ce24f4d3c06aaac=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2.2/manual/application.html | 2 +- 2.2/manual/chat.html | 2 +- 2.2/manual/interaction.html | 2 +- 2.2/manual/intro.html | 2 +- 2.2/manual/misc.html | 2 +- 7.1/manual/application.html | 2 +- 7.1/manual/basics-server.html | 2 +- 7.1/manual/basics.html | 2 +- 7.1/manual/chat.html | 2 +- 7.1/manual/custom-conf.html | 2 +- 7.1/manual/hash-password.html | 2 +- ...e-a-cryptographically-safe-identifier.html | 2 +- .../how-does-a-page-s-source-code-look.html | 2 +- 7.1/manual/how-to-add-a-div.html | 2 +- 7.1/manual/how-to-add-a-favicon.html | 2 +- .../how-to-add-a-javascript-script.html | 2 +- 7.1/manual/how-to-add-a-list.html | 2 +- ...to-add-a-select-or-other-form-element.html | 2 +- 7.1/manual/how-to-add-an-image.html | 2 +- 7.1/manual/how-to-add-css-stylesheet.html | 2 +- ...o-attach-ocaml-values-to-dom-elements.html | 2 +- ...-to-the-html-nodes-sent-to-the-client.html | 2 +- 7.1/manual/how-to-build-js-object.html | 2 +- ...server-side-function-from-client-side.html | 2 +- ...o-call-an-ocaml-function-from-js-code.html | 2 +- .../how-to-compile-my-ocsigen-pages.html | 2 +- ...nfigure-and-launch-the-ocsigen-server.html | 2 +- ...ding-on-data-entered-on-previous-ones.html | 2 +- ...-current-page-without-knowing-its-url.html | 2 +- .../how-to-detect-channel-disconnection.html | 2 +- ...-side-state-for-the-process-is-closed.html | 2 +- .../how-to-do-links-to-other-pages.html | 2 +- ...ow-to-implement-a-notification-system.html | 2 +- ...belonging-to-a-form-towards-a-service.html | 2 +- ...all-sessions-for-one-user-or-all-tabs.html | 2 +- ...e-browser-window-has-the-focus-or-not.html | 2 +- .../how-to-make-hello-world-in-ocsigen.html | 2 +- 7.1/manual/how-to-make-page-a-skeleton.html | 2 +- 7.1/manual/how-to-make-responsive-css.html | 2 +- ...-the-server-and-insert-it-in-the-page.html | 2 +- ...vice-that-decides-itself-what-to-send.html | 2 +- 7.1/manual/how-to-register-session-data.html | 2 +- ...r-without-stopping-the-client-process.html | 2 +- 7.1/manual/how-to-send-file-download.html | 2 +- 7.1/manual/how-to-send-file-upload.html | 2 +- ...-or-other-attributes-to-html-elements.html | 2 +- ...w-to-stop-default-behaviour-of-events.html | 2 +- ...t-parameters-or-parameters-in-the-url.html | 2 +- 7.1/manual/how-to-write-a-json-service.html | 2 +- 7.1/manual/how-to-write-forms.html | 2 +- .../how-to-write-titles-and-paragraphs.html | 2 +- 7.1/manual/html.html | 2 +- 7.1/manual/interaction.html | 2 +- 7.1/manual/intro.html | 2 +- 7.1/manual/lwt.html | 2 +- 7.1/manual/macaque.html | 2 +- 7.1/manual/misc.html | 2 +- 7.1/manual/mobile.html | 2 +- 7.1/manual/music.html | 2 +- 7.1/manual/ocsipersist.html | 2 +- 7.1/manual/pictures.html | 2 +- 7.1/manual/reactivemediaplayer.html | 2 +- 7.1/manual/rest.html | 2 +- 7.1/manual/start.html | 2 +- 7.1/manual/tutoreact.html | 2 +- 7.1/manual/tutowidgets.html | 2 +- 8.0/manual/application.html | 695 +++++++++++++++ 8.0/manual/basics-server.html | 499 +++++++++++ 8.0/manual/basics.html | 763 ++++++++++++++++ 8.0/manual/basics.md | 0 8.0/manual/chat.html | 123 +++ 8.0/manual/custom-conf.html | 113 +++ 8.0/manual/files/2014-epita-video.png | Bin 0 -> 119932 bytes 8.0/manual/files/screenshots/.directory | 4 + .../files/screenshots/start-mobile-1.png | Bin 0 -> 47486 bytes .../files/screenshots/start-mobile-2.png | Bin 0 -> 69243 bytes .../files/screenshots/start-mobile-3.png | Bin 0 -> 326008 bytes .../files/screenshots/start-mobile-4.png | Bin 0 -> 163555 bytes .../files/screenshots/start-mobile-5.png | Bin 0 -> 106144 bytes .../files/screenshots/start-mobile-6.png | Bin 0 -> 105954 bytes .../files/screenshots/start-mobile-7.png | Bin 0 -> 133747 bytes .../files/screenshots/start-mobile-8.png | Bin 0 -> 70206 bytes 8.0/manual/files/screenshots/start1.png | Bin 0 -> 75499 bytes 8.0/manual/files/screenshots/start2.png | Bin 0 -> 135117 bytes 8.0/manual/files/screenshots/start3.png | Bin 0 -> 289560 bytes 8.0/manual/files/screenshots/start4.png | Bin 0 -> 138790 bytes 8.0/manual/files/screenshots/start5.png | Bin 0 -> 118282 bytes 8.0/manual/files/screenshots/start6.png | Bin 0 -> 160446 bytes 8.0/manual/files/tutorial/chapter1/README | 1 + .../chapter1/distillery-no-oclosure/Makefile | 242 ++++++ .../distillery-no-oclosure/Makefile.options | 57 ++ .../chapter1/distillery-no-oclosure/README | 59 ++ .../distillery-no-oclosure/graffiti.conf.in | 28 + .../distillery-no-oclosure/graffiti.eliom | 146 ++++ .../distillery-no-oclosure/update-symlinks.sh | 4 + .../chapter1/distillery-oclosure/Makefile | 242 ++++++ .../distillery-oclosure/Makefile.options | 57 ++ .../chapter1/distillery-oclosure/README | 59 ++ .../distillery-oclosure/graffiti.conf.in | 28 + .../distillery-oclosure/graffiti.eliom | 163 ++++ .../distillery-oclosure/update-symlinks.sh | 4 + .../tutorial/chapter1/no_oclosure/.depend | 8 + .../tutorial/chapter1/no_oclosure/Makefile | 133 +++ .../chapter1/no_oclosure/graffiti.conf | 38 + .../chapter1/no_oclosure/graffiti.eliom | 124 +++ .../files/tutorial/chapter1/start/Makefile | 2 + .../tutorial/chapter1/start/graffiti.conf | 29 + .../files/tutorial/chapter1/start/graffiti.ml | 10 + .../tutorial/chapter1/with_oclosure/.depend | 8 + .../tutorial/chapter1/with_oclosure/Makefile | 144 ++++ .../chapter1/with_oclosure/graffiti.conf | 38 + .../chapter1/with_oclosure/graffiti.eliom | 163 ++++ 8.0/manual/files/tutorial/chapter2/Makefile | 240 ++++++ .../files/tutorial/chapter2/Makefile.options | 61 ++ .../tutorial/chapter2/static/css/tuto.css | 3 + .../files/tutorial/chapter2/tuto.conf.in | 28 + 8.0/manual/files/tutorial/chapter2/tuto.eliom | 210 +++++ 8.0/manual/files/tutorial/chapter3/README | 1 + .../tutorial/chapter3/multigraffiti/Makefile | 68 ++ .../chapter3/multigraffiti/Makefile.common | 165 ++++ .../tutorial/chapter3/multigraffiti/client.ml | 80 ++ .../tutorial/chapter3/multigraffiti/common.ml | 4 + .../chapter3/multigraffiti/css/common.css | 41 + .../chapter3/multigraffiti/css/graffiti.css | 21 + .../chapter3/multigraffiti/css/hsvpalette.css | 179 ++++ .../chapter3/multigraffiti/css/slider.css | 45 + .../chapter3/multigraffiti/graffiti.conf.in | 35 + .../chapter3/multigraffiti/graffiti.eliom | 36 + .../multigraffiti/images/hsv-sprite-sm.png | Bin 0 -> 19537 bytes .../tutorial/chapter3/multigraffiti/server.ml | 205 +++++ .../multigraffiti_audio/graffiti.eliom | 43 + .../chapter3/multigraffiti_feed/Makefile | 68 ++ .../chapter3/multigraffiti_feed/feed.ml | 108 +++ .../multigraffiti_feed/graffiti.eliom | 42 + .../chapter3/multigraffiti_macaque/Makefile | 68 ++ .../multigraffiti_macaque/create_table.sql | 5 + .../multigraffiti_macaque/graffiti.conf.in | 36 + .../chapter3/multigraffiti_macaque/server.ml | 236 +++++ .../multigraffiti_ocsipersist/server.ml | 208 +++++ .../reactive_media_player.eliom | 107 +++ .../files/tutorial/client-server-req.svg | 577 +++++++++++++ 8.0/manual/files/tutorial/client-server.png | Bin 0 -> 54985 bytes 8.0/manual/files/tutorial/client-server.svg | 684 +++++++++++++++ .../files/tutorial/static/css/common.css | 41 + .../files/tutorial/static/css/graffiti.css | 68 ++ .../files/tutorial/static/css/hsvpalette.css | 179 ++++ .../files/tutorial/static/css/slider.css | 45 + .../tutorial/static/images/hsv-sprite-sm.png | Bin 0 -> 19537 bytes .../files/tutorial/tutowidgets/ex-final.png | Bin 0 -> 19671 bytes 8.0/manual/files/tutorial/tutowidgets/ex.css | 30 + 8.0/manual/files/tutorial/tutowidgets/ex1.png | Bin 0 -> 12472 bytes 8.0/manual/files/tutorial/tutowidgets/ex2.png | Bin 0 -> 15659 bytes 8.0/manual/hash-password.html | 68 ++ ...e-a-cryptographically-safe-identifier.html | 47 + .../how-does-a-page-s-source-code-look.html | 83 ++ 8.0/manual/how-to-add-a-div.html | 57 ++ 8.0/manual/how-to-add-a-favicon.html | 53 ++ .../how-to-add-a-javascript-script.html | 61 ++ 8.0/manual/how-to-add-a-list.html | 81 ++ ...to-add-a-select-or-other-form-element.html | 71 ++ 8.0/manual/how-to-add-an-image.html | 69 ++ 8.0/manual/how-to-add-css-stylesheet.html | 66 ++ ...o-attach-ocaml-values-to-dom-elements.html | 57 ++ ...-to-the-html-nodes-sent-to-the-client.html | 47 + 8.0/manual/how-to-build-js-object.html | 51 ++ ...server-side-function-from-client-side.html | 63 ++ ...o-call-an-ocaml-function-from-js-code.html | 47 + .../how-to-compile-my-ocsigen-pages.html | 68 ++ ...nfigure-and-launch-the-ocsigen-server.html | 53 ++ ...ding-on-data-entered-on-previous-ones.html | 127 +++ ...-current-page-without-knowing-its-url.html | 51 ++ .../how-to-detect-channel-disconnection.html | 87 ++ ...-side-state-for-the-process-is-closed.html | 56 ++ .../how-to-do-links-to-other-pages.html | 68 ++ ...ow-to-implement-a-notification-system.html | 121 +++ ...belonging-to-a-form-towards-a-service.html | 59 ++ ...all-sessions-for-one-user-or-all-tabs.html | 65 ++ ...e-browser-window-has-the-focus-or-not.html | 55 ++ .../how-to-make-hello-world-in-ocsigen.html | 78 ++ 8.0/manual/how-to-make-page-a-skeleton.html | 61 ++ 8.0/manual/how-to-make-responsive-css.html | 51 ++ ...-the-server-and-insert-it-in-the-page.html | 60 ++ ...vice-that-decides-itself-what-to-send.html | 61 ++ 8.0/manual/how-to-register-session-data.html | 83 ++ ...r-without-stopping-the-client-process.html | 86 ++ 8.0/manual/how-to-send-file-download.html | 51 ++ 8.0/manual/how-to-send-file-upload.html | 98 +++ ...-or-other-attributes-to-html-elements.html | 75 ++ ...w-to-stop-default-behaviour-of-events.html | 58 ++ ...t-parameters-or-parameters-in-the-url.html | 81 ++ 8.0/manual/how-to-write-a-json-service.html | 62 ++ 8.0/manual/how-to-write-forms.html | 135 +++ .../how-to-write-titles-and-paragraphs.html | 59 ++ 8.0/manual/html.html | 141 +++ 8.0/manual/interaction.html | 815 ++++++++++++++++++ 8.0/manual/intro.html | 163 ++++ 8.0/manual/lwt.html | 135 +++ 8.0/manual/macaque.html | 130 +++ 8.0/manual/misc.html | 464 ++++++++++ 8.0/manual/mobile.html | 79 ++ 8.0/manual/music.html | 67 ++ 8.0/manual/ocsipersist.html | 77 ++ 8.0/manual/pictures.html | 195 +++++ 8.0/manual/reactivemediaplayer.html | 236 +++++ 8.0/manual/rest.html | 451 ++++++++++ 8.0/manual/start.html | 113 +++ 8.0/manual/tutoreact.html | 654 ++++++++++++++ 8.0/manual/tutowidgets.html | 334 +++++++ dev/manual/application.html | 2 +- dev/manual/basics-server.html | 2 +- dev/manual/basics.html | 2 +- dev/manual/chat.html | 2 +- dev/manual/custom-conf.html | 2 +- dev/manual/hash-password.html | 2 +- ...e-a-cryptographically-safe-identifier.html | 2 +- .../how-does-a-page-s-source-code-look.html | 2 +- dev/manual/how-to-add-a-div.html | 2 +- dev/manual/how-to-add-a-favicon.html | 2 +- .../how-to-add-a-javascript-script.html | 2 +- dev/manual/how-to-add-a-list.html | 2 +- ...to-add-a-select-or-other-form-element.html | 2 +- dev/manual/how-to-add-an-image.html | 2 +- dev/manual/how-to-add-css-stylesheet.html | 2 +- ...o-attach-ocaml-values-to-dom-elements.html | 2 +- ...-to-the-html-nodes-sent-to-the-client.html | 2 +- dev/manual/how-to-build-js-object.html | 2 +- ...server-side-function-from-client-side.html | 2 +- ...o-call-an-ocaml-function-from-js-code.html | 2 +- .../how-to-compile-my-ocsigen-pages.html | 2 +- ...nfigure-and-launch-the-ocsigen-server.html | 2 +- ...ding-on-data-entered-on-previous-ones.html | 2 +- ...-current-page-without-knowing-its-url.html | 2 +- .../how-to-detect-channel-disconnection.html | 2 +- ...-side-state-for-the-process-is-closed.html | 2 +- .../how-to-do-links-to-other-pages.html | 2 +- ...ow-to-implement-a-notification-system.html | 2 +- ...belonging-to-a-form-towards-a-service.html | 2 +- ...all-sessions-for-one-user-or-all-tabs.html | 2 +- ...e-browser-window-has-the-focus-or-not.html | 2 +- .../how-to-make-hello-world-in-ocsigen.html | 2 +- dev/manual/how-to-make-page-a-skeleton.html | 2 +- dev/manual/how-to-make-responsive-css.html | 2 +- ...-the-server-and-insert-it-in-the-page.html | 2 +- ...vice-that-decides-itself-what-to-send.html | 2 +- dev/manual/how-to-register-session-data.html | 2 +- ...r-without-stopping-the-client-process.html | 2 +- dev/manual/how-to-send-file-download.html | 2 +- dev/manual/how-to-send-file-upload.html | 2 +- ...-or-other-attributes-to-html-elements.html | 2 +- ...w-to-stop-default-behaviour-of-events.html | 2 +- ...t-parameters-or-parameters-in-the-url.html | 2 +- dev/manual/how-to-write-a-json-service.html | 2 +- dev/manual/how-to-write-forms.html | 2 +- .../how-to-write-titles-and-paragraphs.html | 2 +- dev/manual/html.html | 2 +- dev/manual/interaction.html | 2 +- dev/manual/intro.html | 2 +- dev/manual/lwt.html | 2 +- dev/manual/macaque.html | 2 +- dev/manual/misc.html | 2 +- dev/manual/mobile.html | 2 +- dev/manual/music.html | 2 +- dev/manual/ocsipersist.html | 2 +- dev/manual/pictures.html | 2 +- dev/manual/reactivemediaplayer.html | 2 +- dev/manual/rest.html | 2 +- dev/manual/start.html | 2 +- dev/manual/tutoreact.html | 2 +- dev/manual/tutowidgets.html | 2 +- latest | 2 +- 270 files changed, 14963 insertions(+), 128 deletions(-) create mode 100644 8.0/manual/application.html create mode 100644 8.0/manual/basics-server.html create mode 100644 8.0/manual/basics.html create mode 100644 8.0/manual/basics.md create mode 100644 8.0/manual/chat.html create mode 100644 8.0/manual/custom-conf.html create mode 100644 8.0/manual/files/2014-epita-video.png create mode 100644 8.0/manual/files/screenshots/.directory create mode 100644 8.0/manual/files/screenshots/start-mobile-1.png create mode 100644 8.0/manual/files/screenshots/start-mobile-2.png create mode 100644 8.0/manual/files/screenshots/start-mobile-3.png create mode 100644 8.0/manual/files/screenshots/start-mobile-4.png create mode 100644 8.0/manual/files/screenshots/start-mobile-5.png create mode 100644 8.0/manual/files/screenshots/start-mobile-6.png create mode 100644 8.0/manual/files/screenshots/start-mobile-7.png create mode 100644 8.0/manual/files/screenshots/start-mobile-8.png create mode 100644 8.0/manual/files/screenshots/start1.png create mode 100644 8.0/manual/files/screenshots/start2.png create mode 100644 8.0/manual/files/screenshots/start3.png create mode 100644 8.0/manual/files/screenshots/start4.png create mode 100644 8.0/manual/files/screenshots/start5.png create mode 100644 8.0/manual/files/screenshots/start6.png create mode 100644 8.0/manual/files/tutorial/chapter1/README create mode 100644 8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/Makefile create mode 100644 8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/Makefile.options create mode 100644 8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/README create mode 100644 8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/graffiti.conf.in create mode 100644 8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/graffiti.eliom create mode 100755 8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/update-symlinks.sh create mode 100644 8.0/manual/files/tutorial/chapter1/distillery-oclosure/Makefile create mode 100644 8.0/manual/files/tutorial/chapter1/distillery-oclosure/Makefile.options create mode 100644 8.0/manual/files/tutorial/chapter1/distillery-oclosure/README create mode 100644 8.0/manual/files/tutorial/chapter1/distillery-oclosure/graffiti.conf.in create mode 100644 8.0/manual/files/tutorial/chapter1/distillery-oclosure/graffiti.eliom create mode 100755 8.0/manual/files/tutorial/chapter1/distillery-oclosure/update-symlinks.sh create mode 100644 8.0/manual/files/tutorial/chapter1/no_oclosure/.depend create mode 100644 8.0/manual/files/tutorial/chapter1/no_oclosure/Makefile create mode 100644 8.0/manual/files/tutorial/chapter1/no_oclosure/graffiti.conf create mode 100644 8.0/manual/files/tutorial/chapter1/no_oclosure/graffiti.eliom create mode 100644 8.0/manual/files/tutorial/chapter1/start/Makefile create mode 100644 8.0/manual/files/tutorial/chapter1/start/graffiti.conf create mode 100644 8.0/manual/files/tutorial/chapter1/start/graffiti.ml create mode 100644 8.0/manual/files/tutorial/chapter1/with_oclosure/.depend create mode 100644 8.0/manual/files/tutorial/chapter1/with_oclosure/Makefile create mode 100644 8.0/manual/files/tutorial/chapter1/with_oclosure/graffiti.conf create mode 100644 8.0/manual/files/tutorial/chapter1/with_oclosure/graffiti.eliom create mode 100644 8.0/manual/files/tutorial/chapter2/Makefile create mode 100644 8.0/manual/files/tutorial/chapter2/Makefile.options create mode 100644 8.0/manual/files/tutorial/chapter2/static/css/tuto.css create mode 100644 8.0/manual/files/tutorial/chapter2/tuto.conf.in create mode 100644 8.0/manual/files/tutorial/chapter2/tuto.eliom create mode 100644 8.0/manual/files/tutorial/chapter3/README create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/Makefile create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/Makefile.common create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/client.ml create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/common.ml create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/css/common.css create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/css/graffiti.css create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/css/hsvpalette.css create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/css/slider.css create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/graffiti.conf.in create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/graffiti.eliom create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/images/hsv-sprite-sm.png create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti/server.ml create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti_audio/graffiti.eliom create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti_feed/Makefile create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti_feed/feed.ml create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti_feed/graffiti.eliom create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/Makefile create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/create_table.sql create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/graffiti.conf.in create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/server.ml create mode 100644 8.0/manual/files/tutorial/chapter3/multigraffiti_ocsipersist/server.ml create mode 100644 8.0/manual/files/tutorial/chapter3/reactive_media_player/reactive_media_player.eliom create mode 100644 8.0/manual/files/tutorial/client-server-req.svg create mode 100644 8.0/manual/files/tutorial/client-server.png create mode 100644 8.0/manual/files/tutorial/client-server.svg create mode 100644 8.0/manual/files/tutorial/static/css/common.css create mode 100644 8.0/manual/files/tutorial/static/css/graffiti.css create mode 100644 8.0/manual/files/tutorial/static/css/hsvpalette.css create mode 100644 8.0/manual/files/tutorial/static/css/slider.css create mode 100644 8.0/manual/files/tutorial/static/images/hsv-sprite-sm.png create mode 100644 8.0/manual/files/tutorial/tutowidgets/ex-final.png create mode 100644 8.0/manual/files/tutorial/tutowidgets/ex.css create mode 100644 8.0/manual/files/tutorial/tutowidgets/ex1.png create mode 100644 8.0/manual/files/tutorial/tutowidgets/ex2.png create mode 100644 8.0/manual/hash-password.html create mode 100644 8.0/manual/how-do-i-create-a-cryptographically-safe-identifier.html create mode 100644 8.0/manual/how-does-a-page-s-source-code-look.html create mode 100644 8.0/manual/how-to-add-a-div.html create mode 100644 8.0/manual/how-to-add-a-favicon.html create mode 100644 8.0/manual/how-to-add-a-javascript-script.html create mode 100644 8.0/manual/how-to-add-a-list.html create mode 100644 8.0/manual/how-to-add-a-select-or-other-form-element.html create mode 100644 8.0/manual/how-to-add-an-image.html create mode 100644 8.0/manual/how-to-add-css-stylesheet.html create mode 100644 8.0/manual/how-to-attach-ocaml-values-to-dom-elements.html create mode 100644 8.0/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html create mode 100644 8.0/manual/how-to-build-js-object.html create mode 100644 8.0/manual/how-to-call-a-server-side-function-from-client-side.html create mode 100644 8.0/manual/how-to-call-an-ocaml-function-from-js-code.html create mode 100644 8.0/manual/how-to-compile-my-ocsigen-pages.html create mode 100644 8.0/manual/how-to-configure-and-launch-the-ocsigen-server.html create mode 100644 8.0/manual/how-to-create-form-wizard-sequence-of-pages-depending-on-data-entered-on-previous-ones.html create mode 100644 8.0/manual/how-to-create-link-to-a-current-page-without-knowing-its-url.html create mode 100644 8.0/manual/how-to-detect-channel-disconnection.html create mode 100644 8.0/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html create mode 100644 8.0/manual/how-to-do-links-to-other-pages.html create mode 100644 8.0/manual/how-to-implement-a-notification-system.html create mode 100644 8.0/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html create mode 100644 8.0/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html create mode 100644 8.0/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html create mode 100644 8.0/manual/how-to-make-hello-world-in-ocsigen.html create mode 100644 8.0/manual/how-to-make-page-a-skeleton.html create mode 100644 8.0/manual/how-to-make-responsive-css.html create mode 100644 8.0/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html create mode 100644 8.0/manual/how-to-register-a-service-that-decides-itself-what-to-send.html create mode 100644 8.0/manual/how-to-register-session-data.html create mode 100644 8.0/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html create mode 100644 8.0/manual/how-to-send-file-download.html create mode 100644 8.0/manual/how-to-send-file-upload.html create mode 100644 8.0/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html create mode 100644 8.0/manual/how-to-stop-default-behaviour-of-events.html create mode 100644 8.0/manual/how-to-use-get-parameters-or-parameters-in-the-url.html create mode 100644 8.0/manual/how-to-write-a-json-service.html create mode 100644 8.0/manual/how-to-write-forms.html create mode 100644 8.0/manual/how-to-write-titles-and-paragraphs.html create mode 100644 8.0/manual/html.html create mode 100644 8.0/manual/interaction.html create mode 100644 8.0/manual/intro.html create mode 100644 8.0/manual/lwt.html create mode 100644 8.0/manual/macaque.html create mode 100644 8.0/manual/misc.html create mode 100644 8.0/manual/mobile.html create mode 100644 8.0/manual/music.html create mode 100644 8.0/manual/ocsipersist.html create mode 100644 8.0/manual/pictures.html create mode 100644 8.0/manual/reactivemediaplayer.html create mode 100644 8.0/manual/rest.html create mode 100644 8.0/manual/start.html create mode 100644 8.0/manual/tutoreact.html create mode 100644 8.0/manual/tutowidgets.html diff --git a/2.2/manual/application.html b/2.2/manual/application.html index c59d0203..f5d0da17 100644 --- a/2.2/manual/application.html +++ b/2.2/manual/application.html @@ -44,7 +44,7 @@
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Writing a client/server Eliom application

    The code of this tutorial has been tested with the 2.2 release of +

    Writing a client/server Eliom application

    The code of this tutorial has been tested with the 2.2 release of the Ocsigen bundle.

    In this chapter, we will write a collaborative drawing application. It is a client/server Web application diff --git a/2.2/manual/chat.html b/2.2/manual/chat.html index 5cc770ca..5ad5333e 100644 --- a/2.2/manual/chat.html +++ b/2.2/manual/chat.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Chat: Design Overview

    Chat is a chatting module and application, currently for conversations +

    Chat: Design Overview

    Chat is a chatting module and application, currently for conversations between two users each. (Extension for multi-user channels is left as an exercise to the user.)

    First of all, diff --git a/2.2/manual/interaction.html b/2.2/manual/interaction.html index d5304189..702988e4 100644 --- a/2.2/manual/interaction.html +++ b/2.2/manual/interaction.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Implementing Web Interaction Using Eliom

    The code of this tutorial has been tested with the 2.2 release of +

    Implementing Web Interaction Using Eliom

    The code of this tutorial has been tested with the 2.2 release of the Ocsigen bundle.

    This chapter is a tutorial explaining how to create a small Web site with several pages, users, sessions, etc. Then, in next chapter, diff --git a/2.2/manual/intro.html b/2.2/manual/intro.html index 0b1af698..3851d7d7 100644 --- a/2.2/manual/intro.html +++ b/2.2/manual/intro.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    The code of this tutorial has been tested with the 2.2 release of +

    The code of this tutorial has been tested with the 2.2 release of the Ocsigen bundle.

    Introduction

    This tutorial is an overview of the main features of the Ocsigen framework. It explains how to program Web sites and client-server Web applications in diff --git a/2.2/manual/misc.html b/2.2/manual/misc.html index 69943214..8082e439 100644 --- a/2.2/manual/misc.html +++ b/2.2/manual/misc.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Miscellaneous features

    The code of this tutorial has been tested with the 2.2 release of +

    Miscellaneous features

    The code of this tutorial has been tested with the 2.2 release of the Ocsigen bundle.

    Multi-user collaborative drawing application

    We now want to take back our collaborative drawing application and turn it to a multi user one. Each user will have his own drawing, diff --git a/7.1/manual/application.html b/7.1/manual/application.html index c7908de2..66a480e7 100644 --- a/7.1/manual/application.html +++ b/7.1/manual/application.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Writing a client/server Eliom application

    In this chapter, we will write a collaborative +

    Writing a client/server Eliom application

    In this chapter, we will write a collaborative drawing application. It is a client/server web application displaying an area where users can draw using the mouse, and see what other users are drawing at the same time and in real-time. diff --git a/7.1/manual/basics-server.html b/7.1/manual/basics-server.html index afb36340..593e5d66 100644 --- a/7.1/manual/basics-server.html +++ b/7.1/manual/basics-server.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Server-side website programming guide

    While Eliom is well known for its unique client-server programming +

    Server-side website programming guide

    While Eliom is well known for its unique client-server programming model, it is also perfectly suited to programming more traditional websites. This page describes how you can generate Web pages in OCaml, and handle links, forms, page parameters, sessions, etc. You will see diff --git a/7.1/manual/basics.html b/7.1/manual/basics.html index 3d14f050..cb6d0585 100644 --- a/7.1/manual/basics.html +++ b/7.1/manual/basics.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Client-server application programming guide

    This page describes the main concepts you need to master to become fully operational +

    Client-server application programming guide

    This page describes the main concepts you need to master to become fully operational with Ocsigen. Use it as your training plan or as a cheatcheet while programming.

    Depending on your needs, you may not need to learn all this. Ocsigen is very flexible and can be used both for Web site programing (see diff --git a/7.1/manual/chat.html b/7.1/manual/chat.html index 1e59dabd..00c2da05 100644 --- a/7.1/manual/chat.html +++ b/7.1/manual/chat.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Chat: Design Overview

    Chat is a chatting module and application, currently for conversations +

    Chat: Design Overview

    Chat is a chatting module and application, currently for conversations between two users each. (Extension for multi-user channels is left as an exercise to the user.)

    You can find the code here. diff --git a/7.1/manual/custom-conf.html b/7.1/manual/custom-conf.html index e5da7ef6..69657bb4 100644 --- a/7.1/manual/custom-conf.html +++ b/7.1/manual/custom-conf.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Custom configuration options

    It is not convenient to have to edit the code to change some +

    Custom configuration options

    It is not convenient to have to edit the code to change some configurations, like the location where are saved the favorite images in the Graffiti tutorial (see: Saving favorite pictures). diff --git a/7.1/manual/hash-password.html b/7.1/manual/hash-password.html index 493c755d..69b4cb6e 100644 --- a/7.1/manual/hash-password.html +++ b/7.1/manual/hash-password.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Protecting your passwords

    For protecting the user passwords or other sensitive data, +

    Protecting your passwords

    For protecting the user passwords or other sensitive data, we can use ocaml-safepass.

    We can now write the encrypted password in our database diff --git a/7.1/manual/how-do-i-create-a-cryptographically-safe-identifier.html b/7.1/manual/how-do-i-create-a-cryptographically-safe-identifier.html index a6e07d2f..1b5d3c7a 100644 --- a/7.1/manual/how-do-i-create-a-cryptographically-safe-identifier.html +++ b/7.1/manual/how-do-i-create-a-cryptographically-safe-identifier.html @@ -44,4 +44,4 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    +

    diff --git a/7.1/manual/how-does-a-page-s-source-code-look.html b/7.1/manual/how-does-a-page-s-source-code-look.html index ba29259e..9386b535 100644 --- a/7.1/manual/how-does-a-page-s-source-code-look.html +++ b/7.1/manual/how-does-a-page-s-source-code-look.html @@ -44,7 +44,7 @@
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How does a client-server app source code look like?

    Eliom client-server applications

    Eliom client-server applications are running in your browser for a certain lifetime and consist of one or several pages/URLs. +

    How does a client-server app source code look like?

    Eliom client-server applications

    Eliom client-server applications are running in your browser for a certain lifetime and consist of one or several pages/URLs. An application has its associated js file, which must have the same name (generated automatically by the default makefile and added automatically by Eliom in the page).

    For example, we define an application called example:

    module Example =
    diff --git a/7.1/manual/how-to-add-a-div.html b/7.1/manual/how-to-add-a-div.html
    index fd1c576c..28623f38 100644
    --- a/7.1/manual/how-to-add-a-div.html
    +++ b/7.1/manual/how-to-add-a-div.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add a div?

    div ~a:[a_class ["firstclass"; "secondclass"]] [txt "Hello!"]

    Required parameter: list containing other elements +

    How to add a div?

    div ~a:[a_class ["firstclass"; "secondclass"]] [txt "Hello!"]

    Required parameter: list containing other elements (Details of available elements in type Html_types.flow5).

    Optional parameter for attributes "a" (How to set and id, classes or other attributes to HTML elements?). diff --git a/7.1/manual/how-to-add-a-favicon.html b/7.1/manual/how-to-add-a-favicon.html index fe720569..b864f3db 100644 --- a/7.1/manual/how-to-add-a-favicon.html +++ b/7.1/manual/how-to-add-a-favicon.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add a Favicon?

    A favicon is a file of type "ico" which contain a picture of size 16x16px. It is the picture that you can ususally see next to the title of the page on a browser. +

    How to add a Favicon?

    A favicon is a file of type "ico" which contain a picture of size 16x16px. It is the picture that you can ususally see next to the title of the page on a browser.

    favicon for Ocsigen.org

    By default, all browsers look for a file favicon.ico at the root of the website: diff --git a/7.1/manual/how-to-add-a-javascript-script.html b/7.1/manual/how-to-add-a-javascript-script.html index 6757baac..c958d706 100644 --- a/7.1/manual/how-to-add-a-javascript-script.html +++ b/7.1/manual/how-to-add-a-javascript-script.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add a Javacript script?

    If you have client-side programs on your website, you can use Eliom's client-server features, that will compile client side parts to JS using Ocsigen Js_of_ocaml, and include automatically the script in the page. But in some cases you may also want to include yourselves external JS scripts. +

    How to add a Javacript script?

    If you have client-side programs on your website, you can use Eliom's client-server features, that will compile client side parts to JS using Ocsigen Js_of_ocaml, and include automatically the script in the page. But in some cases you may also want to include yourselves external JS scripts.

    Include the script on the html header

    Javascript scripts are included in the header using the js_script function (defined in Error a_api: exception Dune__exe__Api.Error("invalid ocaml id \"Eliom_content.Html.D\"")).

    open Eliom_content.Html.D (* for make_uri an js_script *)
     
    diff --git a/7.1/manual/how-to-add-a-list.html b/7.1/manual/how-to-add-a-list.html
    index 1b14a616..3e3b9f38 100644
    --- a/7.1/manual/how-to-add-a-list.html
    +++ b/7.1/manual/how-to-add-a-list.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add lists in a page?

    Simple list and ordered list

    Simple list
    ul
    +

    How to add lists in a page?

    Simple list and ordered list

    Simple list
    ul
         [li [txt "first item"];
          li [txt "second item"];
          li [txt "third item"];
    diff --git a/7.1/manual/how-to-add-a-select-or-other-form-element.html b/7.1/manual/how-to-add-a-select-or-other-form-element.html
    index f22654a6..e7913a00 100644
    --- a/7.1/manual/how-to-add-a-select-or-other-form-element.html
    +++ b/7.1/manual/how-to-add-a-select-or-other-form-element.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add a select (or other form element)?

    In forms towards Eliom services:

    open Eliom_content
    +

    How to add a select (or other form element)?

    In forms towards Eliom services:

    open Eliom_content
     
     Html.D.Form.select ~name:select_name
       Html.D.Form.string (* type of the parameter *)
    diff --git a/7.1/manual/how-to-add-an-image.html b/7.1/manual/how-to-add-an-image.html
    index c4870695..a362d4d1 100644
    --- a/7.1/manual/how-to-add-an-image.html
    +++ b/7.1/manual/how-to-add-an-image.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add an image?

    Internal image +

    How to add an image?

    Internal image

    img ~alt:("Ocsigen Logo")
           ~src:(make_uri
                   ~service:(Eliom_service.static_dir ())
    diff --git a/7.1/manual/how-to-add-css-stylesheet.html b/7.1/manual/how-to-add-css-stylesheet.html
    index b5707c1c..17ab8261 100644
    --- a/7.1/manual/how-to-add-css-stylesheet.html
    +++ b/7.1/manual/how-to-add-css-stylesheet.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add a CSS stylesheet?

    Warning: css_link and make_uri come from Eliom_content.Html.D module. This module is opened for each piece of code +

    How to add a CSS stylesheet?

    Warning: css_link and make_uri come from Eliom_content.Html.D module. This module is opened for each piece of code

    CSS stylesheet are included in the header using the css_link function.

    css_link
          ~uri:(make_uri (Eliom_service.static_dir ())
    diff --git a/7.1/manual/how-to-attach-ocaml-values-to-dom-elements.html b/7.1/manual/how-to-attach-ocaml-values-to-dom-elements.html
    index 02895884..c8f2b69f 100644
    --- a/7.1/manual/how-to-attach-ocaml-values-to-dom-elements.html
    +++ b/7.1/manual/how-to-attach-ocaml-values-to-dom-elements.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to attach OCaml values to DOM elements?

    It is often convenient to attach OCaml values to certain elements of +

    How to attach OCaml values to DOM elements?

    It is often convenient to attach OCaml values to certain elements of the page. There are several ways to achieve this.

    • The first possibility is to use DATA attributes (for example if the page is generated on server side). diff --git a/7.1/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html b/7.1/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html index f7e19d6e..7ed345ea 100644 --- a/7.1/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html +++ b/7.1/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html @@ -44,4 +44,4 @@
    • Source code

    Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    +

    diff --git a/7.1/manual/how-to-build-js-object.html b/7.1/manual/how-to-build-js-object.html index fc30e7c7..8a1c3e49 100644 --- a/7.1/manual/how-to-build-js-object.html +++ b/7.1/manual/how-to-build-js-object.html @@ -44,7 +44,7 @@
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to build js object?

    Use syntax new%js: +

    How to build js object?

    Use syntax new%js:

    Example:

    let get_timestamp () =
       let date = new%js Js.date_now in
    diff --git a/7.1/manual/how-to-call-a-server-side-function-from-client-side.html b/7.1/manual/how-to-call-a-server-side-function-from-client-side.html
    index cc4e0d63..64a25be7 100644
    --- a/7.1/manual/how-to-call-a-server-side-function-from-client-side.html
    +++ b/7.1/manual/how-to-call-a-server-side-function-from-client-side.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to call a server-side function from client-side?

    It is possible to call server-side functions in client-side. +

    How to call a server-side function from client-side?

    It is possible to call server-side functions in client-side. For security reasons, these functions must first be declared explicitely as RPCs (with the type of their argument). diff --git a/7.1/manual/how-to-call-an-ocaml-function-from-js-code.html b/7.1/manual/how-to-call-an-ocaml-function-from-js-code.html index d988b927..6a36a7f4 100644 --- a/7.1/manual/how-to-call-an-ocaml-function-from-js-code.html +++ b/7.1/manual/how-to-call-an-ocaml-function-from-js-code.html @@ -44,4 +44,4 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to call an OCaml function from JS code?

    Have a look at function Js.wrap_callback

    +

    How to call an OCaml function from JS code?

    Have a look at function Js.wrap_callback

    diff --git a/7.1/manual/how-to-compile-my-ocsigen-pages.html b/7.1/manual/how-to-compile-my-ocsigen-pages.html index 9f68fb00..a49b5129 100644 --- a/7.1/manual/how-to-compile-my-ocsigen-pages.html +++ b/7.1/manual/how-to-compile-my-ocsigen-pages.html @@ -44,7 +44,7 @@
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to compile my Ocsigen pages?

    Eliom distillery

    Eliom-distillery will help you to build your client-server application +

    How to compile my Ocsigen pages?

    Eliom distillery

    Eliom-distillery will help you to build your client-server application using Eliom. It comes with several templates ("client-server.basic", "os.pgocaml", and more to come ...). diff --git a/7.1/manual/how-to-configure-and-launch-the-ocsigen-server.html b/7.1/manual/how-to-configure-and-launch-the-ocsigen-server.html index aae676ad..bb9b67ff 100644 --- a/7.1/manual/how-to-configure-and-launch-the-ocsigen-server.html +++ b/7.1/manual/how-to-configure-and-launch-the-ocsigen-server.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to configure and launch the Ocsigen Server?

    Default configuration file

    Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to create a link to the current page (without knowing its URL)?

    Void coservices are here for that: +

    How to create a link to the current page (without knowing its URL)?

    Void coservices are here for that:

    a ~service:Eliom_service.reload_action
       [txt "Click to reload"] ();

    More information in Eliom's manual, and API documentation of diff --git a/7.1/manual/how-to-detect-channel-disconnection.html b/7.1/manual/how-to-detect-channel-disconnection.html index 5166400e..894cdeb2 100644 --- a/7.1/manual/how-to-detect-channel-disconnection.html +++ b/7.1/manual/how-to-detect-channel-disconnection.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to detect channel disconnection

    Question

    Is there a way to detect that some Eliom_comet channel became +

    How to detect channel disconnection

    Question

    Is there a way to detect that some Eliom_comet channel became disconnected? I would like to warn the user if the server becomes unreachable.

    Answer

    If you are using Ocsigen-start, you probably have nothing to do. diff --git a/7.1/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html b/7.1/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html index 9e33b752..670b92bc 100644 --- a/7.1/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html +++ b/7.1/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to detect on client side that the server side state for the process is closed?

    If you are using Ocsigen-start, you probably have nothing to do. +

    How to detect on client side that the server side state for the process is closed?

    If you are using Ocsigen-start, you probably have nothing to do. Ocsigen-start will monitor the life of sessions and close the process when needed.

    If you are not using Ocsigen-start, you must catch exceptions diff --git a/7.1/manual/how-to-do-links-to-other-pages.html b/7.1/manual/how-to-do-links-to-other-pages.html index d6de6091..7daf989f 100644 --- a/7.1/manual/how-to-do-links-to-other-pages.html +++ b/7.1/manual/how-to-do-links-to-other-pages.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to do links to other pages?

    Examples: +

    How to do links to other pages?

    Examples:

    (* Link to a service without parameter: *)
     Html.D.a ~service:coucou [txt "coucou"] ();
     
    diff --git a/7.1/manual/how-to-implement-a-notification-system.html b/7.1/manual/how-to-implement-a-notification-system.html
    index 06532d32..d23633b2 100644
    --- a/7.1/manual/how-to-implement-a-notification-system.html
    +++ b/7.1/manual/how-to-implement-a-notification-system.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to implement a notification system?

    The easiest way for the server to send notifications to the client is +

    How to implement a notification system?

    The easiest way for the server to send notifications to the client is to use module Os_notif from Ocsigen-start (OS), but it requires to use OS's user management system. If you are not using OS, we recommend to get inspiration from diff --git a/7.1/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html b/7.1/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html index 277f483b..78d9b362 100644 --- a/7.1/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html +++ b/7.1/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to insert "raw" form elements (not belonging to a form towards a service)?

    Eliom redefines most forms elements (inputs, textareas, checkboxes, etc.) +

    How to insert "raw" form elements (not belonging to a form towards a service)?

    Eliom redefines most forms elements (inputs, textareas, checkboxes, etc.) to make possible to check the type of the form w.r.t. the type of the service.

    If you don't want that (for example if you want to use it only from a client side program), you can use "raw form elements" (that is, basic tyxml elements), using diff --git a/7.1/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html b/7.1/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html index 9da7f543..d867b04a 100644 --- a/7.1/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html +++ b/7.1/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to iterate on all session belonging to the same user, or all tabs?

    You must create a session group for each user, then iterate on all +

    How to iterate on all session belonging to the same user, or all tabs?

    You must create a session group for each user, then iterate on all the sessions from this group, and possibly on all client processes for each session:

    (* We get the session group state for this user: *)
    diff --git a/7.1/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html b/7.1/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html
    index 3de0146d..4d5731cd 100644
    --- a/7.1/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html
    +++ b/7.1/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to know whether the browser window has the focus or not?

    Example: +

    How to know whether the browser window has the focus or not?

    Example:

    let has_focus = ref true
     
     let _ =
    diff --git a/7.1/manual/how-to-make-hello-world-in-ocsigen.html b/7.1/manual/how-to-make-hello-world-in-ocsigen.html
    index fea2ed33..0a4f1cda 100644
    --- a/7.1/manual/how-to-make-hello-world-in-ocsigen.html
    +++ b/7.1/manual/how-to-make-hello-world-in-ocsigen.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to make a "hello world" in Ocsigen?

    Here it is! The famous "Hello World" for a client/server Eliom application: +

    How to make a "hello world" in Ocsigen?

    Here it is! The famous "Hello World" for a client/server Eliom application:

    open Eliom_content
     open Html.D
     open Eliom_parameter
    diff --git a/7.1/manual/how-to-make-page-a-skeleton.html b/7.1/manual/how-to-make-page-a-skeleton.html
    index 560d7c5d..0b12654f 100644
    --- a/7.1/manual/how-to-make-page-a-skeleton.html
    +++ b/7.1/manual/how-to-make-page-a-skeleton.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to make a page skeleton?

    The same header for all your pages

    When your site will grow, you will have several different services for pages which will often contain the same header informations. +

    How to make a page skeleton?

    The same header for all your pages

    When your site will grow, you will have several different services for pages which will often contain the same header informations.

    A great solutions to avoid code copy-pasting of these recurrent informations are to make a page skeleton function:

    let skeleton body_content =
       Lwt.return
    diff --git a/7.1/manual/how-to-make-responsive-css.html b/7.1/manual/how-to-make-responsive-css.html
    index 491a37a2..23c33f1d 100644
    --- a/7.1/manual/how-to-make-responsive-css.html
    +++ b/7.1/manual/how-to-make-responsive-css.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to make reponsive CSS with ocsigen?

    The best way to do that is to make one general css sheet plus three css sheets, small, medium and large screen using media queries, a feature introduced in CSS3. +

    How to make reponsive CSS with ocsigen?

    The best way to do that is to make one general css sheet plus three css sheets, small, medium and large screen using media queries, a feature introduced in CSS3.

    Write theses lines in your css sheets:

    @media only screen and (max-device-width: 480px)
     @media only screen and (min-device-width: 481px) and (max-device-width: 768px)
    diff --git a/7.1/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html b/7.1/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html
    index b6afa08c..436a8f25 100644
    --- a/7.1/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html
    +++ b/7.1/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to make the client side program get an HTML element from the server and insert it in the page?

    A very convenient way to do that is to use RPCs : +

    How to make the client side program get an HTML element from the server and insert it in the page?

    A very convenient way to do that is to use RPCs :

    let%rpc get_mydiv (() : unit) : _ Lwt.t = div [ ... ]
    [%client
       ...
       let%lwt mydiv = get_mydiv () in
    diff --git a/7.1/manual/how-to-register-a-service-that-decides-itself-what-to-send.html b/7.1/manual/how-to-register-a-service-that-decides-itself-what-to-send.html
    index 9f371ace..25ffe43a 100644
    --- a/7.1/manual/how-to-register-a-service-that-decides-itself-what-to-send.html
    +++ b/7.1/manual/how-to-register-a-service-that-decides-itself-what-to-send.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to register a service that decides itself what to send?

    Use Eliom_registration.Any. +

    How to register a service that decides itself what to send?

    Use Eliom_registration.Any.

    In the following example, we send an Html page or a redirection:

    let send_any =
       Eliom_registration.Any.create
    diff --git a/7.1/manual/how-to-register-session-data.html b/7.1/manual/how-to-register-session-data.html
    index 12792978..261c37d5 100644
    --- a/7.1/manual/how-to-register-session-data.html
    +++ b/7.1/manual/how-to-register-session-data.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to register session data?

    It is very easy to register session data using Eliom references. +

    How to register session data?

    It is very easy to register session data using Eliom references. Just create an Eliom reference of scope session and its value will be different for each session (one session = one browser process).

    But most of the time, what we want is to store data for one user, diff --git a/7.1/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html b/7.1/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html index b9e5f773..244023ff 100644 --- a/7.1/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html +++ b/7.1/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to send a file to the server without stopping the client process?

    This requires Eliom ≥ 3.1. +

    How to send a file to the server without stopping the client process?

    This requires Eliom ≥ 3.1.

    Due to security reasons, browsers have limitations on sending files. But if the file is chosen by the user through an input file element, there is a way to send it to the server. You can't use the server_function diff --git a/7.1/manual/how-to-send-file-download.html b/7.1/manual/how-to-send-file-download.html index 1bff96bf..c0e77e65 100644 --- a/7.1/manual/how-to-send-file-download.html +++ b/7.1/manual/how-to-send-file-download.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to send a file (download)?

    To serve file, you can use Ocsigen Server's module staticmod. +

    How to send a file (download)?

    To serve file, you can use Ocsigen Server's module staticmod. But it is also possible to ask Eliom to send files using module Eliom_registration.File, for example if you want Eliom to perform some privacy checks before sending, diff --git a/7.1/manual/how-to-send-file-upload.html b/7.1/manual/how-to-send-file-upload.html index 9fea9b45..11fcaa2c 100644 --- a/7.1/manual/how-to-send-file-upload.html +++ b/7.1/manual/how-to-send-file-upload.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to send a file (upload)?

    To upload a file, use Eliom_parameter.file as service parameter type. +

    How to send a file (upload)?

    To upload a file, use Eliom_parameter.file as service parameter type.

    Ocsigen server will save the file at a temporary location and keep it there during the request. Then the file will be removed. You must link it somewhere else on the disk yourself if you want to keep it. diff --git a/7.1/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html b/7.1/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html index fafa8e3e..a877aa66 100644 --- a/7.1/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html +++ b/7.1/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to set and id, classes or other attributes to HTML elements?

    Mandatory element attributes are given as OCaml named parameters to +

    How to set and id, classes or other attributes to HTML elements?

    Mandatory element attributes are given as OCaml named parameters to constructions function.

    Optional element attributes are added using the optional OCaml parameter "?a" which is more or less available for every HTML5 elements. This parameter is taking a list of attributes compatible with the element.

    div ~a:[a_class ["red";"shadow"];
    diff --git a/7.1/manual/how-to-stop-default-behaviour-of-events.html b/7.1/manual/how-to-stop-default-behaviour-of-events.html
    index c8cf4ce8..7023fde9 100644
    --- a/7.1/manual/how-to-stop-default-behaviour-of-events.html
    +++ b/7.1/manual/how-to-stop-default-behaviour-of-events.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to stop default behaviour of events?

    Example: +

    How to stop default behaviour of events?

    Example:

    (** Disable Js event with stopping propagation during capture phase **)
     let disable_event event html_elt =
       Lwt.async (fun () ->
    diff --git a/7.1/manual/how-to-use-get-parameters-or-parameters-in-the-url.html b/7.1/manual/how-to-use-get-parameters-or-parameters-in-the-url.html
    index d4c0076c..349ecbc6 100644
    --- a/7.1/manual/how-to-use-get-parameters-or-parameters-in-the-url.html
    +++ b/7.1/manual/how-to-use-get-parameters-or-parameters-in-the-url.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to use GET parameters (parameters in the URL)?

    Pages are generated by services. +

    How to use GET parameters (parameters in the URL)?

    Pages are generated by services.

    Funcrions to create services using GET HTTP method take two mandatory parameters: ~path and ~get_params.

    path

    This argument is a list of string, corresponding to the URL where your page service can be found. diff --git a/7.1/manual/how-to-write-a-json-service.html b/7.1/manual/how-to-write-a-json-service.html index 6cb7f127..440f2ee0 100644 --- a/7.1/manual/how-to-write-a-json-service.html +++ b/7.1/manual/how-to-write-a-json-service.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to write a JSON service?

    Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to write forms?

    To write an HTML form towards an Eliom service

    Just as we do for links, we provide form-building functions that call +

    How to write forms?

    To write an HTML form towards an Eliom service

    Just as we do for links, we provide form-building functions that call Eliom services in a safe manner. These functions are provided in the module Eliom_content.Html.D.Form (and diff --git a/7.1/manual/how-to-write-titles-and-paragraphs.html b/7.1/manual/how-to-write-titles-and-paragraphs.html index 301239cc..69dc1766 100644 --- a/7.1/manual/how-to-write-titles-and-paragraphs.html +++ b/7.1/manual/how-to-write-titles-and-paragraphs.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to write titles and paragrahs?

    Titles +

    How to write titles and paragrahs?

    Titles

    h3 [txt "Hello world"]

    There are 6 types of titles: h1, h2, h3, h4, h5 and h6. h1 is the largest and h6 is the smallest.

    Pagragraph

    p [txt "Some text, blah blah blah"]

    Required parameter: list containing other elements (content: Html_types.flow5 elements). diff --git a/7.1/manual/html.html b/7.1/manual/html.html index af9208e5..7205f16f 100644 --- a/7.1/manual/html.html +++ b/7.1/manual/html.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    HTML in 5 minutes

    The Tyxml library makes it possible to type-check HTML pages. +

    HTML in 5 minutes

    The Tyxml library makes it possible to type-check HTML pages. This means that your Ocsigen program will never generate pages which do not follow the recommendations from the W3C. For example a program that could generate a page with a paragraph diff --git a/7.1/manual/interaction.html b/7.1/manual/interaction.html index 15e15cdd..476443fd 100644 --- a/7.1/manual/interaction.html +++ b/7.1/manual/interaction.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Implementing Web Interaction Using Eliom

    The code of this tutorial has been tested with Eliom 6.0.
    +

    Implementing Web Interaction Using Eliom

    The code of this tutorial has been tested with Eliom 6.0.

    This chapter of the tutorial explains how to create a small web site with several pages, users, sessions, and other elements of classical web development. Then, in diff --git a/7.1/manual/intro.html b/7.1/manual/intro.html index 5aad2711..45e824f3 100644 --- a/7.1/manual/intro.html +++ b/7.1/manual/intro.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Introduction

    Ocsigen is a complete framework for developing Web and mobile apps +

    Introduction

    Ocsigen is a complete framework for developing Web and mobile apps using cutting edge techniques. It can be used to write simple server side Web sites, client-side programs, or complex client-server Web and mobile apps. diff --git a/7.1/manual/lwt.html b/7.1/manual/lwt.html index 727913e7..db20b434 100644 --- a/7.1/manual/lwt.html +++ b/7.1/manual/lwt.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Lwt in 5 minutes

    Principles

    The Lwt library implements cooperative threads for OCaml. Cooperative +

    Lwt in 5 minutes

    Principles

    The Lwt library implements cooperative threads for OCaml. Cooperative threads are an alternative to preemptive threads (used in many languages and in OCaml's Thread module) that solve most common issues with preemptive threads: with Lwt, there is very limited risk diff --git a/7.1/manual/macaque.html b/7.1/manual/macaque.html index 04ccdfd0..6e93ac7f 100644 --- a/7.1/manual/macaque.html +++ b/7.1/manual/macaque.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Type safe database requests using Macaque

    The Macaque library allows easy manipulation of Postgresql +

    Type safe database requests using Macaque

    The Macaque library allows easy manipulation of Postgresql database fully compatible with Lwt. (For more information see Macaque manual).

    Macaque is fuly compatible with PGOcaml, and both can be used diff --git a/7.1/manual/misc.html b/7.1/manual/misc.html index b6a386c6..3ec6df9f 100644 --- a/7.1/manual/misc.html +++ b/7.1/manual/misc.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Traditional web interaction in a client-server app

    The code of this tutorial has been tested with Eliom 6.0.
    +

    Traditional web interaction in a client-server app

    The code of this tutorial has been tested with Eliom 6.0.

    Multi-user collaborative drawing application

    We now want to turn our collaborative drawing application into a multi-user one. Each user will have their own drawing, where everyone can draw. diff --git a/7.1/manual/mobile.html b/7.1/manual/mobile.html index bacdb1aa..d2aee714 100644 --- a/7.1/manual/mobile.html +++ b/7.1/manual/mobile.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Mobile applications with Ocsigen

    Since Eliom 6.0, the Ocsigen framework provides infrastructure for +

    Mobile applications with Ocsigen

    Since Eliom 6.0, the Ocsigen framework provides infrastructure for building mobile applications. This enables rapid development of Android, iOS, and Windows Mobile apps with the same APIs and programming style as for a regular client-server Web application. In diff --git a/7.1/manual/music.html b/7.1/manual/music.html index 2b0fa23c..22025e2f 100644 --- a/7.1/manual/music.html +++ b/7.1/manual/music.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Listening music

    We will add an audio player to the page that will stay when page +

    Listening music

    We will add an audio player to the page that will stay when page changes. This emphasises the fact that browsing inside an application does not stop the client side code: the music keeps playing when the content of the page and the url change. diff --git a/7.1/manual/ocsipersist.html b/7.1/manual/ocsipersist.html index 1fa03cb4..8fe49464 100644 --- a/7.1/manual/ocsipersist.html +++ b/7.1/manual/ocsipersist.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Lightweight database using Ocsipersist

    Ocsipersist is a module for persistent references and tables. +

    Lightweight database using Ocsipersist

    Ocsipersist is a module for persistent references and tables.

    For persistent references, Eliom has a higher level interface, called Eliom references, and you probably want to use it instead of using Ocsipersist directly. diff --git a/7.1/manual/pictures.html b/7.1/manual/pictures.html index da84e42d..4396454d 100644 --- a/7.1/manual/pictures.html +++ b/7.1/manual/pictures.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Saving favorite pictures

    We will now add a button to the Graffiti application to save the current +

    Saving favorite pictures

    We will now add a button to the Graffiti application to save the current image. The images will be saved to the filesystem using the module Lwt_io. We will then make an Atom feed with the saved images using Syndic. diff --git a/7.1/manual/reactivemediaplayer.html b/7.1/manual/reactivemediaplayer.html index af7d8753..eb94b95b 100644 --- a/7.1/manual/reactivemediaplayer.html +++ b/7.1/manual/reactivemediaplayer.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Reactive Media Player

    You should read the Playing Music tutorial before this one. +

    Reactive Media Player

    You should read the Playing Music tutorial before this one.

    Since version 4, Eliom embeds the React library in order to provide reactive HTML elements diff --git a/7.1/manual/rest.html b/7.1/manual/rest.html index 6aa1accd..1212359d 100644 --- a/7.1/manual/rest.html +++ b/7.1/manual/rest.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    RESTful JSON API using Eliom

    This tutorial will show you how to create a simple, yet complete, REST API +

    RESTful JSON API using Eliom

    This tutorial will show you how to create a simple, yet complete, REST API using JSON as the serialization format.

    To illustrate our example, let's say we want to give access to a database of locations storing a description and coordinates (latitude and longitude). diff --git a/7.1/manual/start.html b/7.1/manual/start.html index af0aefad..889d3619 100644 --- a/7.1/manual/start.html +++ b/7.1/manual/start.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Your first app in 5 minutes

    The code of this tutorial has been tested against Eliom 6.0.
    +

    Your first app in 5 minutes

    The code of this tutorial has been tested against Eliom 6.0.

    This tutorial describes how to get started with Ocsigen quickly. Thanks to an application template provided by the Ocsigen team, you will get to a working application with standard diff --git a/7.1/manual/tutoreact.html b/7.1/manual/tutoreact.html index 7e82af94..b2e6f124 100644 --- a/7.1/manual/tutoreact.html +++ b/7.1/manual/tutoreact.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Client server reactive application with Ocsigen

    This is a short tutorial showing how to implement a simple reactive +

    Client server reactive application with Ocsigen

    This is a short tutorial showing how to implement a simple reactive client-server application using Js_of_ocaml, Eliom and Ocsigen Start.

    We are going to implement an application that can display a list of messages and diff --git a/7.1/manual/tutowidgets.html b/7.1/manual/tutowidgets.html index c3aae214..b5b7b1e0 100644 --- a/7.1/manual/tutowidgets.html +++ b/7.1/manual/tutowidgets.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Mini-tutorial: client-server widgets

    This short tutorial is an example of client-server Eliom application. +

    Mini-tutorial: client-server widgets

    This short tutorial is an example of client-server Eliom application. It gives an example of client-server widgets.

    It is probably a good starting point if you know OCaml well, and want to quickly learn how to write a client-server Eliom application with a diff --git a/8.0/manual/application.html b/8.0/manual/application.html new file mode 100644 index 00000000..171efe30 --- /dev/null +++ b/8.0/manual/application.html @@ -0,0 +1,695 @@ +Writing a client/server Eliom application

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Writing a client/server Eliom application

    In this chapter, we will write a collaborative +drawing application. It is a client/server web application +displaying an area where users can draw using the mouse, and see what +other users are drawing at the same time and in real-time. +

    This tutorial is a good starting point if you want a step-by-step +introduction to Eliom programming. +

    The final eliom code is available +for download.

    Basics

    If not already done, install Eliom first: +

    opam install ocsipersist-sqlite eliom ocsigen-ppx-rpc
    +

    To get started, we recommend using Eliom distillery, a program which +creates scaffolds for Eliom projects. The following command creates a +very simple project called graffiti in the directory +graffiti: +

    $ eliom-distillery -name graffiti -template client-server.basic -target-directory graffiti

    My first page

    Our web application consists of a single page for now. Let's start by +creating a very basic page. We define the service that will implement +this page by the following declaration: +

    open%server Eliom_content.Html.D (* provides functions to create HTML nodes *)
    +
    +let%server main_service =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path ["graff"])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    ()
    +
    +let%server () =
    +  Eliom_registration.Html.register ~service:main_service
    +    (fun () () ->
    +      Lwt.return
    +        (html
    +           (head (title (txt "Page title")) [])
    +           (body [h1 [txt "Graffiti"]])))

    Annotations %server tells the compiler that the code is going to be executed +on the server (see later). +

    Replace the content of file graffiti.eliom by the above lines and run: +

    $ make test.byte

    This will compile your application and run ocsigenserver. +

    Your page is now available at URL http://localhost:8080/graff. +

    Execute parts of the program on the client

    To create our first service, we used the function Eliom_registration.Html.create, as +all we wanted to do was return HTML. But we actually want a service +that corresponds to a full application with client and server +parts. To do so, we need to create our own registration module by +using the functor Eliom_registration.App: +

    module Graffiti_app =
    +  Eliom_registration.App (struct
    +      let application_name = "graffiti"
    +      let global_data_path = None
    +    end)

    It is now possible to use module Graffiti_app for registering our main +service (now at URL /): +

    let%server main_service =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    ()
    +
    +let%server () =
    +  Graffiti_app.register ~service:main_service
    +    (fun () () ->
    +      Lwt.return
    +        (html
    +           (head (title (txt "Graffiti")) [])
    +           (body [h1 [txt "Graffiti"]]) ) )

    We can now add some OCaml code to be executed by the browser. For this +purpose, Eliom provides a syntax extension to distinguish between +server and client code in the same file. We start by a very basic +program, that will display a message to the user by calling the +JavaScript function alert. Add the following lines to the +program: +

    let%client _ = Eliom_lib.alert "Hello!"

    After running again make test.byte, and visiting +http://localhost:8080/, the browser will load the file +graffiti.js, and open an alert-box. +

    Accessing server side variables on client side code

    The client side process is not strictly separated from the server +side. We can access some server variables from the client code. For +instance: +

    open%client Js_of_ocaml
    let%server count = ref 0
    +
    +let%server main_service =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    ()
    +
    +let%server () =
    +  Graffiti_app.register ~service:main_service
    +    (fun () () ->
    +       let c = incr count; !count in
    +       let text = Printf.sprintf "You came %i times to this page" in
    +       ignore [%client
    +         (Dom_html.window##alert
    +            (Js.string @@ Printf.sprintf "You came %i times to this page" ~%c)
    +          : unit)
    +       ];
    +       Lwt.return
    +         (html
    +            (head (title (txt "Graffiti")) [])
    +            (body [h1 [txt @@ text c]])))

    Here, we are increasing the reference count each time the page +is accessed. When the page is loaded and the document is in-place, the +client program initializes the value inside [%client ... ] , +and thus triggers an alert window. More specifically, the variable +c, in the scope of the client value on the server is made +available to the client value using the syntax extension ~%c. In +doing so, the server side value c is displayed in a message box +on the client. +

    Collaborative drawing application

    Drawing on a canvas

    We now want to draw something on the page using an HTML canvas. The +drawing primitive is defined in the client-side function called +draw that just draws a line between two given points in a canvas. +

    To start our collaborative drawing application, we define another +client-side function init_client , which just draws a single +line for now. +

    Here is the (full) new version of the program: +

    open%server Eliom_content
    +open%server Eliom_content.Html.D
    open%client Js_of_ocaml
    module%server Graffiti_app =
    +  Eliom_registration.App (
    +    struct
    +      let application_name = "graffiti"
    +      let global_data_path = None
    +    end)
    let%server width  = 700
    +let%server height = 400
    let%client draw ctx ((r, g, b), size, (x1, y1), (x2, y2)) =
    +  let color = CSS.Color.string_of_t (CSS.Color.rgb r g b) in
    +  ctx##.strokeStyle := (Js.string color);
    +  ctx##.lineWidth := float size;
    +  ctx##beginPath;
    +  ctx##(moveTo (float x1) (float y1));
    +  ctx##(lineTo (float x2) (float y2));
    +  ctx##stroke
    let%server canvas_elt =
    +  Html.D.canvas ~a:[Html.D.a_width width; Html.D.a_height height]
    +    [Html.D.txt "your browser doesn't support canvas"]
    +
    +let%server page () =
    +  html
    +     (head (title (txt "Graffiti")) [])
    +     (body [h1 [txt "Graffiti"];
    +            canvas_elt])
    let%client init_client () =
    +  let canvas = Eliom_content.Html.To_dom.of_canvas ~%canvas_elt in
    +  let ctx = canvas##(getContext (Dom_html._2d_)) in
    +  ctx##.lineCap := Js.string "round";
    +  draw ctx ((0, 0, 0), 12, (10, 10), (200, 100))
    let%server main_service =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path ["graff"])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    ()
    +
    +let%server () =
    +  Graffiti_app.register
    +    ~service:main_service
    +    (fun () () ->
    +       (* Cf. section "Client side side-effects on the server" *)
    +       let _ = [%client (init_client () : unit) ] in
    +       Lwt.return (page ()))

    Single user drawing application

    We now want to catch mouse events to draw lines with the mouse like +with the brush tools of any classical drawing application. One +solution would be to mimic typical JavaScript code in OCaml; for +example by using the function Js_of_ocaml.Dom_events.listen that is the Js_of_ocaml's equivalent of +addEventListener. However, this solution is at least as verbose +as the JavaScript equivalent, hence not satisfactory. Js_of_ocaml's +library provides a much easier way to do that with the help of Lwt. +

    To use this, add the following line on top of your file: +

    open%client Js_of_ocaml_lwt

    Then, replace the init_client of the previous example by the +following piece of code, then compile and draw! +

    let%client init_client () =
    +
    +  let canvas = Eliom_content.Html.To_dom.of_canvas ~%canvas_elt in
    +  let ctx = canvas##(getContext (Dom_html._2d_)) in
    +  ctx##.lineCap := Js.string "round";
    +
    +  let x = ref 0 and y = ref 0 in
    +
    +  let set_coord ev =
    +    let x0, y0 = Dom_html.elementClientPosition canvas in
    +    x := ev##.clientX - x0; y := ev##.clientY - y0
    +  in
    +
    +  let compute_line ev =
    +    let oldx = !x and oldy = !y in
    +    set_coord ev;
    +    ((0, 0, 0), 5, (oldx, oldy), (!x, !y))
    +  in
    +
    +  let line ev = draw ctx (compute_line ev); Lwt.return () in
    +
    +  Lwt.async (fun () ->
    +    let open Lwt_js_events in
    +    mousedowns canvas
    +      (fun ev _ ->
    +         set_coord ev;
    +         let%lwt () = line ev in
    +         Lwt.pick
    +           [mousemoves Dom_html.document (fun x _ -> line x);
    +            let%lwt ev = mouseup Dom_html.document in line ev]))

    We use two references x and y to record the last mouse +position. The function set_coord updates those references from +mouse event data. The function compute_line computes the +coordinates of a line from the initial (old) coordinates to the new +coordinates–the event data sent as a parameter. +

    The last four lines of code implement the event-handling loop. They +can be read as follows: for each mousedown event on the canvas, +do set_coord, then line (this will draw a dot), then +behave as the first of the two following lines that terminates: +

    • For each mousemove event on the document, call line (never +terminates) +
    • If there is a mouseup event on the document, call line. +

    Collaborative drawing application

    In order to see what other users are drawing, we now want to do the +following: +

    • Send the coordinates to the server when the user draw a line, then +
    • Dispatch the coordinates to all connected users. +

    We first declare a type, shared by the server and the client, +describing the color (as RGB values) and coordinates of drawn lines. +

    type%shared messages =
    +    ((int * int * int) * int * (int * int) * (int * int))
    +    [@@deriving json]

    We annotate the type declaration with [@@deriving json] to allow +type-safe deserialization of this type. Eliom forces you to use this +in order to avoid server crashes if a client sends corrupted data. +This is defined using a JSON plugin for +ppx_deriving, which you +need to install. You need to do that for each type of data sent by the +client to the server. This annotation can only be added on types +containing exclusively basic types, or other types annotated with +[@@deriving json]. +

    Then we create an Eliom bus to broadcast drawing events to all client +with the function Eliom_bus.create. This function take as parameter the type of +values carried by the bus. +

    let%server bus = Eliom_bus.create [%json: messages]

    To write draw commands into the bus, we just replace the function +line in init_client by: +

    let line ev =
    +  let v = compute_line ev in
    +  let _ = Eliom_bus.write ~%bus v in
    +  draw ctx v;
    +  Lwt.return ()
    +in

    Finally, to interpret the draw orders read on the bus, we add the +following line at the end of function init_client: +

    Lwt.async (fun () ->
    +    Lwt_stream.iter (draw ctx) (Eliom_bus.stream ~%(bus : (messages, messages) Eliom_bus.t)))

    Now you can try the program using two browser windows to see that the +lines are drawn on both windows. +

    Color and size of the brush

    In this section, we add a color picker and slider to choose the size +of the brush. For the colorpicker we used a widget available in +Ocsigen Toolkit. +

    To install Ocsigen Toolkit, do: +

    opam install ocsigen-toolkit
    +

    Add package ocsigen-toolkit.server to the libraries section of your dune file, and ocsigen-toolkit.client to the libraries section of your client/dune file. +

      (libraries ... ocsigen-toolkit.server)
    +
      (libraries ... ocsigen-toolkit.client)
    +

    In Makefile.options, created by Eliom's distillery, add +ocsigen-toolkit.server to the SERVER_PACKAGES. +This will be used to regenerate Ocsigen Server's configuration file. +

    SERVER_PACKAGES := ... ocsigen-toolkit.server

    To create the widget, we replace page by : +

    let%server page () =
    +  let colorpicker, cp_sig =
    +    Ot_color_picker.make ~a:[Html.D.a_class ["colorpicker"]] ()
    +  in
    +  ( Html.D.html
    +      (Html.D.head
    +         (Html.D.title (Html.D.txt "Graffiti")) [])
    +      (Html.D.body [h1 [txt "Graffiti"]
    +                   ; canvas_elt
    +                   ; colorpicker])
    +  , cp_sig )

    Replace the registration of main_service by: +

    let%server () =
    +  Graffiti_app.register ~service:main_service
    +    (fun () () ->
    +       (* Cf. section "Client side side-effects on the server" *)
    +      let page, cp_sig = page () in
    +       let _ = [%client (init_client ~cp_sig:~%cp_sig () : unit) ] in
    +       Lwt.return page)

    We subsequently add a simple HTML slider to change the size of the +brush. Near the canvas_elt definition, simply add the following +code: +

    let%server slider =
    +  Eliom_content.Html.D.Form.input
    +    ~a:
    +      [ Html.D.a_id "slider"
    +      ; Html.D.a_class ["slider"]
    +      ; Html.D.a_input_min (`Number 1)
    +      ; Html.D.a_input_max (`Number 80)
    +      ; Html.D.a_value "22" ]
    +    ~input_type:`Range Html.D.Form.int

    Form.int is a typing information telling that this input takes +an integer value. This kind of input can only be associated to +services taking an integer as parameter. +

    We then add the slider to the page body, between the canvas and +the colorpicker. +

    To change the size and the color of the brush, we add parameter +~cp_sig to init_client and modify +function compute_line: +

    let%client init_client ~cp_sig () =
    +...
    +  let compute_line ev =
    +    let oldx = !x and oldy = !y in
    +    set_coord ev;
    +    let size_slider = Eliom_content.Html.To_dom.of_input ~%slider in
    +    let size = int_of_string (Js.to_string size_slider##.value) in
    +    let h, s, v = Eliom_shared.React.S.value cp_sig in
    +    let r, g, b = Ot_color_picker.hsv_to_rgb h s v in
    +    let rgb = int_of_float r, int_of_float g, int_of_float b in
    +    (rgb, size, (oldx, oldy), (!x, !y))
    +  in
    +...

    Finally, we need to add a stylesheet in the headers of our page +with function Eliom_tools.D.css_link: +

    let%server page () =
    +  let colorpicker, cp_sig =
    +    Ot_color_picker.make ~a:[Html.D.a_class ["colorpicker"]] ()
    +  in
    +  ( html
    +      (head
    +         (title (Html.D.txt "Graffiti"))
    +         [ css_link
    +             ~uri:
    +               (Html.D.make_uri
    +                  ~service:(Eliom_service.static_dir ())
    +                  ["css"; "graffiti.css"])
    +             ()
    +         ; css_link
    +             ~uri:
    +               (make_uri
    +                  ~service:(Eliom_service.static_dir ())
    +                  ["css"; "ot_color_picker.css"])
    +             () ])
    +      (body [canvas_elt; slider; colorpicker])
    +  , cp_sig )

    You need to install the corresponding stylesheets and images into your +project. The stylesheet files should go to the directory +static/css. +Download file graffiti.css from here. +Copy file ot_color_picker.css from directory +~/.opam/<version>/share/ocsigen-toolkit/css into static/css. +

    You can then test your application (make test.byte). +

    Sending the initial image

    To finish the first part of the tutorial, we want to save the current +drawing on server side and send the current image when a new user +arrives. To do that, we will use the +Cairo binding for OCaml. +

    For using Cairo, first, make sure that it is installed (it is +available as cairo2 via OPAM). Second, add it to the +libraries section in your dune file. +

    Second, add it to the SERVER_PACKAGES in your Makefile.options: +

    SERVER_PACKAGES := ... cairo2

    The draw_server function below is the equivalent of the +draw function on the server side and the image_string +function outputs the PNG image in a string. +

    let%server draw_server, image_string =
    +  let rgb_ints_to_floats (r, g, b) =
    +    float r /. 255., float g /. 255., float b /. 255.
    +  in
    +  (* needed by cairo *)
    +  let surface = Cairo.Image.create Cairo.Image.ARGB32 ~w:width ~h:height in
    +  let ctx = Cairo.create surface in
    +  ( (fun (rgb, size, (x1, y1), (x2, y2)) ->
    +      (* Set thickness of brush *)
    +      let r, g, b = rgb_ints_to_floats rgb in
    +      Cairo.set_line_width ctx (float size);
    +      Cairo.set_line_join ctx Cairo.JOIN_ROUND;
    +      Cairo.set_line_cap ctx Cairo.ROUND;
    +      Cairo.set_source_rgb ctx r g b;
    +      Cairo.move_to ctx (float x1) (float y1);
    +      Cairo.line_to ctx (float x2) (float y2);
    +      Cairo.Path.close ctx;
    +      (* Apply the ink *)
    +      Cairo.stroke ctx)
    +  , fun () ->
    +      let b = Buffer.create 10000 in
    +      (* Output a PNG in a string *)
    +      Cairo.PNG.write_to_stream surface (Buffer.add_string b);
    +      Buffer.contents b )
    +
    +let%server _ = Lwt_stream.iter draw_server (Eliom_bus.stream bus)

    We also define a service that sends the picture: +

    let%server imageservice =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path ["image"])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    ()
    +
    +let%server () =
    +  Eliom_registration.String.register ~service:imageservice
    +    (fun () () -> Lwt.return (image_string (), "image/png"))

    We now want to load the initial image once the canvas is created. Add +the following lines just after the creation of the canvas context +in init_client: +

    (* The initial image: *)
    +let img = Eliom_content.Html.To_dom.of_img
    +    (img ~alt:"canvas"
    +       ~src:(make_uri ~service:~%imageservice ())
    +       ())
    +in
    +img##.onload := Dom_html.handler (fun _ev ->
    +  ctx##drawImage img 0. 0.; Js._false);

    As we are now using Eliom_content.Html.D in both client and server sections, +we need to open it in a shared section: +

    open%shared Eliom_content.Html.D

    Finally, we can add a new canvas where we would draw a visualisation of the +current size of the brush. The complete code of this application +can be found here. +

    The Makefile from the distillery automatically adds +the packages defined in SERVER_PACKAGES as an extension in your +configuration file local/etc/graffiti/graffiti-test.conf: +

    <extension findlib-package="cairo2" />

    The first version of the program is now complete. +

    Exercises

    • Add a button that allows download the current +image, and saving it to the hard disk (reuse the service +imageservice). +
    • Add a button with a color picker to select a color from the +drawing. Pressing the button changes the mouse cursor, and disables +current mouse events until the next mouse click event on the +document. Then the color palette changes to the color of the pixel +clicked. (Use the function Dom_html.pixel_get).

    If you want to continue learning client-server programming with Eliom +and build your first application, we suggest to read +the tutorial about Ocsigen Start.

    diff --git a/8.0/manual/basics-server.html b/8.0/manual/basics-server.html new file mode 100644 index 00000000..20979c8c --- /dev/null +++ b/8.0/manual/basics-server.html @@ -0,0 +1,499 @@ +Server-side website programming guide

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Server-side website programming guide

    While Eliom is well known for its unique client-server programming +model, it is also perfectly suited to programming more traditional +websites. This page describes how you can generate Web pages in OCaml, +and handle links, forms, page parameters, sessions, etc. You will see +that you can get very quickly a working Web site without having to learn +innovative concepts and this might be enough for your needs. +

    You will then learn how Eliom is simplifying the programming of very +common behaviours by introducing innovative concepts like scoped +sessions or continuation-based Web programming. +

    Programming with Eliom will make your website ready for future +evolutions by allowing you to introduce progressively client-side +features like event handlers, fully in OCaml. You will even be able to +turn your website into a distributed client-server Web app, +and even a mobile app if needed in the future, without having to rewrite +anything. +

    Table of contents

    OCaml

    This programming guide assumes you know the OCaml language. +Many resources and books are available online.

    Lwt

    Lwt is a concurrent programming library for OCaml, initially written +by Jérôme Vouillon in 2001 for the +Unison file synchronizer. +It provides an alternative to the more usual preemptive threads approach +for programming concurrent applications, that avoids most problems of concurrent +data access and deadlocks. +It is used by Ocsigen Server and Eliom and has now become one of the +standard ways to implement concurrent applications in OCaml. +All your Web sites must be written in Lwt-compatible way! +

    How it works

    Instead of calling blocking functions, like Unix.sleep +or Unix.read, that could block the entire program, replace them +by their cooperative counterparts (Lwt_unix.sleep, +Lwt_unix.read, etc.). Instead of taking time to execute, +they always return immediately a promise of the result, +of type 'a Lwt.t. This type is abstract, and the only way +to use the result is to bind a function to the promise. +Lwt.bind p f means: "when promise p is completed, give its result +to function f". +

    Syntax let%lwt x = p in e is equivalent to Lwt.bind p (fun x -> e) +and makes it very natural to sequentialize computations without blocking the rest +of the program.

    To learn Lwt, read this short tutorial, or its user manual.

    Ocsigen Server: A full featured extensible Web server in OCaml

    Ocsigen Server can be used either as a library for you OCaml programs, or as +an executable, taking its configuration from a file (and with dynamic linking). +

    Extensions add features to the server. For example, Staticmod makes it possible +to serve static files, Deflatemod to compress the output, Redirectmod to +configure redirections etc. +

    Install Ocsigen Server with: +

    opam install ocsigenserver
    +

    Use as a library

    Let's create a new OCaml project with Dune: +dune init project mysite +

    To include a Web server in your OCaml program, just add +package ocsigenserver to your Dune file, together with all the extensions +you need. For example, modify file bin/dune like this: +

    (executable
    + (public_name mysite)
    + (name main)
    + (libraries
    +  ocsigenserver
    +  ocsigenserver.ext.staticmod))
    +

    The following command will launch a server, serving static files from +directory static: +

    let () = 
    +  Ocsigen_server.start [ Ocsigen_server.host [Staticmod.run ~dir:"static" ()]]

    Put this in file bin/main.ml, and run dune exec mysite. +

    By default, the server runs on port 8080. Create a static directory +with some files and try to fetch them using your Web browser. +

    Use as an executable

    Alternatively, you can run command ocsigenserver with a configuration +file: +

    ocsigenserver -c mysite.conf
    +

    The following configuration file corresponds to the program above: +

    <ocsigen>
    +  <server>
    +    <port>8080</port>
    +    <extension findlib-package="ocsigenserver.ext.staticmod"/>
    +    <host>
    +      <static dir="static" />
    +    </host>
    +  </server>
    +</ocsigen>
    +

    Eliom: Services

    The following code shows how to create a service that answers +for requests at URL http://.../aaa/bbb, by invoking an +Ocaml function f of type: +

    f : (string * string) list -> unit -> string Lwt.t

    Function f generates HTML as a string, taking as first argument the list +of URL parameters (GET parameters), and as second argument the list of POST +parameters (here none). +

    let f _ () =
    +  Lwt.return "<html><head><title>Hello world</title></head><body>Welcome</body></html>"
    +
    +let myservice =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path ["aaa"; "bbb"])
    +    ~meth:(Eliom_service.Get Eliom_parameter.any)
    +    ()
    +
    +let () =
    +  Eliom_registration.Html_text.register
    +    ~service:myservice
    +    f

    Eliom_service.Get Eliom_parameter.any means that the service uses the GET HTTP method +and takes any GET parameter. The first parameter of function f is an association list of GET parameters. +

    Module Eliom_registration.Html_text is used to register a service sending +HTML as strings. But we recommend to used typed-HTML instead (see below).

    Compiling

    In this section, we will show how to compile and run a server-side only Web site by creating your project manually. +

    First, create the directories will we use for data (logs, etc.): +

    mkdir -p local/var/log/mysite
    +mkdir -p local/var/data/mysite
    +mkdir -p local/var/run
    +

    Build an executable

    This section shows how to create a static executable for you program +(without configuration file). +

    Run the following command: +

    opam install ocsipersist-sqlite-config eliom
    +

    Add packages ocsipersist-sqlite and eliom.server to file +bin/dune, in the "libraries" section. +

    Copy the definition and registration of service myservice at the beginning +of file bin/main.ml, +and replace the call to Ocsigen_server.start by the following lines: +

    let () = 
    +  Ocsigen_server.start 
    +    ~command_pipe:"local/var/run/mysite-cmd"
    +    ~logdir:"local/var/log/mysite"
    +    ~datadir:"local/var/data/mysite"
    +    [
    +      Ocsigen_server.host
    +       [ Staticmod.run ~dir:"local/var/www/mysite" ()
    +       ; Eliom.run () ]
    +    ]

    Build and execute the program with: +

    dune exec mysite
    +

    Open URL http://localhost:8080/aaa/bbb with your browser. +

    Use with ocsigenserver

    Alternatively, you can decide to build your Eliom app as a library and +load it dynamically into ocsigenserver using a configuration file. +

    opam install ocsipersist-sqlite-config eliom
    +dune init proj --kind=lib mysite
    +cd mysite
    +

    Add (libraries eliom.server) into file lib/dune. +

    Create your .ml files in directory lib. +For example, copy the definition and registration of service myservice above. +

    Compile: +

    dune build
    +

    Create a configuration file mysite.conf +with this content on your project root directory: +

    <ocsigen>
    +  <server>
    +    <port>8080</port>
    +
    +    <logdir>local/var/log/mysite</logdir>
    +    <datadir>local/var/data/mysite</datadir>
    +    <charset>utf-8</charset>
    +
    +    <commandpipe>local/var/run/mysite-cmd</commandpipe>
    +    <extension findlib-package="ocsigenserver.ext.staticmod"/>
    +    <extension findlib-package="ocsipersist-sqlite-config"/>
    +    <extension findlib-package="eliom.server"/>
    +    <host hostfilter="*">
    +      <static dir="local/var/www/mysite" />
    +      <eliommodule module="_build/default/lib/mysite.cma" />
    +      <eliom/>
    +    </host>
    +  </server>
    +</ocsigen>
    +

    Launch the application: +

    ocsigenserver -c mysite.conf
    +

    Open URL http://localhost:8080/aaa/bbb with your browser.

    TyXML: typing HTML

    TyXML statically checks that your OCaml functions will never +generate wrong HTML. For example a program that could generate a paragraph +containing another paragraph will be rejected at compile time. +

    Example of use: +

    let open Eliom_content.Html.F in
    +html
    +  (head (title (txt "Ex")) [])
    +  (body [h1 ~a:[a_id "toto"; a_class ["blah"; "blih"]]
    +           [txt "Hallo!"]])

    How it works

    TyXML builds the page as an OCaml data-structure using a construction function +for each HTML tag. These functions take as parameters and return nodes +of type 'a elt where 'a is a polymorphic variant type added in the +module signature to constrain usage (phantom type).

    Example of typing error

    p [p [txt "Aïe"]]
    +   ^^^^^^^^^^^^^
    +Error: This expression has type
    +         ([> Html_types.p ] as 'a) Eliom_content.Html.F.elt =
    +           'a Eliom_content.Html.elt
    +       but an expression was expected of type
    +         ([< Html_types.p_content_fun ] as 'b) Eliom_content.Html.F.elt =
    +           'b Eliom_content.Html.elt
    +       Type 'a = [> `P ] is not compatible with type
    +         'b =
    +           [< `A of Html_types.phrasing_without_interactive
    +            | `Abbr
    +            | `Audio of Html_types.phrasing_without_media
    +            ...
    +            | `Output
    +            | `PCDATA
    +            | `Progress
    +            | `Q
    +            ...
    +            | `Wbr ]
    +       The second variant type does not allow tag(s) `P

    Read more about TyXML in this short tutorial or in its user manual.

    Eliom: Service returning typed HTML

    To use typed HTML, just replace module Eliom_registration.Html_text +by Eliom_registration.Html: +

    let f _ () =
    +  Lwt.return
    +    Eliom_content.Html.F.(html (head (title (txt "")) [])
    +                               (body [h1 [txt "Hello"]]))
    +
    +let myservice =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path ["aaa"; "bbb"])
    +    ~meth:(Eliom_service.Get Eliom_parameter.any)
    +    ()
    +
    +let () =
    +  Eliom_registration.Html.register
    +    ~service:myservice
    +    f

    Outputs

    Services can return a typed HTML page as in the example above, but also +any other kind of result. To choose the return type, use the register function +from the corresponding submodule of +Eliom_registration: +

    HtmlServices returning typed HTML pages
    Html_textServices returning untyped HTML pages as strings
    AppApply this functor to generate registration functions for services belonging to an Eliom client/server application. These services also return typed HTML pages, but Eliom will automatically add the client-side program as a JS file, and all the data needed (values of all injections, etc.)
    FlowServices returning portions of HTML pages.
    ActionServices performing actions (server side effects) with or without reloading the page (e.g. login, logout, payment, modification of user information...)
    FilesServe files from the server hard drive
    OcamlServices returning OCaml values to be sent to a client side OCaml program (this kind of services is used as low level interface for server functions – see below)
    StringServices returning any OCaml string (array of byte)
    RedirectionServices returning an HTTP redirection to another service
    AnyTo be used to make the service chose what it sends. Call function send from the corresponding module to choose the output.
    CustomizeApply this functor to define your own registration module

    Eliom: Typing page parameters

    Instead of taking GET parameters as an untyped string * string +association list, you can ask Eliom to decode and check parameter types +automatically. +

    For example, the following code defines a service at URL /foo, +that will use GET HTTP method, and take one parameter of type string, +named s, and one of type int, named i. +

    let myservice =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path ["foo"])
    +    ~meth:(Eliom_service.Get (Eliom_parameter.(string "s" ** int "i")))
    +    ()

    Then register an OCaml function as handler on this service: +

    let () =
    +  Eliom_registration.Html.register ~service:myservice
    +    (fun (s, i) () ->
    +      Lwt.return
    +         Eliom_content.Html.F.(html (head (title (txt "")) [])
    +                                    (body [h1 [txt (s^string_of_int i)]])))

    The handler takes as first parameter the GET page parameters, typed according to +the parameter specification given while creating the service. +The second parameter is for POST parameters (see below). +

    Recompile you program, and to to URL http://localhost:8080/foo?s=hello&i=22 +to see the result. +

    Parameters

    Module Eliom_parameter +is used to describe the type of service parameters. +

    Examples: +

    Eliom_parameter.(int "i" ** (string "s" ** bool "b"))
    +   (* /path?i=42&s=toto&b=on *)
    +
    +Eliom_parameter.(int "i" ** opt (string "s"))
    +   (* An integer named i, and an optional string named s *)
    +
    +Eliom_parameter.(int "i" ** any)
    +   (* An integer named i, and any other parameters, as an association list
    +      of type (string * string) list *)
    +
    +Eliom_parameter.(set string "s")
    +   (* /path?s=toto&s=titi&s=bobo *)
    +
    +Eliom_parameter.(list "l" (int "i"))
    +   (* /path?l[0]=11&l[1]=2&l[2]=42 *)
    +
    +Eliom_parameter.(suffix (int "year" ** int "month"))
    +   (* /path/2012/09 *)
    +
    +Eliom_parameter.(suffix_prod (int "year" ** int "month") (int "a"))
    +   (* /path/2012/09?a=4 *)

    Eliom: POST services

    To define a service with POST parameters, just change the ~meth parameter. +For example the following example takes the same GET parameters as the service +above, plus one POST parameter of type string, named "mypostparam". +

    ~meth:(Eliom_service.Post (Eliom_parameter.((string "s" ** int "i"),
    +                                            (string "mypostparam"))))

    Eliom: Other kinds of services

    The detailed explanation of services can be found in Eliom's manual. Here is a summary: +

    Pathless services

    Pathless services are not identified by the path in the URL, +but by a name given as parameter, regardless of the path. +Use this to make a functionality available from all pages +(for example: log-in or log-out actions, add something in a shopping basket ...). +The name can be specified manually +using the ~name optional parameter, otherwise, a random name is +generated automatically. +This is also used to implement server functions (see below). +If you are programming a client-server Eliom app, you will often prefer +remote procedure calls (`let%rpc`). +

    let pathless_service =
    +  Eliom_service.create
    +    ~name:"pathless_example"
    +    ~path:Eliom_service.No_path
    +    ~meth:(Eliom_service.Get (Eliom_parameter.(int "i")))
    +    ()

    More information +in the manual. +

    Attached services

    It is also possible to create services identified by both a path and a +special parameter, using functions +Eliom_service.create_attached_get or +Eliom_service.create_attached_post. +They take a regular service (with a path) as parameter (~fallback). +

    It is also possible to attach an existing pathless service to the URL of +another service, with function +Eliom_service.attach. +This allows for example to create a link towards a pathless service, +but on another path. +

    External services

    Use Eliom_service.extern to create +links or forms towards external Web sites as if they were Eliom services. +

    Predefined services

    Use service (Eliom_service.static_dir ()) +to create links towards static files (see example below for images). +

    Use service Eliom_service.reload_action and its variants to create links or forms towards the current URL (reload the page). From a client section, you can also call Os_lib.reload to reload the page and restart the client-side program. +

    Full documentation about services, a tutorial about traditional service based Web programming, API documentation of modules Eliom_service and Eliom_registration. +

    This example shows how to insert an image using static_dir: +

    img
    +  ~alt:"blip"
    +  ~src:(Eliom_content.Html.F.make_uri
    +         (Eliom_service.static_dir ())
    +         ["dir" ; "image.jpg"])
    +  ()

    Forms and links

    Function Eliom_content.Html.F.a creates typed links to services with their parameters. +For example, if home_service expects no parameter +and other_service expects a string and an optional int: +

    Eliom_content.Html.F.a ~service:home_service [txt "Home"] ()
    +Eliom_content.Html.F.a ~service:other_service [txt "Other"] ("hello", Some 4)

    Module Eliom_content.Html.F +defines the form's elements with the usual typed interface from TyXML. +Use this for example if you have a client side program and +want to manipulate the form's content from client side functions +(for example do a server function call with the form's elements' content). +

    In contrast, +module Eliom_content.Html.F.Form defines a typed interface +for form elements. Use this for links (see above), or if you program traditional +server-side Web interaction (with or without client-side program). This will statically check that your forms +match the services. Example: +

    let open Eliom_content.Html.F in
    +Form.post_form
    + ~service:connection_service
    +   (fun (name, password) ->
    +     [fieldset
    +       [label ~a:[a_for name] [txt "Name: "];
    +        Form.input ~input_type:`Text ~name:name Form.int;
    +        br ();
    +        Form.input
    +          ~a:[a_placeholder "Password"]
    +          ~input_type:`Password
    +          ~name:password
    +          Form.string;
    +        br ();
    +        Form.input ~input_type:`Submit ~value:"Connect" Form.string
    +      ]]) ()

    As you can see, function +Eliom_content.Html.F.Form.post_form +is used to create a form sending parameters using the POST HTTP method +(and similarly, get_form for GET method). +It takes the service as first parameter, and a function that will generate the form. +This function takes the names of the GET or POST parameters as arguments. +

    Form elements (like inputs) are also built from using the +Eliom_content.Html.F.Form module. +They take the names as parameters, and a last parameter (like Form.int or Form.string) to match the expected type.

    Sessions

    Session data is saved on server side in Eliom references. +

    The following Eliom reference will count the number of visits of a user on a page: +

    let%server count_ref =
    +  Eliom_reference.eref
    +    ~scope:Eliom_common.default_session_scope
    +    0 (* default value for everyone *)

    And somewhere in your service handler, increment the counter: +

    let%lwt count = Eliom_reference.get count_ref in
    +Eliom_reference.set count_ref (count + 1);
    +Lwt.return ()

    With function Eliom_reference.eref_from_fun, +you can create Eliom references without initial value. The initial value is computed for the session +the first time you use it. +

    An Eliom reference can be persistant (value saved on hard drive) or volatile (in memory). +

    Scopes

    Sessions are relative to a browser, and implemented using browser cookies. +But Eliom allows to create Eliom references with other scopes than session: +

    global_scopeGlobal value for all the Web server
    site_scopeGlobal value for the Eliom app in that subsite of the Web site
    default_group_scopeValue for a group of sessions. For example Ocsigen Start defines a group of session for each user, making it possible to save server side data for all sessions of a user.
    default_session_scopeThe usual session data, based on browser cookies
    default_process_scopeServer side data for a given client-side process (a tab of the browser or a mobile app). This is available only with a client-server Eliom app.

    Applications based on Ocsigen Start use these scopes for user management. +Session or client process data are discarded when a user logs in or out. +But Ocsigen Start also defines scopes +Os_session.user_indep_session_scope +and +Os_session.user_indep_process_scope +which remain even if a user logs in or out. +

    When session group is not set (for example the user is not connected), +you can still use the group session scope: in that case, the group contains only +one session.

    Browser events

    By default, event handlers on HTML elements are given as OCaml functions, +but it works only if you have a client-server Eliom program. +If not, you want to give a javascript expression (as a string) instead. +To so that, use attributes functions from module Raw. For example +Eliom_content.Html.F.Raw.a_onclick +instead of +Eliom_content.Html.F.a_onclick. +

    Example: +

    Eliom_content.Html.F.(button ~a:[Raw.onclick "alert(\"beep\");"] [txt "click"])

    Database access

    You can use your favourite database library with Ocsigen. +Ocsigen Start's template uses +PG'OCaml +(typed queries for Postgresql using a PPX syntax extension). +

    Here is an example, taken from Ocsigen Start's demo: +

    let get () =
    +  full_transaction_block (fun dbh ->
    +    [%pgsql dbh "SELECT lastname FROM ocsigen_start.users"])

    Continuation-based Web programming

    Eliom allows the dynamic creation of temporary services. +This is equivalent to a programming pattern known as "continuation-based +Web programming". +While present in very few Web frameworks, +it is a very powerful feature that can save you a lot of time +when programming a server-side website. +A typical use case is when you have a series of pages, +each of which depending on the entries made on the previous pages, +for example a multi-step train ticket booking. +

    Implementing that without continuation-based Web programming is tedious: +you must store the data previously sent by the user and find a way to +get it for each step of the interaction. It is not possible to save it as +session data, as you want for example to be able to have several different +interactions in different tabs of your browser, or to press the back button of +your browser to go back in the past. This is known as +"the back button problem". +

    With Eliom, you just need to create new temporary services especially for +one user, that will depend on previous interaction with them. +The form data will be recorded in the closure of the service handler +function. +In our example, you can implement a first page with a form +(departure, destination, date, first name, last name ...). +The form sends this data to another service. +This second service will display a list of train tickets, each with a link +to buy the ticket. Each of these links corresponds to a service that has been +specifically created for this user and train, which will display the payment +page for this ticket. +

    To implement temporary services, we usually use pathless or attached +services (see above). To avoid a memory leak, you can make them temporary using +optional parameters of the service creation function (?max_use or ?timeout).

    Internationalisation

    Ocsigen i18n +is an internationalisation library for your OCaml programs. +

    Create a .tsv file with, on each line, a key and the text in several languages: +

    welcome_message Welcome everybody!        Bienvenue à tous !      Benvenuti a tutti !
    +

    and Ocsigen i18n will automatically generate functions like this one: +

    let%shared welcome_message ?(lang = get_language ()) () () =
    +  match lang with
    +  | En -> [txt "Welcome everybody!"]
    +  | Fr -> [txt "Bienvenue à tous !"]
    +  | It -> [txt "Benvenuti a tutti !"]

    Ocsigen i18n also defines a syntax extension to use these functions: +

    Eliom_content.Html.F.h1 [%i18n welcome_message]

    Ocsigen i18n offers many other features: +

    • Text can be inserted as a TyXML node (as in the example above) or as a string (ex: [%i18n S.welcome_message]), +
    • Text can be parametrizable, or contain holes (ex: [%i18n welcome ~capitalize:true ~name:"William"]) +
    • .tsv file can be split into several modules +

    Have a look at the +README file +to see the full documentation, +and see examples in +Ocsigen Start's template.

    Ocsigen Server

    Ocsigen Server is a full featured Web server. +

    It is now based on Cohttp. +

    It has a powerful +extension mechanism that makes it easy to plug your own OCaml modules +for generating pages. Many extensions are already written: +

    Staticmod +
    to serve static files. +
    Eliom +
    to create reliable client/server Web applications +or Web sites in OCaml using advanced high level concepts. +
    Extendconfiguration +
    allows for more options in the configuration file. +
    Accesscontrol +
    restricts access to the sites from the config file (to requests coming from a subnet, containing some headers, etc.). +
    Authbasic +
    restricts access to the sites from the config file using Basic HTTP Authentication. +
    CGImod +
    serves CGI scripts. It may also be used to serve PHP through CGI. +
    Deflatemod +
    used to compress data before sending it to the client. +
    Redirectmod +
    sets redirections towards other Web sites from the configuration file. +
    Revproxy +
    a reverse proxy for Ocsigen Server. +It allows to ask another server to handle the request. +
    Rewritemod +
    changes incoming requests before sending them to other extensions. +
    Outputfilter +
    rewrites some parts of the output before sending it to the client. +
    Userconf +
    allows users to have their own configuration files. +
    Comet +
    facilitates server to client communications. +

    Ocsigen Server has a sophisticated configuration file mechanism allowing +complex configurations of sites.

    diff --git a/8.0/manual/basics.html b/8.0/manual/basics.html new file mode 100644 index 00000000..5ffcee07 --- /dev/null +++ b/8.0/manual/basics.html @@ -0,0 +1,763 @@ +Client-server application programming guide

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Client-server application programming guide

    This tutorial has been tested with Eliom 11.0.0. +

    This page describes the main concepts you need to master to become fully operational +with Ocsigen. Use it as your training plan or as a cheatcheet while programming. +

    Depending on your needs, you may not need to learn all this. Ocsigen is +very flexible and can be used both for Web site programing (see +this page) or more complex client-server Web apps and +their mobile counterparts. +

    In parallel to the reading of that page, +we recommend to generate your first Ocsigen Start app to see +running examples of all these concepts (see that page). +

    Table of contents

    OCaml

    This programming guide assumes you know the OCaml language. +Many resources and books are available online.

    Lwt

    Lwt is a concurrent programming library for OCaml, initially written +by Jérôme Vouillon in 2001 for the +Unison file synchronizer. +It provides an alternative to the more usual preemptive threads approach +for programming concurrent applications, that avoids most problems of concurrent +data access and deadlocks. +It is used by Ocsigen Server and Eliom and has now become one of the +standard ways to implement concurrent applications in OCaml. +All your Web sites must be written in Lwt-compatible way! +

    How it works

    Instead of calling blocking functions, like Unix.sleep +or Unix.read, that could block the entire program, replace them +by their cooperative counterparts (Lwt_unix.sleep, +Lwt_unix.read, etc.). Instead of taking time to execute, +they always return immediately a promise of the result, +of type 'a Lwt.t. This type is abstract, and the only way +to use the result is to bind a function to the promise. +Lwt.bind p f means: "when promise p is completed, give its result +to function f". +

    Syntax let%lwt x = p in e is equivalent to Lwt.bind p (fun x -> e) +and makes it very natural to sequentialize computations without blocking the rest +of the program.

    To learn Lwt, read this short tutorial, or its user manual.

    Ocsigen Server: A full featured extensible Web server in OCaml

    Ocsigen Server can be used either as a library for you OCaml programs, or as +an executable, taking its configuration from a file (and with dynamic linking). +

    Extensions add features to the server. For example, Staticmod makes it possible +to serve static files, Deflatemod to compress the output, Redirectmod to +configure redirections etc. +

    Install Ocsigen Server with: +

    opam install ocsigenserver
    +

    Use as a library

    Let's create a new OCaml project with Dune: +dune init project mysite +

    To include a Web server in your OCaml program, just add +package ocsigenserver to your Dune file, together with all the extensions +you need. For example, modify file bin/dune like this: +

    (executable
    + (public_name mysite)
    + (name main)
    + (libraries
    +  ocsigenserver
    +  ocsigenserver.ext.staticmod))
    +

    The following command will launch a server, serving static files from +directory static: +

    let () = 
    +  Ocsigen_server.start [ Ocsigen_server.host [Staticmod.run ~dir:"static" ()]]

    Put this in file bin/main.ml, and run dune exec mysite. +

    By default, the server runs on port 8080. Create a static directory +with some files and try to fetch them using your Web browser. +

    Use as an executable

    Alternatively, you can run command ocsigenserver with a configuration +file: +

    ocsigenserver -c mysite.conf
    +

    The following configuration file corresponds to the program above: +

    <ocsigen>
    +  <server>
    +    <port>8080</port>
    +    <extension findlib-package="ocsigenserver.ext.staticmod"/>
    +    <host>
    +      <static dir="static" />
    +    </host>
    +  </server>
    +</ocsigen>
    +

    TyXML: typing HTML

    TyXML statically checks that your OCaml functions will never +generate wrong HTML. For example a program that could generate a paragraph +containing another paragraph will be rejected at compile time. +

    Example of use: +

    let open Eliom_content.Html.D in
    +html
    +  (head (title (txt "Ex")) [])
    +  (body [h1 ~a:[a_id "toto"; a_class ["blah"; "blih"]]
    +           [txt "Hallo!"]])

    How it works

    TyXML builds the page as an OCaml data-structure using a construction function +for each HTML tag. These functions take as parameters and return nodes +of type 'a elt where 'a is a polymorphic variant type added in the +module signature to constrain usage (phantom type).

    Example of typing error

    p [p [txt "Aïe"]]
    +   ^^^^^^^^^^^^^
    +Error: This expression has type
    +         ([> Html_types.p ] as 'a) Eliom_content.Html.F.elt =
    +           'a Eliom_content.Html.elt
    +       but an expression was expected of type
    +         ([< Html_types.p_content_fun ] as 'b) Eliom_content.Html.F.elt =
    +           'b Eliom_content.Html.elt
    +       Type 'a = [> `P ] is not compatible with type
    +         'b =
    +           [< `A of Html_types.phrasing_without_interactive
    +            | `Abbr
    +            | `Audio of Html_types.phrasing_without_media
    +            ...
    +            | `Output
    +            | `PCDATA
    +            | `Progress
    +            | `Q
    +            ...
    +            | `Wbr ]
    +       The second variant type does not allow tag(s) `P

    Read more about TyXML in this short tutorial or in its user manual.

    Eliom: Services

    Pages are generated by services. +Eliom provides a very simple (yet extremely powerful) service creation and identification mechanism. +

    To create a service, call Eliom_service.create. +For example, the following code defines a service at URL /foo, +that will use GET HTTP method, and take one parameter of type string, +named myparam, and one of type int, named i. +

    let myservice =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path ["foo"])
    +    ~meth:(Eliom_service.Get (Eliom_parameter.(string "myparam" ** int "i")))
    +    ()

    Then register an OCaml function as handler on this service: +

    let () =
    +  Eliom_registration.Html.register ~service:myservice
    +    (fun (myparam, _i) () ->
    +      Lwt.return
    +         Eliom_content.Html.F.(html (head (title (txt "")) [])
    +                                    (body [h1 [txt myparam]])))

    The handler takes as first parameter the GET page parameters, typed according to +the parameter specification given while creating the service. +The second parameter is for POST parameters (see below). +

    Outputs

    Services can return a typed HTML page as in the example above, but also +any other kind of result. To choose the return type, use the register function +from the corresponding submodule of +Eliom_registration: +

    HtmlServices returning typed HTML pages
    Html_textServices returning untyped HTML pages as strings
    AppApply this functor to generate registration functions for services belonging to an Eliom client/server application. These services also return typed HTML pages, but Eliom will automatically add the client-side program as a JS file, and all the data needed (values of all injections, etc.)
    FlowServices returning portions of HTML pages.
    ActionServices performing actions (server side effects) with or without reloading the page (e.g. login, logout, payment, modification of user information...)
    FilesServe files from the server hard drive
    OcamlServices returning OCaml values to be sent to a client side OCaml program (this kind of services is used as low level interface for server functions – see below)
    StringServices returning any OCaml string (array of byte)
    RedirectionServices returning an HTTP redirection to another service
    AnyTo be used to make the service chose what it sends. Call function send from the corresponding module to choose the output.
    CustomizeApply this functor to define your own registration module

    Parameters

    Module Eliom_parameter +is used to describe the type of service parameters. +

    Examples: +

    Eliom_parameter.(int "i" ** (string "s" ** bool "b"))
    +   (* /path?i=42&s=toto&b=on *)
    +
    +Eliom_parameter.(int "i" ** opt (string "s"))
    +   (* An integer named i, and an optional string named s *)
    +
    +Eliom_parameter.(int "i" ** any)
    +   (* An integer named i, and any other parameters, as an association list
    +      of type (string * string) list *)
    +
    +Eliom_parameter.(set string "s")
    +   (* /path?s=toto&s=titi&s=bobo *)
    +
    +Eliom_parameter.(list "l" (int "i"))
    +   (* /path?l[0]=11&l[1]=2&l[2]=42 *)
    +
    +Eliom_parameter.(suffix (int "year" ** int "month"))
    +   (* /path/2012/09 *)
    +
    +Eliom_parameter.(suffix_prod (int "year" ** int "month") (int "a"))
    +   (* /path/2012/09?a=4 *)

    POST services

    To define a service with POST parameters, just change the ~meth parameter. +For example the following example takes the same GET parameters as the service +above, plus one POST parameter of type string, named "mypostparam". +

    ~meth:(Eliom_service.Post (Eliom_parameter.((string "myparam" ** int "i"),
    +                                            (string "mypostparam"))))

    Pathless services

    Pathless services are not identified by the path in the URL, +but by a name given as parameter. This name can be specified manually +using the ~name optional parameter, otherwise, a random name is +generated automatically. +This is used to implement server functions (see below). +If you are programming a client-server Eliom app, you will probably prefer server functions. +If you are using traditional service based Web programming, +use this to make a functionality available from all pages +(for example: log-in or log-out actions, add something in a shopping basket ...). +

    let pathless_service =
    +  Eliom_service.create
    +    ~name:"pathless_example"
    +    ~path:Eliom_service.No_path
    +    ~meth:(Eliom_service.Get (Eliom_parameter.(int "i")))
    +    ()

    More information +in the manual. +

    External services

    Use Eliom_service.extern to create +links or forms towards external Web sites as if they were Eliom services. +

    Predefined services

    Use service (Eliom_service.static_dir ()) +to create links towards static files (see example below for images). +

    Use service Eliom_service.reload_action and its variants to create links or forms towards the current URL (reload the page). From a client section, you can also call Os_lib.reload to reload the page and restart the client-side program. +

    Full documentation about services, a tutorial about traditional service based Web programming, API documentation of modules Eliom_service and Eliom_registration. +

    This example shows how to insert an image using static_dir: +

    img
    +  ~alt:"blip"
    +  ~src:(Eliom_content.Html.F.make_uri
    +         (Eliom_service.static_dir ())
    +         ["dir" ; "image.jpg"])
    +  ()

    Compiling

    In this section, we will show how to compile and run a server-side only Web site by creating your project manually. +

    First, create the directories will we use for data (logs, etc.): +

    mkdir -p local/var/log/mysite
    +mkdir -p local/var/data/mysite
    +mkdir -p local/var/run
    +

    Build an executable

    This section shows how to create a static executable for you program +(without configuration file). +

    Run the following command: +

    opam install ocsipersist-sqlite-config eliom
    +

    Add packages ocsipersist-sqlite and eliom.server to file +bin/dune, in the "libraries" section. +

    Copy the definition and registration of service myservice at the beginning +of file bin/main.ml, +and replace the call to Ocsigen_server.start by the following lines: +

    let () = 
    +  Ocsigen_server.start 
    +    ~command_pipe:"local/var/run/mysite-cmd"
    +    ~logdir:"local/var/log/mysite"
    +    ~datadir:"local/var/data/mysite"
    +    ~default_charset:(Some "utf-8")
    +    [
    +      Ocsigen_server.host
    +       [ Staticmod.run ~dir:"local/var/www/mysite" ()
    +       ; Eliom.run () ]
    +    ]

    Build and execute the program with: +

    dune exec mysite
    +

    Open URL http://localhost:8080/foo?myparam=Hello&i=27 with your browser. +

    Use with ocsigenserver

    Alternatively, you can decide to build your Eliom app as a library and +load it dynamically into ocsigenserver using a configuration file. +

    opam install ocsipersist-sqlite-config eliom
    +dune init proj --kind=lib mysite
    +cd mysite
    +

    Add (libraries eliom.server) into file lib/dune. +

    Create your .ml files in directory lib. +For example, copy the definition and registration of service myservice above. +

    Compile: +

    dune build
    +

    Create a configuration file mysite.conf +with this content on your project root directory: +

    <ocsigen>
    +  <server>
    +    <port>8080</port>
    +
    +    <logdir>local/var/log/mysite</logdir>
    +    <datadir>local/var/data/mysite</datadir>
    +    <charset>utf-8</charset>
    +
    +    <commandpipe>local/var/run/mysite-cmd</commandpipe>
    +    <extension findlib-package="ocsigenserver.ext.staticmod"/>
    +    <extension findlib-package="ocsipersist-sqlite"/>
    +    <extension findlib-package="eliom.server"/>
    +    <host hostfilter="*">
    +      <static dir="local/var/www/mysite" />
    +      <eliommodule module="_build/default/lib/mysite.cma" />
    +      <eliom/>
    +    </host>
    +  </server>
    +</ocsigen>
    +

    Launch the application: +

    ocsigenserver -c mysite.conf
    +

    Open URL http://localhost:8080/foo?myparam=Hello&i=27 with your browser.

    Forms and links

    Functions Eliom_content.Html.F.a and +D.a +create typed links to services with their parameters. +For example, if home_service expects no parameter +and other_service expects a string and an optional int: +

    Eliom_content.Html.D.a ~service:home_service [txt "Home"] ()
    +Eliom_content.Html.D.a ~service:other_service [txt "Other"] ("hello", Some 4)

    Modules Eliom_content.Html.F and +D +define the form's elements with the usual typed interface from TyXML. +Use this for example if you have a client side program and +want to manipulate the form's content from client side functions +(for example do a server function call with the form's elements' content). +

    In contrast, +modules Eliom_content.Html.F.Form and +D.Form +define a typed interface +for form elements. Use this for links (see above), or if you program traditional +server-side Web interaction (with or without client-side program). This will statically check that your forms +match the services. See more information in the +server-side programming manual.

    Js_of_ocaml

    Js_of_ocaml is a compiler of OCaml bytecode to JavaScript, +allowing to run Ocaml programs in a Web browser. +Its key features are the following: +

    • The whole language, and most of the standard library are supported. +
    • You can use a standard installation of OCaml to compile your programs. In particular, you do not have to recompile a library to use it with Js_of_ocaml. +
    • It comes with a library to interface with the browser API. +

    Interaction with Javascript can be done: +

    • either with untyped function calls (module Js.Unsafe), +
    • or you can generate an interface just by writing an annotated .mli +using Gen_js_api, +
    • or you use a syntax extension to generate typed calls, using a +.mli file describing Javascript objects +with OCaml class types as phantom types. +

    The latter is used for the default Javascript library. Here is how it works: +

    obj##.maccess a JS property (has type u when obj : <m : u prop> Js.t)
    obj##.m := echange a JS property (when obj : <m : u prop> Js.t and e:u)
    obj##m e_1 ... e_ncall a JS method (has type u when obj : <m : t_1 -> ... -> t_n -> u meth; ..> Js.t and e_i : t_i)
    new%js constr e1 ... encreate a JS object (has type u Js.t when constr : (t_1 -> ... -> t_n -> u Js.t) Js.constr and e_i : t_i)

    Module Js_of_ocaml.Js +defines the base JS types and conversion functions from/to OCaml types. +Example: Js.Opt to take into account nullable values, Js.Optdef for undefined values, +or functions like Js.to_string and Js.string for consersions to and from +OCaml strings. +

    Use modules Js_of_ocaml.Dom +and Js_of_ocaml.Dom_html +to interact with the DOM, or more specifically with HTML. +

    You can test Js_of_ocaml online in this +Toplevel running in the browser +

    Examples

    # Dom_html.document;;
    +- : Js_of_ocaml.Dom_html.document Js_of_ocaml__.Js.t = <abstr>
    +# Dom_html.document##.body;;
    +- : Js_of_ocaml.Dom_html.bodyElement Js_of_ocaml__.Js.t = <abstr>
    +# Dom_html.document##.qkjhkjqhkjqsd;;
    +Line 1, characters 0-17:
    +Error: This expression has type
    +         < activeElement : Js_of_ocaml.Dom_html.element Js_of_ocaml__.Js.t
    +                           Js_of_ocaml__.Js.opt
    +                           Js_of_ocaml__.Js.readonly_prop;
    +...
    +...
    +           write : Js_of_ocaml__.Js.js_string Js_of_ocaml__.Js.t ->
    +                   unit Js_of_ocaml__.Js.meth >
    +       It has no method qkjhkjqhkjqsd
    +# Dom_html.window;;
    +- : Js_of_ocaml.Dom_html.window Js_of_ocaml__.Js.t = <abstr>
    +# Dom_html.window##alert (Js.string "Salut");;
    +- : unit = ()
    +# Dom_html.document##.body##querySelector (Js.string "h3");;
    +- : Js_of_ocaml.Dom_html.element Js_of_ocaml__.Js.t Js_of_ocaml__.Js.opt =
    +<abstr>
    +# let fsth3 = Dom_html.document##.body##querySelector (Js.string "h3");;
    +  (* Get the first h3 element in the page *)
    +val fsth3 :
    +  Js_of_ocaml.Dom_html.element Js_of_ocaml__.Js.t Js_of_ocaml__.Js.opt =
    +  <abstr>
    +# Js.Opt.iter fsth3 (fun e -> e##.style##.color := Js.string "#ff0000");;
    +  (* Change its color *)
    +- : unit = ()
    +# Dom.appendChild Dom_html.document##.body (Eliom_content.Html.(To_dom.of_p (F.p [F.txt "Salut"])));;
    +  (* Append a paragraph generated with TyXML to the page *)
    +- : unit = ()
    +# Firebug.console##log (Js.string "toto");;
    +- : unit = ()
    +# Firebug.console##log [1;2];;
    +- : unit = ()
    +# Firebug.console##log (Dom_html.document##.body);;
    +- : unit = ()

    HTML: Functional and DOM semantics

    DOM nodes and TyXML/Eliom_content nodes

    Functions Eliom_content.Html.To_dom.of_element, Eliom_content.Html.To_dom.of_div, etc. +help to convert TyXML/Eliom_content nodes into the DOM/js_of_ocaml counterparts. +

    Module Eliom_content.Html.Manip +allows direct manipulation of TyXML nodes without conversion (only for D nodes) +(see for example +Eliom_content.Html.Manip.appendChild, +Eliom_content.Html.Manip.removeSelf +Eliom_content.Html.Manip.Class.add). +

    F or D

    Eliom uses TyXML to create several kinds of nodes: +

    Module Eliom_content.Html.F +will create functional values representing +your nodes. On client side, calling Eliom_content.Html.To_dom.of_element +on these nodes will create a new DOM node. +

    Module Eliom_content.Html.D +will automatically insert an id in the +attributes of the node, to label a precise instance of the node in the DOM. +On client side, calling Eliom_content.Html.To_dom.of_element +on these nodes will return the actual version of the nodes that are currently +in the page. +

    In a client server Eliom app, +you probably always want to use Eliom_content.Html.D +each time you want to bind events on +an element (and more generally if you need to inject this element using ~%). +

    Read more about Eliom_content.Html (D or F?) in +this manual page.

    Eliom: client-server apps

    Eliom can transform OCaml into a multi-tier language, allowing one to +implement (both the server and client parts of) a distributed application +entirely in OCaml, as a single program. +This greatly simplifies communication between server and client. +

    Pages can be generated either on the server or the client. +The first HTTP request usually returns a server-side generated HTML page +(thus indexable by search engines), but subsequent page generations can be done +by the client for better performance. +In a mobile app, all pages are usually generated on the client. +

    One of the key features of Eliom is that it allows +one to mix traditional Web interactions (URLs, forms, links, +bookmarks, back button) with dynamic client side features. In +particular, the client-side program does not stop when the user +clicks on a link, sends a form, or presses the back button–yet the user +can still save bookmarks on pages! This opens up a wide field of new +possibilities. +

    Sections

    Eliom statically generates two programs from the same set of OCaml files: +one compiled to native code (or bytecode) to be executed on the server, +the other one compiled to Javascript with Js_of_ocaml to be executed +in the browser. +

    PPX annotations allow to split the code into these two programs: +

    let%shared ... = ... Code to be included in both the client and server apps
    let%client ... = ... Code to be included in client app only
    let%server ... = ... Code to be included in server app only

    Same for module%shared, open%shared, type%shared etc. +

    Client-server build system +

    Client values

    Fragments of client code can be included in server (or shared) sections. +

    Example: +

    button ~a:[a_onclick [%client fun ev -> ... ]] [ ... ]

    The syntax is [%client (<value> : <type>)]. +Type annotation is almost always required. +

    These client fragments can be manipulated as server side OCaml values: +

    let%server x : int Eliom_client_value.t = [%client 1 + 3 ]

    If such section is reached while generating a page on server side, +the client-side code will be executed when the page is displayed. +

    If such section is reached while generating a page on client side, +the client-side code will be executed immediately +

    If such section is reached during module initialization on the server +(global client section), it will be executed on client side everytime +a new client side program is launched. +

    The tutorial Client-Server Widgets +shows how client values can be manipulated +on server side. +

    Injections

    Server side values can be injected in client code by prefixing +them with ~% as in this example: +

    let%server ... =
    +  ...
    +  let x = ... in
    +  [%client[ ... ~%x ... ]]
    +  ...

    The value will automatically be sent with the page by Eliom. +

    It is possible to combine injections and client-values: +

    let%server x : int Eliom_client_value.t = [%client 1 + 3 ]
    let%client c : int = 3 + ~%x

    Calling server side functions from the client

    Eliom makes it possible to call server side OCaml functions from your +client-side program. You must export these functions explicitely, +and declare the type of their parameters. Example: +

    let%rpc g (i : int) : string Lwt.t =
    +  Lwt.return (string_of_int (i + Random.int 1000))

    Warning: type annotations are mandatory here +so that the ppx can automatically inject the right conversion functions. +These functions are generated automatically by +Deriving, as long as it knows +a deriver for each subtype. To create a deriver for your own types +just append [@@deriving json] after your type declaration. Example: +

    type%shared t = A | B
    +[@@deriving json]

    More documentation about the JSON deriver. +

    How it works

    The following picture shows two examples of requests: +

    • First, the browser asks for a new page, and the server generates the page +
    • then the user clicks on a link in the page, and the page is generated by the client-side program (because the service is registered on both sides). In this example, while generating the page, the client does a RPC to the server. +

    In both cases (first request or RPC), the server returns the expected value, but also the value of injections and an order for the client-side program to execute the client-values met during te server-side computation. +

    Example of requests +

    Tip 1: You can avoid waiting for the RPC to return by using a spinner from Ocsigen Toolkit (see module Ot_spinner). Thus, the client-side generated page will be displayed without delay. +

    Tip 2: To delay the execution of a client fragment after the page is actually displayed, you might want to use function +Ot_nodeready.nodeready from Ocsigen Toolkit. +

    Regardless of the construction used and their combination, there is +only one communication from server to client, when the Web page is +sent. This is due to the fact that client values are not executed +immediately when encountered inside server code. The intuitive +semantic is the following: client code is not executed when +encountered, instead it is registered for later execution, once the +Web page has been sent to the client. Then all the client code is +executed in the order it was encountered on the server, with the value +of injections that was also sent with the page. +

    For each client-values, the client-side PPX will create a function in +the client-side program. The parameters of this function are all the +injections it contains. +

    The server-side PPX will replace the client-value by some code +that will insert in the currently generated page some instruction to +ask the client-side program to call the corresponding functions. +Their arguments (injections) are serialized at the same time by the +server-side program and also inserted in the generated page.

    Example

    This section shows a typical example of client-server code: call a function +when user clicks on a page element. Take time to analyse this example, +as most of your code will probably be very similar. +

    open%client Js_of_ocaml
    +open%client Js_of_ocaml_lwt
    +open%client Eliom_content.Html
    open%shared Eliom_content.Html.F
    let%server theservice =
    +  Eliom_service.create
    +    ~path:["ex"]
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    ()
    let%client theservice = ~%theservice
    let%shared () =
    +  My_app.register ~service:theservice (fun () () ->
    +      let aa = string_of_int (Random.int 1000) in
    +      let _ = [%client (print_endline ~%aa : unit)] in (* print in browser console *)
    +      let b = Eliom_content.Html.D.button [txt aa] in
    +      let _ =
    +        (* binding clicks on button (see browser events below) *)
    +        [%client
    +          (Lwt.async (fun () ->
    +               Lwt_js_events.clicks (To_dom.of_element ~%b) (fun _ _ ->
    +                   Dom_html.window##alert (Js.string (~%aa));
    +                   Lwt.return_unit))
    +            : unit)]
    +      in
    +      Lwt.return (html (head (title (txt "Example")) [])
    +                       (body [h1 [txt aa]; b])))

    Service handlers and service registration +are usually written in shared sections to enable +page generation on both sides. +

    • Examples of client sections, injections or server functions can be found in +the demo included in +Ocsigen-Start's app template. +
    • This page is a step by step introduction to client-server programming with Eliom for beginners. +
    • This one is a quick introduction for more experienced OCaml developers. +
    • Comprehensive documentation on client-server programming can be found in +Eliom's user manual.

    Compiling a client-server app

    Compiling a client-server app requires a dedicated build system, +which will separate server-side and client-side code, compile each side, +and check types. +To make things easier, Eliom provides several application templates +containing the build system. +

    For this tutorial, we recommend to create a project with Ocsigen Start's template. +Ocsigen Start provides a ready to go app with many code samples you can use to learn. +It also provides user management (create an account, recover lost password, etc.). +If you plan to build an app with these features, Ocsigen Start is a good basis. +

    Install Ocsigen Start: +

    opam install ocsigen-start
    +

    Then: +

    eliom-distillery -template os.pgocaml -name myapp
    +

    It contains by default some code examples that you can remove or adapt to your own needs. +Have a look at the README file. +

    If you don't want to use Ocsigen Start, you can use one of the basic templates: +

    eliom-distillery -template app.exe -name myapp
    +

    (to build a static executable without config file) +or +

    eliom-distillery -template app.lib -name myapp
    +

    (to build your app as a library that will be loaded dynamically in Ocsigen Server using a config file). +

    Have a look at the README file. +

    If these templates are not available, you are probably using an old version of Eliom. +Try to upgrade, or use old template names (see eliom-distillery -list-templates).

    Sessions

    Session data is saved on server side in Eliom references. +

    The following Eliom reference will count the number of visits of a user on a page: +

    let%server count_ref =
    +  Eliom_reference.eref
    +    ~scope:Eliom_common.default_session_scope
    +    0 (* default value for everyone *)

    And somewhere in your service handler, increment the counter: +

    let%lwt count = Eliom_reference.get count_ref in
    +Eliom_reference.set count_ref (count + 1);
    +Lwt.return ()

    With function Eliom_reference.eref_from_fun, +you can create Eliom references without initial value. The initial value is computed for the session +the first time you use it. +

    An Eliom reference can be persistant (value saved on hard drive) or volatile (in memory). +

    Scopes

    Sessions are relative to a browser, and implemented using browser cookies. +But Eliom allows to create Eliom references with other scopes than session: +

    global_scopeGlobal value for all the Web server
    site_scopeGlobal value for the Eliom app in that subsite of the Web site
    default_group_scopeValue for a group of sessions. For example Ocsigen Start defines a group of session for each user, making it possible to save server side data for all sessions of a user.
    default_session_scopeThe usual session data, based on browser cookies
    default_process_scopeServer side data for a given client-side process (a tab of the browser or a mobile app).

    Applications based on Ocsigen Start use these scopes for user management. +Session or client process data are discarded when a user logs in or out. +But Ocsigen Start also defines scopes +Os_session.user_indep_session_scope +and +Os_session.user_indep_process_scope +which remain even if a user logs in or out. +

    When session group is not set (for example the user is not connected), +you can still use the group session scope: in that case, the group contains only +one session.

    Browser events

    Attributes like a_onclick in module Eliom_content.Html.D or F +take a client side function as parameter: +

    button ~a:[a_onclick [%client fun ev -> ... ]] [ ... ]

    Module Lwt_js_events of Js_of_ocaml defines a way to bind browser events +using Lwt promises. +

    For example, +the following code will wait for a click on element d before continuing: +

    let%lwt ev = Lwt_js_events.click (Eliom_content.Html.To_dom.of_element ~%d) in
    +...

    Functions like Lwt_js_events.clicks or Lwt_js_events.mousedowns +(ending with "s") +will call the function given as second parameter +for each click or mousedown events +on their first parameter. +

    For example, the following code (inspired from this tutorial) +will wait for all mousedown events on the canvas, +then for each mousemove event on the document, +it will call function f, until mouseup is triggered. +(See Lwt.pick) +

    let open Lwt_js_events in
    +Lwt.async (mousedowns
    +            (Eliom_content.Html.To_dom.of_element ~%canvas)
    +            (fun ev _ ->
    +               Lwt.pick [mousemoves Dom_html.document f;
    +                         mouseup Dom_html.document]))

    Ocsigen Toolkit

    Ocsigen Toolkit defines several widgets that can be generated either +on server or clide sides. Have look at +Ocsigen Start's demo app +(or the corresponding Android app) +to see them in action: carousel, drawer menu, date or time picker, color picker, +pull to refresh feature for mobile apps, etc. +

    For example module +Ot_spinner +implements a widgets that you can use to display a spinner (or fake elements) +when some parts of your page take time to appear. +It can be used in shared sections and gives you precise control +of the delays and the feeling of responsiveness of your app.

    Ocsigen Start

    Ocsigen-start is a library and a template of Eliom application, +with many common features like +user registration, login box, notification system, etc. +

    It also provides a demo of many features presented in this page. +A live version is accessible online. +Read this page to create your first Ocsigen Start +app and take time to study the code of each example. +

    User management features are fully usable in production and +will save you from implementing account creation, activation links +or password recovery yourself. +Module Os_current_user +gives you information about current user +from anywhere in your program.

    Database access

    You can use your favourite database library with Ocsigen. +Ocsigen Start's template uses +PG'OCaml +(typed queries for Postgresql using a PPX syntax extension). +

    Here is an example, taken from Ocsigen Start's demo: +

    let get () =
    +  full_transaction_block (fun dbh ->
    +    [%pgsql dbh "SELECT lastname FROM ocsigen_start.users"])

    Server to client communication

    Modules +Eliom_notif +and +Os_notif +define the simplest interface to enable server to client communication +(the second one being aware of Ocsigen Start users). +

    How it works

    Say you want to receive the messages for one or more chat rooms. +First, define your notification module: +

    module%server Notif = Os_notif.Make_Simple (struct
    +  type key = int64 (* the chat room ids *)
    +  type notification = string (* the type of messages *)
    +end)

    If you want to be notified when there is a new message in a chat room, call function +Notif.listen (server side) on the chat room id. +

    If you want to send a message in a chat room, call function +Notif.notify (server side) with the chat room id and the message as parameters. +

    On client side, ~%(Notif.client_ev ()) is a React event of type +(key, notif) React.E.t. Use it to receive the messages.

    Have a look at a running example in Ocsigen Start's demo +(source). +

    Eliom has other communication modules: +

    • Eliom_bus defines a communication bus, +that you can use to share information with other client processes +(see an example here). +
    • Eliom_react defines client-server React events. +
    • Eliom_comet is lower level interface for +server to client communication.

    Internationalisation

    Ocsigen i18n +is an internationalisation library for your OCaml programs. +

    Create a .tsv file with, on each line, a key and the text in several languages: +

    welcome_message Welcome everybody!        Bienvenue à tous !      Benvenuti a tutti !
    +

    and Ocsigen i18n will automatically generate functions like this one: +

    let%shared welcome_message ?(lang = get_language ()) () () =
    +  match lang with
    +  | En -> [txt "Welcome everybody!"]
    +  | Fr -> [txt "Bienvenue à tous !"]
    +  | It -> [txt "Benvenuti a tutti !"]

    Ocsigen i18n also defines a syntax extension to use these functions: +

    Eliom_content.Html.F.h1 [%i18n welcome_message]

    Ocsigen i18n offers many other features: +

    • Text can be inserted as a TyXML node (as in the example above) or as a string (ex: [%i18n S.welcome_message]), +
    • Text can be parametrizable, or contain holes (ex: [%i18n welcome ~capitalize:true ~name:"William"]) +
    • .tsv file can be split into several modules +

    Have a look at the +README file +to see the full documentation, +and see examples in +Ocsigen Start's template.

    Reactive programming

    Eliom allows to insert reactive nodes in pages, that is, nodes which are automatically +updated when the values on which they depend change. +

    This is based on the React library by Daniel Bünzli, +which implements Functional Reactive Programming. +

    Functional Reactive Programming principle

    Function React.S.create creates a signal and a function to change its value: +

    let%client mysignal, set_mysignal = React.S.create 0

    Functions like React.S.map or React.S.l2 create new signals +from one (resp. two) input signals. +They are updated automatically when their input signals change. +For example, we can can define the same value as a string signal and as TyXML node signal: +

    let%client s_string = React.S.map string_of_int mysignal
    +let%client s_p = React.S.map (fun v -> p [txt v]) s_string

    Reactive nodes

    Insert a (client side) reactive node in a page using function +Eliom_content.Html.R.node: +

    let%client f () =
    +  let open Eliom_content.Html in
    +  F.div [ R.node s_p ]

    Reactive node content

    Module +Eliom_content.Html.R +also defines all TyXML nodes, +which take reactive content as parameter. +

    For example Eliom_content.Html.R.txt takes +a value of type string React.S.t as parameter (string signal). +

    Instead of taking a list signal as parameter, functions like +div or p of module Eliom_content.Html.R +take a parameter of type +Eliom_content.Html.F.elt ReactiveData.Rlist.t. +This enables incremental update of the content +(usually, appending an element at the end of the list, +without having to redraw the whole list). +See an example with ReactiveData in this tutorial. +

    Node attributes can also be reactive. For example if s has type string list React.S.t, +you can write Eliom_content.Html.F.div ~a:[R.a_class s] []. +

    Client-server reactive programming

    Reactive nodes can be created in server or shared sections. +To do that, use module +Eliom_shared.React +instead of the usual React module. +On client side, this module behaves like React. +But when executed on server side, it will generate non reactive values, +that will automatically become reactive on the client. +

    Full example: +

    let%server theservice =
    +  Eliom_service.create
    +    ~path:["ex"]
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    ()
    let%client theservice = ~%theservice
    open%client Js_of_ocaml_lwt
    open%shared Eliom_content.Html.F
    +
    +let%shared () =
    +  My_app.register ~service:theservice (fun () () ->
    +      let monsignal, set_signal = Eliom_shared.React.S.create 0 in
    +      let s_string =
    +        Eliom_shared.React.S.map [%shared string_of_int] monsignal
    +      in
    +      let _ =
    +        [%client
    +          (* A thread that will change the signal value every second: *)
    +          (let rec aux () =
    +             let%lwt () = Lwt_js.sleep 1.0 in
    +             ~%set_signal (Random.int 100);
    +             aux ()
    +           in
    +           Lwt.async aux
    +          : unit)]
    +      in
    +      Lwt.return
    +        (html
    +           (head (title (txt s)) [])
    +           (body [h1 [txt s];
    +                  p [Eliom_content.Html.R.txt s_string]])))

    Function Eliom_shared.React.S.map (and Eliom_shared.React.S.l2, etc) +takes a shared function as parameter (syntax [%shared f]). +This can be seen as a couple containing both the server a client side implementation +of the function.

    Mobile apps

    Applications can run on any Web browser or mobile device (iOS, Android, ...), +thus eliminating the need for one custom version per platform. +

    Your CSS must be fully responsive to adapt to all screen sizes. +

    Ocsigen Start's template comes with a Makefile which will automatically +download the required NPM modules for Cordova and build your Android or iOS +apps. +Read the README file +to learn how to do that. +

    Download +Ocsigen Start's demo app +from Google Play store to see an example. +Be Sport mobile apps are also generated like this (available in +Google Play Store +and Apple app store).

    Ocsigen Server

    Ocsigen Server is a full featured Web server. +

    It is now based on Cohttp. +

    It has a powerful +extension mechanism that makes it easy to plug your own OCaml modules +for generating pages. Many extensions are already written: +

    Staticmod +
    to serve static files. +
    Eliom +
    to create reliable client/server Web applications +or Web sites in OCaml using advanced high level concepts. +
    Extendconfiguration +
    allows for more options in the configuration file. +
    Accesscontrol +
    restricts access to the sites from the config file (to requests coming from a subnet, containing some headers, etc.). +
    Authbasic +
    restricts access to the sites from the config file using Basic HTTP Authentication. +
    CGImod +
    serves CGI scripts. It may also be used to serve PHP through CGI. +
    Deflatemod +
    used to compress data before sending it to the client. +
    Redirectmod +
    sets redirections towards other Web sites from the configuration file. +
    Revproxy +
    a reverse proxy for Ocsigen Server. +It allows to ask another server to handle the request. +
    Rewritemod +
    changes incoming requests before sending them to other extensions. +
    Outputfilter +
    rewrites some parts of the output before sending it to the client. +
    Userconf +
    allows users to have their own configuration files. +
    Comet +
    facilitates server to client communications. +

    Ocsigen Server has a sophisticated configuration file mechanism allowing +complex configurations of sites.

    diff --git a/8.0/manual/basics.md b/8.0/manual/basics.md new file mode 100644 index 00000000..e69de29b diff --git a/8.0/manual/chat.html b/8.0/manual/chat.html new file mode 100644 index 00000000..a7b97388 --- /dev/null +++ b/8.0/manual/chat.html @@ -0,0 +1,123 @@ + Chat: Design Overview

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Chat: Design Overview

    Chat is a chatting module and application, currently for conversations +between two users each. (Extension for multi-user channels is left as an +exercise to the user.) +

    You can find the code here. +

    Description

    When the user is logged in, he sees a list of available users. He can choose +one of them to start a conversation with him. The conversation then becomes +visible to both users as a message prompt and a growing list of messages. The +participating users can enter messages and they are made visible to the other +participants. If a user becomes unavailable for Chat, he is removed from the +list of available users, and all conversations he was participating are removed +from the opponent's UI. +

    Central Data Types

    The following data are crucial to the functionality of Chat. +

    Conversation

    A conversation (type Shared.Conversation.t) is shared between all its +client participants. It comprises of two values: Firstly, it contains a bus for +transferring conversation messages (c.f. type Shared.Conversation.message) +between the participants. Those are displayed as they come on every client. +Secondly, it contains the set of participating users. This is used when the +conversation is teared down: An event for removing the UI element for the +conversation is sent to every participant. +

    Client Process

    When a user enters a web page which contains Chat, it is rendered in HTML and +a new client process is created in doing so. Every client process holds a +channel, where the server can send messages to add or to remove conversations +(c.f. type Shared.event). +

    User Info

    On the server side, the channel for those events is stored for each user along +with a list of conversations he participates in. This is done with a +Eliom-reference of scope session_group, such that it is shared among all +sessions of a user (and likewise all client processes). +

    But, when one user requests to start (or end) a conversation with any another +user, it is also necessary to access the event channel of any user. +As it is only stored in an Eliom-reference specific to the user, it is +impossible to access. In favour of this, the user info is moreover +stored in a weak hash table (c.f. module Weak_info) which associates the +user info to each user in a globally accessible way. This association is weak +in its value, the user info, such that it is garbage-collected as soon as the +Eliom-reference storing it is cleared, i.e. when the last session of the +respective user is closed. +

    Available Users

    The client's UI contains a list of users which are currently available for +chatting. This is achieved as follows. +

    If it is the user's first client process he is added to the set of available +users, which is available in an react signal Chat.users_signal on a set of +user (i.e. User_set.t React.S.t). +As long as a user is available with at least one client he is kept in the value +of the signal. This signal is send to the client when initializing Chat. +Changes in its value are then directly reflected in the list of available users +in the client's UI (c.f. Client.change_users). +

    To observe when a user is not available through a given client process anymore, +Chat awaits for every client process that it is inactive for a given +time. Eliom_comet.Channels.wait_timeout is used for for detecting a client +process to be abandoned. +

    When it is observed that a user isn't avaible through any client process +anymore, he is removed from the Chat.users_signal, and all conversation he +is participating are teared down (c.f. Chat.remove_client_process). +

    Starting a conversation

    When the user selects one of the available users for a conversation, one of two +things may happen (c.f. Client.create_or_focus_conversation): +

    Firstly, if there is already a conversation between exactly those two users, +the message prompt is focused. +Secondly, if there is no conversation between those users yet, a new one is created +by calling the server's Chat.create_dialog_service (dialog is a conversatio +of two) with the selected user as argument. +

    This service establishes the conversation between the users: It creates the +conversation on the server side (i.e. the set of participants and the bus for +messages) and sends an event to append the conversation to each participant. +Each client is streaming such events (c.f. Client.dispatch_event) and +creates the respective UI-element for the conversation with event handlers for +sending and receiving messages in the conversation. +

    Sending a message in a conversationg

    Sending messages within an conversation is achieved without any server-side +code; the messages are sent "directly" to all all participants of the +conversation through its Eliom-bus. Two things make this work. +

    Firstly, an event listener on the message prompt of the conversation +(c.f. Client.handle_enter_pressed) awaits that the enter-key is hit in +the message prompt of a conversation. It then creates a message and sends it +to the conversation's event bus. +

    Secondly, every participant of a conversation is streaming the messages which +are sent over the conversation bus. +A stream iterator on that bus then displays those messages as they arrive +(c.f. Client.dispatch_message). +

    Have fun. Be communicative!

    diff --git a/8.0/manual/custom-conf.html b/8.0/manual/custom-conf.html new file mode 100644 index 00000000..7c274ebf --- /dev/null +++ b/8.0/manual/custom-conf.html @@ -0,0 +1,113 @@ +Custom configuration options

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Custom configuration options

    It is not convenient to have to edit the code to change some +configurations, like the location where are saved the favorite +images in the Graffiti tutorial +(see: Saving favorite pictures). +Fortunately Ocsigen provides a mechanism to extend its +configuration file. +

    Basic interface

    let static_dir =
    +  match Eliom_config.get_config () with
    +    | [Simplexmlparser.Element
    +     ("staticdir", [], [Simplexmlparser.PCData dir])] ->
    +        dir
    +    | [] ->
    +      raise (Ocsigen_extensions.Error_in_config_file
    +               ("staticdir must be configured"))
    +    | _ ->
    +      raise (Ocsigen_extensions.Error_in_config_file
    +               ("Unexpected content inside config"))

    This will add a mandatory child to the eliom tag in the +configuration file: +

    <eliom module="path/to/your/module.cma">
    +  <staticdir>/tmp/static</staticdir>
    +</eliom>
    +

    New interface

    From Eliom 4.0 it is much easier to define configuration file extension. +Have a look at module Eliom_config. +For instance, here is how you can add an element "<ldap>" +in the configuration file to store a list of LDAP servers your application +interacts with. +

    (** An LDAP server is characterized by an host and a port. *)
    +type ldap_configuration = {
    +  mutable host : string;
    +  mutable port : int;
    +  }
    +
    +
    +(** We store a list of LDAP servers to interact with. *)
    +let ldap_servers = ref []
    +
    +(** The user-defined extension of the configuration file. *)
    +let ldap_configuration = Ocsigen_extensions.Configuration.(
    +  (** Default configuration *)
    +  let config () = {
    +    host = "";
    +    port = 339;
    +  }
    +  in
    +  let init () =
    +    ldap_servers := config () :: !ldap_servers
    +  in
    +  let current () =
    +    List.hd !ldap_servers
    +  in
    +
    +  (** Parsing functions. *)
    +  let req_attr name = attribute ~name ~obligatory:true
    +  and opt_attr name = attribute ~name ~obligatory:false
    +  in
    +  let name = "LDAP"
    +  and obligatory = false
    +  and attributes = [
    +    req_attr "host" (fun h -> (current ()).host <- h);
    +    opt_attr "port" (fun p -> (current ()).port <- int_of_string p);
    +    );
    +  ]
    +  in
    +  element ~init ~name ~obligatory ~attributes ()
    +)
    +
    +let _ = Eliom_config.parse_config [ldap_configuration]
    diff --git a/8.0/manual/files/2014-epita-video.png b/8.0/manual/files/2014-epita-video.png new file mode 100644 index 0000000000000000000000000000000000000000..253afdcff8b242127adbe39fd98fb6bee10f2977 GIT binary patch literal 119932 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 RISKP3BdPGHNWw7SzX3*&_R9bO literal 0 HcmV?d00001 diff --git a/8.0/manual/files/screenshots/start-mobile-2.png b/8.0/manual/files/screenshots/start-mobile-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6b95975e925f41924a1bfa748c82bbaf6494c63a GIT binary patch literal 69243 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�?SOScrmAsh3Kz0VE1WKO(@@ia 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

    OI&5RXthgs~Sv-o-wd*zSm7Hyap5 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 R5@B-|FIZ+6G4JQ!{uixp62Slf literal 0 HcmV?d00001 diff --git a/8.0/manual/files/screenshots/start-mobile-3.png b/8.0/manual/files/screenshots/start-mobile-3.png new file mode 100644 index 0000000000000000000000000000000000000000..eb02e5f93eafe40cdc07738e5bfe67d069a5e1cb GIT binary patch literal 326008 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 E1z)YK_5c6? literal 0 HcmV?d00001 diff --git a/8.0/manual/files/screenshots/start-mobile-7.png b/8.0/manual/files/screenshots/start-mobile-7.png new file mode 100644 index 0000000000000000000000000000000000000000..d034efb221a074fe2ca536e452c8d0d15071c175 GIT binary patch literal 133747 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

    eq*$AR~=K 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 z zSfE2mF7oLmP3rDkvO+OaZ|vBX zuFLb__e^7o##-0heZ3=EF5)JP;|SO7ro%Y5Q?)&Zo!S)^red`wXrLi$!$ey=DKEL~ zhYj?(+g0CGpZ12Ki$-Pi&UCxDs7f(1Et7&4e6V)A!tLYJyJ;-yo0O+}PvZOOx;KrD zGkTR7tt%RG^Tms#?}yD7`@Y?-RJe+!AV>Qdo8JX%d0a)icDYyW{grccMG@Qh=|TT7T)-;7GNg7 z4y+U(1y9fMu|;Y|A)HaD!qPR5^`}v5H~!W*aB|AP*{7v-9(RlQv(e3MpI|DQooz8U zFl5b!ty_gYGv0-3XKLEzFCvji0!lL@q-e;`>32hdgQsoWsOwYqhsITair&3rsV&IQ zY;5xmB*Qpk&;$R5}dx`r$k^! zaHBSHA_406@tpjA5RuhSq&FkZG*DA>qBBltv({PG`IGOEJ^=;#_=fXD#5vqX2;rsZ zNw;m=2A)+>7Ap1hW!X9x7gh)`oNynLk`~XOPwBV9$w^PhqtUBYR_^gB@QQ*hJe;0h zMM#C^qKb)&i$f$)R$e}epOc#lYt^=TTBO+G@Pd!6tqV~f?{MKa^igfxiW}F|*e)pk8mr z+j7?9J>tA)T7WU)cjL#$jvghZ_iHHDoV$4OfPrH3Ipihnd(ss&M>MH{*Ka<7;^^<> z1vQQ*_IKl-W`Z4Zfd^h1s)4-l-Tf3~SE@F{ zzkKC&m9MP{R)Twm|rX0E+bo6sR%HrDO#a<#)=tmVyJ#AX@8X0(XZ0FvS z{;KvxMC7D49~M;iJcjiry!?AebnE=Ly@Shp-A}l@!sDRZ-`gPk`TzdZNneduP@_q9 z4JdE`^Vl-!JgDfKD(p=sqzKoHM@p8}MC(rCsX6)W;ROzo0}Rew?(y$iUF-1wzx&Vw zJRg0IxsYAB3u7WKUmo%At#))|fJxV{?DzNaV)0+CJG~Dbb#r`$J1IP@jsIRP;ZM2U z*Sly?$=#e2Es&5Vy@6?#5#J=cs;a2?eeXcRCfW56RVK?>ru`;V{edsArFV>+OAk@m zlJHP?jzeRLoUkXTB;MO(Xm?9W;=Fsynq*;MqXvAIX_;KG?K-BW`kexiJtejfG z)p&i1TROY$8^M{flQR&qzMrCEeM1AjrCVq29l_)b-=E)3WV)hCsriNV<4zeEf2SsN zMB3@k^@QI*_tuW%9w2qHCTt4}^*O8kfgl3~^vR>6;q&K6nFX}hm*t$CHv$zxU=+D; zNTEsxC;Nn#(gdEgyK}6qbv#>~Y$lXpxs;tPb>sls=g*PMm`xX}E?v3=dmnLk7CGvu zQPEin9ivrMr`WD1@q#27rKcwsm%4km<-B=M$ScLJ9zTA3<^~7SpzsBMTW>@}7SEEM z@BjsSHRmnsd4`1rx=tAj9WqBWs^nC0@$qjAyvPKovSdxzOD10|Nb)o^OvHb*x9ciO zwg-hpM1T|aiMV;)SAeM>J(|04A%;fyZcLao=?}FfO{bCJ;ku(n$?jh`e}2O8T57eg{yIgb zL7odD4anxhE~2Ry88~2Q+me_?SG?j1YX$`#wn|yTv3LA9#lnh~hE*xUtDcYjdqS*d=x!?M$B!3(&kktcCE@yB z7uFJ}^ve)5+{1k)3SI2;=bQhYCP;taFZBJ0y$cpBm_EImYiIRX25n?hPspIT)cmRx zM>`kdzXJ|}+sCe5{?0s+Xp^3mwNvKQxpV6|WG`)kPbCr6(UEEY&&_E$5-Q}Gkbfhx z{XtH8%!=B(m#66I;TZkaO`pz ztj+vom}t$mvojU<^zdMb7Kr_KbDADHSh5Y}*Rex~0t7HkF7X;CYemJWygWl_BJc@K z&6zBlhY#&mzsA`m&sgL8X8hFhyuM1P)RLp4Xhhr=HlqOz8A(5u%`lnMZ4(h&5ts)D zQX*`?#s(3#&2UI3q1Ais+V?PWp)+FHLGtoJ!nHkK_Gm*MDL6vo-7>USw}%J|T(X6p}IF_#XOu-M{Z;Jx`)v=Ab~goES(ljy&lDlHCR5-RcAC!i#KbV%2W90hMFtCg_VrEj8 z-mRZsDck2KSR96yg6}Ky-aT+)xQuWf;jvwxGjYrqdF`m(LmZE0W`_1_!&hBN8x7wB zZP8B#gX@uxdo06kJ+&c>BY!98}h6f(y9z zd79dQIK``5tZi&$<~Ob|YV*)d--5c^1)n6VqbmmLf%SxF0lY9OUw)06xp zIuq9Bkp%B3trG@43n^~|Dxhwp1Lj3~y@?VW+7%eked=xek8r}Xj2QK)g*193y#O)8L6W3 zfn|{W%}(l0E9C(XL?iE>C7xA%{KI)q5}M~s?Fi!2e%0qkE7@t^zI{~!sTiKPY^ggZ zq7rz=dqmHkJ(KRQgC+DxO;4X1E_-ytd7pppFPD(kO+%<454^_gwCR=#87?mBWVN6# z2-MDE*FI&6=w~$*m$6EbGYq-&y2^&zS$^UweIne^m6y79>Dx1l1^DG6{Y3q>tG_w_ zduwlRxrx@3#Y>VVD5%^}2svQj&h~xtCO~Np?k3_Yn``gLYQ;zNPCs(wO{N2N((J6w zD6~9k;09W+e*N=%TWZHp(cR1mi1t}8NV?j6b$t|)C-?gM?mHr_q{VHyD zHr&DNiCT|zb1a+Uz%9zBvN9b_%?L>`@7FiF2SyP-rylCnn_Qj4LOc~YR{4kRkUX1o ze@djd=Kokp^cGLWzAbTN4r$Df1(%!OjTPd&wUbjVv~ELf*T0`_e7{1pvwW+st0_4& z7z$A=ENrs)Ncy9EJO1cTrfq!g zw#Xy*=?7slLi-sGC1j5`i!oa9-tHU-g*P17Dek!dtv~H7D%#MRhD+~ecXw`N+-m*h z|1R*QnfJwQiRaBqVF<}NJgask=S2J>aFC~4B^lT)T&Of)z%H4J^6~@&_hXfsJ;lYZ z_10HcQyYP%@8ZSzws%1bXm&^%zbSZgqJn@k8a`i+9SOqjsbk)oh*OzUSQ6_#ryY)* zDn6dsS#52D0#UbM%waN3zBe*+!mHqhhIfvfL3`ibZ=v@ooTjeeQ_BIS&`i|04SV!2 z!`xxfy3_bAyQ5Isf?MUz`O88jKloBISeKZHJv1u|Fy{68R^TVQIdfvYGLS=XRzE5$ zGZr_UHchAvhYSh&{MD2LopT>~D)GjERzAG2dv;tsdp1sc+>jv|K#zvoYeCxy0p18{ zDh>s+M)79-Bbe@IFAAIRQv9Za&X!MA*6B_Z zxOqMY7WQ#%i_1uIn1`a!r%&+y6skPNa7nxv$_2i;tBNnrkPf_krqTmqXZMhNgj5!A zP(e;^P#{PHeot=q`%GpxrN2mI+RNFq?u0zN8>t7EElVX^Ga06>Egcy+clK=jt#lf% z{JRdutIS8qPT#8XS(9}O;-tNAM_~>1YQH1REiGxWbpi*_4uops%waAsBQt1Cw>7I* z2L=U!EQ1xr#!mTj-$^&<-7P0w-;Uo~ZF;|iKAUc8xB5CGb9?twQlh?6X?+jJaorigd$Vu){=EMbI$@jF?A|mUjc+N}N7jUV zykN@4=4CpH!ZrD0kU`BY^nsiH@p zAn$~@8d?10O0`xJhaM6VEiElrMJ)h}A)W$Il$LM_nd!jPK%b{5mJB(77A<0c6qgc^ z>uzx|M`&{LODIcz===J5eRNBW7J7PmwBdl{k)_hE34yZC(NPy33*#7F(Z9|q*tt|L zPxRUD?}KI=253+q@0Sl>`AJLgt>Dq}V6?#l-$X!$CjY&A=YHQS_V3@v2N;|B)LW#O zAWD$3T5beHB;?4&693t*gZ+(72VPht*uDYul}!!|VwEn}O%PWBV(%JI9+&a&m@=+0 zJ~&t!=@%On@@ey?O(cQ|Pg>C>-QIM6e?kHZ=bZOFDCT+WaP;F{+rNEOl9gSydiB0o zp)YG6!8<%rH2>m7PvkbVz<}4-+1pD)3mC*3{``$LUjoopKl$Kbds0kZKpM6c?MtQ}*94nK z2?+_vkG-p&{`(~B{xX@H0|5HSOx{p*3l_ZD*>qp*;#ADe{v_NZc3O3{h|0gk-gaa1 zUo#M1ZmnOIF!0~o{IBZi|3&Hj|3CHrvsYk8now&2ndm5jA|@3LB|EO`J#e7b@l(V1 z01~|JxyO7xxyJ2_W5$guR-000uKc@`q?6e>`+&$^2dqU}#U&In>1$S4Iw2p~zE=Fq zq$dRhegzIf`n!3vxX)cD-K)P^W_Ar21=rc={lw)QpJTD6a7X_C35A(7@RR|i-La-F z%jjU$9X?O`)S8DHc^?JiwZ(grIn#T1ME*vF@M3YFi?i?b3=vh_5g7)k@(&^IY%*-( z#NR-{m0?I~6auXoQ^}Bk>LUoXJij)|o7B@sb+~jWj(?e%;wnJHj?0#*EH3)D5k*d= zx%o*16f}MPdb5~;F_mGEIorsN{+3ohCcWNx5jCo*z)S-RBpamQ%T^tP54xGn%6~g+ zhs*Fq2mNJ)sU)eXDkk+1C?Gip&5j;B7JdkybF=(CKYsk6nwTnJ4I0CT+c?2q^y%F@ zK;UbVm^^eOLRzkp0)>N>hi`kskxyDP%L^y6M_*SreW~n3}DiH0%QBuoO1gG{3?+ zb7{4jY4?5I^TQ|q9a_!h%GZp8tJmO_qCd=0_&totId)9Lr2gM%Ou6Ae6@Y#bG6o2H zKuJ2l)b-Jnn5?Ec0|<~?>I$&`x7eg$E-9Hc_w9e6zRkf@u)sza4taBIfr7g`y1Kds zmQnb-Ez}MyBQZ*_P&c{r;6ZHrWzx3`g}>p5$LQ%9EOz4(hewpG+`3hkzshde*?K5y z1xB4dJ=%RnpNOE4#>CO9q~eRIWlx?uWg^J3651pBOWl6-s87yYayiEc25)Ypzw>V; zuSv>^)DR&e+%P#Vr&Vweeq!yDh@;V< z&zB>HJC2znq83wA)0p+nr1VSPz;OnuL&)_-Q(z(tw8-nYfA_A5IB7fIN&L6tym^YH zKS*(EQ#>vh<_;YLvwi2zJX*={8z-s4(HZsTd0Y+oyk>Q<#eSu`ikxQGJ}NJdj*UGH zuLZIN@-lU~0aD){?w^uiua81EI1O?ofcGZ{1?;uo3_Ye1I+i(@S(iO*V*(8#`9wcRlGP zIrD*WuF2Gb3a;SU*7#>;Q)=kV9&-wV6*;n?jZV)+U)!Qr@jcPTOo zcX=o z!0ly5jE(7#l3-H`n}bg(cp)V|z515>bS4Aq)4Tfe<;&Z*>p1N7w9Dm&Wp`~;B_nz1 zi{R-GcZ2=M?PK`^j}to#X-O-4b1qh?)JYepvazlXEI}VK1qcHl;$^U4Tr0iLJ50>I zL?R4Q$rcG6hSUX+pgfS+(=kLuu6pqTb?cz=;H@pS@|Et}V(Rami@n?Zvk|uVuusDG zVWJq{hwXr`5H6ItRO;$o{)hp&Tz|WfEH+%abFTZ;**%HcGpwv`7js`KUtNDVIj{^8 z>*ySm^Rpv2d_Xv}UEzrObK{J2=eB@1$YmgpdWmArJ+2wBMea}rYZOg;4F$|>7neHG zILs_}F<+woF<64>fRT=(aa1hOUvu`9JbXBY&XcrVH*r5IOnFTOSpTEB)o>O-5XD@7~n6 zZ$5r}@#IP9oC;}MNHmtRnY#DVWx4aHjB3N;tl`CF6Facd~lODT)ESlUCmY} zmzKGFdupn(AgBlp6}Jf*rK=0e8vii(^t>!!$MBxYV_oJE;P;p8b&Q>$oQb+OwBJ#a z#ft^&Psif2hjv}^jRk9QpzX9rE7q;s&Nz`qNi1K;We0{Yor=Z{Vh#dIVd1&bl)Su4 zURHOVo_7(AWBW#7`_ViC%);41$i$oAsO*A5KeS{TVTy?gwDW`vcxlVURx$!COO8cXu{jS2N4$&z`%$Lw})S!T6k}yum+9 z?%WB@QLI?!0q{u&x!E~xJn}>ivKK6T(7R>}QNfAhM!uK4T0^IMTTQ4PYm_ui#IH(L zVLO2upjY_ooB!1Uu(XDgy!JEgRBLU=s=`5dEo$;FeAe}$f=v$Qr2ZblWTmuZS&Xr{ z?A1=-6Gq@gz?5V+aD|-LoVXWvTCf0Lt3+g3F7fL_~Op?cBM^I2yy0 z2vss`Jw_?x)TtIozjV!}BNm{n1PJ;Bf() z)=>`kA~1e$noe+5_}V)URG;7?o=QY+e}1RN?XNT$JhHd@`D>9k%+7IyPZf;bXV`jq zpML!C;oHmcbGm7e>D5jHF5bw1o_sNZARQVF%ZJR+{U8H3EF1@73|^+Ckmu%UVUV92#-fktP3Oc%e4y!{ z_&!G}BsMP2bcs{Xfrk4mr_7nma%P`U-3x@}I^O?tVFOnR@Hwi`*!G0xpg|%-hm9PW zp%o+PtG_XFx;Xe)_qk;tZ5!eiEM0n)1mE(Y$;<3+{PXr9{;MPgG87CPFmP-L%@nnL z9H=vn<(u3(Ah&Sc8W$ICSwR@-$c?SCh5wkd!28-{RJq?LrE(mRA>NELBNN~R$lnA5 zDynQIr!cWy$P~<@SuA}N6mD-l!{LV+aZKX*fB+mBP6sOezPftgwY;IWTeggqGK0$h z@yUw_mR`#toc3%^(UD`uoe@3u`t=^X6kp+e+APvBJ|iQ;)@;k;a0n~|q}{Y}W8h06 zdq0T_@5YvJjX0LA#iVVs)t_5x4DBz~P1&6yg46l!Hroa8g#$yGa9eb&{MnHytX8f2 z0rSFry3CtAxzlSvL-VA8%7?{O!s9ovA=+LGlOh{0n-a{jCm}3hCa_J;f~c&{@)d3? z*r%1_1;K3n+6SPd2MPtb+)qVuOl$f|sd8RxEmqPo7mY(@s1gW0H1+J)Jooo~ERVu^ zw{5ej{NlF16RAS(EMW+rsq7;O(?s*oH6N1yF9c)SbIT}+R&dU?Nokphf(YB-HnDd2 zg1Kty>SQrOZC9(VxPWfU1BQPDGn1Pu6sAXV>eCYZ-V6=ZHdiMgtGjaMMwMrQip;X`@5#|3oXsht~cbaB4Wz_Pk? z;#c>v`#CjT4$Q99oco&4-ZnWaB&6HdjCsQh{3O)6PGH&hkxys`H#hqX<+C`>vcmW+{WUs(fA;pbb9}p?zzSc~jQB=npYeLT zF5cs85#63SV{30;_rB`R&`Fb$4U4VJ%w#OCk-;v$Jnc#>nqkknEl6|=#B>ckFK(=g z)qT2U_V|L>V5NTjNSGx`xWeJT`lNpqJ7``mD$vMP8?RMW9cXtfsc|#w7630bXB8ve z!I$hDAm2Ze>U>ak(Uaq|~0oO8xaX2x84izQG|Hn&ui4~^o^y5u0;TRH(&mQ^eK9NcxIEB%Kb(P zF7>hJ>5zVz+{^zW+RLuKd+;Aml8-Nj&i44oPBGbLaCf{l(z-6m52sSAeK3DqUOw3% z@;66pOrJ2zgZ?>tX;YB9IukV3l1h4*UZ)bT{}Nb7_{*Nvzck0G;f%>s60g-I7?%n>RQ<)4i1A}O>fE4 zh`Ov|f)3u?rJaC3POMFD<)Ux3adpY*VUEu)cKE)f5h%XhZoH?F zs{5w1R(s*_7HMsz&tP-*{Pb0Z(}f66zyAo0o(XGPpb7ONW+c}?XmGzhbFQC+ zXQv^ikKx`fGtTFidw91(Z?^~De4*h3d!a8L6qu>Jd!y%)r2yKopH*$X8cKx(bbNmM zc1VMIS>W@}$1*eNd6by7L;DrSJ*EWmCac*xCb2m64K#Z4<=eMDzie$E2HIMjJ#%LD zSWiJf{It&d>pm3QRl`=$O=O~!9s0~5^&%`)O;uCW_Ra9GHP-~|JpUB#po;wwL{#NP z=TcKUDJ+>a>myi2FL~kq$&jD++IF8Z^Hx~UAOFpbp1QwkaNlcgq`Yb{oXmz(dwEFQ zHY)Ih-qGksYfbh?l^@N)r|r!o6AD?q<2#9}-^ZOib7s$(f$C!+C!N=>on!PJy)g?z zKeudL_swGul&p;19j&KS|3=+YJe5SuyuIswP0xe=tItdxbV8oSlI!224UbFIuCK4F zoBl=h5xx2}#VruTks*bB02Y>VI>AbyU!XTA{QzqBh z)R=ZXtMBtm-&D8il(KZ!5J3WwZnpFNGL~?yY2G03Qh2J+r02;PLKNN?_1NZiw|Bye zn4MFMmlDojhEUJmkZx@14fD`1*>?K7 zrX_3Etpg{>D-#1`x3;%OO>;fL_=~jdYTN4`21_Al2JgE0 zgVB<266}~K;%qswmRin7VUma3^1w2f!Fs14nRavwP4AQe(%}d7u0E8f)^?LTj7aG8 zFaG8BfCX-a0olVI5+_P0IQd(r+h3{dmdA`KZ< z?4Nhxl)sEH?sN0_+PXT}s=jev9V+VP$?BB;;$185Ve{m1uyCb-I%ek zn9tl$T|=ML^RwY&plqwAe}dT|nT}e2r4`k4Y_$7SG)*_IKI54`CN=Iob{!?a>ceWw zl=836^s5>Sp0rf=#8~y`vG$!b7t1{_EiNn!aMYjWf+vYb4G4wqh?*k@yNPLZ{Qm5_ z;R;;_hqJOQRwt6!)x^31pFdv$7H&Dj&%9PtMP0ejOND23zJlRWi z`9ht+uN%Z2Ke7uHsy5J zfSQG!V~cK#e0ymoAt<{Z0`oT#VCfRq=%uNej@!^ryqtV%s>;I$Kpkf12hacQ#`o|r zqU$+E@ySzNIxYO?rfBjmW!mXsNDvuL0@OS_!4|g6nO&(Z;_+fqX1|VUNBQ zJI)km1W5L___pvd1L6uO(kzpvnVUDDb2SmKks4du@xsoo?Y{4yDWfwOUY$Q3LDK_Y zpW7h^W_W0}6TixM8+)8spGD7BT|{ zlsM*6#UpM<^D7L1Lsm=kZ$(i2V>+yxI^SI0Al%P-q0O|{#LYKu)4}OQtKY99mq7Jk zbKSRY1#|Os6CO=e(+o?=LUuP|L}tq2*qQT4+J`)IGW=yvdw)pbj}ND{B)1ohjP2a8 zNTvMrHYID&6n2<&3`<(Z(mH_C6)B_O0^2IubqR~U z?L}x#j&{;2doiCr$LSZ<_!BLj?FjM~7Cy25&BlxR^m30@k2UXTnYBiqI4(CQe)CzO z6Mm3QRoknMKMK;@3m-4AQ_mdQdGH;nJzDDVHPZGJZ)IgWWKdPtKRg~U7bI(%_CQds z0)*kM!_L8=&~)3j3CX8hxDTh!oVgL{GOA*>?QHbS1wF_udM$PU%t${1K@8l=_~&Fx^%jJDR}D-BAek zSTeZjUa8>gN$2tW`A^CGyuN>eNkpOS0`<&~?3R7QBhvRNO}(dvX1v@o$tkO!MD4z4 zgLfTHUw0bc1lU2hfuN7fl|gIO+gx8(RQON0^qbAn=Eu~F(=-aukN~@X?Xg5!Zm#V4 z>;ywkUFXb^p?SN;({N6wLi(`LllUd4{Y39pKfkRDw%YEP2tU8Sa@J)Pc?lK8IOo`6$%7uL>Me)=hm=He;@ ziQJL?H_!?RDngSxWo0M7Y(4z$-O68*AIQ#zJM#|)6-nxWlD-$fj9zzX96sT4DJTNCqi~;p9Z613MxTTx4dDxzf|+(x>C&gD zmi!dz$7Q`mi1DDPvsuWEZ50DFLRS?!pPO*=&dt5vSDrHwQAxY$Q}{p|yFtJRv9{oSz1TNYN@@d08rbDiC>pDlwR!{b!nDq9Tp31KYlPf zSx!L#__eCIxJSrOuy6{8^Pr5yzKFa~Qj=T^ zl)ns`e_+LnpR2>GT+=6QP4_W;b;YTz(0%jf>MjX+=l9som~j`r2{=A8C&w2zInH}X z4y22SO=^IbsIRhea;z*Zr6eWy4C^C*ELN!vhRw3i!OKwri!MEwT5vyFxXg9~@-^7D zCu3vhOrGp_;>1T{2F?!6$8XX=1h;@9k@p2p`q9=VKGACh$%v=bmW|K-4B0MSRB9U= z!w-Gq-hWAUS)`?4l~Y6ChF9q8aXR{=T-8x|4Fx)Xm*i@KRNu*&x+P-di_rke|NOX|=8(ZBx!Rw_=6;LQVt1qg++l;%_?Hb)ZzB)r`rjXZ zwC2i@jEsl7My*o68?RuG{97ar9_Ib@fSD z3d5&sS49=8ehuA|7G>_dt^cW-G_PF}rpdcC+t!(u+I4B5a8ArQBc96jt?~H?NFp5c z>D86Yv*k-K^hz3WS7x z`|hO}8R6M=;ez7U082Bo>JxR*%hrjdeD^)Yv2WyDkKuK(EA-B02;IsJ6+&e~NsqHj8O-)*lN zgw4{RKqN435vMG#kKBPbkyeM-n!0G4MQ|kzz7&O$-@B=f-t&FxsrDN5J{yX|S=b?( zulmR$e0E*426&zca{H#9h)JK)H9xi}>_I?OsS8zF>s8azqov=2-p}5ctzi}-`Q761 z2^Uw_S7)4io7}m1a|PXH6<1W^KNe}8pEx{rT{omIoe@L=JT|E?_HTHLm7xm06b%^e zdGxm0Kep%jVzn>R4s|G1&zm(%aPh5t-^g{BIt1KeHuO&RlwirhR+EMidAF|I+=G@N z;YP{|vja^`4hg2*Mnfjj`&XxY#n%aq%4I;VsccY1TohNrBZNd8`zXhTuHdB~Ne&Gz~PRyl}I2WrW7e5N%XVj78 zR#jmcNvm$-N>vTdxOA!CZ57Bd?`5MrMQQz%UGx(m{PwI4eo=i@f|-u$*ZMcD(YI?6 zz8$v2cS*oXEwiayeLVJHnP9%)1fu+I(lOuI*j69s&WHtbUlQfje>0~O1l)}W{>|jd zkX1mSs&8IT(AQV&*KZ{`$*NUvI;vM!fkLE}XLv;HTKbf#HezLb6@5#wPwm@)wra{} z`UeC!OFi@=kAfsZtBj-A?G?SpxSbw6hfX%tZsbqV<~NRB@%*CBJFBE~u={$i>Y`St zTngx~{Q*y*clJ;q6HZSHlKnxkqY9JJG3KIfgJe*YLW+xxkRw`)n6n?l!7OntNLxd1jN-;o$8S~4akSKae=j=xv*Fk|(nak_gof18gMt2sZIc!IajWbqnR5RjWf4c1-oc~}@)V?L8S zz%6Ajw1WBfw&_+@uJDxND(bNp5wqt$oB?DpYUpFS@0wJ1aB$E_oqPEc=YvQ16q^-= zDKGQ4D@AToeR)ja4ue}8VY&00J*%MEW>;TLLw!Iy$IX6r2F*OW-GKQ0H zR)TJq^OiUtsw}@f2d&BVk>d=e%$n76>HC&1Uv8?e)J@29eV6gzxV`ow7rGu470v2S zxFaILtZwz{)e5twYASO?!aCe22I_O{w%e6{;+_`)bJN=vC%m0+Hwc-VV9zv(1POk?J=b!sag?v}tXe7`NEbF7ARjlSrjZ5ga{>+KA zv=(&E;Z6c2x)$4Nnf*gOPZ;7anICya#toJ-uOlZb>i~UyN%tZLObFg|VdLBICpXd{ znxTtl2)Oz$J3bJxL8f1M0DTl zz+U0457#?8*ZedChut{t#&lO>V`D)ncmqLE`kcG;gWvsWLt(W3c4`iD@0VKT-fC&t zSaC%{Ma`oorlzPkt~hy5&AH-Z8#`xyJ!u?N{5IzBaRiMwdkD5=af(J~-px7?6EnEH z@y@(wl)!=mxz`Ktf3^gc?{L$8aW?MWBvR(~>H^VxtIsbkhvdWniu3uPRN^Y+U@!I3 zGs=ix{Ap^ZOvl&El{4T;`&bw!`$qN~gVnYDYISs9PQA{6;+yAQ!FJ(ZS^s|hX8a+j zBRKUaJd!PC>o!u%=o?5vpEzN>WAmV)0JHw%G{UOwhp_W5?4CgLSb?7Yf+w_;D3hY0n~q{l~vuWqLrtMitt$&(5KHW1=S6Il_N1*0=O>x&eoYGcSc&PL^`m%h4t4# z3nwIx=bXDuA%&ZkE#tcR3k#E-N`lNd#XD=GO2stN?XHlS5-WoaBd@=)ctq1o%Rp;v z>l}1jj33{-_W>zPtsw7uvn{mHNw>%omp;L}x1fsJOt9!nkt43XtF5(m4Yh9RZd>o_ zK}<<7z6IGme0bRBX~>QkD?Z)8hFXtq^onP;o%Ey~`gYY=}(h~uo$laZuFTm1fvl2FMxuBelG)}L(8NxF9sWm*}2BzCCL+!x)?A> zgZURmMjh1UwO%K(vbX-p5m$j|XMi>*Rn7FTd1EfJMj_;(GItuGn@@m) zLFa|^7rz3|aPn7L>5ASMQ(YU}Jcz}_jS0~o5f@>58fyEbO{1Ji^U&tX%7of^}kjxLfPH@IiG-Y^yO zkavE1M=igMziRZTZgI+&35An>N+wx;YX9S2`ttsQpHJ83T>0kp$m`K*Z*S0VieUJY zrxNKH`(OuEe+g|3HvWc;`DDf_K{9cRhzRQYc7#lwkNQRJOYOy`l^d(4$DEpPEiL{h z1Y4y2Coc@_A6w+KOP#b3S%+-@{{8#*#T2K6W|;!Nd0ZO+veb3+rjD}RH{$d%@OXqZ z_zn`AKs3$a-XtZ@oI2&dO6aP4B+7srY{yT&orBMeK@iLv+5GeT?U%8e3^EbSmG-+$ z+0!ug!hf{@Q$!_nwY0Tq?0<)a9y)G1Bq&=@*B_L+f=3o~@vF<#;ZBnBe(QfxTADFmp3x}c1)}AW!{cf(!)EQD?=kU89v_aZMRXX97l~WEL z9OUcUK_ke?>^yqj>ejTJJ$rWKyptk#Nj>^AoSU8Bq^Yc=gg$Kvxvj{Kn3&m6KZ#>= z&z^nz?6g90v1V?J+~X_Drv@;7F($NWS^mE0Z}~e6ZrqtyAP0yH( zIu^8-Qi-!_UR}ItD!d_Hh>UF^81dYtOJ9|gd?cq2bk$Egd-fp%piNCz&?Ua;iy#Gs z(!d0x%~`^UHf`fcx?$fybfKbQCDQs68y}BqBZ;MttyAEa#Wm^Y z&OKsS7|skcGRRb!% zdj4C6B^Y{?m6lpgpB^$J19?!+!t+|tAXlyoC>k^+DChik%Dj2=_A%C*L*Q>FN=Z}% z1y6IeS^iZg4S91EWQ;r#P_B&G6iEn-khlUm-kq6`krh2xq-or3PHMuJ;H`;tzG-iY+`^V8FHTsN_gC+el8Dv|4l}h@+vp_R1HdLH6HMs&2H?&>XNVn#4I4IYT>RHKAR>-5du!{^ zu&|m$D@VsPOpjm?iS_&>YP1dLXZ*Jw!Olrt{T)m`lwu{<%-ULU^vaz${S!<5q&3Wi zz0u`rGrvcGSm4R2M%kd;K3cx;b_oj)@71idYtS6O%Z1i{o0r=Ay?=ZX*bJf^gbE;! zCL%tTBb(kKmls`^U>^qO{{pQn2^!iVI>Np*HPNKfbzw_XR1`1(wO+4#5#ep5q%V@R zWIqp3(ukQHJpAdzb2^ImjAS^n5hZzg{s8PbS8{cf;^d>**#mW*#6=u%(~H^JJ))p> z1a=mf)N~R7Bq{tFctz@0i=$XZe9+Ka4mwxR>PTIfT!xq6$vA)6B-C4Nq9b?E&v2!) z@U$*U8j6zB9MIufF3}%3vgap@$j*_DI$0=aQfGzVX=08=Tj7lx>D%!E4y_pN&DUl2mzan# z5TNNHzEMoKt9gpu2YuX@@2I1A6gk^#N*SnSF7J2%B07V_1L>^7`U;Jt$Tes^dqb^z zMhQS)e=V9UL_(_xSOM<4#;qrm$64SgEQWqS4&U*2Y4cTUJ1oEOL^G5cDoEIjuS7 z-rc)Ew>vJU(ygHQahiXDgO?bWO-*EXdr*Oc*gG&)1lB>zmviq~0dRH$D5&%DyaC_= zTY)wTuU{vP5)pyJ^LyUw`~YuF?S&41RLquDYV+Zjlw5?LwhYzP*OnH?7uIpTsliA9DA|6^zuq)t%oulS zDsXi%T_gt2@l@yhmQoJ+(QR;0u!PvvynUZU|K4^Fu!8+8L&yXaH(jwZX= zVD-KtqTuGRCDhc?#hcJ1O*~N?xg#!4e#HIcxnf`Lb7ke{UPsIL{fw5PU-XhGZ>hyk zI<9+}H$Su%>5$G3WQb)2$c6iE(1F!{w07j83o-+ZHoOkZJm2#g@-zow()(+T9a@yW zYVB{^fLT!>E(6@8uAq;T;6dSqLiA-(kuyy_y{tu4`vRLdTzPhKSwQG~L4mWJUfjGQtw; zqPIZ^*a@pM!e&VMQx+eoQzsEy4R=r`l%YUic!9vBamq9}fBf&IH&X8yF@;VTpXTr1 zhst>1&f@4eSVVBq6#I6I6#e2r*VU_^T=nfBwg=70!8(a_>3YUTb^P82$jH!_0=NOf zLo_lti=vLRVbd`hIRCBzAE!U_gTsS^Z&8GZixF@SroN^tmL69XEmGP%k7h?0Q570*m=7xr{TFpcYJz2q7=|QRjey*173hcg^^`f7iwo^99shYbKjVvZXC;l-PIUipT8M~{v!YduwrczK zaiQXywImfRjZa#?#nOQ;;WR~zGiI9>9XWk^jzzzJm!Y8xS0gVo?Rzpf(4 zUmS6fe%m}195qIdAV)dOWNM0Ygb+u^LTH81C9Mmn<}O+omLhbn+?|k zyYtI^TkBKoq1vi^5ydOYX9ATCm_5L3(9LVg{ZRSPp{b!-XxOImYsotROD;Sn9H(g_dqI zGYEcxk3@b1GzFeW#d1K9nH2V?daI7+C!U`49^H3LUNn&7H8mD@Qz(IT?Oc@8Lt?F{ zm;dF0xQpPliYLeos*QZ_A2AjSY8vCP-K>=9V?%;@{29SkeUtN`1oL}%5B|c*8|xh5S?f9^OMs%dtZbYt-MiELf=kY^)%AD_pe_I{k^89H_2oT#*asv zJp#v3r~8L;bDK%j7F_kYf}q_yjCqneR9&QqsI8~9Dy5dMMl7;r>sI8*ui>G&;gIT| zK7RZSkW`ctdguOqBbF%nEE`r%UcTc?N(Y`PxFhejuwIb;Q98*oa`*0+1P0#T#g3+2 zSwPv1zh<`1jTV`_w2%LG+Y4itA{(IwL^u5@R93Ys^a83y41Y4x)7|V2qf{R>=o(Eg zV>Sygz|w-L&fB`rJH4`Jp0;9mR}me`(MPkv_a{znfrh2o8`Fd*m6e;hEi|4B#5t;N z)Dr;(G7B`tz58eNwBe|r1^y4HDu)OoB4KJOAaaQjK;GUZ=u%_h8OMM z{~WyCZ0vrt5KXE0R)p{TMPN?-1t=ai1j!_6AWRy97XV^tt~xSwp-C7(4(Wtbc9%;h z!oTV6tC+EJrFx|sDVmAe^!F1X+=`Bv%=`$}b?3-}lMbCM>@ZgD+`Z#^q`}fZ z?eDdRU8Q9lFkC^QTL%)1sLyZjXqpey%{fn-eav);+c$5brR*B80ZW@l=KDwwa^KMn zr64175CTJUlSI%dZUvfv{9|Nb$=BwTR#h2}8>cWM&DsS}!zICjVSggk@7{Iom}_sJ zGcVVFZ7?;wPHv2UW4k3JG;uby>~e|W-0fSlKFxi1?d%#}6~$k|S{_H5DD$;$c5BU>mr>k*KTpS0Zu(4=&yLRmwhiLoHpQ~0f>}_l0!SCNt38C9ENRsNH zzYQ6Tjj3q{tD1ut4}|gKpI*QIn#$B=*3eFR{Yr2c#8X1Vfmb*=Rq|EgG-c#x_Va;>$!7j9BDz8%@WLh-1y-GtufVf zLE-Ksv4UEMI+OjZtm9z3c<~De7^+mHq%b%Au~+@;OkkGfO-hh2K zn7d@ORxy}2?WLxzr3J|mtSU!Vy`Qmo{{AM^5j1&ls&p37=j(zc+#BPT68iTiN!f9s zb6^-rXwYXFuL@hbY_8bIdt4L@=E(I6igs~nxVp#@(9e;I3Tm<8!y6!L=@^}l4I)37 zo}UZ5En;hs4hp4)eRnCTch3sx@Pf$?kV*j!WLFW4Z8graQQ6Q`xZD`J&2T}G?%thQ zc9S0WU;uc(^_#{M`=Y$za zoJy=4x2h`{8E-jw`7yZqGj}Za%o#cj=5BRuZG}qW+H|)(36BMAC06Hb5rMrnxz6%4K=~FFmV6qlwwc;Yihsvo3;}a9_uHBn6VS(w` z8(&YIEPwLkf>Tj1eV1_v?PyJ=LmMDpLsu6Mvi>4&xOXGunEW|_PXr8s@)WtoxNG_g zG4orkw}50Z$?`MftMTsy0cO)&Tr%^+I&CFDAXNU{L_iSxYt2I-zOv`gYY%rGDPK)7 zw>qNHJXT#8Qcc?HyncNt1)H?=kp~S(m3RR8?@*f3BVB$dg~CE))k&79YPM3e>gu9k zSV~PsGonifSNS)JZY&Giid6Y&<2W__rHe5@MomcTe~*QmtvMl>omQ!asfaMhja13f zGMgaYW7FJ;`p(!PL8(BA;L}IOmsY+SEb_&9*Ob6* zbBTp?qnIvMCvW9cMiYYd*VVi{+9B)QyqZ`fBuO;qDSTLwTmHiCOnmu+y}hiw8g@z; zp7QzaiBh3#ad#)kMD>jz^|YyF+IqB~lH>q8bQvICi=PkU>a z-Qklb-AI#lx`~Pgu&5c@hDb_OgoaXD^>1q2TXUf4*cHUm?&a99JkbhqA}pKa z3NH~6?#PT;vsOGjNvAnYTGlZpscr*mdfQ*||3BFK^QavAHjW#;nv@ikiUyiVp=3&i z(qIfl5|R)?C_>UrX;O-m281$ZOqnu76HOvhGB!$NsDvWCpYwj6=iO_swb%aRUGKa0 zKl}RUxgXMXUFZ2bf4}4SPKSyWz*Nl3x8lWl9;Urn$R`{ODU_778 zUme(sOUbeGtfFFF{Nx!k!n3VLjk<=RS!S7H;;aPIRJJK780?(fx zoGZ5sPD%4wvgso0RjZ80RBn-1v9z=l1#+C_hAiVd^ZhnoUK~SniqAc1xxc@~Ndd1~ z`Ir=@i7_v^@30zlf-xg|nb<64@O5+DCLY-HY6*MyrtG$*6>e+4zW!bJXH9vp{i>G- zuIjH%xT7qt@I6lt2gSicRleBOckKT4vAzCzUt@X^AUa)kp_5a{7+KF@>L;yws2im< zBi_H3Fabsls;%prZW&LEPZY=lqIN*jaegb73c&aDK!CuPCl5}}a~QShv!*fuS>sIV zbO0u<*ipIS&RAXbt-?3Q`fQ&-C$6YR{(;5KiT8ml`jp>HW54iK~@^)gI^Lt3EfB3M* z<}D3K^I2Gf@j~vAyhR_82s`rgfh#9FKXe;!V(Nr*ZdcdtnOC+HI4sJPThy0EdzDd_ zV6nm&kqE}D(eKM}C$7@nD7E}1V`Bx@o#_L@o4gO%^>oG?W$^ic**+>MduK~6x3EZp zveHX+s!dHrqBV`1DgVV64fBXiN-ElT`oaZ;jk1hxj0u`z<>uD+(hwl_dmCl{c@HPZ zGV_bJ9ACaye9o^_X?Ycwb}&x^g$X;~(+-3>M`gJU*^=j=({<$xl%|CnBP$)obFO}E zXvv(3AuM&M>naWK#}~iKfRZE{{Z=To{W0) zt*D7_skvo&i^;N4uD>$p?578K9lLq~Vo!%iOHx^0IOpa$U9|$wG>&TqZ#ADjY~Qb^ z|K{9hjOWTFJUypmENLgo4axpWOI}Xx5*sGl)+{DsZg)ufHzFyzu0?b?enHV=E4q?+cq&X@OQah!}eHubxsA<>*vqi)3=bqeC49&fD|^2Duel+ z?oyA=g~`seCt+@F>EjnK7&vl^ldhn^w!+ydkLSL;o1BW``vEq`NqpN{n)+qna-+ue zav~Q<%chn$tB7TW1u9s#qDycpx>XUlzue1H2#?IIPo<{jmi`WouC8`Jrek6wB}zGY za$;xhgxzu?q+eE@c0u`DMS;{_83%t7?Oi?KR`fvet^Na)W#=!jUg$5%VKWl1S1y8DZz1mh+U{Qg)i{jml7uL5mBn zj5PK(b`e?m`I%enuvW^rydw4;rGi7x={I(naI5HmHDtLh;pvleIu8eH+2aw@yK*t@ zH#ps*ua)(Zn`Lu~3}iB{MtUe5O%-pybExCzH{)0*{&xNB#S(+QVsY>Ka=?%)*&ft{zixVB<%j>cb>8WkDIJm3A(py!%qzq~%OKjqLZT(L{{HXa* zDCUKZj=BD_(OG-i`tS_(8S6jHUbri*jvlL3r0j&d5SZU{Q!jMG!RH-(E&4steDfQrWc~#4$5lD)R2@^UGPA3q_O*8 zj`AlbfhnZ~r}=?E$<%4JDHo0HGWe5oj1Z8TSliwIii zwhee9v+tK%&W>gS2^6I+l@tfb^Q@`jM>U+hO|jyrsGaXJ0COFBKNKW0jMC43%@9)nRJW<*%1W ziWD?8J4qc7<&fdAqt5TUF2r>~lE%u+MRK~f*4E;k2H6+$+$u0Tdu)d2rv-W% zpXevKB{4cS)jh6^m6fn@tNEW6;L+p9?AS%FyW(k<@?=Jw72D`CzUNy>?cdKMFBKy0 z?>%yj=E4jPvwW?ai@(MN&B=~k2UVSV+;PEzvN=h`9zQ!eavyX8ckvav$o0;dnuViq z@YV|%8ICh&>Ymz7d|=e6Z(w7}-$`-1(VeUidMN~(n>crh{;kYkAoclq0U?+HxP?lpSDJO+kK-gyB6#1o4Q^?e`X`D6 z3i>NouQHwjoF;k9=1f{B(i3M`M!ef8p|_8L#+cqQ7*PcS7P!oswH}uc2oam>#6F>% zRT-{|ECcaruAEb?EsJ2AmaJN(!I4RmKX0DJ$|r`?)y%R7KRJD2b;a|4&K>d4UjL=> zTYo)J6U^CPfB)K45iC4;MN|=DA~-q8Eml5AJoln45s9KF)Qw)*PZt`5172`b0qEe4 zdA35Uwuf%3>p=`i9Zf)))KnJ%O{ur~*t%UVII*XG{NgQK=mAG|&Dg$h} zd%={)3$Lxa!%cCPlMP+$=}B);>S0Dg5fxOos}BK$Jnl_JM~p_MahipHTO*7U9Kqaq z^OUl5Qykw3p!(`WTP5?Hu6Q37Iyl6j?VU8K2;iL4*~B$VG$#(eno0vw@-^gOr-Pve ztrm084d)G-c6??bNCprCj|%0t@;a-mULkU6S?$+XWCYdE-8t1E>z4S~mqt_Mf+n1* zNlIzElzo$g`t9?&dK?!eTpMmS>+F%>&d+RfA%(Lur#qxVaQfF_Y0wbQ476kV!6*o!z;XbSJ3R<=J>BCCn7p}(Yk z|NGAJ@1oahcd0xKuc~a26B8jS;6(%ry%c@(HvCqAEOaaX`V>u3T7mp<{7Zc+YzKuz z-G>)~(vuK(g89hveqb@x=Hz1mP)SavqxgFUeV09V zz++jM-78n6r<(`dp5|zEwO`4=^TXym>?^5Z^m-R!t;2^8GfD(m24#NrBW1v7M7j?* zC45@ITS|ZLhjNA~hGiXdIcL>iLoO`Jr}gIU*SygNUR5T$j42^}gQ=5N_ypgLh3c+u z(CMwHnCrZq-B&@;07Hn0px!}C zg*kZKKpNg_{%$%u?>~Or(;{w1H=}q=(Y&(ZF#z=-l~7v2^YP}iutMY~7aFooe?2;4 zw@aRmD4&QD1@&>g`~ZbfG9oWt7(ZKTy;2=%yDVMm9QM$QM-GzqX_2@T89QF~l&6%LF5?fEGu$ntOfmm zl*o4C#II)7@X1}W|2jH6`)mbW$G!#f{h+KY+ppyaHX+(t%-=DEqZVSLsByCp#vrXc zKB)`nQC3B_a|`=R1n2IEj+PP?F^PEp3#HIEZ;YmNdGEEQru8E2W>@8V3ac;QSKpa= zfZV*Ghk;y}P>pjFr^sIVBpE#+c-07(UNt#)dW%Gt($DO$G8wNuFG@9M<_(uQPh<{8 zIL&_8R~jV?+|V*M2+si*6A~);y#CGx#VDnIwA4)$1#*%ZzUhb0Jr!S28T#!sNKj9g*`atOTn*ue#**Aq?mBILXC8G z^q|O{|NH8W7t#^0#@I90O7!D2x@&dItv9`&g*NRkib+b6k(gv|ZZ7lg0Mm2jdP$?@ z3x7OoZ!ga}Gw1#tumX9%XLG5GO-3&7HZE6oUVm2>NF* zRef_Sqx5jp>YsDT5EnIb z(Ug;v^oG@*o)as5PS)V)X3&hP=!H}u5ASZ@ad_)bED4il&%S*0Xg;!;CS!?rTf{`B zA-5$dp@J-n*1nfma1s=w$nRdHx%m{iD7kJTA)QifbH7rz_lD>E-hblQjJbbh6Gggr z-*%W?uZ)kI6_u34M?RWMKEAq0Wv?*HPO*vJ=GWcW9x3+(0UzooG0`w}`PDYI_5cm9 zBBnb#Cw#lkp%*&$;rllD&KRe_oWSs9J=&{AR26h!K@NGg%q(pq$NkZ1IuSL)?2cWG z{BB<9ut!r!83E~}JTLxo`nz7xn2WGAIdj^%t!H26Tokfe8lQ7xGM5x~zcq-WsoN_D zYkz^U)O351xwM=r28GF{_w8ge zg9DTn`ThPmTrTQ<7^mv-;|8Lf2MlVTxfCOMLuY54>wsP2_Hk8CViU@M zXzNz3G}~vNW#BrphTJ*Uf(Wf-ki^RZA@u6P`X#_Y<=EpC{sQkx`7bSM zryZwl?Q}IgHJrqcXn+5Z$_}w?}vwty{T|y-2d~a`?5i^7EHX59+ zk`AAQ#>F+-{vHEa!98|sj>@}ka!%R#KaXi0#D_3Wu(kDPklrLEQ~x&4tjljfQg%rA zZvE2BWryFq0S9$<#+-&bt) z%9X8cZ7^NPvJ*XY5AX1)^6%<3WAI&nsXx6+x=zSf-svwH8ljoa_`V&7KT_pEg%6HY z=ZT~flolm}@=$Ak@}hx5EZlWLEVD0h33SawHHIUOpT<1y{_;n5TAC+YpU188qSDaL zLlWhCIV=qNo(nm!z&hXFJSMwvm7^D15c&F2TNcp88}x0L>((tedon6Q&YZ|q{ne)H zR~beAUb;u5v}TLr0^QF(Yo2G?LDPy96chwm!uC}h&ca*-RjzWO;}drsmyE@CSoT7+ zkM?@*-KFZXs;Y&1RRZaEy|Z0WGZViWbPjzZbbj>4&79Rk59F}sVrqtvRC(p~rRS5T zO!>+93i#;d+fVf$woy|-A*ZzHZ*xuX(W6VyCFCxvP22eJy)TrSvhiW##K8+JP#I7t zkU(?kMy1)F`=7@@&@MRfC01UyDZo@`2 z@m*baiP}0cu3qi0U?aQmrr#d(d`e-P$smq^w$p<+L0Rs^6cBuW?i}OlU=Ua zV8sN&Kj@d^Zi+Oi`;QO->s%MXFbk>)@!mUB_jx2ce~t% zPX$sNe*WUZ)Me0C1cL-2C?rMYp`VM)2}F^)>snWo!*eHv-l zP*?Z3qT=qp8O$A}8skCZ&`S-j;I~!|)0rDZ`CM*9#9xj7m!jk2=g#fmspLB*n*mgM z%14m^cp!@VCjt)@QsNHX3Yxl((E=!rgYKUdki}i*q1FVRRvXQ7aglj#t=Xqf zO_~3eEphh_5AW$0%$*vh9-Y|x#YHL61suLq#3O=;QbVPu-&0+^WVlxAryg;|woUt4 z-^H7qqX5|^-5Mx4($L}S+uB<3P}JQWviaWKsE1u2L>~WSkPjBVs5{ipvVU?fW@c6z z*#lI+s4WJ?fL8LFi{4pMQZnTo61SB>^YkVCHMwiy!xz1ObexjHYcY%X>|@5yjw`sf z=Njv(f56y9#=f`@5g<5=f!Sk>?X;%)5oUA_$7eLSBI5x3Fj}<>#f;DflkIk;H=L2_ z%^J3VQR}x5@>{YJtb)z+>~cQugXB>Xhwqc)_%QL{9OICcz2c{gB_@?y`&^Ryj3yxL ze0zOy&+YcMr;gBE^0e@RP957KvysD0qW;^5drAE z)A!1i141TJ+jxSe=E5P-6dX)WHdHP_!@VadOHO4-#TnY)qy15C68?V?Wk{uE!?)sk zseO3^O-#bCi-}+)5nJHS{mnii*qVxpctG;i*LZoky148ZbB9=&9DkkGI~c3F7TOY5 zLZ50b#V>Sp((2Z2Cx~Y@6*Rjg!WFJ6?Vf>pJY%qipNw`S_3!gMd&&zX7LH}_4OXZ+5|2JcM{`1Zr;2}O#tFQ7(2!3tDX;q{MOz&fm4oC zHg)xlhZGt16d3mAqWmxpRAGV`!WpkvA*@@9Yeq|ePF+D+`4Tf8DlU|A_E0{)-7reH zj4hWVJ+wPAC#9z9CR|CBJG*N#)fhz^7_jL*Ar$lg9oh)lpOPXJS5>HZkbOao@%c;C zgL9ufOKkczwM#`IFlW%sYapsX1Ag?@R0H{n(jnMno-OKjBJgq|<_fHjFR#eI6+{y2 z-j_-ko`EeIWIR?hmkmQ*0rb`K{>b{ogwh<_d{aDroUP* zWa(XhUu))+RC{I)`o^!U$8)`_bv_i_Oyo;y#BVuR{S1;iWRq->EGw-ci$lo7rtPK$lTExQ zE)qf|m6U3kQ?hX3gVK!oHa2?0hWTQ#0wtO>c`_w;+WGTX=g6qZJb3Um2uRlF-_No) z8EPZ>-V94PVZvSN41gmtF@fS>@#N*?*a;YEP9Tcmkfo^m08i4lf_Rkx@eXWaM{M6Gs_mYz6a0^%e$R3~UC zIXww^|0j782P0sqo}M2262KhlBtDBU2mtnsBh=XV3_^Cj@EFFnZ{D({3g`+ox^=I; zfO1%15QVUFvmnfu9N;kGU1&{4A?+dug$e@8l#|hHZ0Z=ggvlUdHm{@J+WfXEeW4{J z2g(DE@T@_X26POS$pmEC2rGHo36*rq8u_rGpdP3M)>wdZxngYf?2lo{d-ySK z1|#+KUV}k6I61Z9NoZ~QrpRUpR{5SipSq#q%^P80E+(jTpEgnhGkuel*?;h0A+4NG zNFoH-I4|(7gF}{t)n5(R<8sFEZsPHYF;*{)_4Imjuq;}nsH#eaE4A}B;2btwKA`T& zKF%;Ed=jKeAJAWd_ozotIQo!3XbyDkbd*P{bDm43h!@e6OG$0fst%g(_M zY(PnF!JsV~;I@qRXSe^TsHrumCb>m3`en+LNW2aV?Y{IJ8%Y}gI4zs%XLpt&@@$0 zK#Vf!ALtl0(brj|y0@e^|pvc~-gX4S~9kRqUUmab|yri+`^aRI6cfPJ4jtu+s{~ud6jwK=?gL_a@+Xo4O%_2#Q z!3J-*h1*3?baDywnfB!u4KI5l+8vpt~PK3@Sg1PDI?tZ$u;&TTu zXDIW+g%k%vt~dB097yGq{}@vq&k_tP9q-s+GnxO}KDuAOyZ7&RKiK;18&BB>o$UV_ z8=BQs*+VB!?kW-tqi3CEJxDMco2txp7Yr{V!R+#<82MYC7A?`|xzqmpZ!5Wf zU6^7v{iH~QhW+8i{r~mHTo9}?4Tq;fPjuo%c*bA+*~dS^Qt^16j3C;aaYitBS&qwI zHsqhJTmJy-_f%415)=}Qvus67FGbNu&LkEUuC(G;^lof#RQT`lEMedlOh91UY<|cz zQ*tIk-Hb3Z6BofBF&iqve`;Rrp+kMq%dsXq9+(Lz6Rjs(IX_}NPP|s zTM=t@&BtzFj~#N>$^(@pM6hAYIUkb6p&A$kEo2WM=k)cpEd;uRzMPWkz)}zE-lt@r zskyly{v%ny3R9cOUwEWeOk_kzO0DhhnWXI!Q0*Y{62ntNgc zT346~{k5xcwt(Cpb1>vxgqCz^$RBSo;Q>ZQ;v&lOEC4w_9C@QGEKn=|;zkWKHQj+I z;*^ob*ve&W-S#HI1HK{GgBg#iR;6vA#S6WE`}*}4rKLOPG;lVvEr-W~4>Y@z8&5d?UF7I5o83n~okJbpZMtuuB9nDkG8_ysymhREBBSROiC74(4}`FELYEU6 z5Xx4LXw&U#zVfQ)t;flLq;$2KKV!xNn)vf8$UBr#vc_v$Z2TCPYg5Ib#Z9k^i%%hw z-#cIRr`X$u25T`&##?g~kGs>);FoiBq$ zkwiK7?nR}1_AwYUM)SpV$sPtgBHH1Q9xQMr`z$pL4dQusSY=QVNr)JG-2Ly?Kb`vq zc}Wa3Hk@#LCJ$Kgt9eV797XUTa;NWim9p*hPHFgoyQF!Nwe|K}x5iCbvv%!_2{T6c z-z*DJH4&x2f}9DoGU>*CO_(Wh!6&K4Nf9@& z{X;!{w(1c6AFtQfzhP_^>$ml&&;PUlVq*9U0=29K`Sdn6qzCFoaC3+fL?Zs(rcFOM z{cs-9o?YnfR9ak2Kd`-3x#BPP z@W3b2)I`DtqU-Uv1}c7!gmZiS;zdcq820YyPTHSCAXD(P-SdH4nM&$&FKI~g+4%UU ztg>q#P_7w_8m0CDGARIm6oe9eFbjrlg;I$$e2o=15L=%AEfTf`8gRr}4qZo&8U-Hm zh5CxCVz*TMi^1T*yM}fEU{IFu;(1Q32cXIPYe}rDemqDTCrDriK@R>H@L)}UBde#6 ztI$Z;tY1p6fNHAT6Yarp+0bx$3p6BsKi!akmWa2YuQY}mQ2q`byH;;)UIhMcs)5VJheA+ z+Ix|KoV$eozhcD-*YF-pIvug*l}sGlQ}P*gI%hP-sg@6bbvH-l_Gz`qt1Y)q!)!Z)xcEe_Hm7Y1`1Ii`=owvEyHOT+Bmc^`({D z;on?yzuF0ivAwF48{_?5Lcl|Z4Rd!U+egw( z>#RhYSN3%l9M6u@jZ6Zv=&N!_u6~~^&TWC(oiy$_wZoc0^KS{-)YQeSjZZIzix&&p z)T4O71#Rk?C>J4SKutyE&Wf8EK^1)^nKH5e_KqGq?5n1_O6_#|r=!*2Sv^xUL|A2r zDsb)+ylCZ0S&@vq{97X+H<|ULeH#^mrX>6M`-_XHSTJwyFo=tdHJ6W~>d8B`OhqN0 z_H}!`T$ei9thC|P%2o&*caBDXntqj;R?-dmXRhl~H>B#nbB)Owr67426gNH`mWEEq%% z4iushfq&ilwbcEKTvD26kqF6>O5Qs6$je?4?>~I7zCTZ3g^j^Nr3|TT$}Vry8*CFQ zM}u`CUC0yjoTsRzP<1P@ceg8uuwZyZ)tGjMujaG3n*RZ4LO{=7JMyOj8GYrid9@|);!lhRFta|46Tm1PAHuh;U_RPpGq5Q7T!Uq8Pd?e`Gq zspmpP)t#t4=dYa~rPcjOCpZ_|XRMZZUF84UHDoNE#LE(jff)PPy?Z6&5E6V<`TX%C z>TdD9{X3+rw=NvJI4#-SXS;nY3Xe)1ca6!b*RItkeoUt_z zeo-_Vr$xhucY1C#v27ico^tQz`ltzmMz@buI)BT!K-daee^hPD|8bq>MFn?5hxGTQ&8jlptTNj7HB;zkiImd2i7LqCRL-u`{f#x3jJ z30JRN$vdu28r$O026uZ%ulid0boj0@GoSvS8?djIN_+O6_;}8j!NvO2;obwIH$2rd z0kN0ILxkZTg8}w_GVf-@#CSVs&9NpE*WQUhJQG%9+A&;s=3*BU%vdc@Nezc zJ3&6zVQ8u0^QLyW8`VW*^)){JbGtWtCq+!$y=Y@gj{~Gtn8uD*myZXSK+7cxjEXZrM`tGmjE|Eu6ftTsT7CL~5z(C+ z91Z(dywUmDs5@uh=Pq`tE4{ovo|u|4Z4k6P%x=-uKNocGW*P{w^0#`?Lwb&jF%c*+ zH!E6zx~IW=dl$v5^7K^r_qv!YHX#Oe8XT&~igXfU>z2=B&-E0Xd~6;^i{^P*Nnb>L zD06+2Z2RG8q?4-|io(jgdinC68Qp&L6Bp%t8>*ji5!2n1#1;dcSIb6o ze6++~+xpw$UnPmxhYgRzmq7KO4XO^Q4)+>LI>Q9BNp)en>B77Kzat8GhiO$|yiE}K(lFeDthz0waHUr?M@1Lb+`#5Vwfs}?Rm1Rdr zP8U4A?d|RGlj_mVG)9DuQ>AlMfa`)uR@|3g=czavv=nRG_qMjPOf0*$?k%`0g47e! z4{|}r(5cogczI{`l>j`xL9e?D8o<%X-`_uGiY1voX-s>(bjcURVEu6Ay;L_)f@ zw!%BH<`LoYE$FpSlr4@vI;ioe@>{W%$+d1@E_N zck;cBmq6txgoW9~P*K!#@A{bv*Y?8__P0IB=bVD@x|x6ee{gyZ9la!kVvJK$6Ot&`F`xK7Zf? z#Y7NKp{x8{f;QNb%6(4JdQx@1j-;jczfZi9mHL9)?LUWnk=AxQ9AX)=b-Y9O+PCn3kOH?h zeK~aEL<2$#8dcz8`f=d-nswXJum~JyWrj_Gk62A#g@xCTy8r!_zAe|g23VMu!D~4= zlh4Y_t1(Li%d9`Yi=YV&SMS?|E1(LIJ*gsMc2Fl01&TP6qPhJUp;?b?0=fsWU35*lTPlk$WC0VyH0z?OM6hw z_Z$7abu3L{hRUV4A374e(N+jD>~KOi6>`eoW4V7Ug?z3Pctm40>nk*C;rSdL7qAmY zvuo%9pA;4rhOezOz7(6Ze&nWMmCUoZZMZHu`tkbE=_iQ*r%k^w!L^bszg6yrv|d9D z{mu|zYSq>8>^XsDnssF2@1MM(=B*9u*3|}BdAX7v;Wl{02APiYHb~1c=xCh&t4(Cc?43PLM}9)lP+N;Z6vX_r9BB>RbLYUE)?9 zW#Hm#x{*Ka#&vaFDJ~Kc{F{7~we@MohsOI^YUT~U?Yigmh@KOF6J(IxZAG#p0?FR4 zzQzt#`axEMb$OOv`$ilR-z;^(B987){SQjcxE&of(w^$k-#fl8uUY50b}d=KQX(W} zA75VW(ZyP&`z7zAqu7giHudX>=Mb_$6IdgX1E~j_@dOxl+LCl%FJfw&hhj z?@n(jCJ25O`;1#uM^}irf!z*SN&k1+n>N`ru+1Hib#`;xN_dtikm~DVmmcs|LYOL2 zMI^De|NdSpEgeqR^<=oT$amvLm`qg>3+w*1NjA3RPAtEdlmW0tYfNj)@8&ELxZ+O( zyZ-sHD=|L4t9tS@SB}n}Z_Fd_b_v>cl94;Z8-gUqY3Aw7{&#DmFMQ~rX6~Ir5Rpim zn5lD4swRe!-CIxh5B6Ikzh|QMgBA5BqPm!gO^rH5nu%ik`0hVEYl2b;Vai3F^1-*)J|WjV z1u7uscDM2G5s`6t)jW|uIDO*iVo|~-SMAbiQAH&sc@ZU4Nk^BquyZjC%t+)8O6PjC zo3P_(3e^~R*B9$42gYCwZLi}&c)jN@(A*-qBa}tC^0V6?J$a(6s#?*fq*<83jMm;m zA9<4?pb+HzgcBNBjN{ZZKfQ@DqZM}Ft?|}NzZ*g(iYpnm{kk4FIx16jl0{WdSE=Zc zcWw%+Pp4GyITGvTE@v%C)v^0^HKUa&C1U)^@Dna;_;2f2b=Ahr}i|*}$ zHQSpcbZtheoaKQ<_adrBcv;>ZWLCaw*FA}e;W|EIBI>I0N(5|G z=WaCqt2#@mgpp)vK0F0(Z1o_BMv~Z-3;#%6BkQBKzFxU^?;_PkVl4Zp(hNUO_`Bpw znZ&7*zlDDjm#rzTA2d&Y>fYFX@ev98E)DR=dveKW|H{by&eO_5z8el5v?M0>l;=Zh zr=by%Q@RaUte`me$V}bq38iDJEZuHz{^$Oe!S4<=xw-m}`*ZzA^1ICkpKUyp{_N}J zF$)ijaE$%FoSV_~{{6MAteEc75xoz*@t`fwH`QHB?pKgDhTrZnLiE@=wM1*?64vQ4KADO%0a62T5`?McN(>D23o)6|igWj3k4BurS1 zJ}UqH&ILVIhDjR6kL7Ppuy0KKjur=`XoNx59aqcS^hPQ}Ry7M7M;hu5s|@X$}*03_%UEezUG+qjYSI?u($eKHVhKn6ac2O*T_g33cj9k9Ru zXsejC=+w61ZPcQ=65y_{vbT&JJnq#hDJteF^pt!4P#BkWdvM{+_#(b@ zi|hv6*zBI+<6GHGU1p-67&651Sk%V@?~C8OqDmOLy&5g23``tQ6dywu@@Ij%-Vp085 z?;@X}V~`79pRaicT!Q9x&+psB zB8?h7I!@Kjr5}P29df7!wa#7FuMHtGNXOvnfjf?*f%n!mR~nNmv?5wZ z%yM>K<}SQ0aJ%0t%~& zbCM;NXGTW@0-pCK66W95|5>V`(df|{TH4VHn1CivpRTGvy(cFxZ!q;DeM;j)Mr@ki z0;M*2G+TLhAxedzrl#zPZW)WER0j_nsGOkxXEo%=e&)G)j|9Z+;r9bOq=CU5W(w#G z^C(id9(DMzR`=Y84_nZX=suq6=mgF8d8MJTakou@^+{KiQhTiXOEw3Unz%T0M&*}5 zrz~r?$G&#Z(MaU{#NcdK!h-4br9O9-v`ngi=xz)BC}q1bQg|l}cdjz)?zvd_oes&b zsczYYuTHkK`twoB2h>v5p18ZbtW~A2bRDI+ivp0jgytEX7Ikr}iOIX>dOl~t&ykdV zZhMA@l)eQ7cUJ@5+*7sgqI^7_ew;ud<#a!sx8;AU;&dd|tuU`&mF6IObZGIzVZvyv zHD3%>wMt2Ly6P2**d zky~e-JKkGfCGrTnN^^kJ-Fx@E0H#R>0>5O?NN$7lzfV8;v5)aVJ#? z-Q$WT>L59DMS{@!fm_2f-rmsxU02Q=&(Y#{g)oquUn?Oti|51DQ3drU%%q{=#Ia+1 z9o&=>8Zl%2+kjW^QeIDL8vM$d%0F3iUSW;5D%w5T6OdKtfSH-J_F2Jjyv{YXEH3@6 z%M`6qevBopib?>@A^f?&|4;fKVj*UXiNfENdHk!hE*Iih!+P^%Fl8>wXl-qG`kgkF zPH?SzJry%GjFih(UnTa4J*bYUyzAB>+(A>r6(PC1Rb8a}_ptivc0<9&|yi-xo>~K2rqS75VZY$cVWA6lDanIdR z2El9uPuS%Zt=W0~LKiW2xm0@TTJ!ofX%3O8L*I`cgnE-<3|!}BP>*i?Tb77nf)1>( zeJHFG{C`Q=RZ+c%=$e_$tgluuC}yRdMw>tvSgSdXHsa8z^876EP`FWC6eTEXNN8#O_*(h{5oeXvw>=>Fxc9*PVY)njbV`GtmR!9u_uCQqH z`>!>K#VEPZ-XMw&s^CzFtDMTX!`o^Lx`zF3!+3Md7!1ifV91y;uBWdSxmf9LIwW{G zrj{5ik<#9!N!%%rf#JZMcV8nG;LRU6yIPk#9s%VYSF;DM@E0I(m^Zo@V1Nik!zj8o z#s{i7XO}EaE5H4l2$HVpo=dInh8;DKQ<);>y9@%lXr2$oQ{DW|jKEZJk=3drwwLcM zdb+Ov=+VEpJpW1Ih7RKr!sLQY?8lAB_k4YA{c@ik{ zJ2kZi6s5m?k}!ZySCH4$)y?8AgD&12F(Hs%n`KUfK510I`~;i{$sziwL&yHvIZ%q>W}CpyFu(yUk+b9nEJd|af6u`pbNN{j z)k)#d!-QjfZ*Eo?u%1CbA9X*{-4(pM99116Ae}Vph!KJP{QL`{@OkcOx*=0JmLQlpmH60I|E7FX+33pZU*gnevmd8H=s&t1NTbW*|4t zdb*p>2+0-^SGWG}hbx;SK0Bh+xP0;A4cZ-+pRlR=Y!k+0 zfc`ao_<%44N03R~72UQ5K96Vm_tWqX8; z{lBkJ2|1Pj{kL*=Q>Xv^w}W|(!~Z^~RgLKX+CQ*6@TB;ET7Z9l@&BXm_Wyqe;R^iU zeiQ$%U)InZqV(xkmnHH6t{hRK8pY|p87$GK?(V| z*86_~Z56+Y`gZqPT9vDlU%BL+@D<&$9emhQ)V6y|TeIaM$iU zH6xU31zI^Ur?_xcuViNO;F%2{jto!f)_iCQX7e$iflXmZ_~Xh-^Th=_oK01f_i=b5 z)B45+cutR}rM!D!g>0icD1G(m4KR#Xc6AeVZZk|yUA$(EkeVA(4&=*`Tr}`wZ7oBO zTk9j56^2_k!ar@sKxplW*5+Of0xBR(oe;VhL9ur;N!Sw)cQ2pE19fSb?D90`0sdy7 zVf!YALR@U-z<~Ewum(C+&a!iSLTRI5P4Re;_{a6;AU64yXoDU`ng9E1)c;?bSNq{*cpWmN6JnnDj`YQ9PigjBw!QX2nUaqz9DhG?m^CZ^+I0#HE<*W`J*Dq@$TWAo;>=e$ z7on?e#5P48H(mw;;GpHULvwqlH@_Cm;u{QvllGN}OMOoh-6Axs#- zhMGQBMZA(b6fEczcNgaOs-joZ)QnP?cPn6Xx?6VdzUi=Sa&opZ)Nl`ID%@IxJ#d^< z%4P1g=P2bT4i6bVGrtE>=IH2>LK6qh<)#Ai9vVAQ#%{s{Dh|C6)CWn2vD=uv$zzPy z6p;UYdfoXomozy1m&%FFGZyoBFq1#nzFpl&CRJ-|yV&2D#1{KV%BU5RCc$v0JXNe-nL8I|bcE9gvui(C^_$gQ0Ta zaSGvY#jjG}_0TkL{{5qh|G9wf2-zaq`(rIVBZ`8RSwPKqs7*s0h(J?{2D;7MZN%6O zp&TP!2eugH=7%@gzxe%V%j@2~V@g7fuI2v8+iln9x~JKi61fBGolqt~X=Xt(V0Y%TUgcb)Z$K_XEI7utUO$uvn*^<+ z%YB`(BpjV7%nhFq^BiM1eQVd#D1_-5=uUT_GHFXF>g;Bzz`Wj6b z-x1lx<`bo=l+v~^7Yp) zHh@yz-u4&WZ07DT^KqvtBKNk!`WN3J01ljL{`{9zv*ZsSt`!)?Z#0?6FUAmH6MRpeFR3}f}`;kxO{XKTyb+*EXTg2PEmRD2Y2}|VC zCHMy(_kXCztBLlVJ@~R~w$zIud&QTmUAtQ^qRCJKZqB6@K{lmx?rpr~`wlZiRxE*A z>ydz)c|?Z#%g8% zs!kk;xn?5Wj>|aflT4Y-{e6FARlrxQg#$YZwYKfpLRziVEoPwTw+>>b5b#RF0gxQW zj_KD(`)uB`E&%JI&D$YEhk_BP+AMy)w>yn0-vMkPX~}%T`8x$Oger-lDmKF!p|qkk zM=9wrV56{A(b~=J4SfXN`<*+WU0*4Q1I8_U5!00|0$hO&veqrP#+&=t-)v;F^bN*D zcaDTPstLHxM#h>oE3mD9H{-V52RF3DlP2xRO0O(0H#IP@t2eGsJ1b-M!L4;E9AAww zJtFf@b#}AV4~`Na*x@_RcxDNOV2WYngLhh^*4ff!hR_R+t2qfmK|9c_K59>t=BQRs zn%Y~#XYPXHXfNT$!R!@;GOMlwwS1V9=`dZ%=Ld%7!FwgmX`1WeLey^HsF(!fxtTvE zYwEuoa;!T-sv2Xu5FTyCjF}kY<&O7U`iJoAycQS&yd9hfL6jAF)f41 zISC1Z*OFBl_j5BY@u21J!%8rKO3SN<7_`(+u(HY_9aBIwKjm_9`klX_o#9J$a(B1Z zjCF$j15NF{`}YSA7{D+)+WJn;#FhmV_#C6M;eqoHiB)f#+$`!n%U$gX7d(>Z2ePml!<2M+br85+A{87 zMdX?^Abmm}4>{dt55r+O%jGr*C2j-do%{Ch7vjTN@n`@AEeR%07(e?D#k6GvIcs;$ zyq=2K@CWz0=kQF9B}>P}SlDtDULy&|%Ni^*sqy9`XRmrT z7|w$nIa&M0JzH;^4w{#VgDrQ^pD(xn?#kyaQ-4U}d7hTo%hU-Z!e^^)2)bZm8A-5# ztbO-b+LJ$4(=C_%rs{dy@KS1CUCV{R)Jbf}eJ+|-xS}m_(W4;`pZfMVdF+sQyrjgtGnN}v^DBvYUGyBN;L#a zkkRpQcQ5~#*4Nxyq%({ymrZL=pBs=Sk4}So*n6~_sT&21+eUn_Oe%N)##OVEp+^K@ zHDXYRIn^G$d2<~b$2Gd!-GxWH2}2|-d}Rv1Q?9N!lxnRy{&#bJ5BgjWd;a~mQj^=& z6?WCCL!78J5S=Jmb8J$dh%W|%sNAf$jD}x#p?-#M^P-LHUOXFwsP|H>{@S4*gRMYj zWV6RuVaSqBtBUwpw`}!o?X_kT^#jKJz47H%owqsuSx#}?rR4UnSh_S+PtP=^NGa3# z9d}oG`3D|9fH-gSWU7Op`2`Lb>aBztvXjLiet5*;2Mk!ha{2NdlUi@{+Q_izRDqF! zEK5Gj-o{e&%?JsRbPctw7&hg6Nn~u?=i?ei9zT&m+te#33=FV1r}Ek%_xC)qieT1! ze!`H%%RNsXvw7yRKCS3tI(6z!j5m+=wONYMK}Ls_jIEHB`{)kRY;0b(%kIg^$$`w; z-JNnIRX4FADkS*!G)w@{DP3h?aIasxruceG!#%Yct9d6q21M%qX-xVgc0HA>&mHoy zq}0f`gt3p>eoETEpK!|vxpPlvN?)3#{K6sC^J2ZyuRT~yc7$c!mkvtn5vF(<;t9vAtE+Ej*d4f`Z@6bg{(j=v&L3jbD0kR{W9N@6=$S&hR36Yxj!U52V{Dx(H zw=}f)dEER?eUK;4GErVVpx1%>Zz&5EtOaeR|I}JR+UEZlK#yU}$sQXwqU;osy8Di` zo2hPu9>`YaTjRsv%?1*7j(({ZbL?E*kUddzdaRkKNzLf7`Yua6RH}0CecWsX!zW3$ zenYe&^9q?3LmVc`s4=xv?j2Q#c^;L>vIOORfYN$;!E*)SxnE54Hp+@5EnQ~QNmGGN z3PQixwf~e|B~#q4CkD&~h(p|k;dRX$*%>1ObkC^_cneFQ8$z&a@3XhqY~3%8Cq8tu zqvqiUOdrwiP9WQi>cImF+0^wyD30@E?$Sn$nXyY@KXgEmj$A}or0f2RL|C`ZHk&bk z=@*M84htG0XXCk3{B4#(=Tc>Y;MUFyfj6sLKmFmhRZ>!(WlzLDDcg+{_RQvE z%?M?s!p=zXz<9jC-H>rFmz7ZSCmhvuPMQwdHL)g6@-hyt2*-1b_dFtU-F^Mvhes)mi+0F#h%6x;eGb-7zYgaJ^^zS0LCEfVHE zyDel_@~*j2-?*mX#dOCfpq&@=zkZjStDQaLR6>HIGO<13T09kAZ_X4;6Gmu~VKVji z$mzQk_K#fK*T%DU%_8|FXws(}%v63_SvjeqS?1lfn|tFmH<)x}!T`c+%)hklYs4kz zV|$qy3o=*m{8H~Rzk(DNyX>9BMe=h?%&(E@{qmTmqBUB$MDu^<&6;IXks@od<9OvK z$3+r0>z(J%pE@o9bZx3!NnxQ7|Hjg6yLPH#pm1C4I3n|FOid=DGRV(k{}I1BZ`1~> z(RTkb8U&O)5BT7buEWASFg_`&8>qvaWVuns2F@1OU?t9N- ze>2*hnY%v9!$s^)=Q)_FVk17lsHGVYO+Ko z=)t=>#}2&M#l6+K6xCYo**IL{nDlyXaYOe0fD6JHk9vlYv#MJ3@_xNGP&dlD(aa}o zxSDn2#*#%fEsmQ97?1kk<}W>`e%!sZ+!2B=#oEIDI*j^J(<{g7KXf`E^N4lh60ukGs0usw7*b<3Q%(Q;*K??da}-YBzq_)|w5<-%0oCQJB* zn~rXk(YLmr?CzlOA}G}iy7Fuad(2elSuzA|M9uz7VV^NmMn)!OcWyaZ@r5?;QGIX> zstlNgl(H~`ftL}ZyF~yr)qJkza*?0DC1FN}2WYk2R;S65-Xq0-HO8!!te0tN**?P} zZnW@OpK1>q=H&V}Gc8TVq}xUxAH~gCk`e`vpP&VLZuyI;UsJxR%B`s@EiJ|MCiJh% zv^G3K)S3{>=2v-V7OL+{+3UZ@l(^2GZ4j^tb)nzDgn<%0yR3cI*VH`+%xPY~T{1ey zXwqc((q0yVxP?TP@oP7PuoMqqu&D*~q9a(mB*R)NkC_3Av z6H8V4>+Q^3sq>oF@uh6I{??i2;sdW*E&B84*V@kD+;dkVRUhWpe^3U{&`5%X{# z)x`H1lXn(1oXyNs>h+2i?foI0U`X0Wz zLDD6|>$%zg!QPw4_4Ka)zh+S=4PX1bN)X4vG-^15AW7{t$W?~b-ku*#Y9kxxO(~H z(u}Tt^YtGMONb@}E=QB>kRj8iJw0mX*RL{qU^HCMn<8QEiq+_togp*)C(K*8Fd^W% zMVNB@{&r0B&66Rs@7DFwoJ^-j?=xr43$RN{G+ee2MEFa`xfdQ)G}}&f5cEBNjQM_z zl`-S-9o!lC7A=^W+?m4LW{){vYC3djih663w>0CyHdyO-Z{H3E%>!L!gDk~`eCd)v z6!X@hlxb{vulcRV^aHwYSuJ7-h&uF+yjF^&q=ikQ6=T3UK#4F)_`}mjg@s=KW^Apq zlu%CZUHjpKFuDno4n047$eD)Q$N1K$Q^XYe_2byRs;?|uY#cfSfLdeBqCBg!XX#4j zGWj7l*ZrTdHfh(>2&ZVkO#U)&;72lYz&ZwT&2%}FcMfn{wyc7D2#@^52Bi7haILI_ z$GN;(XZJXCmD-gj;rppVww+={`ah5UxoCd4&XH-$f0QphGU~rWwa3tpOcAefk4{ znd`Wozoe>{EOvF(r@Mf3qb_$xn8__V_L`R~`{@F#?)inj=4X1YJ^FSUHyq3p?sTmX zuCes7uo%brbV==oyEqQ!3~~?8VY%<9a#o)uZDg0_Dt15y_Z5_GGQxm z_y>wP(u&uGT|pyy_en=Rc0=6Nc$R^mo2eqGyZC9)WR1g=V`&3Y&^ffFR3dl8I@;3Z zVGf5Ho83xvl=ja0^)#!$dkS>l=w@*s&5hpH$1N(xOWXoY8j z-Pqgv(jqg-=9&DgKMpCoi>;(Z3_hXxg<>$u*lL4(NKUlKgE zo7lloRSH598okfU8-W`{BB8keO88t?=dobHtv6rEX4b{HS`|6t`#P|_KevPGbVS34 z4O_}x;9emC;dXKAARg#6_$(-~qmz?>u}P~RxIMC&IJMjnQTsVBe*&CaZeQ6*Nenzr z`^w6v;1JwpPDR1Ok%5*moj?lu#0PHoj{%$t$1Hpj#Sv4PSb8KC@*5Ebf2yjYSThZH zlPmW1#J!-|F`}Z5zS>dv!h9%{w!+mD33Ic9Kn z2u&{{f^y{dLz;o;xL*YR1$~zrC$=feLou#kq(O6Qs{@%MlvZQMI%@5xrrKDEaCqUl?SX<8gK8*^oYj+LEVF&l2p z-r&fG9Gc!*AoJ6kTIP(auB_a2t-^QuHCl)XLsB^)nP#%``xe!K!@nj}XdGFV;QxV$ zd@YxY5?`FFe6Fn$L!01&o81f4Ll`rdFT=~x7 zD<#6Mfv%>xnq%gxK`R67^;7#qM@4PgnDIDoNN2#8ic6kD=N)TCR_N0h-hoa{qcbzL za?(~zwl-TN1@mJBQ9Ln{lf8bkPXLO0;Zh4c?K>9l6?tcbA@YOJu(qQpY4W9A} zL%Sq@_o5ON!*1DAj@~-F#v9D&qO0$pU4K{VX<!oY8}eAJUDTcJ~^|{!?-^hs72agE~?d^KIN+= zqxL2bq58GPu6Z-28vb1~iuzRU*H`E&C>%{lFx6Vf?FfC_aR6lC9qE&NC=TuV`HHFU zB4i%I!IVWT{n`?+aMV2wC;y_fncZ`DG`T`A#)A4vqS<3ZvJi_Ow|aZd8wkW5_36N! z9Tca-A3GqcX^3obl1 zBDw8y&@xo3b8@S^)=e04PVg4q5?5D=oT=MD9TTl7XWZ5(T`qg;77qjw=)tdAv3dqI z0kYoDglVZXR_fkM-vcVI{Zz4S;|1dry%duOY_O5>F6rb88&|hAM}k0<%6N4uw#%J2 zha}^AXfW8c#N>Cwd2eIMAwyoRFx%!R#|}38 zDOyfk{{^P72N!~vbaC(uzx(?2Mw%a>35lUX`4+sZx6Dy8qA-}1$=(i^9hu~ONB!^J zR26&+VnQ9F$12^(=wus%DOt6oHcOR=)j0TtT`0pM_#9|EpEF7S$%zyFm@9mXY%6B-?b z%g0XP0Sh^*vSso}sN^eiv_AiEc5%7jAGH~v3#OwwIqu*=bo@JZ*L-iGy%$pyxPl{5 zQ3?uXhm3$mi&Fc^$V?@V<+6j=*4bu?!E{AKTi4jlYu?k133P&5nBiC4i^H5`iayGun2}SoF|*hr8dX`PrTB=t}Gi9duC7Zup?y!!$G^6q7kgicKJpOk5Q- z=cdb8Yzql_lY>r9K3k@NzDnm)o*+#ol%v$%XWDCa;Ori|rL)6yUX|Y;Qav(@3WgJw zBjk=Q-_gg#i)HyLv@3ao+E-NR8BAryq zsZB9G$0(Z5m=>pRb?AY4#de1OeI568V^qh}n>Ka0E(1X$zG8^$J4)CZug-vMMB7ls zUhM#|Jay{t&)2?4idcxQw==v-=ge8#b8YSa(rjPeKZn`Xsk=~<$PQm?H&4I~Zst%R z6QkO7H_L=3)3H75o5Yg9`)IqH(TA<2ZCKB*NHmHT@8E~q$?VCV8zIQi`@!J(T>_XBOsle&*_M81vqwEoq`OVKT|chOFO zb3Dq+yYBOr14MkrD2%g`ErYGir6go^9X3m*U%ZH55$s!`5^X+@g87I_Zm7wxk$A_);@J=o=`sb9vm)-$UFyEIRIaXD&19=xQ?wWeu104{QCotRi|9L&Y{bj z`ugj{7t!BBOX;|Zmp==WL~_^n{O~v%fB$i9hk7w20o40fb29so)CMYROc3}=@C zt+siMITT-YT!Y`zWZQ3rSu2+(`{q8guCO~XTz$-#eZ%oGn0b1Bp$Fw`ccY@o$swh6 zr=u<($~aZI-lj(fkvtZvM@{+k!Gk(FLIkNlVXM1OT}ZRbkk@RBuq#s0vsZ7&5_5dR z7(XvB+@ZphS5nowJU)Y3`sC$tuN;Oug(qT+e&DqiX*LKr@I-xOB?KTg{ILClv#QbvL9}au->j5hVFraW%#O>@m}K?b;y!3o8!*vV=I*S8eJBe zduH5Sn%bznX-b4eu9!1t(CQ%IK!B>I?olV*JN z_fE4V$@BtIqw^j>M9bd2$AQvZbE5zs%FD{47Mty_BNC9}bocI=xJ;<^2}eThTft7j zCe8LSeZNiu&6}gZDN`Y16y{Uz`LL~5eCehTow+VvyqcT0fB$|m zh9)GRWs20og`=QSfo=L0a3XnDWQUFtE2Mg zH=%ll&qeTFR9ZUJ&^MW(z_=D{@-)#mvDsn=Il&QQmxUT}F@2)(pXSB1gX}=;(B9r( z!2wz5$c-TRsM6i}TWn<)dZeJUdiClR|2i@v0^;2de-2#}Y6^Yd+Cl^req<=Q4$n|7 zdbNfgx<5=DPZhv@EDZ^Ra=CBx^Yp~JIy(JFFMGnaD;SZB7b;BR2qNQ`7F{qqkcvt@ zMQ=}9j{B-rf5=`EkXNNX5yLE3nAbc#w6O8V4{WmO$lC!qt3||~qw*O@i314%htqZ}h)UciHRUD-((*iuQxJOzOO%8hZ!HyQO&^QhSH8Tk_#K3*Zk#p>wj zn23!VJ65pBuJLv5Ln1ZW{9s#>3dc!Yn<)HJQmGY!nbgwY93yFUf-|q8GcK7iO5U7-@LYhKokd+^6I}|g- zw?Fudq#fvf$mPE}|H3My%Z|PFem9q&hTP#6!N-Wym3n|C`{z;RO z9k=%^ynRK`QASTd@fQ}ksH4R(=JTNQX&y7~I7uoUI&7N0*{|+!{|+idFEa3q^tKOQ zzU)dxO>lMPu`cIB9=!#z$)I|oscx?9&0Z)(D@Kw-!cR)~{^}+zKH`1Ri5#|t&9Ht=~^B1@xD`OYVKEgp_E|DPxGy_+pd?}v1=0W5=SAJ zrQWDfOt+pxxpDELpUdRG^8ZZ^U3&-Mw)^{IQne|+@jw6EVfdg0%zga#bJXkqsK4jS z|My??d8vIUUphElIJI6bXV~F6rNoZpZE6u58`>JU5ivXPORN-4XVyMpEz+MvQK#Et82d)F`Y`-BG8f|m?2hM zvgHZ8Lz>Ga5~Y07E?+LAp=C@6Jtzxpj$sV06mM^`c;)W8G?WkSH17knD|H|%7fP}W{2g3t+5z2r1qENYpgeE2fZxrd z$b!w!&!>L8b;|?`6UYOlY-o5mGt68Mc&(Qs6T}mcpSe|B3dd_y|II|fa|En`V0vLH zNl(cBi_nI~E)^08mHdN}l9@F#5$y1Ts2-F{x!=8Uzen0(T9@OUQX@6plV8yl=(M}MvaPg>nkbZg+s_#4?9Gs zQOea|8v;wXcI_IMe}?JkE#-2{^y_kue{$CjAE4Y%HhTB&H($OOlNruE<>OLsv@YZ8 z&;zZw-tcJNS>4lOR~qAL`#ra|@EtU~>pN7s009!wEXFJ{agG%9Ti1a4)KNiCZ+Buc zn;Z--&gLBw=2ND8q>z~~WcnO^D)jTN%a)zK+%MV%^^wHnMR;*X8yJKKJo<~paLbxK zIrkavx2a=i^X-U@_Y*LAXan6o_P@UUI!#+g{?y8qDcQkjDs5$E&7GTtO>jMvj(X&I zBjKJnaj^KWmX(QrAPA58h)qVutH(12%?9a0CKCnq> z$U;miFKZNToDU=Vh9{Zbb&;oMJ0WmkEef|_3*-}34tZ5s6Y;YWcp|!hMnfOke$k*+ zuWw9*5b&0&^cu^#9Q6I&&J3$#3=_NL{bmyNk+&zBeuAR*Hw@Frqr9^`qudvb^m^Gl zma`h!Zkk)yz7EV$TSM*S7=&tEbI)&H<;4Ppk`~stbN(Zfj@UbY)|cbISJILM1p(RE zE@^3_CXhpVf}1u0UD_d|Kxc(u0A#(SPKq*p`zn3@r2EXjT$xdN`GZ>cM7^3J@fT;M za7A=RgL+SPRVQvKJJYvOC+qt4{vV2IzZe^IzhO;oR*}r4ii^kM)t5!gu{URA;V$Dp zxstiu1g=|N6qV(8Fh!}RY`N0x3R?@`{xYSuR+g5xtS@rK6iO7JLA(!C2aK7dBVw@A zq&yp_D^RfFBdFkL*LXjgu|k|;HQt11pSU4b!%6hT1Y19`yUwmt%Lb~$Fe*L&%uE0B z#S6;gOfoL7rhotOL$*b(HOFbjj8OpE8U#DsSa5p_3Q7XZkYGi5u|FUOxc8Px16_;8 zBD96W;<{|`{7jjG2k!)-J%r2MfUqB_HRx)>H=c0fND`xBwdXSuX|AoU!o}b2WzU~0 z2jd`TaICp7EnP}6gQnC+kX4B((ieFz#NR0U*VDg#f3?J3j%!X8@)E$8f}=Q@)q7Q) z*s>~_Z8zHSFai&%7I+R}4i~kK^}{<1F}__WYZVk^6!Z%u$Xfw8<3x`2QR|YCibo3C z$)0E+i)=3-CaJbhK?RD7W6V8nZR!YXCiBy8$gWEiq8bmXyaf9!DWYI{WZJ`@z-&hk z($Uu^iaE^Q>Mkc5ChXls9r5VW_)~C`U`hYNe!%c!s$lWgFEc!(FQoXO0WDTV%g6@$ ziqTj+7RWqEsxWsX*F{73oUVQAo}4?f<(sa3T>NHVEZ)GiRw@*Aut`<#-(RA(#tu-l z;SkaVnSDy@&0dw2LH|taJCaJ8Gw%yp2T(5+{oWzSV*}TV2~yX4!i?d?@^F9a({2Q{ zIX7qdocf+V`S7E+)s}zQ@En)$a#@SF?3vI5|6m$qT!>7at477>1eD0Sq-ohqoM|fyh zSi*)OD38nN*ZI;QG{hHAJNNU$(~svz%e05WTNQddUVwiPxChvFOIAm8yuO94xp`oEfJ}6;L>n|f??kmh( z+kaOkgeacgg!k?ytVx8c>{Tbz6l`)YVN=``!}p+pc%W z1(x0B&(5Z%9p$%YK>T_%MWwZ~uyx;Wy8hw%AY~@VZt4oUe|M07w+i#j8~)z`w!0`Y zI^h>noY#MVpd+=}M*ZN}cm)0x$0qj)j^e**&MgdvbFiwJqIX6kW92w0a_0$i$BTnM zO`EZ}CJ~NRDRfh=$8O*ODxzz>S5mAGn}2{ zy!I+J-Nh9wC1Q7Q?ceY?FHdEAdhY$bI}?aIV=d%Wd9l-|ra$JOpoi@(zN7w0%r5Ea z2ifdGKgP|u>f0j((T2+JbHx0iY3sI9^q!utEFBQ(hL>D)FwmevFvKrh!s<;*r&3dM z#!XoMOv76j5q#~<&jVHk;@4AHu(5B$&(zbW)faqwfb3pEBKv@{-O3pu`dtVL=!EFr|W=46h0Bsw=w{*3oZ&i2`Nq2pxQ~d_TZ>PWeL|mV-uRy|R5y-m+VCBtq#mnEN_dreNz zk7;}gA0Ux7R8j=Dvu}7iamEvFZIxu!mE7e=_ib;N=vGe>)8V2PB>OeL$*zLq4|55b zG{YWt@_>H7&o7CImwH{nY?zsG?OT%%lkdLSMWqU819|O=c}@!&%KC~d4?VkIG=#X= zBLzpuP!+jjGEh?Gv`Z6Fvmd*qd1atFLR;3kTxs%5p)#_OYtYH7)Kf@FNIZAW$h}bE z-P-7u6tLYoi2e8TFqihxte_xI5RhP z@@AJ5&*byLiYG}F?xoM9djr#WO!?uj{W%o3n2x=-x)${{F_+0L+{klv)*cKm0_LHwIzu|xtf^lUA z1>Lwc*MD@}il}F{9@^o~TIx(Y4m&Hc)Up4hu|73oa)gkbKEGKpXOY_}CFjJ_q_OIW zosS;f-gBO(P$H$xkm-><p^`{HL(TsEr$x#pN_4FW}8YH&8;QjORa>ZawgI!NlTHVRa$S^-w=UPCG z=Ouj^mq~Od8Xt6}ih?xfg$D5lJNBp;YE7Itw=(ucFImBFv^?&?#b#b@ohjkw&SqWH z_AgP9j=9qoM*m;sQvY*rwUcu15M`eyll^i(zoOad@j|HwVHa5uo--WHw*9-=b9B$6 z7W=uGD3E(LnmtV%V#Iby7cEcEKKFsDE-fiH%|A9va@;fjag*lF%ZhSvND)h*SJAoj z2=dBxe7cFYp0;+MT_?mZU8o+et&J$JuT#j|V)t~e=y=v}mb_Sc7jJYgE7Z<5Jaqh> zOU>5h^TRa9^5jst52Hs!hSzo&p1h$NdRi&?@*J%TQ|5gg~Z0n9loU4HZYnImxG5L*=)MCTh&mI_QsF&lj~-rZ#vVV8^ws% zQYM!F;E+~wBku;Sy{AD!*fHw0W=;AI0C-8c+KSANLSHE9eARb^D3^(!8lfjSmO@WH zAwl7*>)IXZJd3d2!_y+o#L(?z_y$OdXd_&EC5+9ryN|f9FqL#KaDC-q05F<%ryJfV zLB$k@?3(PX+#>4ftZ?z&l!atAD0HwgH?^<5c}`YjnYcTnN!;w4+hi?y2Gt25yQDA` zvu?bbyd!gd4|_~l--Ji#sKua+~NeKl?;D6kOG=o(0oFrGGI4O7%wM{$7_mn<_k-_f<|mHp*shb)HD~ zj-q(kS_gms77$|do|SGr*4b|;O0-aNqs`b23of~A@a*apk4qHdG6XjI*j7nV_LTme zX?|}Tclq52D=RraVf=z59eZ!K|8WTqO`k;Od!I5As7eHHoe&eEs84=iz4I|M zC9Rfp9O&ecuK(D)EBXYZRW0wxzug4D7oob?XE$R5S4*?&|538n} za^@CI-@c@OZE5PzKZ*;SqkgNzN(}T0NkupaFQnAf)kEJU)Gs0VZK4t^ER6fLlOcLOTwU!9rgY z(re)TO8>cXH~zFP|7}(?VnUu}#;;LK&1!GhMU~_|bE0cO=gz>A_l(&GYfFzz+^~Hk z^3%}qU8kxbRpbdDxNO$V_*cDNlWCYR;)On~ofCx_XKWJ(a^_~gyf^R(4F|}u(uO@M zciv4%6$CEr$)M#`wF>4Xk0he{m>=z^@Wu~t#%@-h`dQt6~efgBANvof=V>E;cA0s%=a6`3L&UwDXFK4=9hG-K~1_Kv=NtZ@LEa z9ZH>m3RCi^qmmSk92Ss1G%Z#-n`gXU~SPTJNB%h;7%uiOdaf3++!bnRy&UR7N!B%!m3XcLUL&b-&JwGK09lKa)OM-QpP zV~~w>ooCDJjMK0mm)z~kmCtEZ;OyvW9u`r4LB3w<1ib_jmNpGHco;6_(u#6s1XOtm zv)(v5!xMpq$mZKTWhQ$_Qk>eO>T>>GT=6@O5#$eZ>KJrmbFaXm1i?`&os zJzR4*vOaq0uEbLg(axMU-LxZ{xxfdmTkLb~_LP2B@ly6*b&WSG$5(4`-ohJa6Q}P1Ozv~4Hv6pSN#)C-2Ih*7XQ}F;BG4R=#dAw_ z&g`k^O9i;uCKg>5^&b<&8Aj)l;V!i+NBQ7yo#wM7)PTuu@)=h@Z$+McUUEF?eEIwg4#s~fP)cN(=1+f(N zePU)*U2Jo9`Oo(a`g*V5*Z@XOz1w?_?aM`LeYn|~SzC0TljrtV_l52=WF{a&VKT3b(YR>0QTi>#fmFX)`b)2xTj_q?zbbtr`1Rt>u(6!X zLRs^|vARU%{IFgVUI)_mwYK8vcdvI4|1zj+T*q>)7D!9Ez!}q~Mbc-A+`(2sT35_d z5G0q!$NPO7UeFwtKsVAHa_g0YNAwg9wt4cQ`}!iew|si=3JRb&)5o2C^8U1cJ+gh$fUJW_9&rO^njc#$Wg(xG5gt6oEVln6$HnQ747RFFT6glk zQTk)Y-9__a6P1qV+DeIvjZ{6Ze0e?e{V$`NzgBCP2F_l)Cg=Ot(z!pcJPthfX-?_K zIqwZ8TRpgaTTsw6PB$<-EZG#d#~x$T(=RY8?(2KFbR8JBrPq^V?l+pN#SKqSWiItK z$0e?=3}is9wzs$Qx0h>Q!{ofHsS%qt(=4YM!@4Ukpv$q!p<94vi!NSedw$gRbfqcO zQR7ya&0~6XPfkhC{Y~{c&B`iz`h&5Vp05uZO)Ly>a@OxjP1bPdR5}pTgPFXts6LGGhZxzru&d!)<5JKDj#_ z{Kji~mO?EpRbvzQw9S3f%?HD(Uyn9*>1970K(wNJJ*V3uX=a?e+}9gsU=aIio};sK zQ*Du1 zy8UKKv>Le)=<#IpCkkl@2#2)!50?KpI8AF{;k|p?B0Hr6aLeaZ8d0XlKU=`k)qU*x zbgFax{@Go^=VuZUe8|riW@L~4?cNzRrX%;MZ;7;+rWgHoa!dQc!**Wf&x+MP#~Jzb z9FUwFbjdX5$8P-yFq2QvcE_jPMJgg>q8e}T_aEIBfAd)}OdyrCl;9w}o|Wb15djYA zwR*L5r|83|kt3HQTC~$c z^MAa=;!JXK;i+yevmXum9&YmWi~}w-G`W%@k_=3LC0S+CQ<39R1yqo~Hg5P)x$*9A z?JWL{n>!@wQ8-j$bp-#cNw-ZS7ce1EO320Fq~yelFbt z^oOmihF)PCCFnx?;Azcg64OqygZqIt=)Qw-+h-aCLvKXPe)x{ zAR%IIkiPJe$L*f82`Q9U-omM3tiETAljk#PK7Jfo;W+ZmxuvTQwzjlb4S0M!Bf}TT z5*Tuv!OFNYDb2T;t>%>t3l?uO2)%Al3F1~Oz8OaY^h=fFDS+Gd-|vlmm4PUaaSZJo z?q}xxS}P-O)NA)|@q4ajo^~h~;*orvO-L3noS_hc&H^@h&^VtOh^ZA`?G8nEN+bV0 zlmPOLKvz$UcZb${F?}N`Ld-ZbLoyHYR2>R{VD5#Cx zw}4qBq;}b889Qt7&hDJvqWNj#Rh+&pjIU(JQ*B)d82)G_p8-^o=z)TggVXZ83cNXE zz2t1}rd8Vr!MJ072{&dMWvHyR+4~tVh4{;r+Yd&Bjd$_W8-uqftw-6D3+PVkkHFds z&ekvk)to@Zr#Jza$pLTfD&)k(a4BmN>WJ2`>%+ z)YJ5PlPl61C^%Iz!uCn(@`9l{N$5iH!+JP-t%Y|rTh1|ZvX8yJOxv?3Pa1iV>)W|; z=o3U?Z+-F}r8S&gD6+6ng=lMQ7s^mzk|%kp9x111iGA$E1ZJBePpT#?VpF6ULYIl3 zT_5wftmcrHH$_X8p2o;#M#x$oJd-@)ioMj9UAe-xW)=R zYLquL$5~a!>C?3p6-`&D<@Xbu#T9eRf3VfzSJK~ES)vJ^cFNy6D-ND7T>@=4XzB&8 zD$)A>F9_3BUH;(Xd<2)3evZrp<4mX>I|WtCf(JDl+VEvB9n&#b5JaJg`9M*JRETR3 z#BAM9r>B1dXBdz+PngpcNl4;TUJrvPe;)#6*5N)5@P2 zMTI|2dxP(EluX2r>gRkY@o08TL+^DSdn%WMn_{&4TK&Mz-&%h2rrkCaC|)X9M8mr< z;4xXd%j?j&msZ7>>BVW6DqlH&KB_Glii?~h1b=M2JiLh$CIt6=^mhNgFCMkX|AM^P zDQVdcusyMXMn+CsvnKP&Z&i=IETXkX@4WvG*zFNDU2K%T{tIp(wK(}Mf?=N|1TJi| zg#h3#`ZAzJ(`CjZ$ITg6!sDW+$a<67DVGQ93fBe^nGc9UKI0&U8b30{9D|A?##$-o zWyMkT#J6AKoX>>2ua+5Qn?OxREUNifvQ7YzcW8|qV63917DsOF!=*I;g2vlE=3;-A z!EaP3ys|!d!;m;!M`u*Dq|XVb&U;aLU9eqE5w)mOJ|1Or^f!{Hz3 zp*5VQ%xlML5a?<5gtg+R+v2d%p2>Zm;x)p~oPl9qrtA=oQ1aNZ+o3RovXYVwO`lvy zY2W?@6gg&(3yD}sy)1eS8mptFHLbW>_w)J>0Jt&pI+mid#jLWy@=lyRWx&D3KUgXj z@1=$X1B;ryYg0JV%QA~;xQs#`6z>JLjNWUkPt=!aE>Jj~@6F3SxGwL}r3O~vqLY1Q z^Qs0asa$h7<-EG|Zj3e3sP8X;T_|uQ&t&jhvz^Cui7*5q0$H5Jzmlgqv<-k?@G1 zJW$1f)pX-cICnO*( z^+#|4LCA$N50~!!c}0cc`0*Ed8*5HQy{Dr?23RX3K7G&!csw=;t{CW|ymQ+UU7W&f z+B^dYh=0M@Oe?kin+nX#?T3ti2zx$<-Gsnis$aM>_HbtH5br|3#ux-m7cTrl@a{NU z38gcbCR4J$VT6v_a}edF@cwDdMPVrTDTPM1riPt$a;s>POlUVOup6x$8pffVXI*_%uXL9R&_Fj$bFaD14(BgHP$ zU<)7?TgJxbst~q#ZYmFoUpU>UCHvMb!eBe{(l<3V)erJmld|rUd)ih9ty#fLyW~NV z4NprZgcu>k+_&!}Qx8&8jhU$pU5%jQ${vSFy-q91d^&gP!0Awf$ziXR^iE}-CqsmP zFUqA3yz+Y1KQU9+q|jqQe}#9qCimX_PbM~eP?vuiv7=s+{}g4L?wB6^Cy46V{r}+) zwdf4{Cr#UA&};g?Fjtc*h5sbEZrf_|?^nw7?({G8)po4d|Ktya4@@pAF9%BIC)3Z= z$W^Gg298ryOvrrn_o5owXTJE)XB#>HUq7nxTv0ZP532O$8j*)U3Rp(Bh9V7R1B`Hr6t0p^(>CQ$xcLg%}7pHXUU8 zqbE*`FL?jRkui&hSRm6m(|G(y)Mv0Lc@E#Cwiys7pl&V>bB1g{ns0TX-i{P~8) zM!dEA;^>FOUUmXNN^d7ze!$!hRQBoGfA6`%kohwpeIkwpqr)NISR1tk+PLk1 z&h6UOC!guF!3FP;*{t*T@9}OB9>1&hetu1`+~XdiI}rw_eLfPoYZp`D-sdJ^^@HrT zo2_VUyz$j_{}^3)efL7dY90@HEyB*(V+3Z~=%I*7jyF?x)g@r&z9M!5dNa2ceQm|L+ z+$QtmM~^N*E)X2Wn;jAoGG+Zmp)4$6%b#rL&-`z)HaBPDPER#qVnxrMj0#c-=D2sNmnKJsLA1$C zf)s;$iYOb}*N0LhZaN&d#=k4SoS9|vmP4np9f@M)<0=6e+u#zmXmdC-F%(@XGdQGT z`f`4ds46KUZUZiPTso5(<0km)Dw_YBccOnAc8cQe@}tLpc73 zO7sW7we?TW?Bl$q%*gJh{=0q6TczOK^j;iSJrwD=cgOV=-eMEE@L#%FDj7Nb6kT~B zFGfJ{36h^Svzw$nk_|$@fuUdha062S2pA|jB+k4*Y(dlkt81R25n~lNJ2`=|qCN`0 zQN-x_wtM~Nd-e0cD1}{FF<21%@I*wfIft1}6)U-D*|PQA7WDA2gPznzg5RIskrRik#E$rZFHEV(Qq%e#tluOZt3zKIV(K0V`LyiOqtSr>4eL zl#5b@*X#I_G9n0C_oz`fp!?f7@@c4)a%~9wqu8IDM6aTTKYj$&M$(Pp#oR^?EN_)& z;>_wk>a#^`>3lTIFtAl$5xw4yy?=wgkA_vuJDPa>xP>tpQ=>oj;j4HXS05cy3*ge; zQn1lAPpE`Zxdca16dIhfZyYTv%0;2ywS6PCAe(Yu5ssoI44s+cfadW{P&Zwa)*?$t zCIlra$4{L;ZRl0mL9qq}W>RXV@LfCT&wVa#&kiRVI)B}U4b+~7?1%?~LbFtqA*aR# zsxwB({I$)#ZPb>7&!g%2Qynx_@xjs~fs>5IY-Co`f3+?|-1=g7fmrL$o9+2uKNTjJ zc{s}U@9)S=U;`VH-Oybr25(s4Cj7ol-8?qjm8JmY8Ts*aDa{z^Bv5zkhpZWPW@@~v zzI95eLzfY`nsbTU&^U3o=Z%&VM~|8`t?=l9m<-BCt#tr`t{~7P^k{Z7XM&JHx^Ncs zqdGtYe32az#UvGxzFS~mR^=8NpGGrCc2{kQOTrOfQlduyE#(>=+hWfT;)z=iGp)%h zXM%8<9eNcvb&?f@Qgck2bRT{K9FI8_L2n<*8b0lzh{Z&a3|0XSKYzY5Qa=v=V{lM2 z`WTRwKbNG&kq9IH$I0G4gOCi)tRiFHd5DbsygcGkjvP6H0z0U6qg86|g#}iT2?G?f z0U>dqP>uVm}30#w&9+y*7Rh5vEVk3t4dOiYm zehwTc=QT0!UK+D+x{=3+6P%ZWe{qk6I1Vm?#}B4sK;6o?QzN54+$%r@O7aa{Bb*1) zL8zv<=4-u*;qhr_r9^`J%pgo0th1FAH|JEo*>sF4oO@JlkC1x_5)SyAX zc?o!QuQ#^GKQ3MefY+zbE^75QbY=NpOX{=s04I!Dj;l5%KqGzb`|WZwY;guL5#%~x2yalL(1^{09%b2zA| zs!EBl?|70zb9pMXp_Q?I)&vn*6m^vggm-iXZS@P#=^l!{GK>E%i*c=9on%cp&hXlw z7}LfbmaTVH)uy*bqNg0JLehkr+i2C1hAxX(R&IkF9M3|=7xe+q8+N2%pZ5s)OA>)y zkK+VXQ3-DQPJs{{h1=;u|Gztr$vmSxlWmg1?dSiL7LeAOR|CW2kf^ma0K1G)Jwodz zErKj@lXqyQ_+8ZA&Z0YbUme{Ya@&1x*CL5?J+wBR+=<2>vlx~DQ4>4?X)*_DW*!U8-)xj4`INOpO;KDR$UWkE+nr^5F4kI_zMs-wQH3{)T{2kGuxk?et+WFX z%%A5c_Z+_!(2tXSq_{}s)Y*pBk#Yak0{or!sYnxJT^x18<_W)mN~37ZEVXHegk*%s z>h5L4tOM*(PgKf;C(-&5<{oVCLjcd#`L9cTST`X9K{ogl-Jw7SbeI|k)bj& z0+tMBk z0IkfPWQP*E%#EZM5V%P*1!0WoP296){RsBlt=h%{_gGKFq>vp+#^VWp=Ea7Dbhj}8 z%S+Hlj{)`&EQu+MvnIT4FG-yh4`8Ndut%r{WBr_??}USI+qSN4iX4J4<52iL)hfTP zgBi-0d59!#LUU~f$;*#eWApRV^U2a^-1h~o`&QHAr;_j0)=7Psbj;7t6a%?rq^Mwi zX%4@!C!BS;#K0^KI$dVY&>pjE0mb6mI@yCv0!Lb-qpw%G3or=eeYx2{M9+ezlWL#V zp82_~0p7KRT@R1(6ha%_dqdQ$2!7o|T5S%94u3!(YAh|sqR~L#lfRJL&u-MH8iZdK zygPKsEJw%MnwsoRGZ4Cy5L#4FpiPha{Q2`2FAn{|Jf{y%&UH0TCszk`*XO4iBSuIC z7>vf1cFLvOzkWx5+CXvpWO8(cMQ1cShEcb|17CE+(`&i8aP9xV@_RFe;0b~pXjnJF zY8X^3W&uU`O7F}R;(Ok%?gLM{9fP6S7@S{<(er%Ja^j)A47pVcOUPqU>dtAPy?&ky4FsdD^yVK`gOUHF%QzVo(LOU|hrNTe5ilMW7CA@WYt{&v z<~HSQE41I#BB&VrY70$2EW3K`T8Y1hu=CAN`CIY2_qGl=(7mV=Oa!I#8!<)RGy;)Q z=KkF@niphd&A53~HtlDf$K}7BU*S~Ah3?no+E`&7HYl1M?Uc^0 zt8`eJa#vS7nlR)aU?>dLLCg&eSEC~#{FOq7%CMffu5=%0eS@Q@T9mAX z>)P~g`!MxeZ`m$+i-3kP4XOoG%e}a{@g|VC@Y$PoNypvaJcW_&_)i5(NdUyH`G~)t z+KDc@-+)+wFDfqf0nrpr3;@9{J*_V9-S|)C{Kj#O-k~m&UvOaWwk#w(cH;Gw3n9na7ntw^$V~@pUZrdSjz^_ zpVf!Tc&26f9N)|NmCp@O(<2S4rtl>Zv7F2)#BR&?iJLesTBMZHjTqOW3b&5#9zZ0( zy^~L+5k~KPty$Lz`JATCxyTMHOIgIVVZYxW*?7^<$wZBeS&@dr7xWdr1={0zTbzhcFEw-@ZS8zrR?H(`$nzp|8RA zdQ9S!MK7IccZIhn!ho0T*5oOeo-%iI7`lgMwsj%1x7b)yT=?ykCoXH3;04Vs1#qYh z5saLxtOjU~88f>n!R_3=%W73o~Kh`!50pLr>qM>)pT~v6w%jp6O4|$ zK5D`Em9nYZI(D$tA3C=b8QN89P~`IfmB5t*8bX#1ke6q0402Ku_qHuAXLq89lor9= z0a(`=BbdW!vL2f?)*f~s>|dwc9M3N>B{r>cV{k3L@04ykiRd^qm@+FvhJw0D%E}!kB8*Rb9MJ>rG zz=snv1_{dfW7GY)05A=RUWo07a}94EAg1uIpFR~nfh-9~Vd6hOuU!a)P+eVpVp=@E zenwLPmFKqL;5k5`95x_4!jb_C!+}n>Yq9z=i-D{~&Z5JZ;?JIaLCHZ#_tZH3I)LCk z#~V1HS&Dc`crPA3c+gU_dpei>tFcaxnOuCN5Kx@pvQ-k`)YHSm|NY~^R0TXa^${b& zPQas7aLCL~aR#n^^ap>?!UYRRCjCv%yR-i&k?$#Xb&y{v5yR$MN~Rl!wf#6z-}@BG zc=9Q=MV3?%h4-tPt_Sw;(xs#U!Q=km>RQ zUe`63H}O^I1d9jDb4DLm3){Jq$@0V6FBPNgz6Q0mVnsbD8vlb~B>W(3Ug+tWnvhU* zdGAXaB+#y|?F^jO+@nUybWzca`f3#O;e>AQ*zqVoA3ex{8#jWu0z{1ODk~K(#!8xh zJcON_ImyNC4ePE0G*g@~A_zG{KRG#r+L!y03zYPMoocC(9+9$>BRu`RMsmW*t&TV% zZHR)1h?qKk`bK=ebjW-%OA`hV#Abl6%6p<$_{q*@`9n}Q@1AZnid08_SVosF?ep$T z+8{$S3l|$v`hoH@0z;@afH{%9Tp9BYLla!0nV6J>hW~_l>}grYP}vkwdXPrXH#cV3 z2}Pk(_#SX0C}$}t5Z8F(Oo)ROf)7~tWOJE5KMDJ5XeglRf+3A|k&zT|E&TA*$RY%v za4QH0WZb|U++Vwmau#o-K9Q4^_11W`XJ)s`_R5i`_w12zz5~&pJF);8t*oNLx$z}fN^0q-H#i(TnxX9r7n z42#C88Z5X(6JqBtubpY*aW^lXa3)UiE>RBinIwYy?=VIhH>&h>Wq z_!Bm$8ynAWe176f?^9)=8$s*RH>$?Mxc}{s>Mv2Bv6w@XWEF!OKRy2mO1$Nx4|6Uf z8-t@ND=W93^9&05gJ5y&Hz35OpFdNRlih23_KbNGxqOjLUukKxnZ?#$C@SgBV!BO3 zY=*kRlJ@3_T^LmEn^#W3QRIdcb^T9Oo%V#=4C-?KYe~jqVaR>kcj{OW&3<{N^{;9e z6F=?ejIFWDq9z^cE#k>W4mEx}<0bRD>p4((q3p!Jvo;XfcwM(;t^v{ZJwD&f#Bozv zy6?^YwLU&E_WpMDqP#z=+gjHYdF?|iF_FNNpX>SJEx&$Y2?@(j;Gt3(9vcBaWYyjx z_{;JI6BzJmjKfYzVomO6`6bf5kJDv)-IKAPWV(C@)1gz2vWMN|DEB)|#%%tfaV4}L z3JMG-6WWi!r$8|XVRz)454R=TTgBz!g9jc6?d?XYec&rH!;c@}#e^M<%0AHpM{3G~ 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 p{u5)}QhZyAZ~xcvZIDZ%$e#GRW7mxpC literal 0 HcmV?d00001 diff --git a/8.0/manual/files/screenshots/start-mobile-8.png b/8.0/manual/files/screenshots/start-mobile-8.png new file mode 100644 index 0000000000000000000000000000000000000000..1161054a3d68163ebcb7e1a77b8b641d970a3815 GIT binary patch literal 70206 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

    X?)!g>)xCCm6NzI7b%A5KN+ipUD- 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

    V`uHF_Y=-3?iGZeWu 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 literal 0 HcmV?d00001 diff --git a/8.0/manual/files/tutorial/chapter1/README b/8.0/manual/files/tutorial/chapter1/README new file mode 100644 index 00000000..37d111c1 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/README @@ -0,0 +1 @@ +This code isn't maintened anymore and might not work. Please go to https://github.com/ocsigen/graffiti/simple for the latest working versions. diff --git a/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/Makefile b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/Makefile new file mode 100644 index 00000000..70b892db --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/Makefile @@ -0,0 +1,242 @@ + +##---------------------------------------------------------------------- +## DISCLAIMER +## +## This file contains the rules to make an Eliom project. The project is +## configured through the variables in the file Makefile.options. +##---------------------------------------------------------------------- + +include Makefile.options + +##---------------------------------------------------------------------- +## Internals + +## Required binaries +ELIOMC := eliomc +ELIOMOPT := eliomopt +JS_OF_ELIOM := js_of_eliom +ELIOMDEP := eliomdep +OCSIGENSERVER := ocsigenserver +OCSIGENSERVER.OPT := ocsigenserver.opt + +## Where to put intermediate object files. +## - ELIOM_{SERVER,CLIENT}_DIR must be distinct +## - ELIOM_CLIENT_DIR must not be the local dir. +## - ELIOM_SERVER_DIR could be ".", but you need to +## remove it from the "clean" rules... +export ELIOM_SERVER_DIR := _server +export ELIOM_CLIENT_DIR := _client +export ELIOM_TYPE_DIR := _server +DEPSDIR := _deps + +ifeq ($(DEBUG),yes) + GENERATE_DEBUG ?= -g + RUN_DEBUG ?= "-v" + DEBUG_JS ?= -jsopt -pretty -jsopt -noinline -jsopt -debuginfo +endif + +##---------------------------------------------------------------------- +## General + +.PHONY: all byte opt +all: byte opt +byte opt:: $(TEST_PREFIX)$(ELIOMSTATICDIR)/${PROJECT_NAME}.js +byte opt:: $(TEST_PREFIX)$(ETCDIR)/$(PROJECT_NAME).conf +byte opt:: $(TEST_PREFIX)$(ETCDIR)/$(PROJECT_NAME)-test.conf +byte:: $(TEST_PREFIX)$(LIBDIR)/${PROJECT_NAME}.cma +opt:: $(TEST_PREFIX)$(LIBDIR)/${PROJECT_NAME}.cmxs + +DIST_DIRS = $(ETCDIR) $(DATADIR) $(LIBDIR) $(LOGDIR) $(STATICDIR) $(ELIOMSTATICDIR) $(shell dirname $(CMDPIPE)) + +##---------------------------------------------------------------------- +## Testing + +DIST_FILES = $(ELIOMSTATICDIR)/$(PROJECT_NAME).js $(LIBDIR)/$(PROJECT_NAME).cma + +.PHONY: test.byte test.opt +test.byte: $(addprefix $(TEST_PREFIX),$(ETCDIR)/$(PROJECT_NAME)-test.conf $(DIST_DIRS) $(DIST_FILES)) + $(OCSIGENSERVER) $(RUN_DEBUG) -c $< +test.opt: $(addprefix $(TEST_PREFIX),$(ETCDIR)/$(PROJECT_NAME)-test.conf $(DIST_DIRS) $(patsubst %.cma,%.cmxs, $(DIST_FILES))) + $(OCSIGENSERVER.OPT) $(RUN_DEBUG) -c $< + +$(addprefix $(TEST_PREFIX), $(DIST_DIRS)): + mkdir -p $@ + +##---------------------------------------------------------------------- +## Installing & Running + +.PHONY: install install.byte install.byte install.opt install.static install.etc install.lib install.lib.byte install.lib.opt run.byte run.opt +install: install.byte install.opt +install.byte: install.lib.byte install.etc install.static | $(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(shell dirname $(CMDPIPE))) +install.opt: install.lib.opt install.etc install.static | $(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(shell dirname $(CMDPIPE))) +install.lib: install.lib.byte install.lib.opt +install.lib.byte: $(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cma | $(PREFIX)$(LIBDIR) + install $< $(PREFIX)$(LIBDIR) +install.lib.opt: $(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cmxs | $(PREFIX)$(LIBDIR) + install $< $(PREFIX)$(LIBDIR) +install.static: $(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME).js | $(PREFIX)$(STATICDIR) $(PREFIX)$(ELIOMSTATICDIR) + cp -r $(LOCAL_STATIC)/* $(PREFIX)$(STATICDIR) + [ -z $(WWWUSER) ] || chown -R $(WWWUSER) $(PREFIX)$(STATICDIR) + install $(addprefix -o ,$(WWWUSER)) $< $(PREFIX)$(ELIOMSTATICDIR) +install.etc: $(TEST_PREFIX)$(ETCDIR)/$(PROJECT_NAME).conf | $(PREFIX)$(ETCDIR) + install $< $(PREFIX)$(ETCDIR)/$(PROJECT_NAME).conf + +.PHONY: +print-install-files: + @echo $(PREFIX)$(LIBDIR) + @echo $(PREFIX)$(STATICDIR) + @echo $(PREFIX)$(ELIOMSTATICDIR) + @echo $(PREFIX)$(ETCDIR) + +$(addprefix $(PREFIX),$(ETCDIR) $(LIBDIR)): + install -d $@ +$(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(STATICDIR) $(ELIOMSTATICDIR) $(shell dirname $(CMDPIPE))): + install $(addprefix -o ,$(WWWUSER)) -d $@ + +run.byte: + $(OCSIGENSERVER) $(RUN_DEBUG) -c ${PREFIX}${ETCDIR}/${PROJECT_NAME}.conf +run.opt: + $(OCSIGENSERVER.OPT) $(RUN_DEBUG) -c ${PREFIX}${ETCDIR}/${PROJECT_NAME}.conf + +##---------------------------------------------------------------------- +## Aux + +# Use `eliomdep -sort' only in OCaml>4 +ifeq ($(shell ocamlc -version|cut -c1),4) +eliomdep=$(shell $(ELIOMDEP) $(1) -sort $(2) $(filter %.eliom %.ml,$(3)))) +else +eliomdep=$(3) +endif +objs=$(patsubst %.ml,$(1)/%.$(2),$(patsubst %.eliom,$(1)/%.$(2),$(filter %.eliom %.ml,$(3)))) +depsort=$(call objs,$(1),$(2),$(call eliomdep,$(3),$(4),$(5))) + +##---------------------------------------------------------------------- +## Config files + +FINDLIB_PACKAGES=$(patsubst %,\,$(SERVER_PACKAGES)) +EDIT_WARNING=DON\'T EDIT THIS FILE! It is generated from $(PROJECT_NAME).conf.in, edit that one, or the variables in Makefile.options +SED_ARGS := -e "/^ *%%%/d" +SED_ARGS += -e "s|%%PROJECT_NAME%%|$(PROJECT_NAME)|g" +SED_ARGS += -e "s|%%DATABASE_NAME%%|$(DATABASE_NAME)|g" +SED_ARGS += -e "s|%%DATABASE_USER%%|$(DATABASE_USER)|g" +SED_ARGS += -e "s|%%CMDPIPE%%|%%PREFIX%%$(CMDPIPE)|g" +SED_ARGS += -e "s|%%LOGDIR%%|%%PREFIX%%$(LOGDIR)|g" +SED_ARGS += -e "s|%%DATADIR%%|%%PREFIX%%$(DATADIR)|g" +SED_ARGS += -e "s|%%LIBDIR%%|%%PREFIX%%$(LIBDIR)|g" +SED_ARGS += -e "s|%%WARNING%%|$(EDIT_WARNING)|g" +SED_ARGS += -e "s|%%PACKAGES%%|$(FINDLIB_PACKAGES)|g" +SED_ARGS += -e "s|%%ELIOMSTATICDIR%%|%%PREFIX%%$(ELIOMSTATICDIR)|g" +ifeq ($(DEBUG),yes) + SED_ARGS += -e "s|%%DEBUGMODE%%|\|g" +else + SED_ARGS += -e "s|%%DEBUGMODE%%||g" +endif + +LOCAL_SED_ARGS := -e "s|%%PORT%%|$(TEST_PORT)|g" +LOCAL_SED_ARGS += -e "s|%%STATICDIR%%|$(LOCAL_STATIC)|g" +LOCAL_SED_ARGS += -e "s|%%USERGROUP%%||g" +GLOBAL_SED_ARGS := -e "s|%%PORT%%|$(PORT)|g" +GLOBAL_SED_ARGS += -e "s|%%STATICDIR%%|%%PREFIX%%$(STATICDIR)|g" +ifeq ($(WWWUSER)$(WWWGROUP),) + GLOBAL_SED_ARGS += -e "s|%%USERGROUP%%||g" +else + GLOBAL_SED_ARGS += -e "s|%%USERGROUP%%|$(WWWUSER)$(WWWGROUP)|g" +endif + +$(TEST_PREFIX)${ETCDIR}/${PROJECT_NAME}.conf: ${PROJECT_NAME}.conf.in Makefile.options | $(TEST_PREFIX)$(ETCDIR) + sed $(SED_ARGS) $(GLOBAL_SED_ARGS) $< | sed -e "s|%%PREFIX%%|$(PREFIX)|g" > $@ +$(TEST_PREFIX)${ETCDIR}/${PROJECT_NAME}-test.conf: ${PROJECT_NAME}.conf.in Makefile.options | $(TEST_PREFIX)$(ETCDIR) + sed $(SED_ARGS) $(LOCAL_SED_ARGS) $< | sed -e "s|%%PREFIX%%|$(TEST_PREFIX)|g" > $@ + +##---------------------------------------------------------------------- +## Server side compilation + +SERVER_INC := ${addprefix -package ,${SERVER_PACKAGES}} + +${ELIOM_TYPE_DIR}/%.type_mli: %.eliom + ${ELIOMC} -infer ${SERVER_INC} $< + +$(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cma: $(call objs,$(ELIOM_SERVER_DIR),cmo,$(SERVER_FILES)) | $(TEST_PREFIX)$(LIBDIR) + ${ELIOMC} -a -o $@ $(GENERATE_DEBUG) \ + $(call depsort,$(ELIOM_SERVER_DIR),cmo,-server,$(SERVER_INC),$(SERVER_FILES)) + +$(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cmxa: $(call objs,$(ELIOM_SERVER_DIR),cmx,$(SERVER_FILES)) | $(TEST_PREFIX)$(LIBDIR) + ${ELIOMOPT} -a -o $@ $(GENERATE_DEBUG) \ + $(call depsort,$(ELIOM_SERVER_DIR),cmx,-server,$(SERVER_INC),$(SERVER_FILES)) + +%.cmxs: %.cmxa + $(ELIOMOPT) -shared -linkall -o $@ $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmi: %.mli + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmi: %.eliomi + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmo: %.ml + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< +${ELIOM_SERVER_DIR}/%.cmo: %.eliom + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmx: %.ml + ${ELIOMOPT} -c ${SERVER_INC} $(GENERATE_DEBUG) $< +${ELIOM_SERVER_DIR}/%.cmx: %.eliom + ${ELIOMOPT} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + + +##---------------------------------------------------------------------- +## Client side compilation + +CLIENT_LIBS := ${addprefix -package ,${CLIENT_PACKAGES}} +CLIENT_INC := ${addprefix -package ,${CLIENT_PACKAGES}} + +CLIENT_OBJS := $(filter %.eliom %.ml, $(CLIENT_FILES)) +CLIENT_OBJS := $(patsubst %.eliom,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_OBJS}) +CLIENT_OBJS := $(patsubst %.ml,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_OBJS}) + +$(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME).js: $(call objs,$(ELIOM_CLIENT_DIR),cmo,$(CLIENT_FILES)) | $(TEST_PREFIX)$(ELIOMSTATICDIR) + ${JS_OF_ELIOM} -o $@ $(GENERATE_DEBUG) $(CLIENT_INC) $(DEBUG_JS) \ + $(call depsort,$(ELIOM_CLIENT_DIR),cmo,-client,$(CLIENT_INC),$(CLIENT_FILES)) + +$(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME)_oclosure.js: $(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME).js + oclosure_req $< + +${ELIOM_CLIENT_DIR}/%.cmi: %.mli + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +${ELIOM_CLIENT_DIR}/%.cmo: %.eliom + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< +${ELIOM_CLIENT_DIR}/%.cmo: %.ml + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +${ELIOM_CLIENT_DIR}/%.cmi: %.eliomi + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +##---------------------------------------------------------------------- +## Dependencies + +include .depend + +.depend: $(patsubst %,$(DEPSDIR)/%.server,$(SERVER_FILES)) $(patsubst %,$(DEPSDIR)/%.client,$(CLIENT_FILES)) + cat $^ > $@ + +$(DEPSDIR)/%.server: % | $(DEPSDIR) + $(ELIOMDEP) -server $(SERVER_INC) $< > $@ + +$(DEPSDIR)/%.client: % | $(DEPSDIR) + $(ELIOMDEP) -client $(CLIENT_INC) $< > $@ + +$(DEPSDIR): + mkdir $@ + +##---------------------------------------------------------------------- +## Clean up + +clean: + -rm -f *.cm[ioax] *.cmxa *.cmxs *.o *.a *.annot + -rm -f *.type_mli + -rm -f ${PROJECT_NAME}.js + -rm -rf ${ELIOM_CLIENT_DIR} ${ELIOM_SERVER_DIR} + +distclean: clean + -rm -rf $(TEST_PREFIX) $(DEPSDIR) .depend diff --git a/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/Makefile.options b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/Makefile.options new file mode 100644 index 00000000..a001a7ba --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/Makefile.options @@ -0,0 +1,57 @@ + +##---------------------------------------------------------------------- +## SETTINGS FOR THE ELIOM PROJECT graffiti +##---------------------------------------------------------------------- + +PROJECT_NAME := graffiti + +## Do not forget `make depend' after adding a file! +## Source files for the server +SERVER_FILES := $(wildcard *.eliomi *.eliom) +## Source files for the client +CLIENT_FILES := $(wildcard *.eliomi *.eliom) + +## OCamlfind packages for the server +SERVER_PACKAGES := deriving.syntax cairo +## OCamlfind packages for the client +CLIENT_PACKAGES := deriving.syntax ojwidgets + +## Directory with files to be statically served +LOCAL_STATIC = static + +## Debug application (yes/no): Debugging info in compilation, +## JavaScript, ocsigenserver +DEBUG := no + +## User to run server with (make run.*) +WWWUSER := www-data +WWWGROUP := www-data + +## Port for running the server (make run.*) +PORT := 80 + +## Port for testing (make test.*) +TEST_PORT := 8080 + +## Root of installation (must end with /) +PREFIX := / + +## Local folder for make test.* (must end with /) +TEST_PREFIX := local/ + +## The installation tree (relative to $(PREFIX) when installing/runnin +## or $(TEST_PREFIX) when testing). +# Configuration file $(PROJECT_NAME).conf +ETCDIR := etc/${PROJECT_NAME} +# Project's library $(PROJECT_NAME).cma (cmxs) +LIBDIR := var/lib/${PROJECT_NAME} +# Command pipe, eg. $ echo restart > $(INSTALL_PREFIX)$(CMDPIPE) +CMDPIPE := var/run/${PROJECT_NAME}-cmd +# Ocsigenserver's logging files +LOGDIR := var/log/${PROJECT_NAME} +# Ocsigenserver's persistent data files +DATADIR := var/data/${PROJECT_NAME} +# Copy of $(LOCAL_STATIC) +STATICDIR := var/www/${PROJECT_NAME}/static +# Project's JavaScript file +ELIOMSTATICDIR := var/www/${PROJECT_NAME}/eliom diff --git a/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/README b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/README new file mode 100644 index 00000000..d2f190e5 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/README @@ -0,0 +1,59 @@ + +This project is (initially) generated by eliom-distillery as the basic +project "graffiti". + +It contains the following files: + + - graffiti.eliom + This is your initial source file. + All Eliom files (*.eliom, *.eliomi) in this directory are + automatically considered. To add a .ml/.mli file to your project, + add it to the variable SERVER_FILES or CLIENT_FILES. + + - static/ + The content of this folder is statically served. It contains + initially a basic CSS file for your project. + + - Makefile.options + Configure your project here! + + - graffiti.conf.in + This file is a template for the configuration file for + ocsigenserver. You will rarely have to edit itself - it takes its + variables from the Makefile.options. This way, the installation + rules and the configuration files are synchronized with respect to + the different folders. + + - Makefile + This contains all rules necessary to build, test, and run your + Eliom application. You better don't touch it ;) See below for the + relevant targets. + + - README + Not completely desribable here. + + +Here's some help on how to work with this basic distillery project: + + - Compile it + $ make all (or byte/opt) + + - Test your application by running ocsigenserver locally + $ make test.byte (or test.opt) + + - Install it + $ sudo make install (or install.byte/install.opt) + + - Run the server on the installation + $ sudo make run.byte (or run.opt) + If the user to run ocsigenserver is yourself, you don't need the + `sudo'. If Ocsigen isn't installed in a global position, however, + you may need to re-export some environment variables to make this + work: + $ sudo PATH=$PATH OCAMLPATH=$OCAMLPATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH make run.byte/run.opt + + - If you need a findlib package in your project, add it to the + variables SERVER_PACKAGES and/or CLIENT_PACKAGES. + + - The directory static/ will be statically served. Put your CSS and + additional JavaScript files here! diff --git a/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/graffiti.conf.in b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/graffiti.conf.in new file mode 100644 index 00000000..82244ac9 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/graffiti.conf.in @@ -0,0 +1,28 @@ +%%% This is the template for your configuration file. The %%VALUES%% below are +%%% taken from the Makefile to generate the actual configuration files. +%%% This comment will disappear. + + + + %%PORT%% + %%% Only set for running, not for testing + %%USERGROUP%% + %%LOGDIR%% + %%DATADIR%% + utf-8 + %%% Only set when debugging + %%DEBUGMODE%% + %%CMDPIPE%% + + + + %%% This will include the packages defined as SERVER_PACKAGES in your Makefile: + %%PACKAGES%% + + + + + + + + diff --git a/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/graffiti.eliom b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/graffiti.eliom new file mode 100644 index 00000000..54d2e3ff --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/graffiti.eliom @@ -0,0 +1,146 @@ +{shared{ + open Eliom_lib.Lwt_ops + open Eliom_content.Html5.D + + let width = 700 + let height = 400 + + type messages = ((int * int * int) * int * (int * int) * (int * int)) + deriving (Json) +}} + +module My_app = + Eliom_registration.App ( + struct + let application_name = "graffiti" + end) + +let bus = Eliom_bus.create Json.t + +let canvas_elt = + canvas ~a:[a_width width; a_height height] + [pcdata "your browser doesn't support canvas"] + +let slider = int_input ~a:[a_id "slider"] ~input_type:`Range () + +let page = + html + (Eliom_tools.F.head ~title:"Graffiti" + ~css:[["css";"graffiti.css"]] + ~js:[] ()) + (body [h1 [pcdata "Graffiti"]; canvas_elt; div [slider]]) + + +let draw_server, image_string = + let rgb_floats_from_ints (r, g, b) = + float r /. 255., float g /. 255., float b /. 255. in + let surface = + Cairo.image_surface_create Cairo.FORMAT_ARGB32 ~width ~height + in + let ctx = Cairo.create surface in + ((fun (rgb, size, (x1, y1), (x2, y2)) -> + + (* Set thickness of brush *) + Cairo.set_line_width ctx (float size) ; + Cairo.set_line_join ctx Cairo.LINE_JOIN_ROUND ; + Cairo.set_line_cap ctx Cairo.LINE_CAP_ROUND ; + let red, green, blue = rgb_floats_from_ints rgb in + Cairo.set_source_rgb ctx ~red ~green ~blue ; + + Cairo.move_to ctx (float x1) (float y1) ; + Cairo.line_to ctx (float x2) (float y2) ; + Cairo.close_path ctx ; + + (* Apply the ink *) + Cairo.stroke ctx ; + ), + (fun () -> + let b = Buffer.create 10000 in + (* Output a PNG in a string *) + Cairo_png.surface_write_to_stream surface (Buffer.add_string b); + Buffer.contents b + )) + +let imageservice = + Eliom_registration.String.register_service + ~path:["image"] + ~get_params:Eliom_parameter.unit + (fun () () -> Lwt.return (image_string (), "image/png")) + +{client{ + + let draw ctx ((r, g, b), size, (x1, y1), (x2, y2)) = + let color = CSS.Color.string_of_t (CSS.Color.rgb r g b) in + ctx##strokeStyle <- (Js.string color); + ctx##lineWidth <- float size; + ctx##beginPath(); + ctx##moveTo(float x1, float y1); + ctx##lineTo(float x2, float y2); + ctx##stroke() + + let init_client () = + + let canvas = Eliom_content.Html5.To_dom.of_canvas %canvas_elt in + + let ctx = canvas##getContext (Dom_html._2d_) in + ctx##lineCap <- Js.string "round"; + + (* The initial image: *) + let img = + Eliom_content.Html5.To_dom.of_img + (img ~alt:"canvas" + ~src:(make_uri ~service:%imageservice ()) + ()) + in + img##onload <- Dom_html.handler + (fun ev -> ctx##drawImage(img, 0., 0.); Js._false); + + (* Color of the brush *) + let colorpicker = Ojw_color_picker.create ~width:150 () in + Ojw_color_picker.append_at (Dom_html.document##body) colorpicker; + Ojw_color_picker.init_handler colorpicker; + + let x = ref 0 and y = ref 0 in + + let set_coord ev = + let x0, y0 = Dom_html.elementClientPosition canvas in + x := ev##clientX - x0; y := ev##clientY - y0 + in + + let compute_line ev = + let oldx = !x and oldy = !y in + set_coord ev; + let color = Ojw_color_picker.get_rgb colorpicker in + let size_slider = Eliom_content.Html5.To_dom.of_input %slider in + let size = int_of_string (Js.to_string size_slider##value) in + (color, size, (oldx, oldy), (!x, !y)) + in + + let line ev = + let v = compute_line ev in + let _ = Eliom_bus.write %bus v in + draw ctx v; + Lwt.return () in + + Lwt.async + (fun () -> + let open Lwt_js_events in + mousedowns canvas + (fun ev _ -> + set_coord ev; line ev >>= fun () -> + Lwt.pick [mousemoves Dom_html.document (fun x _ -> line x); + mouseup Dom_html.document >>= line])); + + Lwt.async (fun () -> Lwt_stream.iter (draw ctx) (Eliom_bus.stream %bus)); + + +}} + +let _ = Lwt_stream.iter draw_server (Eliom_bus.stream bus) + +let main_service = + My_app.register_service ~path:[""] ~get_params:Eliom_parameter.unit + (fun () () -> + (* Cf. the box "Client side side-effects on the server" *) + ignore {unit{ init_client () }}; + Lwt.return page) diff --git a/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/update-symlinks.sh b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/update-symlinks.sh new file mode 100755 index 00000000..f49ae5cf --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-no-oclosure/update-symlinks.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +ln -s ../../static . + diff --git a/8.0/manual/files/tutorial/chapter1/distillery-oclosure/Makefile b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/Makefile new file mode 100644 index 00000000..70b892db --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/Makefile @@ -0,0 +1,242 @@ + +##---------------------------------------------------------------------- +## DISCLAIMER +## +## This file contains the rules to make an Eliom project. The project is +## configured through the variables in the file Makefile.options. +##---------------------------------------------------------------------- + +include Makefile.options + +##---------------------------------------------------------------------- +## Internals + +## Required binaries +ELIOMC := eliomc +ELIOMOPT := eliomopt +JS_OF_ELIOM := js_of_eliom +ELIOMDEP := eliomdep +OCSIGENSERVER := ocsigenserver +OCSIGENSERVER.OPT := ocsigenserver.opt + +## Where to put intermediate object files. +## - ELIOM_{SERVER,CLIENT}_DIR must be distinct +## - ELIOM_CLIENT_DIR must not be the local dir. +## - ELIOM_SERVER_DIR could be ".", but you need to +## remove it from the "clean" rules... +export ELIOM_SERVER_DIR := _server +export ELIOM_CLIENT_DIR := _client +export ELIOM_TYPE_DIR := _server +DEPSDIR := _deps + +ifeq ($(DEBUG),yes) + GENERATE_DEBUG ?= -g + RUN_DEBUG ?= "-v" + DEBUG_JS ?= -jsopt -pretty -jsopt -noinline -jsopt -debuginfo +endif + +##---------------------------------------------------------------------- +## General + +.PHONY: all byte opt +all: byte opt +byte opt:: $(TEST_PREFIX)$(ELIOMSTATICDIR)/${PROJECT_NAME}.js +byte opt:: $(TEST_PREFIX)$(ETCDIR)/$(PROJECT_NAME).conf +byte opt:: $(TEST_PREFIX)$(ETCDIR)/$(PROJECT_NAME)-test.conf +byte:: $(TEST_PREFIX)$(LIBDIR)/${PROJECT_NAME}.cma +opt:: $(TEST_PREFIX)$(LIBDIR)/${PROJECT_NAME}.cmxs + +DIST_DIRS = $(ETCDIR) $(DATADIR) $(LIBDIR) $(LOGDIR) $(STATICDIR) $(ELIOMSTATICDIR) $(shell dirname $(CMDPIPE)) + +##---------------------------------------------------------------------- +## Testing + +DIST_FILES = $(ELIOMSTATICDIR)/$(PROJECT_NAME).js $(LIBDIR)/$(PROJECT_NAME).cma + +.PHONY: test.byte test.opt +test.byte: $(addprefix $(TEST_PREFIX),$(ETCDIR)/$(PROJECT_NAME)-test.conf $(DIST_DIRS) $(DIST_FILES)) + $(OCSIGENSERVER) $(RUN_DEBUG) -c $< +test.opt: $(addprefix $(TEST_PREFIX),$(ETCDIR)/$(PROJECT_NAME)-test.conf $(DIST_DIRS) $(patsubst %.cma,%.cmxs, $(DIST_FILES))) + $(OCSIGENSERVER.OPT) $(RUN_DEBUG) -c $< + +$(addprefix $(TEST_PREFIX), $(DIST_DIRS)): + mkdir -p $@ + +##---------------------------------------------------------------------- +## Installing & Running + +.PHONY: install install.byte install.byte install.opt install.static install.etc install.lib install.lib.byte install.lib.opt run.byte run.opt +install: install.byte install.opt +install.byte: install.lib.byte install.etc install.static | $(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(shell dirname $(CMDPIPE))) +install.opt: install.lib.opt install.etc install.static | $(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(shell dirname $(CMDPIPE))) +install.lib: install.lib.byte install.lib.opt +install.lib.byte: $(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cma | $(PREFIX)$(LIBDIR) + install $< $(PREFIX)$(LIBDIR) +install.lib.opt: $(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cmxs | $(PREFIX)$(LIBDIR) + install $< $(PREFIX)$(LIBDIR) +install.static: $(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME).js | $(PREFIX)$(STATICDIR) $(PREFIX)$(ELIOMSTATICDIR) + cp -r $(LOCAL_STATIC)/* $(PREFIX)$(STATICDIR) + [ -z $(WWWUSER) ] || chown -R $(WWWUSER) $(PREFIX)$(STATICDIR) + install $(addprefix -o ,$(WWWUSER)) $< $(PREFIX)$(ELIOMSTATICDIR) +install.etc: $(TEST_PREFIX)$(ETCDIR)/$(PROJECT_NAME).conf | $(PREFIX)$(ETCDIR) + install $< $(PREFIX)$(ETCDIR)/$(PROJECT_NAME).conf + +.PHONY: +print-install-files: + @echo $(PREFIX)$(LIBDIR) + @echo $(PREFIX)$(STATICDIR) + @echo $(PREFIX)$(ELIOMSTATICDIR) + @echo $(PREFIX)$(ETCDIR) + +$(addprefix $(PREFIX),$(ETCDIR) $(LIBDIR)): + install -d $@ +$(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(STATICDIR) $(ELIOMSTATICDIR) $(shell dirname $(CMDPIPE))): + install $(addprefix -o ,$(WWWUSER)) -d $@ + +run.byte: + $(OCSIGENSERVER) $(RUN_DEBUG) -c ${PREFIX}${ETCDIR}/${PROJECT_NAME}.conf +run.opt: + $(OCSIGENSERVER.OPT) $(RUN_DEBUG) -c ${PREFIX}${ETCDIR}/${PROJECT_NAME}.conf + +##---------------------------------------------------------------------- +## Aux + +# Use `eliomdep -sort' only in OCaml>4 +ifeq ($(shell ocamlc -version|cut -c1),4) +eliomdep=$(shell $(ELIOMDEP) $(1) -sort $(2) $(filter %.eliom %.ml,$(3)))) +else +eliomdep=$(3) +endif +objs=$(patsubst %.ml,$(1)/%.$(2),$(patsubst %.eliom,$(1)/%.$(2),$(filter %.eliom %.ml,$(3)))) +depsort=$(call objs,$(1),$(2),$(call eliomdep,$(3),$(4),$(5))) + +##---------------------------------------------------------------------- +## Config files + +FINDLIB_PACKAGES=$(patsubst %,\,$(SERVER_PACKAGES)) +EDIT_WARNING=DON\'T EDIT THIS FILE! It is generated from $(PROJECT_NAME).conf.in, edit that one, or the variables in Makefile.options +SED_ARGS := -e "/^ *%%%/d" +SED_ARGS += -e "s|%%PROJECT_NAME%%|$(PROJECT_NAME)|g" +SED_ARGS += -e "s|%%DATABASE_NAME%%|$(DATABASE_NAME)|g" +SED_ARGS += -e "s|%%DATABASE_USER%%|$(DATABASE_USER)|g" +SED_ARGS += -e "s|%%CMDPIPE%%|%%PREFIX%%$(CMDPIPE)|g" +SED_ARGS += -e "s|%%LOGDIR%%|%%PREFIX%%$(LOGDIR)|g" +SED_ARGS += -e "s|%%DATADIR%%|%%PREFIX%%$(DATADIR)|g" +SED_ARGS += -e "s|%%LIBDIR%%|%%PREFIX%%$(LIBDIR)|g" +SED_ARGS += -e "s|%%WARNING%%|$(EDIT_WARNING)|g" +SED_ARGS += -e "s|%%PACKAGES%%|$(FINDLIB_PACKAGES)|g" +SED_ARGS += -e "s|%%ELIOMSTATICDIR%%|%%PREFIX%%$(ELIOMSTATICDIR)|g" +ifeq ($(DEBUG),yes) + SED_ARGS += -e "s|%%DEBUGMODE%%|\|g" +else + SED_ARGS += -e "s|%%DEBUGMODE%%||g" +endif + +LOCAL_SED_ARGS := -e "s|%%PORT%%|$(TEST_PORT)|g" +LOCAL_SED_ARGS += -e "s|%%STATICDIR%%|$(LOCAL_STATIC)|g" +LOCAL_SED_ARGS += -e "s|%%USERGROUP%%||g" +GLOBAL_SED_ARGS := -e "s|%%PORT%%|$(PORT)|g" +GLOBAL_SED_ARGS += -e "s|%%STATICDIR%%|%%PREFIX%%$(STATICDIR)|g" +ifeq ($(WWWUSER)$(WWWGROUP),) + GLOBAL_SED_ARGS += -e "s|%%USERGROUP%%||g" +else + GLOBAL_SED_ARGS += -e "s|%%USERGROUP%%|$(WWWUSER)$(WWWGROUP)|g" +endif + +$(TEST_PREFIX)${ETCDIR}/${PROJECT_NAME}.conf: ${PROJECT_NAME}.conf.in Makefile.options | $(TEST_PREFIX)$(ETCDIR) + sed $(SED_ARGS) $(GLOBAL_SED_ARGS) $< | sed -e "s|%%PREFIX%%|$(PREFIX)|g" > $@ +$(TEST_PREFIX)${ETCDIR}/${PROJECT_NAME}-test.conf: ${PROJECT_NAME}.conf.in Makefile.options | $(TEST_PREFIX)$(ETCDIR) + sed $(SED_ARGS) $(LOCAL_SED_ARGS) $< | sed -e "s|%%PREFIX%%|$(TEST_PREFIX)|g" > $@ + +##---------------------------------------------------------------------- +## Server side compilation + +SERVER_INC := ${addprefix -package ,${SERVER_PACKAGES}} + +${ELIOM_TYPE_DIR}/%.type_mli: %.eliom + ${ELIOMC} -infer ${SERVER_INC} $< + +$(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cma: $(call objs,$(ELIOM_SERVER_DIR),cmo,$(SERVER_FILES)) | $(TEST_PREFIX)$(LIBDIR) + ${ELIOMC} -a -o $@ $(GENERATE_DEBUG) \ + $(call depsort,$(ELIOM_SERVER_DIR),cmo,-server,$(SERVER_INC),$(SERVER_FILES)) + +$(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cmxa: $(call objs,$(ELIOM_SERVER_DIR),cmx,$(SERVER_FILES)) | $(TEST_PREFIX)$(LIBDIR) + ${ELIOMOPT} -a -o $@ $(GENERATE_DEBUG) \ + $(call depsort,$(ELIOM_SERVER_DIR),cmx,-server,$(SERVER_INC),$(SERVER_FILES)) + +%.cmxs: %.cmxa + $(ELIOMOPT) -shared -linkall -o $@ $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmi: %.mli + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmi: %.eliomi + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmo: %.ml + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< +${ELIOM_SERVER_DIR}/%.cmo: %.eliom + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmx: %.ml + ${ELIOMOPT} -c ${SERVER_INC} $(GENERATE_DEBUG) $< +${ELIOM_SERVER_DIR}/%.cmx: %.eliom + ${ELIOMOPT} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + + +##---------------------------------------------------------------------- +## Client side compilation + +CLIENT_LIBS := ${addprefix -package ,${CLIENT_PACKAGES}} +CLIENT_INC := ${addprefix -package ,${CLIENT_PACKAGES}} + +CLIENT_OBJS := $(filter %.eliom %.ml, $(CLIENT_FILES)) +CLIENT_OBJS := $(patsubst %.eliom,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_OBJS}) +CLIENT_OBJS := $(patsubst %.ml,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_OBJS}) + +$(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME).js: $(call objs,$(ELIOM_CLIENT_DIR),cmo,$(CLIENT_FILES)) | $(TEST_PREFIX)$(ELIOMSTATICDIR) + ${JS_OF_ELIOM} -o $@ $(GENERATE_DEBUG) $(CLIENT_INC) $(DEBUG_JS) \ + $(call depsort,$(ELIOM_CLIENT_DIR),cmo,-client,$(CLIENT_INC),$(CLIENT_FILES)) + +$(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME)_oclosure.js: $(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME).js + oclosure_req $< + +${ELIOM_CLIENT_DIR}/%.cmi: %.mli + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +${ELIOM_CLIENT_DIR}/%.cmo: %.eliom + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< +${ELIOM_CLIENT_DIR}/%.cmo: %.ml + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +${ELIOM_CLIENT_DIR}/%.cmi: %.eliomi + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +##---------------------------------------------------------------------- +## Dependencies + +include .depend + +.depend: $(patsubst %,$(DEPSDIR)/%.server,$(SERVER_FILES)) $(patsubst %,$(DEPSDIR)/%.client,$(CLIENT_FILES)) + cat $^ > $@ + +$(DEPSDIR)/%.server: % | $(DEPSDIR) + $(ELIOMDEP) -server $(SERVER_INC) $< > $@ + +$(DEPSDIR)/%.client: % | $(DEPSDIR) + $(ELIOMDEP) -client $(CLIENT_INC) $< > $@ + +$(DEPSDIR): + mkdir $@ + +##---------------------------------------------------------------------- +## Clean up + +clean: + -rm -f *.cm[ioax] *.cmxa *.cmxs *.o *.a *.annot + -rm -f *.type_mli + -rm -f ${PROJECT_NAME}.js + -rm -rf ${ELIOM_CLIENT_DIR} ${ELIOM_SERVER_DIR} + +distclean: clean + -rm -rf $(TEST_PREFIX) $(DEPSDIR) .depend diff --git a/8.0/manual/files/tutorial/chapter1/distillery-oclosure/Makefile.options b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/Makefile.options new file mode 100644 index 00000000..53ea7f5f --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/Makefile.options @@ -0,0 +1,57 @@ + +##---------------------------------------------------------------------- +## SETTINGS FOR THE ELIOM PROJECT graffiti +##---------------------------------------------------------------------- + +PROJECT_NAME := graffiti + +## Do not forget `make depend' after adding a file! +## Source files for the server +SERVER_FILES := $(wildcard *.eliomi *.eliom) +## Source files for the client +CLIENT_FILES := $(wildcard *.eliomi *.eliom) + +## OCamlfind packages for the server +SERVER_PACKAGES := cairo +## OCamlfind packages for the client +CLIENT_PACKAGES := oclosure + +## Directory with files to be statically served +LOCAL_STATIC = static + +## Debug application (yes/no): Debugging info in compilation, +## JavaScript, ocsigenserver +DEBUG := no + +## User to run server with (make run.*) +WWWUSER := www-data +WWWGROUP := www-data + +## Port for running the server (make run.*) +PORT := 80 + +## Port for testing (make test.*) +TEST_PORT := 8080 + +## Root of installation (must end with /) +PREFIX := / + +## Local folder for make test.* (must end with /) +TEST_PREFIX := local/ + +## The installation tree (relative to $(PREFIX) when installing/runnin +## or $(TEST_PREFIX) when testing). +# Configuration file $(PROJECT_NAME).conf +ETCDIR := etc/${PROJECT_NAME} +# Project's library $(PROJECT_NAME).cma (cmxs) +LIBDIR := var/lib/${PROJECT_NAME} +# Command pipe, eg. $ echo restart > $(INSTALL_PREFIX)$(CMDPIPE) +CMDPIPE := var/run/${PROJECT_NAME}-cmd +# Ocsigenserver's logging files +LOGDIR := var/log/${PROJECT_NAME} +# Ocsigenserver's persistent data files +DATADIR := var/data/${PROJECT_NAME} +# Copy of $(LOCAL_STATIC) +STATICDIR := var/www/${PROJECT_NAME}/static +# Project's JavaScript file +ELIOMSTATICDIR := var/www/${PROJECT_NAME}/eliom diff --git a/8.0/manual/files/tutorial/chapter1/distillery-oclosure/README b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/README new file mode 100644 index 00000000..d2f190e5 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/README @@ -0,0 +1,59 @@ + +This project is (initially) generated by eliom-distillery as the basic +project "graffiti". + +It contains the following files: + + - graffiti.eliom + This is your initial source file. + All Eliom files (*.eliom, *.eliomi) in this directory are + automatically considered. To add a .ml/.mli file to your project, + add it to the variable SERVER_FILES or CLIENT_FILES. + + - static/ + The content of this folder is statically served. It contains + initially a basic CSS file for your project. + + - Makefile.options + Configure your project here! + + - graffiti.conf.in + This file is a template for the configuration file for + ocsigenserver. You will rarely have to edit itself - it takes its + variables from the Makefile.options. This way, the installation + rules and the configuration files are synchronized with respect to + the different folders. + + - Makefile + This contains all rules necessary to build, test, and run your + Eliom application. You better don't touch it ;) See below for the + relevant targets. + + - README + Not completely desribable here. + + +Here's some help on how to work with this basic distillery project: + + - Compile it + $ make all (or byte/opt) + + - Test your application by running ocsigenserver locally + $ make test.byte (or test.opt) + + - Install it + $ sudo make install (or install.byte/install.opt) + + - Run the server on the installation + $ sudo make run.byte (or run.opt) + If the user to run ocsigenserver is yourself, you don't need the + `sudo'. If Ocsigen isn't installed in a global position, however, + you may need to re-export some environment variables to make this + work: + $ sudo PATH=$PATH OCAMLPATH=$OCAMLPATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH make run.byte/run.opt + + - If you need a findlib package in your project, add it to the + variables SERVER_PACKAGES and/or CLIENT_PACKAGES. + + - The directory static/ will be statically served. Put your CSS and + additional JavaScript files here! diff --git a/8.0/manual/files/tutorial/chapter1/distillery-oclosure/graffiti.conf.in b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/graffiti.conf.in new file mode 100644 index 00000000..82244ac9 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/graffiti.conf.in @@ -0,0 +1,28 @@ +%%% This is the template for your configuration file. The %%VALUES%% below are +%%% taken from the Makefile to generate the actual configuration files. +%%% This comment will disappear. + + + + %%PORT%% + %%% Only set for running, not for testing + %%USERGROUP%% + %%LOGDIR%% + %%DATADIR%% + utf-8 + %%% Only set when debugging + %%DEBUGMODE%% + %%CMDPIPE%% + + + + %%% This will include the packages defined as SERVER_PACKAGES in your Makefile: + %%PACKAGES%% + + + + + + + + diff --git a/8.0/manual/files/tutorial/chapter1/distillery-oclosure/graffiti.eliom b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/graffiti.eliom new file mode 100644 index 00000000..fa2bc8cc --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/graffiti.eliom @@ -0,0 +1,163 @@ + + +{shared{ + open Eliom_lib.Lwt_ops + open Eliom_content.Html5.D + + let width = 700 + let height = 400 + + type messages = (string * int * (int * int) * (int * int)) + deriving (Json) +}} + +module My_app = + Eliom_registration.App ( + struct + let application_name = "graffiti" + end) + +let bus = Eliom_bus.create Json.t + +let canvas_elt = + canvas ~a:[a_width width; a_height height] + [pcdata "your browser doesn't support canvas"] + +let page = + html + (Eliom_tools.F.head ~title:"Graffiti" + ~css:[ + ["css";"common.css"]; + ["css";"hsvpalette.css"]; + ["css";"slider.css"]; + ["css";"graffiti.css"]; + ["graffiti_oclosure.js"]; + ] + ~js:[ ["graffiti_oclosure.js"] ] ()) + (body [h1 [pcdata "Graffiti"]; canvas_elt]) + + +let rgb_from_string color = (* color is in format "#rrggbb" *) + let get_color i = + (float_of_string ("0x"^(String.sub color (1+2*i) 2))) /. 255. + in + try get_color 0, get_color 1, get_color 2 with | _ -> 0.,0.,0. + +let draw_server, image_string = + let surface = + Cairo.image_surface_create Cairo.FORMAT_ARGB32 ~width ~height + in + let ctx = Cairo.create surface in + ((fun ((color : string), size, (x1, y1), (x2, y2)) -> + + (* Set thickness of brush *) + Cairo.set_line_width ctx (float size) ; + Cairo.set_line_join ctx Cairo.LINE_JOIN_ROUND ; + Cairo.set_line_cap ctx Cairo.LINE_CAP_ROUND ; + let red, green, blue = rgb_from_string color in + Cairo.set_source_rgb ctx ~red ~green ~blue ; + + Cairo.move_to ctx (float x1) (float y1) ; + Cairo.line_to ctx (float x2) (float y2) ; + Cairo.close_path ctx ; + + (* Apply the ink *) + Cairo.stroke ctx ; + ), + (fun () -> + let b = Buffer.create 10000 in + (* Output a PNG in a string *) + Cairo_png.surface_write_to_stream surface (Buffer.add_string b); + Buffer.contents b + )) + +let imageservice = + Eliom_registration.String.register_service + ~path:["image"] + ~get_params:Eliom_parameter.unit + (fun () () -> Lwt.return (image_string (), "image/png")) + +{client{ + + let draw ctx (color, size, (x1, y1), (x2, y2)) = + ctx##strokeStyle <- (Js.string color); + ctx##lineWidth <- float size; + ctx##beginPath(); + ctx##moveTo(float x1, float y1); + ctx##lineTo(float x2, float y2); + ctx##stroke() + + let init_client () = + + let canvas = Eliom_content.Html5.To_dom.of_canvas %canvas_elt in + + let ctx = canvas##getContext (Dom_html._2d_) in + ctx##lineCap <- Js.string "round"; + + (* The initial image: *) + let img = + Eliom_content.Html5.To_dom.of_img + (img ~alt:"canvas" + ~src:(make_uri ~service:%imageservice ()) + ()) + in + img##onload <- Dom_html.handler + (fun ev -> ctx##drawImage(img, 0., 0.); Js._false); + + (* Size of the brush *) + let slider = jsnew Goog.Ui.slider(Js.null) in + slider##setMinimum(1.); + slider##setMaximum(80.); + slider##setValue(10.); + slider##setMoveToPointEnabled(Js._true); + slider##render(Js.some Dom_html.document##body); + (* The color palette: *) + let pSmall = + jsnew Goog.Ui.hsvPalette(Js.null, Js.null, + Js.some (Js.string "goog-hsv-palette-sm")) + in + pSmall##render(Js.some Dom_html.document##body); + + let x = ref 0 and y = ref 0 in + + let set_coord ev = + let x0, y0 = Dom_html.elementClientPosition canvas in + x := ev##clientX - x0; y := ev##clientY - y0 + in + + let compute_line ev = + let oldx = !x and oldy = !y in + set_coord ev; + let color = Js.to_string (pSmall##getColor()) in + let size = int_of_float (Js.to_float (slider##getValue())) in + (color, size, (oldx, oldy), (!x, !y)) + in + + let line ev = + let v = compute_line ev in + let _ = Eliom_bus.write %bus v in + draw ctx v; + Lwt.return () in + + Lwt.async + (fun () -> + let open Lwt_js_events in + mousedowns canvas + (fun ev _ -> + set_coord ev; line ev >>= fun () -> + Lwt.pick [mousemoves Dom_html.document (fun x _ -> line x); + mouseup Dom_html.document >>= line])); + + Lwt.async (fun () -> Lwt_stream.iter (draw ctx) (Eliom_bus.stream %bus)); + + +}} + +let _ = Lwt_stream.iter draw_server (Eliom_bus.stream bus) + +let main_service = + My_app.register_service ~path:[""] ~get_params:Eliom_parameter.unit + (fun () () -> + (* Cf. the box "Client side side-effects on the server" *) + ignore {unit{ init_client () }}; + Lwt.return page) diff --git a/8.0/manual/files/tutorial/chapter1/distillery-oclosure/update-symlinks.sh b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/update-symlinks.sh new file mode 100755 index 00000000..f49ae5cf --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/distillery-oclosure/update-symlinks.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +ln -s ../../static . + diff --git a/8.0/manual/files/tutorial/chapter1/no_oclosure/.depend b/8.0/manual/files/tutorial/chapter1/no_oclosure/.depend new file mode 100644 index 00000000..c5555cda --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/no_oclosure/.depend @@ -0,0 +1,8 @@ +_server/graffiti.cmo : +_server/graffiti.cmx : +_server/graffiti.cmo : graffiti.type_mli +_server/graffiti.cmx : graffiti.type_mli +_client/graffiti.cmo : +_client/graffiti.cmx : +_client/graffiti.cmo : graffiti.type_mli +_client/graffiti.cmx : graffiti.type_mli diff --git a/8.0/manual/files/tutorial/chapter1/no_oclosure/Makefile b/8.0/manual/files/tutorial/chapter1/no_oclosure/Makefile new file mode 100644 index 00000000..ada2060e --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/no_oclosure/Makefile @@ -0,0 +1,133 @@ + +## Sample Makefile for eliom application. + +APP_NAME := graffiti + +## Packages required to build the server part of the application + +SERVER_PACKAGES := cairo + +## Packages to be linked in the client part + +CLIENT_PACKAGES := + +## Source files for the server part + +SERVER_FILES := ${wildcard *.eliom} + +## Source files for the client part + +CLIENT_FILES := ${wildcard *.eliom} + +## Required binaries + +ELIOMC := eliomc +ELIOMOPT := eliomopt +ELIOMDEP := eliomdep +JS_OF_ELIOM := js_of_eliom + +## Where to put intermediate object files. +## - ELIOM_{SERVER,CLIENT}_DIR must be distinct +## - ELIOM_CLIENT_DIR mustn't be the local dir. +## - ELIOM_SERVER_DIR could be ".", but you need to +## remove it from the "clean" rules... + +export ELIOM_SERVER_DIR := _server +export ELIOM_CLIENT_DIR := _client +export ELIOM_TYPE_DIR := . + +##################################### + +all: byte opt +byte:: ${APP_NAME}.cma ${APP_NAME}.js +opt:: ${APP_NAME}.cmxs ${APP_NAME}.js + +#### Server side compilation ####### + +SERVER_INC := ${addprefix -package ,${SERVER_PACKAGES}} + +SERVER_OBJS := $(patsubst %.eliom,${ELIOM_SERVER_DIR}/%.cmo, ${SERVER_FILES}) +SERVER_OBJS := $(patsubst %.ml,${ELIOM_SERVER_DIR}/%.cmo, ${SERVER_OBJS}) + +${APP_NAME}.cma: ${SERVER_OBJS} + ${ELIOMC} -a -o $@ $^ +${APP_NAME}.cmxa: ${SERVER_OBJS:.cmo=.cmx} + ${ELIOMOPT} -a -o $@ $^ + +${ELIOM_TYPE_DIR}/%.type_mli: %.eliom + ${ELIOMC} -infer ${SERVER_INC} $< + +${ELIOM_SERVER_DIR}/%.cmi: %.mli + ${ELIOMC} -c ${SERVER_INC} $< + +${ELIOM_SERVER_DIR}/%.cmo: %.ml + ${ELIOMC} -c ${SERVER_INC} $< +${ELIOM_SERVER_DIR}/%.cmo: %.eliom + ${ELIOMC} -c ${SERVER_INC} $< + +${ELIOM_SERVER_DIR}/%.cmx: %.ml + ${ELIOMOPT} -c ${SERVER_INC} $< +${ELIOM_SERVER_DIR}/%.cmx: %.eliom + ${ELIOMOPT} -c ${SERVER_INC} $< + +%.cmxs: %.cmxa + $(ELIOMOPT) -shared -linkall -o $@ $< + +##### Client side compilation #### + +SERVER_INC_FOR_JS_OF_ELIOM := ${addprefix -package ,${SERVER_PACKAGES}} + +CLIENT_LIBS := ${addprefix -package ,${CLIENT_PACKAGES}} +CLIENT_INC := ${addprefix -package ,${CLIENT_PACKAGES}} + +CLIENT_OBJS := $(patsubst %.eliom,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_FILES}) +CLIENT_OBJS := $(patsubst %.ml,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_OBJS}) + +${APP_NAME}.js: ${CLIENT_OBJS} + ${JS_OF_ELIOM} -o $@ ${CLIENT_LIBS} $^ + +${ELIOM_CLIENT_DIR}/%.cmi: %.mli + ${JS_OF_ELIOM} -c ${CLIENT_INC} $< + +${ELIOM_CLIENT_DIR}/%.cmo: %.eliom + ${JS_OF_ELIOM} -c ${SERVER_INC_FOR_JS_OF_ELIOM} ${CLIENT_INC} $< +${ELIOM_CLIENT_DIR}/%.cmo: %.ml + ${JS_OF_ELIOM} -c ${CLIENT_INC} $< + +############ + +## Clean up + +clean: + -rm -f *.cm[ioax] *.cmxa *.cmxs *.o *.a *.annot + -rm -f *.type_mli + -rm -f ${APP_NAME}.js + -rm -rf ${ELIOM_CLIENT_DIR} ${ELIOM_SERVER_DIR} + +distclean: clean.local + -rm -f *~ \#* .\#* + +## Dependencies + +depend: .depend +.depend: ${SERVER_FILES} ${CLIENT_FILES} + $(ELIOMDEP) -server ${SERVER_INC} ${SERVER_FILES} > .depend + $(ELIOMDEP) -client ${CLIENT_INC} ${CLIENT_FILES} >> .depend + +## Warning: Dependencies towards *.eliom are not handled by eliomdep yet. +## Add manually dependencies between cmo and cmx files here, +## for example: +## oneeliomfile.cmo: anothereliomfile.cmo +## oneeliomfile.cmx: anothereliomfile.cmx + +-include .depend + +## installation ######### + +STATICDIR := /tmp/static + +$(STATICDIR): + mkdir -p $@ + +install: all $(STATICDIR) + cp $(APP_NAME).js $(STATICDIR)/$(APP_NAME).js diff --git a/8.0/manual/files/tutorial/chapter1/no_oclosure/graffiti.conf b/8.0/manual/files/tutorial/chapter1/no_oclosure/graffiti.conf new file mode 100644 index 00000000..5e4ddfd8 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/no_oclosure/graffiti.conf @@ -0,0 +1,38 @@ + + + + + 8080 + + + + /tmp + /tmp + + + /tmp/ocsigen_command + + utf-8 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/8.0/manual/files/tutorial/chapter1/no_oclosure/graffiti.eliom b/8.0/manual/files/tutorial/chapter1/no_oclosure/graffiti.eliom new file mode 100644 index 00000000..967438c7 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/no_oclosure/graffiti.eliom @@ -0,0 +1,124 @@ +{shared{ + open Eliom_content + open Eliom_content.Html5.D + open Eliom_lib.Lwt_ops + let width = 700 + let height = 400 +}} + +module My_appl = + Eliom_registration.App ( + struct + let application_name = "graffiti" + end) + +{client{ + let draw ctx (color, size, (x1, y1), (x2, y2)) = + ctx##strokeStyle <- (Js.string color); + ctx##lineWidth <- float size; + ctx##beginPath(); + ctx##moveTo(float x1, float y1); + ctx##lineTo(float x2, float y2); + ctx##stroke() +}} + +{shared{ + type messages = (string * int * (int * int) * (int * int)) deriving (Json) +}} + +let bus = Eliom_bus.create ~name:"graff" Json.t + +let rgb_from_string color = (* color is in format "#rrggbb" *) + let get_color i = (float_of_string ("0x"^(String.sub color (1+2*i) 2))) /. 255. in + try get_color 0, get_color 1, get_color 2 with | _ -> 0.,0.,0. + +let draw_server, image_string = + let surface = Cairo.image_surface_create Cairo.FORMAT_ARGB32 ~width ~height in + let ctx = Cairo.create surface in + ((fun ((color : string), size, (x1, y1), (x2, y2)) -> + + (* Set thickness of brush *) + Cairo.set_line_width ctx (float size) ; + Cairo.set_line_join ctx Cairo.LINE_JOIN_ROUND ; + Cairo.set_line_cap ctx Cairo.LINE_CAP_ROUND ; + let red, green, blue = rgb_from_string color in + Cairo.set_source_rgb ctx ~red ~green ~blue ; + + Cairo.move_to ctx (float x1) (float y1) ; + Cairo.line_to ctx (float x2) (float y2) ; + Cairo.close_path ctx ; + + (* Apply the ink *) + Cairo.stroke ctx ; + ), + (fun () -> + let b = Buffer.create 10000 in + (* Output a PNG in a string *) + Cairo_png.surface_write_to_stream surface (Buffer.add_string b); + Buffer.contents b + )) + +let _ = Lwt_stream.iter draw_server (Eliom_bus.stream bus) + +let imageservice = + Eliom_registration.String.register_service + ~path:["image"] + ~get_params:Eliom_parameter.unit + (fun () () -> Lwt.return (image_string (), "image/png")) + +let page = + html + (head (title (pcdata "Graffiti")) []) + (body [h1 [pcdata "Graffiti"]]) + +let init_client () = ignore {unit{ + let canvas = Dom_html.createCanvas Dom_html.document in + let ctx = canvas##getContext (Dom_html._2d_) in + canvas##width <- width; canvas##height <- height; + ctx##lineCap <- Js.string "round"; + + Dom.appendChild Dom_html.document##body canvas; + + (* The initial image: *) + let img = + Html5.To_dom.of_img + (img ~alt:"canvas" + ~src:(make_uri ~service:%imageservice ()) + ()) + in + img##onload <- Dom_html.handler + (fun ev -> ctx##drawImage(img, 0., 0.); Js._false); + + let x = ref 0 and y = ref 0 in + + let set_coord ev = + let x0, y0 = Dom_html.elementClientPosition canvas in + x := ev##clientX - x0; y := ev##clientY - y0 in + + let compute_line ev = + let oldx = !x and oldy = !y in + set_coord ev; + ("#ff9933", 5, (oldx, oldy), (!x, !y)) + in + + let line ev = + let v = compute_line ev in + let _ = Eliom_bus.write %bus v in + draw ctx v; + Lwt.return () + in + + let _ = Lwt_stream.iter (draw ctx) (Eliom_bus.stream %bus) in + + let open Lwt_js_events in + ignore (mousedowns canvas + (fun ev _ -> set_coord ev; line ev >>= fun () -> + Lwt.pick [mousemoves Dom_html.document (fun a _ -> line a); + mouseup Dom_html.document >>= line])); +}} + +let main_service = + My_appl.register_service ~path:[""] ~get_params:Eliom_parameter.unit + (fun () () -> + init_client (); + Lwt.return page) diff --git a/8.0/manual/files/tutorial/chapter1/start/Makefile b/8.0/manual/files/tutorial/chapter1/start/Makefile new file mode 100644 index 00000000..4b16f914 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/start/Makefile @@ -0,0 +1,2 @@ +graffiti.cmo: graffiti.ml + ocamlfind ocamlc -thread -package eliom.server -c graffiti.ml diff --git a/8.0/manual/files/tutorial/chapter1/start/graffiti.conf b/8.0/manual/files/tutorial/chapter1/start/graffiti.conf new file mode 100644 index 00000000..82b016de --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/start/graffiti.conf @@ -0,0 +1,29 @@ + + + + + 8080 + + + + /tmp + /tmp + + + /tmp/ocsigen_command + + + + + + + + + + + + + + + + diff --git a/8.0/manual/files/tutorial/chapter1/start/graffiti.ml b/8.0/manual/files/tutorial/chapter1/start/graffiti.ml new file mode 100644 index 00000000..3c597168 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/start/graffiti.ml @@ -0,0 +1,10 @@ +open Lwt +open Eliom_parameter +open Eliom_content.Html5.D +open Eliom_registration.Html5 + +let main_service = + register_service ~path:["graff"] ~get_params:unit + (fun () () -> return (html (head (title (pcdata "")) []) + (body [h1 [pcdata "Graffiti"]]))) + diff --git a/8.0/manual/files/tutorial/chapter1/with_oclosure/.depend b/8.0/manual/files/tutorial/chapter1/with_oclosure/.depend new file mode 100644 index 00000000..5736884c --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/with_oclosure/.depend @@ -0,0 +1,8 @@ +_server/graffiti.cmo: _server/graffiti.type_mli +_server/graffiti.cmx: _server/graffiti.type_mli +_server/graffiti.cmo: +_server/graffiti.cmx: +_client/graffiti.cmo: _server/graffiti.type_mli +_client/graffiti.cmx: _server/graffiti.type_mli +_client/graffiti.cmo: +_client/graffiti.cmx: diff --git a/8.0/manual/files/tutorial/chapter1/with_oclosure/Makefile b/8.0/manual/files/tutorial/chapter1/with_oclosure/Makefile new file mode 100644 index 00000000..e9067111 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/with_oclosure/Makefile @@ -0,0 +1,144 @@ + +## Sample Makefile for eliom application. + +APP_NAME := graffiti + +## Packages required to build the server part of the application + +SERVER_PACKAGES := cairo + +## Packages to be linked in the client part + +CLIENT_PACKAGES := oclosure + +## Source files for the server part + +SERVER_FILES := ${wildcard *.eliom} + +## Source files for the client part + +CLIENT_FILES := ${wildcard *.eliom} + +## Required binaries + +ELIOMC := eliomc +ELIOMOPT := eliomopt +ELIOMDEP := eliomdep +JS_OF_ELIOM := js_of_eliom +OCLOSURE_REQ := oclosure_req + +## Where to put intermediate object files. +## - ELIOM_{SERVER,CLIENT}_DIR must be distinct +## - ELIOM_CLIENT_DIR mustn't be the local dir. +## - ELIOM_SERVER_DIR could be ".", but you need to +## remove it from the "clean" rules... + +export ELIOM_SERVER_DIR := _server +export ELIOM_CLIENT_DIR := _client +export ELIOM_TYPE_DIR := ${ELIOM_SERVER_DIR} + +##################################### + +all: byte opt +byte:: ${APP_NAME}.cma ${APP_NAME}.js ${APP_NAME}_oclosure.js +opt:: ${APP_NAME}.cmxs ${APP_NAME}.js ${APP_NAME}_oclosure.js + +#### Server side compilation ####### + +SERVER_INC := ${addprefix -package ,${SERVER_PACKAGES}} + +SERVER_OBJS := $(patsubst %.eliom,${ELIOM_SERVER_DIR}/%.cmo, ${SERVER_FILES}) +SERVER_OBJS := $(patsubst %.ml,${ELIOM_SERVER_DIR}/%.cmo, ${SERVER_OBJS}) + +${APP_NAME}.cma: ${SERVER_OBJS} + ${ELIOMC} -a -o $@ $^ +${APP_NAME}.cmxa: ${SERVER_OBJS:.cmo=.cmx} + ${ELIOMOPT} -a -o $@ $^ + +${ELIOM_TYPE_DIR}/%.type_mli: %.eliom + ${ELIOMC} -infer ${SERVER_INC} $< + +${ELIOM_SERVER_DIR}/%.cmi: %.mli + ${ELIOMC} -c ${SERVER_INC} $< + +${ELIOM_SERVER_DIR}/%.cmo: %.ml + ${ELIOMC} -c ${SERVER_INC} $< +${ELIOM_SERVER_DIR}/%.cmo: %.eliom + ${ELIOMC} -c -noinfer ${SERVER_INC} $< + +${ELIOM_SERVER_DIR}/%.cmx: %.ml + ${ELIOMOPT} -c ${SERVER_INC} $< +${ELIOM_SERVER_DIR}/%.cmx: %.eliom + ${ELIOMOPT} -c -noinfer ${SERVER_INC} $< + +%.cmxs: %.cmxa + $(ELIOMOPT) -shared -linkall -o $@ $< + +##### Client side compilation #### + +CLIENT_LIBS := ${addprefix -package ,${CLIENT_PACKAGES}} +CLIENT_INC := ${addprefix -package ,${CLIENT_PACKAGES}} + +CLIENT_OBJS := $(patsubst %.eliom,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_FILES}) +CLIENT_OBJS := $(patsubst %.ml,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_OBJS}) + +${APP_NAME}.js: ${CLIENT_OBJS} + ${JS_OF_ELIOM} -o $@ ${CLIENT_LIBS} $^ + +${ELIOM_CLIENT_DIR}/%.cmi: %.mli + ${JS_OF_ELIOM} -c ${CLIENT_INC} $< + +${ELIOM_CLIENT_DIR}/%.cmo: %.eliom + ${JS_OF_ELIOM} -c ${CLIENT_INC} $< +${ELIOM_CLIENT_DIR}/%.cmo: %.ml + ${JS_OF_ELIOM} -c ${CLIENT_INC} $< + +############ + +## Clean up + +clean: + -rm -f *.cm[ioax] *.cmxa *.cmxs *.o *.a *.annot + -rm -f *.type_mli + -rm -f ${APP_NAME}.js + -rm -rf ${ELIOM_CLIENT_DIR} ${ELIOM_SERVER_DIR} + -rm -f $(APP_NAME)_oclosure.js + +distclean: clean + -rm -f *~ \#* .\#* + -rm -f .depend + +## Dependencies + +depend: .depend +.depend: ${SERVER_FILES} ${CLIENT_FILES} + $(ELIOMDEP) -server ${SERVER_INC} ${SERVER_FILES} > .depend + $(ELIOMDEP) -client ${CLIENT_INC} ${CLIENT_FILES} >> .depend + +## Warning: Dependencies towards *.eliom are not handled by eliomdep yet. +## Add manually dependencies between cmo and cmx files here, +## for example: +## oneeliomfile.cmo: anothereliomfile.cmo +## oneeliomfile.cmx: anothereliomfile.cmx + +include .depend + +## installation ######### + +STATICDIR := /tmp/static + +$(STATICDIR): + mkdir -p $@ + +install: all $(STATICDIR) + cp $(APP_NAME)_oclosure.js $(STATICDIR)/$(APP_NAME)_oclosure.js + cp $(APP_NAME).js $(STATICDIR)/$(APP_NAME).js + +## oclosure ############# + +OCAML := ocaml +OCAMLFIND := ocamlfind +OCLOSUREDIR := $(shell ${OCAMLFIND} query oclosure) + +$(APP_NAME)_oclosure.js: $(APP_NAME).js + ${OCLOSURE_REQ} $^ diff --git a/8.0/manual/files/tutorial/chapter1/with_oclosure/graffiti.conf b/8.0/manual/files/tutorial/chapter1/with_oclosure/graffiti.conf new file mode 100644 index 00000000..5e4ddfd8 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/with_oclosure/graffiti.conf @@ -0,0 +1,38 @@ + + + + + 8080 + + + + /tmp + /tmp + + + /tmp/ocsigen_command + + utf-8 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/8.0/manual/files/tutorial/chapter1/with_oclosure/graffiti.eliom b/8.0/manual/files/tutorial/chapter1/with_oclosure/graffiti.eliom new file mode 100644 index 00000000..442f125b --- /dev/null +++ b/8.0/manual/files/tutorial/chapter1/with_oclosure/graffiti.eliom @@ -0,0 +1,163 @@ +{shared{ + open Eliom_content + open Eliom_content.Html5.D + open Eliom_lib.Lwt_ops + let width = 700 + let height = 400 +}} + +module My_appl = + Eliom_registration.App ( + struct + let application_name = "graffiti" + end) + +{client{ + let draw ctx (color, size, (x1, y1), (x2, y2)) = + ctx##strokeStyle <- (Js.string color); + ctx##lineWidth <- float size; + ctx##beginPath(); + ctx##moveTo(float x1, float y1); + ctx##lineTo(float x2, float y2); + ctx##stroke() +}} + +{shared{ + type messages = (string * int * (int * int) * (int * int)) deriving (Json) +}} + +let bus = Eliom_bus.create ~name:"graff" Json.t + +let rgb_from_string color = (* color is in format "#rrggbb" *) + let get_color i = (float_of_string ("0x"^(String.sub color (1+2*i) 2))) /. 255. in + try get_color 0, get_color 1, get_color 2 with | _ -> 0.,0.,0. + +let draw_server, image_string = + let surface = Cairo.image_surface_create Cairo.FORMAT_ARGB32 ~width ~height in + let ctx = Cairo.create surface in + ((fun ((color : string), size, (x1, y1), (x2, y2)) -> + + (* Set thickness of brush *) + Cairo.set_line_width ctx (float size) ; + Cairo.set_line_join ctx Cairo.LINE_JOIN_ROUND ; + Cairo.set_line_cap ctx Cairo.LINE_CAP_ROUND ; + let red, green, blue = rgb_from_string color in + Cairo.set_source_rgb ctx ~red ~green ~blue ; + + Cairo.move_to ctx (float x1) (float y1) ; + Cairo.line_to ctx (float x2) (float y2) ; + Cairo.close_path ctx ; + + (* Apply the ink *) + Cairo.stroke ctx ; + ), + (fun () -> + let b = Buffer.create 10000 in + (* Output a PNG in a string *) + Cairo_png.surface_write_to_stream surface (Buffer.add_string b); + Buffer.contents b + )) + +let _ = Lwt_stream.iter draw_server (Eliom_bus.stream bus) + +let imageservice = + Eliom_registration.String.register_service + ~path:["image"] + ~get_params:Eliom_parameter.unit + (fun () () -> Lwt.return (image_string (), "image/png")) + +let canvas_elt = + canvas ~a:[a_width width; a_height height] + [pcdata "your browser doesn't support canvas"] + +let page = + html + (head + (title (pcdata "Graffiti")) + [ css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"common.css"]) (); + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"hsvpalette.css"]) (); + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"slider.css"]) (); + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"graffiti.css"]) (); + js_script + ~uri:(make_uri (Eliom_service.static_dir ()) + ["graffiti_oclosure.js"]) (); + ]) + (body [h1 [pcdata "Graffiti"]; canvas_elt]) + +let init_client () = ignore {unit{ + + (* Initialize the canvas *) + let canvas = Html5.To_dom.of_canvas %canvas_elt in + let ctx = canvas##getContext (Dom_html._2d_) in + ctx##lineCap <- Js.string "round"; + + (* The initial image: *) + let img = + Html5.To_dom.of_img + (img ~alt:"canvas" + ~src:(make_uri ~service:%imageservice ()) + ()) + in + img##onload <- Dom_html.handler + (fun _ -> ctx##drawImage(img, 0., 0.); Js._false); + + (* Size of the brush *) + let slider = jsnew Goog.Ui.slider(Js.null) in + slider##setOrientation(Goog.Ui.SliderBase.Orientation._VERTICAL); + slider##setMinimum(1.); + slider##setMaximum(80.); + slider##setValue(10.); + slider##setMoveToPointEnabled(Js._true); + slider##render(Js.some Dom_html.document##body); + + (* The color palette: *) + let pSmall = + jsnew Goog.Ui.hsvPalette(Js.null, Js.null, + Js.some (Js.string "goog-hsv-palette-sm")) + in + pSmall##render(Js.some Dom_html.document##body); + + let x = ref 0 and y = ref 0 in + + let set_coord ev = + let x0, y0 = Dom_html.elementClientPosition canvas in + x := ev##clientX - x0; y := ev##clientY - y0 in + + let compute_line ev = + let oldx = !x and oldy = !y in + set_coord ev; + let color = Js.to_string (pSmall##getColor()) in + let size = int_of_float (Js.to_float (slider##getValue())) in + (color, size, (oldx, oldy), (!x, !y)) + in + + let line ev = + let v = compute_line ev in + let _ = Eliom_bus.write %bus v in + draw ctx v; + Lwt.return () + in + + let _ = Lwt_stream.iter (draw ctx) (Eliom_bus.stream %bus) in + + let open Lwt_js_events in + ignore (mousedowns canvas + (fun ev _ -> set_coord ev; line ev >>= fun () -> + Lwt.pick [mousemoves Dom_html.document (fun x _ -> line x); + mouseup Dom_html.document >>= line])); +}} + +let main_service = + My_appl.register_service ~path:[""] ~get_params:Eliom_parameter.unit + (fun () () -> + init_client (); + Lwt.return page) + diff --git a/8.0/manual/files/tutorial/chapter2/Makefile b/8.0/manual/files/tutorial/chapter2/Makefile new file mode 100644 index 00000000..8c47d398 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter2/Makefile @@ -0,0 +1,240 @@ + +##---------------------------------------------------------------------- +## DISCLAIMER +## +## This file contains the rules to make an Eliom project. The project is +## configured through the variables in the file Makefile.options. +##---------------------------------------------------------------------- + +include Makefile.options + +##---------------------------------------------------------------------- +## Internals + +## Required binaries +ELIOMC := eliomc -ppx +ELIOMOPT := eliomopt -ppx +JS_OF_ELIOM := js_of_eliom -ppx +ELIOMDEP := eliomdep +OCSIGENSERVER := ocsigenserver +OCSIGENSERVER.OPT := ocsigenserver.opt + +## Where to put intermediate object files. +## - ELIOM_{SERVER,CLIENT}_DIR must be distinct +## - ELIOM_CLIENT_DIR must not be the local dir. +## - ELIOM_SERVER_DIR could be ".", but you need to +## remove it from the "clean" rules... +export ELIOM_SERVER_DIR := _server +export ELIOM_CLIENT_DIR := _client +export ELIOM_TYPE_DIR := _server +DEPSDIR := _deps + +ifeq ($(DEBUG),yes) + GENERATE_DEBUG ?= -g + RUN_DEBUG ?= "-v" + DEBUG_JS ?= -jsopt -pretty -jsopt -noinline -jsopt -debuginfo +endif + +##---------------------------------------------------------------------- +## General + +.PHONY: all byte opt +all: byte opt +byte opt:: $(TEST_PREFIX)$(ELIOMSTATICDIR)/${PROJECT_NAME}.js +byte opt:: $(TEST_PREFIX)$(ETCDIR)/$(PROJECT_NAME).conf +byte opt:: $(TEST_PREFIX)$(ETCDIR)/$(PROJECT_NAME)-test.conf +byte:: $(TEST_PREFIX)$(LIBDIR)/${PROJECT_NAME}.cma +opt:: $(TEST_PREFIX)$(LIBDIR)/${PROJECT_NAME}.cmxs + +DIST_DIRS = $(ETCDIR) $(DATADIR) $(LIBDIR) $(LOGDIR) $(STATICDIR) $(ELIOMSTATICDIR) $(shell dirname $(CMDPIPE)) + +##---------------------------------------------------------------------- +## Testing + +DIST_FILES = $(ELIOMSTATICDIR)/$(PROJECT_NAME).js $(LIBDIR)/$(PROJECT_NAME).cma + +.PHONY: test.byte test.opt +test.byte: $(addprefix $(TEST_PREFIX),$(ETCDIR)/$(PROJECT_NAME)-test.conf $(DIST_DIRS) $(DIST_FILES)) + $(OCSIGENSERVER) $(RUN_DEBUG) -c $< +test.opt: $(addprefix $(TEST_PREFIX),$(ETCDIR)/$(PROJECT_NAME)-test.conf $(DIST_DIRS) $(patsubst %.cma,%.cmxs, $(DIST_FILES))) + $(OCSIGENSERVER.OPT) $(RUN_DEBUG) -c $< + +$(addprefix $(TEST_PREFIX), $(DIST_DIRS)): + mkdir -p $@ + +##---------------------------------------------------------------------- +## Installing & Running + +.PHONY: install install.byte install.byte install.opt install.static install.etc install.lib install.lib.byte install.lib.opt run.byte run.opt +install: install.byte install.opt +install.byte: install.lib.byte install.etc install.static | $(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(shell dirname $(CMDPIPE))) +install.opt: install.lib.opt install.etc install.static | $(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(shell dirname $(CMDPIPE))) +install.lib: install.lib.byte install.lib.opt +install.lib.byte: $(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cma | $(PREFIX)$(LIBDIR) + install $< $(PREFIX)$(LIBDIR) +install.lib.opt: $(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cmxs | $(PREFIX)$(LIBDIR) + install $< $(PREFIX)$(LIBDIR) +install.static: $(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME).js | $(PREFIX)$(STATICDIR) $(PREFIX)$(ELIOMSTATICDIR) + cp -r $(LOCAL_STATIC)/* $(PREFIX)$(STATICDIR) + [ -z $(WWWUSER) ] || chown -R $(WWWUSER) $(PREFIX)$(STATICDIR) + install $(addprefix -o ,$(WWWUSER)) $< $(PREFIX)$(ELIOMSTATICDIR) +install.etc: $(TEST_PREFIX)$(ETCDIR)/$(PROJECT_NAME).conf | $(PREFIX)$(ETCDIR) + install $< $(PREFIX)$(ETCDIR)/$(PROJECT_NAME).conf + +.PHONY: +print-install-files: + @echo $(PREFIX)$(LIBDIR) + @echo $(PREFIX)$(STATICDIR) + @echo $(PREFIX)$(ELIOMSTATICDIR) + @echo $(PREFIX)$(ETCDIR) + +$(addprefix $(PREFIX),$(ETCDIR) $(LIBDIR)): + install -d $@ +$(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(STATICDIR) $(ELIOMSTATICDIR) $(shell dirname $(CMDPIPE))): + install $(addprefix -o ,$(WWWUSER)) -d $@ + +run.byte: + $(OCSIGENSERVER) $(RUN_DEBUG) -c ${PREFIX}${ETCDIR}/${PROJECT_NAME}.conf +run.opt: + $(OCSIGENSERVER.OPT) $(RUN_DEBUG) -c ${PREFIX}${ETCDIR}/${PROJECT_NAME}.conf + +##---------------------------------------------------------------------- +## Aux + +# Use `eliomdep -sort' only in OCaml>4 +ifeq ($(shell ocamlc -version|cut -c1),4) +eliomdep=$(shell $(ELIOMDEP) $(1) -ppx -sort $(2) $(filter %.eliom %.ml,$(3)))) +else +eliomdep=$(3) +endif +objs=$(patsubst %.ml,$(1)/%.$(2),$(patsubst %.eliom,$(1)/%.$(2),$(filter %.eliom %.ml,$(3)))) +depsort=$(call objs,$(1),$(2),$(call eliomdep,$(3),$(4),$(5))) + +##---------------------------------------------------------------------- +## Config files + +FINDLIB_PACKAGES=$(patsubst %,\,$(SERVER_PACKAGES)) +EDIT_WARNING=DON\'T EDIT THIS FILE! It is generated from $(PROJECT_NAME).conf.in, edit that one, or the variables in Makefile.options +SED_ARGS := -e "/^ *%%%/d" +SED_ARGS += -e "s|%%PROJECT_NAME%%|$(PROJECT_NAME)|g" +SED_ARGS += -e "s|%%DATABASE_NAME%%|$(DATABASE_NAME)|g" +SED_ARGS += -e "s|%%DATABASE_USER%%|$(DATABASE_USER)|g" +SED_ARGS += -e "s|%%CMDPIPE%%|%%PREFIX%%$(CMDPIPE)|g" +SED_ARGS += -e "s|%%LOGDIR%%|%%PREFIX%%$(LOGDIR)|g" +SED_ARGS += -e "s|%%DATADIR%%|%%PREFIX%%$(DATADIR)|g" +SED_ARGS += -e "s|%%PERSISTENT_DATA_BACKEND%%|$(PERSISTENT_DATA_BACKEND)|g" +SED_ARGS += -e "s|%%LIBDIR%%|%%PREFIX%%$(LIBDIR)|g" +SED_ARGS += -e "s|%%WARNING%%|$(EDIT_WARNING)|g" +SED_ARGS += -e "s|%%PACKAGES%%|$(FINDLIB_PACKAGES)|g" +SED_ARGS += -e "s|%%ELIOMSTATICDIR%%|%%PREFIX%%$(ELIOMSTATICDIR)|g" +ifeq ($(DEBUG),yes) + SED_ARGS += -e "s|%%DEBUGMODE%%|\|g" +else + SED_ARGS += -e "s|%%DEBUGMODE%%||g" +endif + +LOCAL_SED_ARGS := -e "s|%%PORT%%|$(TEST_PORT)|g" +LOCAL_SED_ARGS += -e "s|%%STATICDIR%%|$(LOCAL_STATIC)|g" +LOCAL_SED_ARGS += -e "s|%%USERGROUP%%||g" +GLOBAL_SED_ARGS := -e "s|%%PORT%%|$(PORT)|g" +GLOBAL_SED_ARGS += -e "s|%%STATICDIR%%|%%PREFIX%%$(STATICDIR)|g" +ifeq ($(WWWUSER)$(WWWGROUP),) + GLOBAL_SED_ARGS += -e "s|%%USERGROUP%%||g" +else + GLOBAL_SED_ARGS += -e "s|%%USERGROUP%%|$(WWWUSER)$(WWWGROUP)|g" +endif + +$(TEST_PREFIX)${ETCDIR}/${PROJECT_NAME}.conf: ${PROJECT_NAME}.conf.in Makefile.options | $(TEST_PREFIX)$(ETCDIR) + sed $(SED_ARGS) $(GLOBAL_SED_ARGS) $< | sed -e "s|%%PREFIX%%|$(PREFIX)|g" > $@ +$(TEST_PREFIX)${ETCDIR}/${PROJECT_NAME}-test.conf: ${PROJECT_NAME}.conf.in Makefile.options | $(TEST_PREFIX)$(ETCDIR) + sed $(SED_ARGS) $(LOCAL_SED_ARGS) $< | sed -e "s|%%PREFIX%%|$(TEST_PREFIX)|g" > $@ + +##---------------------------------------------------------------------- +## Server side compilation + +SERVER_INC := ${addprefix -package ,${SERVER_PACKAGES}} + +${ELIOM_TYPE_DIR}/%.type_mli: %.eliom + ${ELIOMC} -infer ${SERVER_INC} $< + +$(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cma: $(call objs,$(ELIOM_SERVER_DIR),cmo,$(SERVER_FILES)) | $(TEST_PREFIX)$(LIBDIR) + ${ELIOMC} -a -o $@ $(GENERATE_DEBUG) \ + $(call depsort,$(ELIOM_SERVER_DIR),cmo,-server,$(SERVER_INC),$(SERVER_FILES)) + +$(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cmxa: $(call objs,$(ELIOM_SERVER_DIR),cmx,$(SERVER_FILES)) | $(TEST_PREFIX)$(LIBDIR) + ${ELIOMOPT} -a -o $@ $(GENERATE_DEBUG) \ + $(call depsort,$(ELIOM_SERVER_DIR),cmx,-server,$(SERVER_INC),$(SERVER_FILES)) + +%.cmxs: %.cmxa + $(ELIOMOPT) -shared -linkall -o $@ $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmi: %.mli + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmi: %.eliomi + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmo: %.ml + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< +${ELIOM_SERVER_DIR}/%.cmo: %.eliom + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmx: %.ml + ${ELIOMOPT} -c ${SERVER_INC} $(GENERATE_DEBUG) $< +${ELIOM_SERVER_DIR}/%.cmx: %.eliom + ${ELIOMOPT} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + + +##---------------------------------------------------------------------- +## Client side compilation + +CLIENT_LIBS := ${addprefix -package ,${CLIENT_PACKAGES}} +CLIENT_INC := ${addprefix -package ,${CLIENT_PACKAGES}} + +CLIENT_OBJS := $(filter %.eliom %.ml, $(CLIENT_FILES)) +CLIENT_OBJS := $(patsubst %.eliom,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_OBJS}) +CLIENT_OBJS := $(patsubst %.ml,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_OBJS}) + +$(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME).js: $(call objs,$(ELIOM_CLIENT_DIR),cmo,$(CLIENT_FILES)) | $(TEST_PREFIX)$(ELIOMSTATICDIR) + ${JS_OF_ELIOM} -o $@ $(GENERATE_DEBUG) $(CLIENT_INC) $(DEBUG_JS) \ + $(call depsort,$(ELIOM_CLIENT_DIR),cmo,-client,$(CLIENT_INC),$(CLIENT_FILES)) + +${ELIOM_CLIENT_DIR}/%.cmi: %.mli + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +${ELIOM_CLIENT_DIR}/%.cmo: %.eliom + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< +${ELIOM_CLIENT_DIR}/%.cmo: %.ml + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +${ELIOM_CLIENT_DIR}/%.cmi: %.eliomi + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +##---------------------------------------------------------------------- +## Dependencies + +include .depend + +.depend: $(patsubst %,$(DEPSDIR)/%.server,$(SERVER_FILES)) $(patsubst %,$(DEPSDIR)/%.client,$(CLIENT_FILES)) + cat $^ > $@ + +$(DEPSDIR)/%.server: % | $(DEPSDIR) + $(ELIOMDEP) -server -ppx $(SERVER_INC) $< > $@ + +$(DEPSDIR)/%.client: % | $(DEPSDIR) + $(ELIOMDEP) -client -ppx $(CLIENT_INC) $< > $@ + +$(DEPSDIR): + mkdir $@ + +##---------------------------------------------------------------------- +## Clean up + +clean: + -rm -f *.cm[ioax] *.cmxa *.cmxs *.o *.a *.annot + -rm -f *.type_mli + -rm -f ${PROJECT_NAME}.js + -rm -rf ${ELIOM_CLIENT_DIR} ${ELIOM_SERVER_DIR} + +distclean: clean + -rm -rf $(TEST_PREFIX) $(DEPSDIR) .depend diff --git a/8.0/manual/files/tutorial/chapter2/Makefile.options b/8.0/manual/files/tutorial/chapter2/Makefile.options new file mode 100644 index 00000000..845db57b --- /dev/null +++ b/8.0/manual/files/tutorial/chapter2/Makefile.options @@ -0,0 +1,61 @@ + +#---------------------------------------------------------------------- +# SETTINGS FOR THE ELIOM PROJECT tuto +#---------------------------------------------------------------------- + +PROJECT_NAME := tuto + +# Source files for the server +SERVER_FILES := $(wildcard *.eliomi *.eliom) +# Source files for the client +CLIENT_FILES := $(wildcard *.eliomi *.eliom) + +# OCamlfind packages for the server +SERVER_PACKAGES := lwt.ppx js_of_ocaml.deriving.ppx +# OCamlfind packages for the client +CLIENT_PACKAGES := lwt.ppx js_of_ocaml.ppx js_of_ocaml.deriving.ppx + +# Directory with files to be statically served +LOCAL_STATIC = static + +# The backend for persistent data. Can be dbm or sqlite. +PERSISTENT_DATA_BACKEND = dbm + +# Debug application (yes/no): Debugging info in compilation, +# JavaScript, ocsigenserver +DEBUG := no + +# User to run server with (make run.*) +WWWUSER := www-data +WWWGROUP := www-data + +# Port for running the server (make run.*) +PORT := 80 + +# Port for testing (make test.*) +TEST_PORT := 8080 + +# Root of installation (must end with /) +PREFIX := /usr/local/ + +# Local folder for make test.* (must end with /) +# Do not add files manually in this directory. +# It is just here to test your installation before installing in / +TEST_PREFIX := local/ + +# The installation tree (relative to $(PREFIX) when +# installing/running or $(TEST_PREFIX) when testing). +# Configuration file $(PROJECT_NAME).conf +ETCDIR := etc/${PROJECT_NAME} +# Project's library $(PROJECT_NAME).cma (cmxs) +LIBDIR := lib/${PROJECT_NAME} +# Command pipe, eg. $ echo reload > $(INSTALL_PREFIX)$(CMDPIPE) +CMDPIPE := var/run/${PROJECT_NAME}-cmd +# Ocsigenserver's logging files +LOGDIR := var/log/${PROJECT_NAME} +# Ocsigenserver's persistent data files +DATADIR := var/data/${PROJECT_NAME} +# Copy of $(LOCAL_STATIC) +STATICDIR := var/www/${PROJECT_NAME}/static +# Project's JavaScript file +ELIOMSTATICDIR := var/www/${PROJECT_NAME}/eliom diff --git a/8.0/manual/files/tutorial/chapter2/static/css/tuto.css b/8.0/manual/files/tutorial/chapter2/static/css/tuto.css new file mode 100644 index 00000000..b71fa50a --- /dev/null +++ b/8.0/manual/files/tutorial/chapter2/static/css/tuto.css @@ -0,0 +1,3 @@ +* { + font-family: sans-serif; +} diff --git a/8.0/manual/files/tutorial/chapter2/tuto.conf.in b/8.0/manual/files/tutorial/chapter2/tuto.conf.in new file mode 100644 index 00000000..13a8a1fd --- /dev/null +++ b/8.0/manual/files/tutorial/chapter2/tuto.conf.in @@ -0,0 +1,28 @@ +%%% This is the template for your configuration file. The %%VALUES%% below are +%%% taken from the Makefile to generate the actual configuration files. +%%% This comment will disappear. + + + + %%PORT%% + %%% Only set for running, not for testing + %%USERGROUP%% + %%LOGDIR%% + %%DATADIR%% + utf-8 + %%% Only set when debugging + %%DEBUGMODE%% + %%CMDPIPE%% + + + + %%% This will include the packages defined as SERVER_PACKAGES in your Makefile: + %%PACKAGES%% + + + + + + + + diff --git a/8.0/manual/files/tutorial/chapter2/tuto.eliom b/8.0/manual/files/tutorial/chapter2/tuto.eliom new file mode 100644 index 00000000..1b2bafab --- /dev/null +++ b/8.0/manual/files/tutorial/chapter2/tuto.eliom @@ -0,0 +1,210 @@ + +(* =============================Eliom references============================= *) + +let username = + Eliom_reference.eref ~scope:Eliom_common.default_session_scope None + +let wrong_pwd = + Eliom_reference.eref ~scope:Eliom_common.request_scope false + + +(* =================================Services================================= *) + +let main_service = Eliom_service.create + ~path:(Eliom_service.Path [""]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) + () + +let user_service = Eliom_service.create + ~path:(Eliom_service.Path ["users"]) + ~meth:(Eliom_service.Get Eliom_parameter.(suffix (string "name"))) + () + +let redir_service = Eliom_service.create + ~path:(Eliom_service.Path ["redir"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) + () + +let connection_service = Eliom_service.create + ~path:(Eliom_service.No_path) + ~meth:(Eliom_service.Post ( + Eliom_parameter.unit, + Eliom_parameter.(string "name" ** string "password"))) + () + +let disconnection_service = + Eliom_service.attach_post + ~fallback:redir_service + ~post_params:Eliom_parameter.unit + () + +let new_user_form_service = Eliom_service.create + ~path:(Eliom_service.Path ["registration"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) + () + +let account_confirmation_service = + Eliom_service.attach_post + ~fallback:new_user_form_service + ~post_params:Eliom_parameter.(string "name" ** string "password") + () + +(* ===========================Usernames/Passwords============================ *) + +let users = ref [("Calvin", "123"); ("Hobbes", "456")] + +let user_links = Eliom_content.Html.D.( + let link_of_user = fun (name, _) -> + li [a ~service:user_service [pcdata name] name] + in + fun () -> ul (List.map link_of_user !users) +) + +let check_pwd name pwd = + try List.assoc name !users = pwd with Not_found -> false + + +(* =================================Widgets================================== *) + +let account_form = Eliom_content.Html.D.( + Form.post_form ~service:account_confirmation_service + (fun (name1, name2) -> + [fieldset + [label [pcdata "login: "]; + Form.input ~input_type:`Text ~name:name1 Form.string; + br (); + label [pcdata "password: "]; + Form.input ~input_type:`Password ~name:name2 Form.string; + br (); + Form.input ~input_type:`Submit ~value:"Create Account" Form.string + ]]) () +) + +let disconnect_box () = Eliom_content.Html.D.( + Form.post_form disconnection_service + (fun _ -> + [fieldset [Form.input ~input_type:`Submit ~value:"Log out" Form.string]] + ) + () + |> Lwt.return +) + +(* =========================Authentification Handler========================= *) + +let authenticated_handler g f = Eliom_content.Html.D.( + let handle_anonymous _get _post = + let%lwt wp = Eliom_reference.get wrong_pwd in + let connection_box = + let l = [ + Form.post_form ~service:connection_service + (fun (name1, name2) -> + [fieldset + [label [pcdata "login: "]; + Form.input ~input_type:`Text ~name:name1 Form.string; + br (); + label [pcdata "password: "]; + Form.input ~input_type:`Password ~name:name2 Form.string; + br (); + Form.input ~input_type:`Submit ~value:"Connect" Form.string + ]]) (); + p [a new_user_form_service + [pcdata "Create an account"] ()]] + in + div (if wp then p [pcdata "Wrong login or password"]::l else l) + in + g + (html + (head (title (pcdata "")) []) + (body [h1 [pcdata "Please connect"]; + connection_box;])) + in + Eliom_tools.wrap_handler + (fun () -> Eliom_reference.get username) + handle_anonymous (* Called when [username] is [None] *) + f (* Called [username] contains something *) +) +(* ===========================Services Registration========================== *) + +let () = Eliom_content.Html.D.( + + Eliom_registration.Html.register + ~service:main_service + (authenticated_handler Lwt.return (fun name () () -> + let%lwt cf = disconnect_box () in + Lwt.return + (html (head (title (pcdata "")) []) + (body [h1 [pcdata ("Hello " ^ name)]; + cf; + user_links ()])))); + + Eliom_registration.Any.register + ~service:user_service + (authenticated_handler Eliom_registration.Html.send (fun _ name () -> + if List.mem_assoc name !users then + begin + let%lwt cf = disconnect_box () in + Eliom_registration.Html.send + (html (head (title (pcdata name)) []) + (body [h1 [pcdata name]; + cf; + p [a ~service:main_service [pcdata "Home"] ()]])) + end + else + Eliom_registration.Html.send + ~code:404 + (html (head (title (pcdata "404")) []) + (body [h1 [pcdata "404"]; + p [pcdata "That page does not exist"]])) + )); + + Eliom_registration.Action.register + ~service:connection_service + (fun () (name, password) -> + if check_pwd name password + then Eliom_reference.set username (Some name) + else Eliom_reference.set wrong_pwd true); + + Eliom_registration.Redirection.register + ~service:redir_service + (fun () () -> Lwt.return (Eliom_registration.Redirection main_service)); + + Eliom_registration.Action.register + ~service:disconnection_service + (fun () () -> Eliom_state.discard ~scope:Eliom_common.default_session_scope ()); + + Eliom_registration.Html.register + ~service:new_user_form_service + (fun () () -> + Lwt.return + (html (head (title (pcdata "")) []) + (body [h1 [pcdata "Create an account"]; + account_form; + ]))); + + Eliom_registration.Html.register + ~service:account_confirmation_service + (fun () (name, pwd) -> + let create_account_service = + Eliom_service.attach_get + ~fallback:main_service + ~get_params:Eliom_parameter.unit + ~timeout:60. + ~max_use:1 + () + in + let _ = Eliom_registration.Action.register + ~service:create_account_service + (fun () () -> + users := (name, pwd)::!users; + Lwt.return ()) + in + Lwt.return + (html + (head (title (pcdata "")) []) + (body + [h1 [pcdata "Confirm account creation for "; pcdata name]; + p [a ~service:create_account_service [pcdata "Yes"] (); + pcdata " "; + a ~service:main_service [pcdata "No"] ()] + ]))); +) diff --git a/8.0/manual/files/tutorial/chapter3/README b/8.0/manual/files/tutorial/chapter3/README new file mode 100644 index 00000000..37d111c1 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/README @@ -0,0 +1 @@ +This code isn't maintened anymore and might not work. Please go to https://github.com/ocsigen/graffiti/simple for the latest working versions. diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/Makefile b/8.0/manual/files/tutorial/chapter3/multigraffiti/Makefile new file mode 100644 index 00000000..675ba493 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti/Makefile @@ -0,0 +1,68 @@ + +APP_NAME := graffiti +SERVER_PACKAGE := cairo, unix +CLIENT_PACKAGE := + +SERVER_FILES = common.ml server.ml ${wildcard *.eliom} +CLIENT_FILES = common.ml client.ml ${wildcard *.eliom} + +PORT := 8080 + +OCLOSURE := YES + +### + +all: local byte opt conf + +LIBDIR := local/var/www/lib +JSDIR := local/var/www/static + +include Makefile.common + +distclean:: + -rm -rf css/closure + -rm -rf local + -rm -f graffiti.conf + +#### + +DIRS = local/var/lib/ocsidbm local/var/run local/var/log \ + local/var/www/static local/var/www/lib local/etc \ + local/var/www/static/graffiti_saved + +local: ${DIRS} local/var/www/static/css local/var/www/static/images css/closure + +local/var/www/static/css: + ln -fs $(shell pwd)/css local/var/www/static/css + +local/var/www/static/images: + ln -fs $(shell pwd)/images local/var/www/static/images + +css/closure: + ln -fs $(shell ocamlfind query oclosure)/closure/goog/css/ css/closure + +${DIRS}: + mkdir -p $@ + +conf: graffiti.conf + +graffiti.conf: graffiti.conf.in + sed -e "s|%%SRC%%|$(shell pwd)|" \ + -e "s|%%LIBDIR%%|${LIBDIR}|" \ + -e "s|%%JSDIR%%|${JSDIR}|" \ + -e "s|%%PORT%%|${PORT}|" \ + $< > $@ + +run.local: graffiti.conf + ocsigenserver -c graffiti.conf + +run.opt.local: graffiti.conf + ocsigenserver.opt -c graffiti.conf + +#### + +install:: + install -d -m 775 ${INSTALL_USER} ${INSTALL_DIR}/static/css + install -m 664 ${INSTALL_USER} css/*.css ${INSTALL_DIR}/static/css + cd $(shell ocamlfind query oclosure)/closure/goog/css/ && \ + find -type f -exec install -D -m 664 {} ${INSTALL_DIR}/static/css/closure/{} \; diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/Makefile.common b/8.0/manual/files/tutorial/chapter3/multigraffiti/Makefile.common new file mode 100644 index 00000000..76143752 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti/Makefile.common @@ -0,0 +1,165 @@ +## Sample Makefile for eliom application. + +APP_NAME ?= $(error Please define the APP_NAME variable) + +## Package required to build the server part of the application + +SERVER_PACKAGE ?= + +## Package to be linked in the client part + +CLIENT_PACKAGE ?= + +## Source files for the server part + +SERVER_FILES ?= ${wildcard *.eliom} + +## Source files for the client part + +CLIENT_FILES ?= ${wildcard *.eliom} + +## Needed binaries + +ELIOMC ?= eliomc +ELIOMOPT ?= eliomopt +ELIOMDEP ?= eliomdep +JS_OF_ELIOM ?= js_of_eliom +OCLOSURE_REQ ?= oclosure_req + +## Where to put intermediate object files. +## - ELIOM_{SERVER,CLIENT}_DIR must be distinct +## - ELIOM_CLIENT_DIR mustn't be the local dir. +## - ELIOM_SERVER_DIR could be ".", but you need to +## remove it from the "clean" rules... + +ELIOM_SERVER_DIR ?= _server +ELIOM_CLIENT_DIR ?= _client +ELIOM_TYPE_DIR ?= ${ELIOM_SERVER_DIR} + +export ELIOM_SERVER_DIR +export ELIOM_CLIENT_DIR +export ELIOM_TYPE_DIR + +#### + +LIBDIR ?= . + +byte:: ${LIBDIR}/${APP_NAME}.cma +opt:: ${LIBDIR}/${APP_NAME}.cmxs + +JSDIR ?= . + +ifneq (${CLIENT_FILES},) +byte:: ${JSDIR}/${APP_NAME}.js +opt:: ${JSDIR}/${APP_NAME}.js + +OCLOSURE ?= NO + +ifeq ($(OCLOSURE),YES) +CLIENT_PACKAGE += oclosure +byte:: ${JSDIR}/${APP_NAME}_oclosure.js +opt:: ${JSDIR}/${APP_NAME}_oclosure.js +endif +endif + +#### Server side compilation ####### + +SERVER_INC := ${addprefix -package ,${SERVER_PACKAGE}} + +SERVER_OBJS := $(patsubst %.eliom,${ELIOM_SERVER_DIR}/%.cmo, ${SERVER_FILES}) +SERVER_OBJS := $(patsubst %.ml,${ELIOM_SERVER_DIR}/%.cmo, ${SERVER_OBJS}) + +${LIBDIR}/${APP_NAME}.cma: ${SERVER_OBJS} + ${ELIOMC} ${ELIOMCFLAGS} -a -o $@ $^ +${LIBDIR}/${APP_NAME}.cmxa: ${SERVER_OBJS:.cmo=.cmx} + ${ELIOMOPT} ${ELIOMOPTFLAGS} -a -o $@ $^ + +${ELIOM_TYPE_DIR}/%.type_mli: %.eliom + ${ELIOMC} ${ELIOMCFLAGS} -infer ${SERVER_INC} $< + +${ELIOM_SERVER_DIR}/%.cmi: %.mli + ${ELIOMC} ${ELIOMCFLAGS} -c ${SERVER_INC} $< + +${ELIOM_SERVER_DIR}/%.cmo: %.ml + ${ELIOMC} ${ELIOMCFLAGS} -c ${SERVER_INC} $< +${ELIOM_SERVER_DIR}/%.cmo: %.eliom + ${ELIOMC} ${ELIOMCFLAGS} -c -noinfer ${SERVER_INC} $< + +${ELIOM_SERVER_DIR}/%.cmx: %.ml + ${ELIOMOPT} ${ELIOMOPTFLAGS} -c ${SERVER_INC} $< +${ELIOM_SERVER_DIR}/%.cmx: %.eliom + ${ELIOMOPT} ${ELIOMOPTFLAGS} -c -noinfer ${SERVER_INC} $< + +%.cmxs: %.cmxa + $(ELIOMOPT) ${ELIOMOPTFLAGS} -shared -linkall -o $@ $< + +##### Client side compilation #### + +CLIENT_LIBS := ${addprefix -package ,${CLIENT_PACKAGE}} +CLIENT_INC := ${addprefix -package ,${CLIENT_PACKAGE}} + +CLIENT_OBJS := $(patsubst %.eliom,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_FILES}) +CLIENT_OBJS := $(patsubst %.ml,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_OBJS}) + +${JSDIR}/${APP_NAME}.js: ${CLIENT_OBJS} + ${JS_OF_ELIOM} -jsopt -pretty -jsopt -noinline -o $@ ${CLIENT_LIBS} $^ + +${ELIOM_CLIENT_DIR}/%.cmi: %.mli + ${JS_OF_ELIOM} -c ${CLIENT_INC} $< + +${ELIOM_CLIENT_DIR}/%.cmo: %.eliom + ${JS_OF_ELIOM} -c ${CLIENT_INC} $< +${ELIOM_CLIENT_DIR}/%.cmo: %.ml + ${JS_OF_ELIOM} -c ${CLIENT_INC} $< + +### O'Closure compilation ### + +${JSDIR}/$(APP_NAME)_oclosure.js: ${JSDIR}/$(APP_NAME).js + ${OCLOSURE_REQ} $^ + +############ + +## Clean up + +clean:: + -rm -f *.cm[ioax] *.cmxa *.cmxs *.o *.a *.annot + -rm -f *.type_mli + -rm -f .depend + -rm -f ${JSDIR}/${APP_NAME}.js ${JSDIR}/${APP_NAME}_oclosure.js + -rm -rf ${ELIOM_CLIENT_DIR} ${ELIOM_SERVER_DIR} + +distclean:: clean + -find \( -name \*~ -or -name \#\* -or -name .\#\* \) -delete + + +## Dependencies + +depend: .depend +.depend:: ${SERVER_FILES} ${CLIENT_FILES} + $(ELIOMDEP) -server ${SERVER_INC} ${SERVER_FILES} > .depend + $(ELIOMDEP) -client ${CLIENT_INC} ${CLIENT_FILES} >> .depend + +## Warning: Dependencies towards *.eliom are not handled by eliomdep yet. +## Add manually dependencies between cmo and cmx files here, +## for example: +## oneeliomfile.cmo: anothereliomfile.cmo +## oneeliomfile.cmx: anothereliomfile.cmx + +-include .depend + + +#### + +INSTALL_USER ?= -o www-data -g www-data +INSTALL_DIR ?= local/var/www/${APP_NAME} + +install:: + install -d -m 775 ${INSTALL_USER} ${INSTALL_DIR}/lib + install -m 664 ${INSTALL_USER} ${LIBDIR}/${APP_NAME}.cma ${LIBDIR}/${APP_NAME}.cmxs ${INSTALL_DIR}/lib/ + install -d -m 775 ${INSTALL_USER} ${INSTALL_DIR}/static +ifneq (${CLIENT_FILES},) + install -m 664 ${INSTALL_USER} ${JSDIR}/${APP_NAME}.js ${INSTALL_DIR}/static/ +ifeq ($(OCLOSURE),YES) + install -m 664 ${INSTALL_USER} ${JSDIR}/${APP_NAME}_oclosure.js ${INSTALL_DIR}/static/ +endif +endif diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/client.ml b/8.0/manual/files/tutorial/chapter3/multigraffiti/client.ml new file mode 100644 index 00000000..019b1dcb --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti/client.ml @@ -0,0 +1,80 @@ +open Eliom_content +open Common +open Eliom_lib.Lwt_ops + +let draw ctx (color, size, (x1, y1), (x2, y2)) = + ctx##strokeStyle <- (Js.string color); + ctx##lineWidth <- float size; + ctx##beginPath(); + ctx##moveTo(float x1, float y1); + ctx##lineTo(float x2, float y2); + ctx##stroke() + +(* type containing all informations we need to stop interaction + inside the page *) +type drawing_canceller = + { drawing_thread : unit Lwt.t; + (* the thread reading messages from the bus *) + drawing_event_thread : unit Lwt.t; + (* the thread handling mouse events *) + } + +let stop_drawing { drawing_thread; drawing_event_thread } = + Lwt.cancel drawing_thread; + (* cancelling this thread also closes the bus *) + Lwt.cancel drawing_event_thread + +let launch_client_canvas bus image_elt canvas_elt = + let canvas = Html5.To_dom.of_canvas canvas_elt in + let ctx = canvas##getContext (Dom_html._2d_) in + ctx##lineCap <- Js.string "round"; + + let img = Html5.To_dom.of_img image_elt in + let copy_image () = ctx##drawImage(img, 0., 0.) in + if Js.to_bool (img##complete) + then copy_image () + else img##onload <- Dom_html.handler + (fun ev -> copy_image (); Js._false); + + (* Size of the brush *) + let slider = jsnew Goog.Ui.slider(Js.null) in + slider##setMinimum(1.); + slider##setMaximum(80.); + slider##setValue(10.); + slider##setMoveToPointEnabled(Js._true); + slider##render(Js.some Dom_html.document##body); + + (* The color palette: *) + let pSmall = + jsnew Goog.Ui.hsvPalette(Js.null, Js.null, + Js.some (Js.string "goog-hsv-palette-sm")) + in + pSmall##render(Js.some Dom_html.document##body); + + let x = ref 0 and y = ref 0 in + let set_coord ev = + let x0, y0 = Dom_html.elementClientPosition canvas in + x := ev##clientX - x0; y := ev##clientY - y0 in + let compute_line ev = + let oldx = !x and oldy = !y in + set_coord ev; + let color = Js.to_string (pSmall##getColor()) in + let size = int_of_float (Js.to_float (slider##getValue())) in + (color, size, (oldx, oldy), (!x, !y)) + in + let line ev = + let v = compute_line ev in + let _ = Eliom_bus.write bus v in + draw ctx v; + Lwt.return () + in + let t = Lwt_stream.iter (draw ctx) (Eliom_bus.stream bus) in + let drawing_event_thread = + let open Lwt_js_events in + mousedowns canvas + (fun ev _ -> set_coord ev; line ev >>= fun () -> + Lwt.pick [mousemoves Dom_html.document (fun x _ -> line x); + mouseup Dom_html.document >>= line]) + in + { drawing_thread = t; + drawing_event_thread = drawing_event_thread } diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/common.ml b/8.0/manual/files/tutorial/chapter3/multigraffiti/common.ml new file mode 100644 index 00000000..8d256e01 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti/common.ml @@ -0,0 +1,4 @@ +type messages = (string * int * (int * int) * (int * int)) deriving (Json) + +let width = 700 +let height = 400 diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/css/common.css b/8.0/manual/files/tutorial/chapter3/multigraffiti/css/common.css new file mode 100644 index 00000000..02d7073c --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti/css/common.css @@ -0,0 +1,41 @@ +/* + * Copyright 2009 The Closure Library Authors. All Rights Reserved. + * + * Use of this source code is governed by an Apache 2.0 License. + * See the COPYING file for details. + */ + +/* + * Cross-browser implementation of the "display: inline-block" CSS property. + * See http://www.w3.org/TR/CSS21/visuren.html#propdef-display for details. + * Tested on IE 6 & 7, FF 1.5 & 2.0, Safari 2 & 3, Webkit, and Opera 9. + * + * @author attila@google.com (Attila Bodis) + */ + +/* + * Default rule; only Safari, Webkit, and Opera handle it without hacks. + */ +.goog-inline-block { + position: relative; + display: -moz-inline-box; /* Ignored by FF3 and later. */ + display: inline-block; +} + +/* + * Pre-IE7 IE hack. On IE, "display: inline-block" only gives the element + * layout, but doesn't give it inline behavior. Subsequently setting display + * to inline does the trick. + */ +* html .goog-inline-block { + display: inline; +} + +/* + * IE7-only hack. On IE, "display: inline-block" only gives the element + * layout, but doesn't give it inline behavior. Subsequently setting display + * to inline does the trick. + */ +*:first-child+html .goog-inline-block { + display: inline; +} diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/css/graffiti.css b/8.0/manual/files/tutorial/chapter3/multigraffiti/css/graffiti.css new file mode 100644 index 00000000..5768a851 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti/css/graffiti.css @@ -0,0 +1,21 @@ +body { + width: 750px; +} + +canvas { + border: solid 1px #aaaaaa; +} + +div.goog-slider-vertical, +DIV.goog-slider-vertical { + position: absolute; + top: 100px; + left: 740px; +} + +div.goog-hsv-palette-sm, +DIV.goog-hsv-palette-sm { + position: absolute; + top: 100px; + left: 780px; +} diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/css/hsvpalette.css b/8.0/manual/files/tutorial/chapter3/multigraffiti/css/hsvpalette.css new file mode 100644 index 00000000..d3ae7f67 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti/css/hsvpalette.css @@ -0,0 +1,179 @@ +/* + * Copyright 2008 The Closure Library Authors. All Rights Reserved. + * + * Use of this source code is governed by an Apache 2.0 License. + * See the COPYING file for details. + */ + +/* + * All Rights Reserved. + * + * Styles for the HSV color palette. + * + * @author smcbride@google.com (Sean McBride) + * @author arv@google.com (Erik Arvidsson) + * @author manucornet@google.com (Manu Cornet) + */ + +.goog-hsv-palette, +.goog-hsv-palette-sm { + position: relative; + border: 1px solid #999; + border-color: #ccc #999 #999 #ccc; + width: 400px; + height: 276px; +} + +.goog-hsv-palette-sm { + width: 182px; + height: 185px; +} + +.goog-hsv-palette label span, +.goog-hsv-palette-sm label span { + display: none; +} + +.goog-hsv-palette-hs-backdrop, +.goog-hsv-palette-sm-hs-backdrop, +.goog-hsv-palette-hs-image, +.goog-hsv-palette-sm-hs-image { + position: absolute; + top: 10px; + left: 10px; + width: 256px; + height: 256px; + border: 1px solid #999; +} + +.goog-hsv-palette-sm-hs-backdrop, +.goog-hsv-palette-sm-hs-image { + top: 45px; + width: 128px; + height: 128px; +} + +.goog-hsv-palette-hs-backdrop, +.goog-hsv-palette-sm-hs-backdrop { + background-color: #000; +} + +.goog-hsv-palette-hs-image, +.goog-hsv-palette-v-image, +.goog-hsv-palette-hs-handle, +.goog-hsv-palette-v-handle { + background-image: url(../images/hsv-sprite.png); +} + +.goog-hsv-palette-noalpha .goog-hsv-palette-hs-image, +.goog-hsv-palette-noalpha .goog-hsv-palette-v-image, +.goog-hsv-palette-noalpha .goog-hsv-palette-hs-handle, +.goog-hsv-palette-noalpha .goog-hsv-palette-v-handle { + background-image: url(../images/hsv-sprite.gif); +} + +.goog-hsv-palette-sm-hs-image, +.goog-hsv-palette-sm-v-image, +.goog-hsv-palette-sm-hs-handle, +.goog-hsv-palette-sm-v-handle { + background-image: url(../images/hsv-sprite-sm.png); +} + +.goog-hsv-palette-noalpha .goog-hsv-palette-sm-hs-image, +.goog-hsv-palette-noalpha .goog-hsv-palette-sm-v-image, +.goog-hsv-palette-noalpha .goog-hsv-palette-sm-hs-handle, +.goog-hsv-palette-noalpha .goog-hsv-palette-sm-v-handle { + background-image: url(../images/hsv-sprite-sm.gif); +} + +.goog-hsv-palette-hs-image, +.goog-hsv-palette-sm-hs-image { + background-position: 0 0; +} + +.goog-hsv-palette-hs-handle, +.goog-hsv-palette-sm-hs-handle { + position: absolute; + left: 5px; + top: 5px; + width: 11px; + height: 11px; + overflow: hidden; + background-position: 0 -256px; +} + +.goog-hsv-palette-sm-hs-handle { + top: 40px; + background-position: 0 -128px; +} + +.goog-hsv-palette-v-image, +.goog-hsv-palette-sm-v-image { + position: absolute; + top: 10px; + left: 286px; + width: 19px; + height: 256px; + border: 1px solid #999; + background-color: #fff; + background-position: -256px 0; +} + +.goog-hsv-palette-sm-v-image { + top: 45px; + left: 155px; + width: 9px; + height: 128px; + background-position: -128px 0; +} + +.goog-hsv-palette-v-handle, +.goog-hsv-palette-sm-v-handle { + position: absolute; + top: 5px; + left: 279px; + width: 35px; + height: 11px; + background-position: -11px -256px; + overflow: hidden; +} + +.goog-hsv-palette-sm-v-handle { + top: 40px; + left: 148px; + width: 25px; + background-position: -11px -128px; +} + +.goog-hsv-palette-swatch, +.goog-hsv-palette-sm-swatch { + position: absolute; + top: 10px; + right: 10px; + width: 65px; + height: 65px; + border: 1px solid #999; + background-color: #fff; +} + +.goog-hsv-palette-sm-swatch { + top: 10px; + right: auto; + left: 10px; + width: 30px; + height: 22px; +} + +.goog-hsv-palette-input, +.goog-hsv-palette-sm-input { + position: absolute; + top: 85px; + right: 10px; + width: 65px; +} + +.goog-hsv-palette-sm-input { + top: 10px; + right: auto; + left: 50px; +} diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/css/slider.css b/8.0/manual/files/tutorial/chapter3/multigraffiti/css/slider.css new file mode 100644 index 00000000..ddd07482 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti/css/slider.css @@ -0,0 +1,45 @@ +.goog-slider-vertical, +.goog-slider-horizontal { +background-color: ThreeDFace; +position: relative; +overflow: hidden; +} + +.goog-slider-vertical { +height: 300px; +width: 20px; +} + +.goog-slider-horizontal { +height: 20px; +width: 400px; +} + +.goog-slider-thumb { +position: absolute; +background-color: ThreeDShadow; +overflow: hidden; +} + +.goog-slider-vertical .goog-slider-thumb { +left: 0; +height: 20px; +width: 100%; +} + +.goog-slider-horizontal .goog-slider-thumb { +top: 0; +width: 20px; +height: 100%; +} +#s-h { +margin-bottom: 2em; +} +strong { +display: block; +margin-bottom: 3px; +} +#out1, #out2 { +color: #999; +margin-left: 1em; +} diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/graffiti.conf.in b/8.0/manual/files/tutorial/chapter3/multigraffiti/graffiti.conf.in new file mode 100644 index 00000000..89f88db3 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti/graffiti.conf.in @@ -0,0 +1,35 @@ + + + + + %%PORT%% + + %%SRC%%/local/var/log + %%SRC%%/local/var/run + %%SRC%%/local/var/run/ocsigenserver_command + + utf-8 + + + + + + + + + + + + + + + + + + %%SRC%%/%%JSDIR%% + + + + + + diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/graffiti.eliom b/8.0/manual/files/tutorial/chapter3/multigraffiti/graffiti.eliom new file mode 100644 index 00000000..b0de220e --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti/graffiti.eliom @@ -0,0 +1,36 @@ +{shared{ + open Eliom_content.Html5.D + open Common +}} +{client{ + open Client +}} +open Server + +let start_drawing name image canvas = + let bus = get_bus name in + ignore {unit{ + let canceller = launch_client_canvas %bus %image %canvas in + Eliom_client.onunload (fun () -> stop_drawing canceller) + }} + +let counter = ref 0 + +let () = Connected.register ~service:multigraffiti_service + !% (fun name () username -> + (* Some browsers won't reload the image, so we force + them by changing the url each time. *) + incr counter; + let image = + img ~alt:name + ~src:(make_uri + ~service:imageservice (name,!counter)) () in + let canvas = + canvas ~a:[ a_width width; a_height height ] + [pcdata "your browser doesn't support canvas"; br (); image] in + start_drawing name image canvas; + make_page + [h1 [pcdata name]; + disconnect_box (); + choose_drawing_form (); + canvas;]) diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/images/hsv-sprite-sm.png b/8.0/manual/files/tutorial/chapter3/multigraffiti/images/hsv-sprite-sm.png new file mode 100644 index 0000000000000000000000000000000000000000..470f8e0c967715af12ac91e8b43e1034283a9b6b GIT binary patch literal 19537 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

    &ZXF3T$B`z*ftOtbUx_1T6b_Xn1a z$=b2T$4{TA>GShPYY&$SHyM3SX7kmtPhrZZzW|TLW*rv-l%QmSAM>&{l{0UtbvO5V zp2y?yJPUsRcEc2XZ5;6Uyw#77pDlTr>w7;wxqdrdae;p@B7ew7{0JKU=<(lw{&Nh- zFTMWF-up&bo;|UXvpLK9%=3KjnSW2|epvdy^ZocGWZK_;{NNo=GGvuJC%!La@e4Zn zZ#mkWwq_ck0Bmk-iB16;O!EEbf4_eGLH&OyCO;H{UqMJRzJE{h``2F`DW5ekaOV{M zmgm2|?)Y2JH-J7Kd450N|HK5}u){ZwzqfurVpM-9BtPgsydXutg1LF^_)L|*_W1ww zk@Ve;;-M){al;RizcW61aY0{*Cfeti52nB<2x@fQ^5v*UZ=i~mT6 zd7S?K)GjCbI2qR;9)BmM`1_6h-)qmmzTvAX<)P1cOJVe%a%BF!_T!(&uYR0NOMW)u zNj`Vnf0m&9N)nNZT{&9{UBHPanmTCe1enI(>fd2FN2RQyFApw3BLHVbE{7-WH%|arq0{rdR zgmRDnX>0z$kH1Msegy&X@lQedpWsjw|93kob^YW^fM3tM`KQJC2S0B7$2WMA7Ldck z`A_3X{z<0&;~giNMt&09@JXlrXLaHcZ}!jQAL;lXMfpj(gC_h>00000NkvXXu0mjf D5}s30 literal 0 HcmV?d00001 diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti/server.ml b/8.0/manual/files/tutorial/chapter3/multigraffiti/server.ml new file mode 100644 index 00000000..0836ae2c --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti/server.ml @@ -0,0 +1,205 @@ +open Eliom_content.Html5.D +open Common +open Lwt + +module My_app = + Eliom_registration.App ( + struct + let application_name = "graffiti" + end) + +let rgb_from_string color = (* color is in format "#rrggbb" *) + let get_color i = + (float_of_string ("0x"^(String.sub color (1+2*i) 2))) /. 255. + in + try get_color 0, get_color 1, get_color 2 with | _ -> 0.,0.,0. + +let launch_server_canvas () = + let bus = Eliom_bus.create Json.t in + + let draw_server, image_string = + let surface = Cairo.image_surface_create + Cairo.FORMAT_ARGB32 ~width ~height in + let ctx = Cairo.create surface in + ((fun ((color : string), size, (x1, y1), (x2, y2)) -> + + (* Set thickness of brush *) + Cairo.set_line_width ctx (float size) ; + Cairo.set_line_join ctx Cairo.LINE_JOIN_ROUND ; + Cairo.set_line_cap ctx Cairo.LINE_CAP_ROUND ; + let red, green, blue = rgb_from_string color in + Cairo.set_source_rgb ctx ~red ~green ~blue ; + + Cairo.move_to ctx (float x1) (float y1) ; + Cairo.line_to ctx (float x2) (float y2) ; + Cairo.close_path ctx ; + + (* Apply the ink *) + Cairo.stroke ctx ; + ), + (fun () -> + let b = Buffer.create 10000 in + (* Output a PNG in a string *) + Cairo_png.surface_write_to_stream surface (Buffer.add_string b); + Buffer.contents b + )) + in + let _ = Lwt_stream.iter draw_server (Eliom_bus.stream bus) in + bus,image_string + +let graffiti_info = Hashtbl.create 0 + +let imageservice = + Eliom_registration.String.register_service + ~path:["image"] + ~headers:Http_headers.dyn_headers + ~get_params:(let open Eliom_parameter in string "name" ** int "q") + (* we add an int parameter for the browser not to cache the image: + at least for chrome, there is no way to force the browser to + reload the image without leaving the application *) + (fun (name,_) () -> + try_lwt + let _ ,image_string = Hashtbl.find graffiti_info name in + Lwt.return (image_string (), "image/png") + with + | Not_found -> raise_lwt Eliom_common.Eliom_404) + +let get_bus (name:string) = + (* create a new bus and image_string function only if it did not exists *) + try + fst (Hashtbl.find graffiti_info name) + with + | Not_found -> + let bus,image_string = launch_server_canvas () in + Hashtbl.add graffiti_info name (bus,image_string); + bus + +let main_service = Eliom_service.App.service ~path:[""] + ~get_params:(Eliom_parameter.unit) () +let multigraffiti_service = Eliom_service.App.service ~path:[""] + ~get_params:(Eliom_parameter.suffix (Eliom_parameter.string "name")) () + +let choose_drawing_form () = + get_form ~service:multigraffiti_service + (fun (name) -> + [fieldset + [label ~a:[a_for name] + [pcdata "drawing name: "]; + string_input ~input_type:`Text ~name (); + br (); + string_input ~input_type:`Submit ~value:"Go" () + ]]) + +let oclosure_script = + Eliom_content.Html5.Id.create_global_elt + (js_script + ~uri:(make_uri (Eliom_service.static_dir ()) + ["graffiti_oclosure.js"]) ()) + +let make_page content = + Lwt.return + (html + (head + (title (pcdata "Graffiti")) + [ css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"common.css"]) (); + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"hsvpalette.css"]) (); + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"slider.css"]) (); + oclosure_script; + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"graffiti.css"]) (); + ]) + (body content)) + +let connection_service = + Eliom_service.Http.post_coservice' ~post_params: + (let open Eliom_parameter in (string "name" ** string "password")) () +let disconnection_service = Eliom_service.Http.post_coservice' + ~post_params:Eliom_parameter.unit () +let create_account_service = + Eliom_service.Http.post_coservice ~fallback:main_service ~post_params: + (let open Eliom_parameter in (string "name" ** string "password")) () + +let username = Eliom_reference.eref ~scope:Eliom_common.default_session_scope None + +let users = ref ["user","password";"test","test"] + +let check_pwd name pwd = + try Lwt.return (List.assoc name !users = pwd) with + | Not_found -> Lwt.return false + +let () = Eliom_registration.Action.register + ~service:create_account_service + (fun () (name, pwd) -> + users := (name, pwd)::!users; + Lwt.return ()) + +let () = Eliom_registration.Action.register + ~service:connection_service + (fun () (name, password) -> + match_lwt check_pwd name password with + | true -> Eliom_reference.set username (Some name) + | false -> Lwt.return ()) + +let () = + Eliom_registration.Action.register + ~service:disconnection_service + (fun () () -> Eliom_state.discard ~scope:Eliom_common.default_session_scope ()) + +let disconnect_box () = + post_form disconnection_service + (fun _ -> [fieldset + [string_input + ~input_type:`Submit ~value:"Log out" ()]]) () + +let login_name_form service button_text = + post_form ~service + (fun (name1, name2) -> + [fieldset + [label ~a:[a_for name1] [pcdata "login: "]; + string_input ~input_type:`Text ~name:name1 (); + br (); + label ~a:[a_for name2] [pcdata "password: "]; + string_input + ~input_type:`Password + ~name:name2 (); + br (); + string_input + ~input_type:`Submit + ~value:button_text () + ]]) () + +let default_content () = + make_page + [h1 [pcdata "Welcome to Multigraffiti"]; + h2 [pcdata "log in"]; + login_name_form connection_service "Connect"; + h2 [pcdata "create account"]; + login_name_form create_account_service "Create account";] + +module Connected_translate = +struct + type page = string -> My_app.page Lwt.t + let translate page = + Eliom_reference.get username >>= + function + | None -> default_content () + | Some username -> page username +end + +module Connected = + Eliom_registration.Customize ( My_app ) ( Connected_translate ) + +let ( !% ) f = fun a b -> return (fun c -> f a b c) + +let () = Connected.register ~service:main_service + !% (fun () () username -> + make_page + [h1 [pcdata ("Welcome to Multigraffiti " ^ username)]; + choose_drawing_form ()]) diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti_audio/graffiti.eliom b/8.0/manual/files/tutorial/chapter3/multigraffiti_audio/graffiti.eliom new file mode 100644 index 00000000..828b3e4f --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti_audio/graffiti.eliom @@ -0,0 +1,43 @@ +{shared{ + open Eliom_content.Html5.D + open Common +}} +{client{ + open Client +}} +open Server + +let start_drawing name image canvas = + let bus = get_bus name in + ignore {unit{ + let canceller = launch_client_canvas %bus %image %canvas in + Eliom_client.onunload (fun () -> stop_drawing canceller) + }} + +let counter = ref 0 + +let player = + Eliom_content.Html5.Id.create_global_elt + (audio + ~srcs:(make_uri (Eliom_service.static_dir ()) + ["music.ogg"],[]) + ~a:[a_autoplay (`Autoplay);a_controls (`Controls)] + [pcdata "Your browser does not support audio element" ]) + +let () = Connected.register ~service:multigraffiti_service + !% ( fun name () username -> + (* Some browsers won't reload the image, so we force + them by changing the url each time. *) + incr counter; + let image = img ~alt:name ~src:(make_uri + ~service:imageservice (name,!counter)) () in + let canvas = canvas ~a:[ a_width width; a_height height ] + [pcdata "your browser doesn't support canvas"; br (); image] in + start_drawing name image canvas; + make_page + [h1 [pcdata name]; + disconnect_box (); + choose_drawing_form (); + canvas; + player]) + diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti_feed/Makefile b/8.0/manual/files/tutorial/chapter3/multigraffiti_feed/Makefile new file mode 100644 index 00000000..8aeb4758 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti_feed/Makefile @@ -0,0 +1,68 @@ + +APP_NAME := graffiti +SERVER_PACKAGE := cairo, unix +CLIENT_PACKAGE := + +SERVER_FILES = common.ml server.ml feed.ml ${wildcard *.eliom} +CLIENT_FILES = common.ml client.ml ${wildcard *.eliom} + +PORT := 8080 + +OCLOSURE := YES + +### + +all: local byte opt conf + +LIBDIR := local/var/www/lib +JSDIR := local/var/www/static + +include Makefile.common + +distclean:: + -rm -rf css/closure + -rm -rf local + -rm -f graffiti.conf + +#### + +DIRS = local/var/lib/ocsidbm local/var/run local/var/log \ + local/var/www/static local/var/www/lib local/etc \ + local/var/www/static/graffiti_saved + +local: ${DIRS} local/var/www/static/css local/var/www/static/images css/closure + +local/var/www/static/css: + ln -fs $(shell pwd)/css local/var/www/static/css + +local/var/www/static/images: + ln -fs $(shell pwd)/images local/var/www/static/images + +css/closure: + ln -fs $(shell ocamlfind query oclosure)/closure/goog/css/ css/closure + +${DIRS}: + mkdir -p $@ + +conf: graffiti.conf + +graffiti.conf: graffiti.conf.in + sed -e "s|%%SRC%%|$(shell pwd)|" \ + -e "s|%%LIBDIR%%|${LIBDIR}|" \ + -e "s|%%JSDIR%%|${JSDIR}|" \ + -e "s|%%PORT%%|${PORT}|" \ + $< > $@ + +run.local: graffiti.conf + ocsigenserver -c graffiti.conf + +run.opt.local: graffiti.conf + ocsigenserver.opt -c graffiti.conf + +#### + +install:: + install -d -m 775 ${INSTALL_USER} ${INSTALL_DIR}/static/css + install -m 664 ${INSTALL_USER} css/*.css ${INSTALL_DIR}/static/css + cd $(shell ocamlfind query oclosure)/closure/goog/css/ && \ + find -type f -exec install -D -m 664 {} ${INSTALL_DIR}/static/css/closure/{} \; diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti_feed/feed.ml b/8.0/manual/files/tutorial/chapter3/multigraffiti_feed/feed.ml new file mode 100644 index 00000000..40df2309 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti_feed/feed.ml @@ -0,0 +1,108 @@ +open Eliom_content +open Html5.D +open Server +open Eliom_lib +open Eliom_lib.Lwt_ops + +let static_dir = + match Eliom_config.get_config () with + | [Simplexmlparser.Element ("staticdir", [], [Simplexmlparser.PCData dir])] -> + dir + | [] -> + raise (Ocsigen_extensions.Error_in_config_file + ("staticdir must be configured")) + | _ -> + raise (Ocsigen_extensions.Error_in_config_file + ("Unexpected content inside graffiti config")) + +let image_dir name = + let dir = static_dir ^ "/graffiti_saved/" ^ (Eliom_lib.Url.encode name) in + (try_lwt Lwt_unix.mkdir dir 0o777 with + | _ -> debug "could not create the directory %s" dir; Lwt.return ()) >|= + (fun () -> dir) + +let make_filename name number = + image_dir name >|= ( fun dir -> (dir ^ "/" ^ (string_of_int number) ^ ".png") ) + +let save image name number = + lwt file_name = make_filename name number in + lwt out_chan = Lwt_io.open_file ~mode:Lwt_io.output file_name in + Lwt_io.write out_chan image + +let image_info_table = Ocsipersist.Polymorphic.open_table "image_info_table" + +let save_image username = + let now = CalendarLib.Calendar.now () in + lwt number,_,list = + try_lwt Ocsipersist.Polymorphic.find image_info_table username with + | Not_found -> Lwt.return (0,now,[]) + | e -> Lwt.fail e + in + lwt () = Ocsipersist.Polymorphic.add image_info_table + username (number+1,now,(number,now)::list) in + let (_,image_string) = Hashtbl.find graffiti_info username in + save (image_string ()) username number + +let save_image_box name = + let save_image_service = + Eliom_registration.Action.register_post_coservice' + ~post_params:Eliom_parameter.unit + (fun () () -> save_image name) + in + post_form save_image_service + (fun _ -> + [p [string_input + ~input_type:`Submit ~value:"save" ()]]) () + +let feed_service = Eliom_service.Http.service ~path:["feed"] + ~get_params:(Eliom_parameter.string "name") () + +let local_filename name number = + ["graffiti_saved"; Url.encode name ; (string_of_int number) ^ ".png"] + +let rec entries name list = function + | 0 -> [] + | len -> + match list with + | [] -> [] + | (n,saved)::q -> + let title = Atom_feed.plain ("graffiti " ^ name ^ " " ^ (string_of_int n)) in + let uri = + Xhtml.M.uri_of_string + (Eliom_uri.make_string_uri + ~service:(Eliom_service.static_dir ()) + (local_filename name n)) + in + let entry = + Atom_feed.entry ~title ~id:uri ~updated:saved + [Atom_feed.xhtmlC [ Xhtml.M.img ~src:uri ~alt:"image" ()]] in + entry::(entries name q (len - 1)) + +let feed name () = + let id = Xhtml.M.uri_of_string + (Eliom_uri.make_string_uri + ~service:feed_service name) in + let title = Atom_feed.plain ("nice drawings of " ^ name) in + try_lwt + Ocsipersist.Polymorphic.find image_info_table name >|= + (fun (number,updated,list) -> Atom_feed.feed ~id ~updated ~title (entries name list 10)) + with + | Not_found -> + let now = CalendarLib.Calendar.now () in + Lwt.return (Atom_feed.feed ~id ~updated:now ~title []) + | e -> Lwt.fail e + +let feed name () = + let id = Xhtml.M.uri_of_string + (Eliom_uri.make_string_uri ~service:feed_service name) in + let title = Atom_feed.plain ("nice drawings of " ^ name) in + Lwt.catch + (fun () -> Ocsipersist.Polymorphic.find image_info_table name >|= + (fun (number,updated,list) -> Atom_feed.feed ~id ~updated ~title (entries name list 10))) + ( function Not_found -> + let now = CalendarLib.Calendar.now () in + Lwt.return (Atom_feed.feed ~id ~updated:now ~title []) + | e -> Lwt.fail e ) + +let () = Eliom_atom.Reg.register + ~service:feed_service feed diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti_feed/graffiti.eliom b/8.0/manual/files/tutorial/chapter3/multigraffiti_feed/graffiti.eliom new file mode 100644 index 00000000..3c2bbc1b --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti_feed/graffiti.eliom @@ -0,0 +1,42 @@ +{shared{ + open Eliom_content.Html5.D + open Common +}} +{client{ + open Client +}} +open Server +open Feed + +let start_drawing name image canvas = + let bus = get_bus name in + ignore {unit{ + let canceller = launch_client_canvas %bus %image %canvas in + Eliom_client.onunload (fun () -> stop_drawing canceller) + }} + +let counter = ref 0 + +let () = Connected.register ~service:multigraffiti_service + !% ( fun name () username -> + (* Some browsers won't reload the image, so we force + them by changing the url each time. *) + incr counter; + let image = + img ~alt:name + ~src:(make_uri + ~service:imageservice (name,!counter)) () in + let canvas = + canvas ~a:[ a_width width; a_height height ] + [pcdata "your browser doesn't support canvas"; br (); image] in + start_drawing name image canvas; + make_page + [h1 [pcdata name]; + disconnect_box (); + choose_drawing_form (); + a feed_service [pcdata "atom feed"] name; + div ( if name = username + then [save_image_box name] + else [pcdata "no saving"] ); + canvas;]) + diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/Makefile b/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/Makefile new file mode 100644 index 00000000..7030ddca --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/Makefile @@ -0,0 +1,68 @@ + +APP_NAME := graffiti +SERVER_PACKAGE := cairo, unix, macaque.syntax +CLIENT_PACKAGE := + +SERVER_FILES = common.ml server.ml ${wildcard *.eliom} +CLIENT_FILES = common.ml client.ml ${wildcard *.eliom} + +PORT := 8080 + +OCLOSURE := YES + +### + +all: local byte opt conf + +LIBDIR := local/var/www/lib +JSDIR := local/var/www/static + +include Makefile.common + +distclean:: + -rm css/closure + -rm -r local + -rm graffiti.conf + +#### + +DIRS = local/var/lib/ocsidbm local/var/run local/var/log \ + local/var/www/static local/var/www/lib local/etc \ + local/var/www/static/graffiti_saved + +local: ${DIRS} local/var/www/static/css local/var/www/static/images css/closure + +local/var/www/static/css: + ln -fs $(shell pwd)/css local/var/www/static/css + +local/var/www/static/images: + ln -fs $(shell pwd)/images local/var/www/static/images + +css/closure: + ln -fs $(shell ocamlfind query oclosure)/closure/goog/css/ css/closure + +${DIRS}: + mkdir -p $@ + +conf: graffiti.conf + +graffiti.conf: graffiti.conf.in + sed -e "s|%%SRC%%|$(shell pwd)|" \ + -e "s|%%LIBDIR%%|${LIBDIR}|" \ + -e "s|%%JSDIR%%|${JSDIR}|" \ + -e "s|%%PORT%%|${PORT}|" \ + $< > $@ + +run.local: graffiti.conf + ocsigenserver -c graffiti.conf + +run.opt.local: graffiti.conf + ocsigenserver.opt -c graffiti.conf + +#### + +install:: + install -d -m 775 ${INSTALL_USER} ${INSTALL_DIR}/static/css + install -m 664 ${INSTALL_USER} css/*.css ${INSTALL_DIR}/static/css + cd $(shell ocamlfind query oclosure)/closure/goog/css/ && \ + find -type f -exec install -D -m 664 {} ${INSTALL_DIR}/static/css/closure/{} \; diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/create_table.sql b/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/create_table.sql new file mode 100644 index 00000000..1c9bebad --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/create_table.sql @@ -0,0 +1,5 @@ + +CREATE TABLE users ( + login text NOT NULL, + password text NOT NULL +); diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/graffiti.conf.in b/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/graffiti.conf.in new file mode 100644 index 00000000..85afbc9b --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/graffiti.conf.in @@ -0,0 +1,36 @@ + + + + + %%PORT%% + + %%SRC%%/local/var/log + %%SRC%%/local/var/run + %%SRC%%/local/var/run/ocsigenserver_command + + utf-8 + + + + + + + + + + + + + + + + + + + %%SRC%%/%%JSDIR%% + + + + + + diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/server.ml b/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/server.ml new file mode 100644 index 00000000..be19c2d6 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti_macaque/server.ml @@ -0,0 +1,236 @@ +open Eliom_content +open Html5.D +open Common +open Lwt + +module My_app = + Eliom_registration.App (struct + let application_name = "graffiti" + end) + +let rgb_from_string color = (* color is in format "#rrggbb" *) + let get_color i = + (float_of_string ("0x"^(String.sub color (1+2*i) 2))) /. 255. + in + try get_color 0, get_color 1, get_color 2 with | _ -> 0.,0.,0. + +let launch_server_canvas () = + let bus = Eliom_bus.create Json.t in + + let draw_server, image_string = + let surface = Cairo.image_surface_create + Cairo.FORMAT_ARGB32 ~width ~height in + let ctx = Cairo.create surface in + ((fun ((color : string), size, (x1, y1), (x2, y2)) -> + + (* Set thickness of brush *) + Cairo.set_line_width ctx (float size) ; + Cairo.set_line_join ctx Cairo.LINE_JOIN_ROUND ; + Cairo.set_line_cap ctx Cairo.LINE_CAP_ROUND ; + let red, green, blue = rgb_from_string color in + Cairo.set_source_rgb ctx ~red ~green ~blue ; + + Cairo.move_to ctx (float x1) (float y1) ; + Cairo.line_to ctx (float x2) (float y2) ; + Cairo.close_path ctx ; + + (* Apply the ink *) + Cairo.stroke ctx ; + ), + (fun () -> + let b = Buffer.create 10000 in + (* Output a PNG in a string *) + Cairo_png.surface_write_to_stream surface (Buffer.add_string b); + Buffer.contents b + )) + in + let _ = Lwt_stream.iter draw_server (Eliom_bus.stream bus) in + bus,image_string + +let graffiti_info = Hashtbl.create 0 + +let imageservice = + Eliom_registration.String.register_service + ~path:["image"] + ~headers:Http_headers.dyn_headers + ~get_params:(let open Eliom_parameter in string "name" ** int "q") + (* we add another parameter for the browser not to cache: at least + for chrome, there is no way to force the browser to reload the + image without leaving the application *) + (fun (name,_) () -> + try_lwt + let _ ,image_string = Hashtbl.find graffiti_info name in + Lwt.return (image_string (), "image/png") + with + | Not_found -> raise_lwt Eliom_common.Eliom_404) + +let get_bus (name:string) = + (* create a new bus and image_string function only if it did not exists *) + try + fst (Hashtbl.find graffiti_info name) + with + | Not_found -> + let bus,image_string = launch_server_canvas () in + Hashtbl.add graffiti_info name (bus,image_string); + bus + +let main_service = Eliom_service.App.service ~path:[""] + ~get_params:(Eliom_parameter.unit) () +let multigraffiti_service = Eliom_service.App.service ~path:[""] + ~get_params:(Eliom_parameter.suffix (Eliom_parameter.string "name")) () + +let choose_drawing_form () = + get_form ~service:multigraffiti_service + (fun (name) -> + [fieldset + [label ~a:[a_for name] [pcdata "drawing name: "]; + string_input ~input_type:`Text ~name (); + br (); + string_input ~input_type:`Submit ~value:"Go" () + ]]) + +let connection_service = + Eliom_service.Http.post_coservice' + ~post_params:(let open Eliom_parameter in (string "name" ** string "password")) + () +let disconnection_service = Eliom_service.Http.post_coservice' ~post_params:Eliom_parameter.unit () +let create_account_service = + Eliom_service.Http.post_coservice ~fallback:main_service ~post_params:(let open Eliom_parameter in (string "name" ** string "password")) () + +let username = Eliom_reference.eref ~scope:Eliom_common.default_session_scope None + +module Lwt_thread = struct + include Lwt + include Lwt_chan +end +module Lwt_PGOCaml = PGOCaml_generic.Make(Lwt_thread) +module Lwt_Query = Query.Make_with_Db(Lwt_thread)(Lwt_PGOCaml) + +let get_db : unit -> unit Lwt_PGOCaml.t Lwt.t = + let db_handler = ref None in + fun () -> + match !db_handler with + | Some h -> Lwt.return h + | None -> Lwt_PGOCaml.connect ~database:"testbase" () + +let table = <:table< users ( + login text NOT NULL, + password text NOT NULL +) >> + +let find name = + (get_db () >>= fun dbh -> + Lwt_Query.view dbh + <:view< {password = user_.password} | + user_ in $table$; + user_.login = $string:name$; >>) + +let insert name pwd = + get_db () >>= fun dbh -> + Lwt_Query.query dbh + <:insert< $table$ := { login = $string:name$; password = $string:pwd$; } >> + +let check_pwd name pwd = + (get_db () >>= fun dbh -> + Lwt_Query.view dbh + <:view< {password = user_.password} | + user_ in $table$; + user_.login = $string:name$; + user_.password = $string:pwd$ >>) + >|= (function [] -> false | _ -> true) + +let () = Eliom_registration.Action.register + ~service:create_account_service + (fun () (name, pwd) -> + find name >>= + (function + | [] -> insert name pwd + | _ -> Lwt.return ())) + +let () = Eliom_registration.Action.register + ~service:connection_service + (fun () (name, password) -> + check_pwd name password >>= + (function + | true -> Eliom_reference.set username (Some name) + | false -> Lwt.return ())) + +let () = + Eliom_registration.Action.register + ~service:disconnection_service + (fun () () -> Eliom_state.discard ~scope:Eliom_common.default_session_scope ()) + +let disconnect_box () = + post_form disconnection_service + (fun _ -> [fieldset + [string_input + ~input_type:`Submit ~value:"Log out" ()]]) () + +let login_name_form service button_text = + post_form ~service + (fun (name1, name2) -> + [fieldset + [label ~a:[a_for name1] [pcdata "login: "]; + string_input ~input_type:`Text ~name:name1 (); + br (); + label ~a:[a_for name2] [pcdata "password: "]; + string_input ~input_type:`Password ~name:name2 (); + br (); + string_input ~input_type:`Submit ~value:button_text () + ]]) () + +let oclosure_script = + Html5.Id.create_global_elt + (js_script + ~uri:(make_uri (Eliom_service.static_dir ()) + ["graffiti_oclosure.js"]) ()) + +let make_page content = + Lwt.return + (html + (head + (title (pcdata "Graffiti")) + [ css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"common.css"]) (); + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"hsvpalette.css"]) (); + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"slider.css"]) (); + oclosure_script; + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"graffiti.css"]) (); + ]) + (body content)) + +let default_content () = + make_page + [h1 [pcdata "Welcome to Multigraffiti"]; + h2 [pcdata "log in"]; + login_name_form connection_service "Connect"; + h2 [pcdata "create account"]; + login_name_form create_account_service "Create account";] + +module Connected_translate = +struct + type page = string -> My_app.page Lwt.t + let translate page = + Eliom_reference.get username >>= + function + | None -> default_content () + | Some username -> page username +end + +module Connected = + Eliom_registration.Customize ( My_app ) ( Connected_translate ) + +let ( !% ) f = fun a b -> return (fun c -> f a b c) + +let () = Connected.register ~service:main_service + !% (fun () () username -> + make_page + [h1 [pcdata ("Welcome to Multigraffiti " ^ username)]; + choose_drawing_form ()]) diff --git a/8.0/manual/files/tutorial/chapter3/multigraffiti_ocsipersist/server.ml b/8.0/manual/files/tutorial/chapter3/multigraffiti_ocsipersist/server.ml new file mode 100644 index 00000000..cce9f0a6 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/multigraffiti_ocsipersist/server.ml @@ -0,0 +1,208 @@ +open Eliom_content.Html5.D +open Common +open Lwt + +module My_app = + Eliom_registration.App ( + struct + let application_name = "graffiti" + end) + +let rgb_from_string color = (* color is in format "#rrggbb" *) + let get_color i = + (float_of_string ("0x"^(String.sub color (1+2*i) 2))) /. 255. + in + try get_color 0, get_color 1, get_color 2 with | _ -> 0.,0.,0. + +let launch_server_canvas () = + let bus = Eliom_bus.create Json.t in + + let draw_server, image_string = + let surface = Cairo.image_surface_create + Cairo.FORMAT_ARGB32 ~width ~height in + let ctx = Cairo.create surface in + ((fun ((color : string), size, (x1, y1), (x2, y2)) -> + + (* Set thickness of brush *) + Cairo.set_line_width ctx (float size) ; + Cairo.set_line_join ctx Cairo.LINE_JOIN_ROUND ; + Cairo.set_line_cap ctx Cairo.LINE_CAP_ROUND ; + let red, green, blue = rgb_from_string color in + Cairo.set_source_rgb ctx ~red ~green ~blue ; + + Cairo.move_to ctx (float x1) (float y1) ; + Cairo.line_to ctx (float x2) (float y2) ; + Cairo.close_path ctx ; + + (* Apply the ink *) + Cairo.stroke ctx ; + ), + (fun () -> + let b = Buffer.create 10000 in + (* Output a PNG in a string *) + Cairo_png.surface_write_to_stream surface (Buffer.add_string b); + Buffer.contents b + )) + in + let _ = Lwt_stream.iter draw_server (Eliom_bus.stream bus) in + bus,image_string + +let graffiti_info = Hashtbl.create 0 + +let imageservice = + Eliom_registration.String.register_service + ~path:["image"] + ~headers:Http_headers.dyn_headers + ~get_params:(let open Eliom_parameter in string "name" ** int "q") + (* we add an int parameter for the browser not to cache the image: + at least for chrome, there is no way to force the browser to + reload the image without leaving the application *) + (fun (name,_) () -> + try_lwt + let _ ,image_string = Hashtbl.find graffiti_info name in + Lwt.return (image_string (), "image/png") + with + | Not_found -> raise_lwt Eliom_common.Eliom_404) + +let get_bus (name:string) = + (* create a new bus and image_string function only if it did not exists *) + try + fst (Hashtbl.find graffiti_info name) + with + | Not_found -> + let bus,image_string = launch_server_canvas () in + Hashtbl.add graffiti_info name (bus,image_string); + bus + +let main_service = Eliom_service.App.service ~path:[""] + ~get_params:(Eliom_parameter.unit) () +let multigraffiti_service = Eliom_service.App.service ~path:[""] + ~get_params:(Eliom_parameter.suffix (Eliom_parameter.string "name")) () + +let choose_drawing_form () = + get_form ~service:multigraffiti_service + (fun (name) -> + [fieldset + [label ~a:[a_for name] + [pcdata "drawing name: "]; + string_input ~input_type:`Text ~name (); + br (); + string_input + ~input_type:`Submit + ~value:"Go" () + ]]) + +let oclosure_script = + Eliom_content.Html5.Id.create_global_elt + (js_script + ~uri:(make_uri (Eliom_service.static_dir ()) + ["graffiti_oclosure.js"]) ()) + +let make_page content = + Lwt.return + (html + (head + (title (pcdata "Graffiti")) + [ css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"common.css"]) (); + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"hsvpalette.css"]) (); + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"slider.css"]) (); + oclosure_script; + css_link + ~uri:(make_uri (Eliom_service.static_dir ()) + ["css";"graffiti.css"]) (); + ]) + (body content)) + +let connection_service = + Eliom_service.Http.post_coservice' ~post_params: + (let open Eliom_parameter in (string "name" ** string "password")) () +let disconnection_service = Eliom_service.Http.post_coservice' + ~post_params:Eliom_parameter.unit () +let create_account_service = + Eliom_service.Http.post_coservice ~fallback:main_service ~post_params: + (let open Eliom_parameter in (string "name" ** string "password")) () + +let username = Eliom_reference.eref ~scope:Eliom_common.default_session_scope None + +let user_table = Ocsipersist.Polymorphic.open_table "user_table" + +let check_pwd name pwd = + try_lwt + lwt saved_password = Ocsipersist.Polymorphic.find user_table name in + Lwt.return (pwd = saved_password) + with + Not_found -> Lwt.return false + +let () = Eliom_registration.Action.register + ~service:create_account_service + (fun () (name, pwd) -> Ocsipersist.Polymorphic.add user_table name pwd) + +let () = Eliom_registration.Action.register + ~service:connection_service + (fun () (name, password) -> + match_lwt check_pwd name password with + | true -> Eliom_reference.set username (Some name) + | false -> Lwt.return ()) + +let () = + Eliom_registration.Action.register + ~service:disconnection_service + (fun () () -> Eliom_state.discard ~scope:Eliom_common.default_session_scope ()) + +let disconnect_box () = + post_form disconnection_service + (fun _ -> [fieldset + [string_input + ~input_type:`Submit ~value:"Log out" ()]]) () + +let login_name_form service button_text = + post_form ~service + (fun (name1, name2) -> + [fieldset + [label ~a:[a_for name1] [pcdata "login: "]; + string_input ~input_type:`Text ~name:name1 (); + br (); + label ~a:[a_for name2] [pcdata "password: "]; + string_input + ~input_type:`Password + ~name:name2 (); + br (); + string_input + ~input_type:`Submit + ~value:button_text () + ]]) () + +let default_content () = + make_page + [h1 [pcdata "Welcome to Multigraffiti"]; + h2 [pcdata "log in"]; + login_name_form connection_service "Connect"; + h2 [pcdata "create account"]; + login_name_form create_account_service "Create account";] + +module Connected_translate = +struct + type page = string -> My_app.page Lwt.t + let translate page = + Eliom_reference.get username >>= + function + | None -> default_content () + | Some username -> page username +end + +module Connected = + Eliom_registration.Customize ( My_app ) ( Connected_translate ) + +let ( !% ) f = fun a b -> return (fun c -> f a b c) + +let () = Connected.register ~service:main_service + !% (fun () () username -> + make_page + [h1 [pcdata ("Welcome to Multigraffiti " ^ username)]; + choose_drawing_form ()]) diff --git a/8.0/manual/files/tutorial/chapter3/reactive_media_player/reactive_media_player.eliom b/8.0/manual/files/tutorial/chapter3/reactive_media_player/reactive_media_player.eliom new file mode 100644 index 00000000..ff7c30e7 --- /dev/null +++ b/8.0/manual/files/tutorial/chapter3/reactive_media_player/reactive_media_player.eliom @@ -0,0 +1,107 @@ +[%%shared + open Eliom_content + open Html5 + + type action = Play | Pause | Seek of float +] + +let%client media_s, set_media_s = React.S.create Pause + +let%client progress_s, set_progress_s = React.S.create (0., 0.) + +let%client unblock_s, set_unblock_s = React.S.create true + +let progress_bar () = + let progress_value = + [%client + (let f (time, duration) = + if duration = 0. then 0. else time /. duration *. 100. + in + React.S.map f progress_s + : float React.signal) + ] in + let attrs = D.([ + a_input_min 0.; + a_input_max 100.; + a_onmousedown [%client fun _ -> set_unblock_s false]; + a_onmouseup [%client fun _ -> set_unblock_s true]; + C.attr [%client + R.a_value + (React.S.map (Printf.sprintf "%0.f") + (React.S.on unblock_s 0. ~%progress_value))] + ]) + in + let d_input = + D.Form.input ~input_type:`Range ~value:0. ~a:attrs + D.Form.float + in + let _ = [%client + (Lwt.async (fun () -> + let d_input = To_dom.of_input ~%d_input in + Lwt_js_events.inputs d_input (fun _ _ -> + set_media_s (Seek (Js.parseFloat d_input##.value)) ; + Lwt.return () + )) + : unit) + ] in + d_input + +let media_uri = + Html5.D.make_uri + ~service:(Eliom_service.static_dir ()) + ["hb.mp3"] + +let media_tag () = + let media = D.(audio ~src:media_uri [pcdata "alt"]) in + let _ = [%client + (Lwt.async (fun () -> + let media = To_dom.of_audio ~%media in + let media_map = function + | Play -> + media##play + | Pause -> + media##pause + | Seek f -> + media##.currentTime := (f /. 100. *. media##.duration) + in Lwt_react.S.keep (React.S.map media_map media_s) ; + Lwt_js_events.timeupdates media (fun _ _ -> + set_progress_s (media##.currentTime, media##.duration) ; + Lwt.return () + )) + : unit) + ] in + media + +let pause_button () = + D.(Form.button_no_value + ~button_type:`Button + ~a:[a_onclick [%client fun _ -> set_media_s Pause ]] + [pcdata "Pause"]) + +let play_button () = + D.(Form.button_no_value + ~button_type:`Button + ~a:[a_onclick [%client fun _ -> set_media_s Play ]] + [pcdata "Play"]) + +module React_Player_app = + Eliom_registration.App + (struct + let application_name = "react_player" + end) + +let media_service = + Eliom_service.App.service ~path:[] ~get_params:Eliom_parameter.unit () + +let () = + React_Player_app.register + ~service:media_service + (fun name () -> + let body = + D.(body [ + h2 [pcdata "Media"]; + media_tag (); + div [play_button (); pause_button (); progress_bar ()] + ]) + in + Lwt.return (Eliom_tools.D.html ~title:"Media" ~css:[] body)) diff --git a/8.0/manual/files/tutorial/client-server-req.svg b/8.0/manual/files/tutorial/client-server-req.svg new file mode 100644 index 00000000..1843e430 --- /dev/null +++ b/8.0/manual/files/tutorial/client-server-req.svg @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + page generation + let%rpc f (x : int) : int = ... [%client ... ~%b ... ] Lwt.return v + ...[%client ... ~%a ... ]Lwt.return (html (...) (...)) + execution of client fragments[%client ... ~%a ...] + execution of client fragments[%client ... ~%b ...] + rpc + js +html ++ injections ~%a + value v+ injections ~%b + https://... + display page + display page + click on a link + + page generation + client + server + + + + + + + + + + diff --git a/8.0/manual/files/tutorial/client-server.png b/8.0/manual/files/tutorial/client-server.png new file mode 100644 index 0000000000000000000000000000000000000000..0090d435b68ffd6d4a8e63627659364ad47fa4a4 GIT binary patch literal 54985 zcmeFZXH=7GyDl0~L`A>?(!oOS2uLSb07LJ+hzLlpp+m62R6#V-JJM^ABGOR=q)Uy` zk)F^Y)RgmNe&5=Ad~2+A)>`}QpJ$H2WK3rAKJ6~oecjjdzS7fCr#;Vl9s+^T!XDf= zfIuio5Xk9^XU~AYz~!WL!LM^(56pcb5V|(<4@IYE;bZVe7C%)pKSNJPzW_TQ2S`9b zfT**FtFOJCmxHLMk5lS~A}a)P4FbD=$0#suZ7Lwt$e2jlK1ffNx@@6xO=X3HLf^zp z;fpK98VzP#AQ^%YEN4Ur&eXj5()0SA-f1h)?yJ3n$xCiqG7krb)_>-{EU}dST zfuUg{Lyg;V9kZ<0L+hSO`2~+EVQg(uQj(HW!_2$u_r6tDR+h()^fMdwRF+EF_u9Z* z?d|Q+iL>5fRl+6t+;Zvtr4sfX_;=XP`E*h9yf9ksAf9&3V^LmSM<=598Cq7qPZIeJ zxo7R8O@}<9+9VLYNfHfjN+|gM-fsSY!NI}Wpr&ai;hy?Q=9@j0J|2=C{M_6N_l=B3 z3TJ0$P1R#q=e=ah-%E+u?tVZLt<6Xjr_Q`+uqscCme5Dunv;7_d@-651Hl+dMcHD8>S@MqUgo+{VRpBw_&z0L8-$`Z&wqOu{1Di zsoNdG{KAKsbMK_C@$fkKz&P1t*~mxCF9Wt>Fu_5|@`pAbw|in-GODR0S76aP5e&Am z9oU>Of@j~j3ZHF#iipq6k#LO5g(hZU^K=S)Yjb~G-dmUSnr-#q2@1{Pe}Mq@E6N$R zH)zq3RJ$XcDc&*3apj7k5-)FleCK=-pL1}taxERJ)JnaN=q3r~lH78;r;<2OS!x+0 zaiDQr`tC%Dje}!qm7UY6D)(teQfjn>*aHoy=1eB{lvDJoz^XPZ1JA)u*Xh2z^-G1~ zA6xZjq{uMVEWsF@QN^V1a%U`8=C2k6i71+gm4`7o)Uw%gBKPhEjYvQK@lG73f0QE0 z1LsokciS+2rVMYGQsAcT8C{aTo&!0&dSOXQj1}Q|LNVX)z{ZQm*CKTbts@F zms3JQ;`hvp-ZyXGDmz363D~yKQEEJu1SXzkWtK21Y5PGAju|2C9HffdeS_Keng+?U z`Wgp~E^Y@Bg^OI8msp$<&h~A>VO>Y#9xTeCfuH#FM0$>G%V#sE_CM*M4nIUmIQoJA zDrqTypQwV!(rzGmH?Y9q#Q&IVpVW&==I(Yo}F*D4hd?}(ziC2%k zAAbrGamy*)hObJedC8?CNrvVm)4?3khpyF_X%0KpQ`GooN5(7xURcUq4->M^LF&+@u0V8!|}V3_^^53f3_D^-=1kpi2=&;U+Zui1u`l@*z2iIV5fo(+BY z@S%i?ib@(6++?a5{Ijz3E$}7OjUuaW2rVrwM?b&45MU*~(hZF^o0PQ^gr~Wq9Z3&+ zDm^~vRIbI-RR!L(8FU*iAU zy1bOnTW06C8fAcJixTb$zHgv*lxXBLoUg60=q2k>BkbBIHz~pk9!83{)NiFyAt&7B z`Kr)PPS`LFR@Q&*mq3Dpb?}mMQG0ZQ?U3uq{<_dXUs*>qi?6J>_?8B&&2N7yxK;xL z-0F&w`?yrX;{BH$X@BqNqeqWA8m2Z5*J#2;dQz?ezeBKUzx`z2>G9qV#P{+WMGd)X zNQ^}SUP-iUhlVKkWCaoYJBD+ z%{aapE!1e^xqNm6Tf~c_qfZYZwN-NgywS>=w14XG)%O=|<1GOJ{oYN-@9PUa-m~dYLLh09-=MR6 zW95giPo!|A@ySsZwdW*O)=ol=+V3xkKCOAsQ(@sPRsGWJj4OS_G=W5z-);^>l zOBtaeMni+AM_n%#m7Dq}4#SVphk*tk!_6D+7728{o~c#eUG9CyU4!*Y-rtxmT5=!9 zE=_EV(a(gJt+#j#JqwbQURX6<@WOl3&2D`?HQs1fgS`BfztjR=<1qt^Nv-LvQxcI@ z?O_tr8ydV>jJ{@&X#3l`JYtwh5@o&p;qnzaO{6^hs45y=k_QbfXl=a)-w4k8>}Hn3 zI#)BgIDmeD1X=!S*hze}1jc*5%ttm|LsNV3H4jaEl9w5d^*%<|)T$t&RRuOwAFm1D z`*9s+(AiTDLnaWm(kUrV;n33o0^(b-FC~$e>AL0x5@YUAWS*rf|5$;M4zoTJp%Jk~ zZ*+0{WdF(G@Suj4tZ+}|<7oZi1ou4*f>-d`HN9A+z|^7PVQ!ehXZNwU?ggg#YW||l%!JJ2e#{~?kfKM!jKRKp z>g1o}VMcWEGRHxoVImaUIxRbO^5db1^GyoQc?<|rXR*AvVJD8q$6Bj7u5na zk5xKB6tmcz^v=hQ4c?5B+Tt2;#mETxAx5CpA4s5UWp^o+a6r3T|NR_vZ}qOP?4jC=L@r8dUjxpgit z&_kxf&>}J;#u>*7kxT+4jE{JVW3t$BOsk2mHD69VzygZ(p zKrz<3HiVm3SxG`uOGic?*SMhdhgORub{)g>fq@Bnp#96NKi%gyX7^0u)8;hykADk2`z#!(;oO>dr$D83f{_Z4WPTd3#?8&=glalh* ztZO2+l`7D1DBtq7lXmLIg)5z-rN)+F2cv$3ttmA5NLE*!<=@8@Mzm%rvc(&t%r$2Q zhONsCS($+ugd>D!ES7>WpB0N)5JH|IO$2eP4&X9|m9Pdynu|H7=u@-MQir zMmlop*Vo-e$;L6&*Wo*=+9ZAxp+r%G2l0CFW;_U#A3d9g@~lxqJc#g{r1Dh7LK1C+@YCZ5=IA#nj62_%>zioKtmeuGyFRAd*lL6Oviez(31j2EZtGy4;HXQ= z94oWP@9i}trvh!uY7;fJddGo7?tw$01W|(oKFxJ`8w(rgWl;8WlvJQbDB`q2Lqk8c zsJtpJ8|jTmn|CqJg#dUPVKC7W(ok7>3uGfb$Gasart9^zuh*H3v`5KlA+I)86O{Wyjtb zf6pW3^9F#pdSna-M*a7U(tkMI!y?^Q`qM9s2Ge5|=fE}{7DYs;*d{`#&*SG8zqTyzT$ikwYTR^BMCtgSfvodJUQ%}MlL6?g>$E!Wh zugkzOR@MPiZNc*~-VP=TpzLP@)~j3XindY;vB`P&?&10j!mO*SXjxjPC0xv9;YU}{ zc!G!}N}ZD>KVT+3SDh;JZ;%W!U;Y0`>VLS zC+YI>0Q6E zHvrTIayVJ$OQvG-#~8NSk~`1qgT|ReEQ&;}$6Z?^T8eC2m>9Vb_pk8w{!}{HGwMqj zJ+G+t=#RI9Ly%E}e@q%ZH7(niv5^ti%gD%;+8KW)^O<|}Q~9Z$%@#GTX#TzZ>S{j@ z1(QI+ZzNKOUs6&Nj(M@{tgAclbG*jVxXi-reJo%fUxUJ3@GrxHThfodM;&8IRJ*%( z`1$$uPEixJ>7k(w+^b!DGeh-oONZ#e#vn~8&*{ssAx$w_1CDPKWYL`-^U9+PlTz*%6 znnoa!TtmqH_Xnzpc^s)2peOl6s+qQy4)7Gocu@w(>k5i>4R z@&+=KUdh0{_0C-+K0W{F&v%v-3H#>qdW^x8R~uuBoNx9tf^?3QS$4>gCR(N_7hvnnE%pKXLp@CLK{0)~#x$9tZmWtM!nwV)cu z0iwQy#PCQx{ED@&HWO?JoQ>bYgO8IN&Byx_dE?DWI)(-PqdBoe>r0oIR*{)}{_n9HSr>5xn;4gn^wscf7{c zWouT%;Bn7+FnH00*-8^r;QL^$?(M zso0C=fD~q^ba4OIbC?!vVh=mlA+ZbhIY;a^PdjS%`aS5FMN1LW`dB2syj_4p5 z1qA|+S<0xlH&5Uekd!R>DUq*zVq$|b1+F3_vHhj_7!x)XjLorV@PAWmLL1M`p`2zW zic`ODl?xUj#Jj{ub>_@Mb<|7au3@nQ_anvwJjk}cKaKFs^4*fGstyaW>X%BKLCh3@ zA3oHd+1^R*`!nF6jkMX!x|kCpx|eMw_Vw!QH>UsUdJ z$!YE6TblIBfvIUaQO}+~XW+E426YGvOTh@(QJ8_-nqOafgBg_g#RApLnlm!8mv-#G zFvT^=Uqv?K{8zt_KQyy5iZtyoUNl*udN4B-0VaaNT9vuSl zr1^4-+V26+wn%r2iidR|7$U~vqd?xWNjsv(f1e@lzu4b|rupJ=Xy^(Sh4@J;W0j4z zMcj>5^3MeSC)c5847;3(Ufv5iUJaKcO*IDPmN!;bC5T!Vko|RNwQi>`Row+MQs*O| zju~D)!=V&xm7^9`8nSUz;4)HJtdnjbBqeo!Cal(|C!q|jDb^$g17^i4zjqxrG(#e4 zWn^VEebhVHNW`WG5Q|PWLU@;-KlKYXtT@_5jMbq12OBn(bM8Ff7@KaQt_j?BDYL4R zD42l~y%Dc$bAJ2?#ti0^Totv-cFN=sfUznbass2w{caDsMNSD49cXC?qsc$;SWQW( ziOSe#C~L9xO{x*mpPqzcTi@G1xt5yJ@`Ob(gWyZ0^<8r)|eLK;IM@x{em(I#ckV(W4Ix8Ng2X z+AqQ7&$i)5+N-N9RG1R|oMMX_7lXC+-}@U%g=7QT+cN}DvFrD>to0}Xwgn2q| zUCS&37{9b|yH6gb?yoE4R#XULMvCB1;iQ&h%yOEia71?&>_aeStjzrrfsW&R0@{@k z?f&@w{qKhDa7sNn;1mY@J)jenrwV`%`_lg#IQ%CV`43^xzoN=-i&#p?gQ6mq;LRp6 z0JR`c_;$Ot--NsA;on$sj%({w2Q$cJfB!!~>Hh=$IfF3pUjfw;0wny}wbnc+p{V9> z%!Wau7O|HhMwiL(^z@nfk*ejz|C`|PVYI%QTK?Zd0WYMaJp4eLwHL@ofmd;HiByYD zB7?ibB07!~OuqtZ2jF5sihKfC$A1Q~|8*D5FjuxtJ$)*QTk(GNkL8RM&HeA?oc`j6 z8|5JH5~Oh9e}GE=^*EksH%Is+td@xu2>pqj?|sNZpV>eWN8N*_f^7Mc>2(fW&!Tyk zRWeM4{Bsnlf9RB-VGK0#h7AD+iQrC2}_hDHwsk( znH@MwQjwEPcrSBcYp+=;+!H_r(Eh}uadJQR;g$cvm{@?d|Dd&7Fa@g6MRwcp#YIe@ zvpSba9J=$0vWbOD$}#OKUsT({GA-SjLROt^zww(f5x*%~^ie%KsK!pukf^Ay!Q{R1 zFA{{!J`V6A^2tB8GK658`QBs+b*LCoPIqGNdDLPvx@_7MH#S0FpdnANoA2iga9Q?L z(3ILJ9dKN&>dFMol-Tuq^jwOisf%eLSG01h&f;inatSBj!(qZc&yj$^rAWIcT)uLd@wco&0MxJcM(TYH=(3H2?{lyAhir~K4Wr)cEA?FPsoO&x5c68IRNO6EV7B4Md6((<3hz8V zg$t`drAT?+0FYWS<#^7hj2KkoGE$n&DTCubhFdh-u&lByADn{V^~&mNMn1aJfI=hd zGO%{W?>js_fJqfA(RjjGv;NcM4U_QLAF4OfcE_i!jSg;T2O^#sAPu=;F!c}B9*gp@ zp?I`)k&d;z^GIrrpVV9-pq{eiB$rlRyQ1_;K9~7)khV{_0B?TwrO`QkLL{zcF;Qf^ zI{br2%gMeXTv6fB{3V(W-TWnNyu$H$u?eb}&9hD)Jbdqnq-;9x7{h45a~~Rd@H{+? zl+%ItjAoT_ExppI`(!t=50JfubZbgk925QzkYKeR!9J8(*69pD_Zy!*dp^=^7$QQj zEBgDJVYhW~Y-8xSB!T0{fB4RyJ*!9fam;#z`EkRxqy~yI-g&i9NxTG69{D+D$UKfOqPBc6SmD+<_y!B={;7Xzps>4A|Gf&V{{oO4H) zcE~n_U|f~oH+16Jg2I)IVLL26jDW@NwLcT{Y350ifJb&TDyWqtqD;VkNIzM*W{udz zvF@~91dR2)!FxHnnN2bXMJO=FfR5%I6L(AJ`T7`Ed9T8y-lQCgSlXYB$-CSz&$r=* z9AfK*V#>t3_A_jjHexbB7jc+yAOQa(Si z$U;fv|CBHhvCJ!Dt95C$KeabU&4nR8J#gJq$brKWHAlXf+s9(vxVwfLWc$n!R-TVtA@&goWaC|IjT%%e!G}P1 zL}&{SqQjEaq^lh9%MbLb&sF)`pekl1Z(~ZWNBJleWzwcb3m}Lau-HpEuW`d$J~goGM7dZSX&xws#`4CdmxhJx3xF+{t7(HD z+zTifI2Fb~ICw&6o)1{ZyF0zwXFGJqdY-2{H>MOjc{8ymkB25PZFtvpu>K`oJJ*mZ zTx`fa%<}_x9(TdY!mAJGX=#iD*S&anxm|k1EJw=i6~HkTJW@LifgD{T(}pv(#1d_+ zjPvG36OtS-u~D1hKW&2vssYm>1t7du-1huc8bHF8cQnhGTsOWO=O+atMD7{RP@iZZ zQ)=AuS?8pycWcuzA#JOlPmX5_8a5g1O-#D)o$Y&r^v-Q5w85nH1L--!Ir1`x2Dzu8Tj5jC*>GHaPNFjF!TSvM zt=!_#!X+lQ7z&8qAmHtwmsqbBf94op5{^k0;a}OKsx6zSF|NDSe|%ixdmL$WZm>aO(*>jy_*Uy3;}RPYr^b8RQ4F~IapW*}CWiIN?EI-3?B+`W0atjjqeyD}Xe@w$8UunZ9^w&y+B-X$ zPG}goSW$txq5a$K#$qPYrZqlgJsXPV88=WN5WyQgc3rE&MES(Md#eW9sa~jxHD^({%snxJ(@GV!JB;NS?XH16Dg2M3mdb}>ayB?B|V3K>WWm_iWc6mhiE z+7RePkU|CrR8Ih8hUj(uAF*j*)&HKwB=b@#^6}mpyULl%e`D7l`S0uZUTgka>+|p_ z@c8!izy87TdOfH>X+rd1;$)@Uf59j|tl?^OuwE{(d=cC@ajNMa{$n_o&fN+!DE$D|7vkK%j_1c+0XUI&iVsFLiwX z?iQB|gtRtGUb38@giBsZ@EQ$y^i(>k-oM`)2-H`;<;pR!u`<}PG9fQD`5QOx_N7P* zZ6$#gr$tS%$}i`U!uL0B-W*t`DvG##<%%>=+Zt%k)g4TS!26`padyUA@m(MIT#t4Z zm*F$Bvk#|2Hk<14J3T#L1W6xAN=ubJqJ~~x710vo&0!6n-F|Ep}8c%A|#ytrl(qYGb>*F;-x-)<^1f*^}X0om- z_+SGF>&zcEx=(zTmgv~)Qoh|$4b->q!I?MPnU6^#g<+M#njJ|(JX1_y1&%-7T@Q%n zR0{Si&wk5h&%4M*yiXz$CUla-=TtU23JVJxgnL*&pgawLxVD`q{5pi3I>L?uoC6r;fcTFu$2d>aqQ7@rfFLw zt)_H;r9;nN2b<>;Fg*vOWYR=qP?a)aZK15|6ZB0a$-PR|hG z9Z5YvKz3Dm=f_Ry$_b!pb7Zy8U&31SE&9atPW=QbwBiH@f&wWCNP^#!?omeUs2{4U z`X}a=^Q;^^03twbo)so%^D%p#6||_35H^02wka3~81DxeI&8Py^sKC``nN&Ai%UyO zE6@dQINBU`a#`_lyWiIAohICvrA6Zxx8_mL$uFNW5X2zsPzgR7q33|*$NYB6G(Omv z(v;TOZ>f4o!<3-!Km;e|9yD$Fy3%==mvD?l@vv0Bl~~FIW8dKCU#Xd-1+x?tAW<;~ zsH>_HcuraueP|O$#AgVOu|PPe0egK)@AFww;YuSi5~#g@{QLzTAyh93De9WA9g_^6Fl3d1+2t#zS?qzsGPRs zgQ2T0(?$~|@@<=|Nav88BDu|ju~1^59?*~SAa^p2VBNjFewmtfkZw9(qW++E^s84v zO6YCf=hXBY>)U~!HM)~eyP1#SPMx`MmJ1pl`bc7aT}wlwK484s`S+WC((Ta0tq?kP z*$NYbC@aD@MNZv}>X{-#K9F_HTL}A>IuqbBLJe4|`{Wn>Be8N+>2TQ4(9m8NUuGJ7 zYTx(L)vNhYT;X2~5ci%9w?KhO3gM{cK$tYNvPwHX*tA_yJ&0G0qT}$Jf}eJPw%T3GQy6O@QAF06k=Cj6_i7nc*n!eEQd}(mEpNaJiqByB6oV7Szze(FtNUwpA7+?WXSKF3Pm*2aVjPilvU~+{B8=V zoerFjxkW<+*>muXShJactq=nPCuccdW~f0^$U%YwqdczhJ~_<$EIjB-mMmzE+UWl1 zyWCGT4wjJ*4sqF8vV$RzBoHmJG!JexDE7S52Ax=Y^RX{?kFN%9?glsAHzeL-_#s-cz>f%i5>Wgr|>j2v|e41rGy;s&Nc@&%xQRnjrqz`&rp z;x0+A!GHbk1WoEy({D5jGE8G;LkG>?^Bo+>y};%reC8|?1c#5B1{WfB?g6(?IQ~k_ z#c*uehsALU=GOh+#+y zAjH~dvYCH7AwqB%TaXy+)AgiJo98l2QpWhxOe|>hJ$Vc0RXs60B1rKed!8az&frTnyqxgQQgGS2U zFZrGt6rYqp=vhARQ9FJt&t1MR|U!O$^mG^udE;NafgWJ%Ed zEBd3c?fOr6gCOp5aX@WWdc1TfDJe$^bh%VjRgH`3)%lfrD*f7MWmaDCW$49#c5=(T zOF%m6IFM1MpQ9Gv)nabD6WpYl(I@8i+K`BScYfYap2k|O2a8KMY!Z`~KMwAxJZ8i( zcO-3t7*KBRCIRVYoa16lL1W#m%o-%}TW@i7B;j54nfzPscKXV)Q*{Wrx#(M1q<|s9 z#yWvOI%#Pj)7DBLT@~X zll#Q&CeVv_*msXdu`8Gy)bwpf0A!>98DbWud_WdH`&Cmizd2Sd(WFE7(Y~m-RjsA$lW}~yU&E~ z#sK?DE?DmtLKy+%wNnlLg(+?DJuV^Vx*D{NP}Mjv@8ac*5FJ`pDgF=JdUY>fzI6VX zbq6zCpqo8xsUavQXAYJzR_#38y&%tM`|Gp2U#IG`2Y+&+cbd1 z0cTYJCwCSWvm;Hi91=U~z;ZD%!hK;tH=<0=Dx4hR4^=WGP3Gq2+PGgXV{1bIGHYRy zNs?Hy0QY}{0#YZ|H$ZyYQS4x@;tyy87Fi80O(>>+Yik>A3JD;ONJ_`y(6**YtI*`+ zb;P|1!b0IIV}JbH2Y z^5yP|Z#4F!#l{+1y$$YNAcLG=yI}(?{D$e7?&Sf1b?eZpXmDYmJkBqK`1WY#1l$cE zK8j{}hnlcS?7@*hoXJ7%gsOtgkDgd}WD#ps|FuBFXnm?+xUOs6A0f0_;b5LlV{U4J z3eG&3j$lCw(q?S?p;llK5G%u1hYl}@p+uBPfzn3fr<%--yKK{zE?NZ z5P$_cgAO~GD(DeyD7_#gY%3rjK#pY=)laf3D#SVD{T_tuuL=CzL~4o(thNs&IGB_3 z!y}lba8EI~FqCJN%9HWQ1(XePPP-={AB_T#W7@o`+>wL;_)gw@=yL6Z5^U&ZoyS|L zjz%E?67?Af6J(An{!UW=ny~r(=9zh)x@m=|ZFX=S1o=AU#Rj+>F|g#p?^gdev;lja zHlONI4+G87A3&D@GQdc_He1WoD?fntQ{>?;$)WdvT)n(uLms3+>%5doipM>~Geu!1 z`+3I!DG3Sr+w+~SVAb`T%_j^O^%fr84(9=#5YRUj+1Uqcv<_N~U%r*gvuXiDU){FB z#7jv9JRe>SwKO1Nsg~M1I>M8~E?&I2<>%`PRYi=kPDV0plb;t z@zXaJ1o*M8KQpLMeUe8^YFvz!j#qLp6SZPrxg5&D6oWVFmW^7%2?jA$kJ``2FiYG8 zwPnNY2whb*HO!DEjay}^Iw)*5nhvHfm+j>Y4>RX*r>|3jOL;-Uyu3>VYmoqf?^g)- zq@!$$+vb?l8s-QGGf)@vG2bKV$H(-uKm=v}FQB%^#e_P3P7VcZ0A z0o|}mfAPu{$wB5SDO=zDJuV2-#o=(h_oE7uv7{ydvq%A;qFPVWaSF57s_dNqeJdP) z`2CUkkIq%UF*aaclrRqJ3(P;it@^21BrH}4yE@q+egch!wBO3lXQvpy&Ux{Jg3zj` z{#vD2M4E)XT5@T`A3u5cZl6pEnD*Mp8=4!SB?1i3I7cmJZ?zy(@Mca0q3CsDMn*Y3 z6t8Fb*=-OUR0+5McdNYG4=nkyd4eb?CgH0?s_Jjq2SE)B%C16CfMlX=Se&L$u4>i; zQ2(_rS|Ub~Gqz{ZXZ?8gIsJLzP59Ep$mIc3#a)}QQ8}hFS-qEt`tKLDdc(*!nf!ub zb+)fJ!aeNY0!$i}%aO;9x-0Ab=LN5BMk$aU#dQUO*ku4Jn$c?Kr##=D`k>1!WdNID zG~XGE2FMWLX+|Lveo;{!fNQr(7N7VcWCLW`i!E!*F=HZbV&%Tb-RS_{HPgnLzbN9) z0^%-pq8?sigCO7lu1mBDE{ddOQ`?Ht1+pg70mWUdq5=vI#XvpJCR_qgTbQZEQ$%=r zFL70n+m1k8qy{j7z=!l;aA(QyWWBb^Pzz5o@;lUz;ctis-t6mzHTP@F6_!v zYEC^+3$d7_# zKPk~Ryr{Ia)F5`*OLnBnNp}h)mOQ#^5hxb>JrFCv4w>%+4}AV~@Y}d`=FNNH#kxoJ zXCcji!PWSh*@p1(sm#|RYZhrHN)IPNC4LW_f+1iEdLApb+L8m`6+WF25KlCubwJ^Q z`*Ab2Fc^n%Ffy;Zjz4u9=nXZ#+O{FgUnaYO;~jZUul!@u(a6F9XD25ttOfk0V!YPV zRxLiB<{R{(J<-$f#7Ln`okDz@&FneZZzoF{44m>uVt?lhG`a zJ8K_9%7uG|KwbdtoO(?FV?mCS1daC&ATtm+G(6PR&=>;sRpI(XZDLm-06E6MD;QZ= z%z5W27*#=y#jBN+byNLqoJ$&zn-zjxE(Wv*2w0A1Nf9w*smxa5R*PNR8E_?6T>~aC zO8G#p9snf3KbhXSbI0Kpr`}+0Uf${lUFAW{Xo;ru+f30{nupYG(OdL!&rod$6O#lW zV$J3XKg`y;&3>MaZcOQ5GN;_SA>j^OrM(tZhT7@!#sxa*$0YI%dj|NQj%_FZ;d3IV zA3V6e$7@Z&$oTGxsy5}5`}%q+6g}xtuNN8I0)nBRreD#15>n;4^ZLBgoje%|Mw<3_ zcPU>W-&Lkg9T6^>$7G$Z?BY%yIKkDUr~3QDmw$Wx-u#gKJ6R)U7(gOx?{>!XXA3Wx z{>leuWO7saB_ypeEseb|P0o;og(aLtOj+3mBvnITY)U3#Nu#vw#dbmal`TLP|_4%v@B6XT;y*hOpZ>+X$W{0PBT8y-Zx3Eh52$wRV{M6M0tF)gY9+vH!&&GHv3Oim zZTn0~Hrb+%s0Fj-dsaSnY%Q?ixH53-|lj&Pf;f8CN*u?=G;3pOCMqXes z5R;PfdzYJmv`ETdjgRATo&w1Nda^gH`$iYOhT$g>>-P`!fqOGq`@IJQ#0{Xcf^wf; z>$EMP0D3<%-~~k5j$!5be~hl49-oxNyy_*JuTigKaL85a|5K`uNr`hH2N1-HUX>Gt zm>pX^y)1I&1X4V%ClL4)tAc+iNO|*#+mMD6K*Qj`Pf0~Zg~9yZ+HXU&m2V8-@(6Kj zy81*4wj6wpjs{>Eeu+n;xuuI{H7hT)F-s$e_yHY91!Hq!3yB!gw9_pFbdB$9JFwGD z4QjERWdQ56L{n#J+1O;*gdaJq|N4|;Fn|C4eKP6mGF4xbi6mU_1}+wd7?JDh>N14| zTMu>F)aQSn^Rn6}o@|PhuFw>J#D^$yl1X)d5Z~LDPk9bHQ$>^=Vh{FLoP+K~(Z$;_ zhijS9Epk;zbVD(53kwU)$OO&v^6l5(Cglg2SXhiNy)Iqb+{sK#EHJNfbO!WQILp8{ zF$T)d)&DGW;*}qvYg|oZSR~Z|eBU*!^x+4-rccy&y1*_go(14N8&A4PSN3N{M#gmF zpgI?a+~8}XFbRn3hS)qC^;dnPVk-{~o<+EGD2JMn>)&R;X9Bw})V~RsQ5{em;|y>4B5bVHM(OL#cDP;c%=uQCIskB#I`P{j4 zWWxYO3kDd5Q9t0O3c;?e&VGF!&)PX~uvoa4LHhpvyA60lg9nTW^Q)wYL*l}`HQ-1e zfUQ1=|4j!Wk*(!{j!rXd2tiPEd)hX)0;HXrq%CzJqkQ}cRwoZx0rV;z%Dq-e@B1PgvA? zST7F4fOxqX+zy_Py$i{DeTa1o3qQU`it8qcshcsuSVNIwVZzeV@a`@TdX>?_Aij%~ zd_|yAmnm|2-NKC%6%aT|Y&kPglZqK#aB&xx8sH+E?G{0d<;)&SLw~(Gj`qm-d`iY+)e%_19VL z3`KJ$+fWHG`Io@or9CEP$!>7xPC>9HvJ!g3u|KV-b~;!S7$5L58-O4!VFSiKNoOc1 zC<2ae(noZYmrw>K9SJJ@sNBCWzcQRtGC^}76B@8#W&0dD2v#w*wOp8?6oLV`!Nklg z$+qLv!?LwCH*#z@H#d)G<@;Z;opGGWU{2{D$4y6PW0&HH(x4JHT=SEk06;c`C7hY2 zRp1dAQY5iQ+I-Xq&(kFyy=x_kwq`UZx23=q1TQ5!;SKQM^$2i~1+bB99$AN{;DF|? z2JEaTxhyr92h2S7y*lS0koDu^O0~Saw)~)s2-tZ5pBRrXQ0c*c?Z#R-gIoLBpcFCSkg;K5B7 zXa0!6?&LdH9&lA$1U`=iJ}*UBv?9&S7*~!b<=1(AeMa>PY_|;zyhDauw1cjKVN0~_ ztCB!S;UXRvbQx3v3k#0{&9ZW!OIXbyflBU-l-sW@NtlzVU@Mm|_36`op@8irR3)Bn zg`KOAhj>+jo)q-4-F6~(o46=ULnDRzXp<&{%*APdj+gP{$GPCJ^%_otti{8l3aa~` z&sQb%_TFWtm&MT3(&;$9pMWX=&WelIM^@^D}hp%s)X-Gemp1Q8!*_F)z{% zUj<$TL$3pf;gb`-4@hJRTjVF0ff3JV?^`yy+S(k3+7pypG~k&rAnsM~1u8-x6pwIL zq;!Z!=K<%D3TQsP<%In3fm$>8UcA^cmn{2REVvdzAgD7bZnd6z3sOlqx3d>dr!os? zRNEj9U}aJ{YwfvToTevt%I3BMH%zAli5_j@oS;?Q`H}$v;X|gR)b~pDaUzw=7xWT? zo2Iovo?T|Qu5cdCFDjk}7NZl}>1!+Pd8I;WAD?6LWp7Ax0=$UF(>S0xw;6DdHgylb zJ~K9*fV#mA-ILgdN zqx%#M+4!6eO)agpKVGu8OZGGKO&+H#O*uO|>soT0R+)PD52Rxg@AqlcT=1*Zg&Z{g zXjjIZ<8;OIahv>yr*sN-?~Lw{P^^)kKmol6e1EHeistH?rlw}Yh*X~?PhDxh@9PW0 zQU&H5lod2!)oSF?z~$$$E>dk0N;E&0^u?-N;0=?Q=qLFL5%oe~F@A00j+!p^@C3s- zT=0poS;fP$QMriva+6JM)hSTMa2l+O5Kp*y^78YEF@NZ@ib1?A0|CE@yYI7nPm%Zq z`{Gd+hyvN?OF{OO1nj8G=+KU5$`T2Da>^M_2igCSmZoSit7D%wH| zVEHj%Zk+leB1DijI~IUjSC#csw1$HhF4-pfMdp^7ILWbqbR1qH34wDga!C(~$z;mS zVA$gs9x`{V0ca`nN&YP41g5P`xXsUB2uxheB7Kqj0&rJ(H0Gj;wc3%oHm+in0?$1* zzuoAuqd+chB|qEPQu*w|n~`>tp72P)t?w0fZNX+7lo14O9-f$Z zznD=uok-^t_~MF~-n<@BKZl!_mluX{g})WNDD3P3(oGofwu)G=h+3Ho^8zKlY0s*_ zOHHUPIVcO?fQd+4XcNcm#B*v5yYa2U$diZyQ7bY~F{2LYg4KzlE~A5tr~-h=3^Jeq z60=t%5os5#siDE@0QMYi3!qr0#D$!OQ8~f6UfbqVXIf*yQ!jym(~$Y*={fSuk=uA+ zvJ;l+r&OlmaA|HnnM12 zk9voCiYcO{t*u&7l|I|{$yf>Kq6fKD2NIWlwzZ)js!C+r?mX=Pfq0QEg|a^kKfW(7 zf9$%#x&{3D`!$92Dfo^S*}Qv@YSuA}p4Nk*%P=~Rd6Lg^doZo|A9?`XV#h*H=d|me zZMYVF-+3>R?>1T8l?(jOrE~Pp=gVhhr#IOR0JQ#6-3Ns`*et;fitV(?WHnLTTR(Qj zq0+KYgxq7$7~HP|j6p^vsh8D_GViAuD;g|IC_52O*Ix(DrpxkO>N6R~9`;m8Krl3l zyNEJD5{6=&b7tALYF_R1!WI{e?T;pwq!1cT10FmM*MAj}qdbkX6XAfBzOxwm>C?@h z0&Su&{D3s;Xg1|r;qFf$CA+^ExjwRbqDMf^<{teW8Dv^lBIof#bG9jHdHG+xFldt- zqUdLd-uL9?jX8a*hnq}l-1eQ92qzNn+Su6e3R9#M_uk5i(LcYvZ{vO*mF}??WTK&} zY7>)sG}{&<4Q`HkZaXTmudEY?qBRbSi4h$Hu{M{%%M}AJ+6MuONp<+08e9HYdOHmff;h5_01zj2Djx&C)Loc^OxXC$uun7ai2b;9r4M(J_CDv8D;G@R z^@Tu|2DPDvKqb@ygh|0LdfHLl2&KFZj74=L0YhEp`b-GG9tnv?7MwbP{-A|ZVU#~hzOg@d2fB#-nkz!LpW~Q7AR^lSx15< z&_c@ehh7*N1$_}Ygeyr?h#8HIi&I#Y5JwDWApjpIo0p$A0>a7^Eo@oSh`X2(yRfh@ z9!dc-tPY-wW{oR;2oRV>v-Ork!pptc{p$k*1DWdNk|Q&#uiZWb1dN#32R0uK-pK1^ zR(4z*snoc2>y~;`MhN2CnqW9n9G6EY*;hXohmCDICj{HY^xjf7UVh4uSR%STYP=rCIy>+70s^4n^VZ7YN>&6+glhK-kk=zKgp~VeB7O$ac5rVMTP1o;DZGy!8JwFA8+3tDmEWd_wMw0Hm{8{gM=G4IBLhc1n;ZCy~U?qR-L~;Yk>yA(~C~2Zvly`=5&rS_}s=R$+Ik=4zGpL7C8=-v_w|#4b|NtFF6H zm2sS!x>SS?rREQSWj46yxbDyXmQhWUU0@%=41C)uHB{b*5?!w>cgGC z6Cj6|`v~a}%YZ8+eSLjDU*FZU1Z05Uzh~%HJFCl)dC<+wIz~ZlST8^Z*fr3GSSGSs zF;%Ob75x)E_W|)ee&R%-0GTp9Y`V|RTML;xJFh>dr)vxeNl8hyEH+ALZa`7Z6Y~qG z#5{oC)bHN?#ve(`!_9qrno|;BXPC}x_Ws6mdfGfg2TVj^4Z<77I}t>&iP7aDBtP94 zL^(O{K@JcZ-M%A84+{$mp@IQb=L_FvLS+IJAq7~1cQ#n-UJF%6ALHV3KYXBgX=HR2 zf`$BZZ)XPz)1f?Px^&f};=@`H*Ev{EEz9c1Kt9%4??tY(yIEVUPP9}S^8N53T>t#z z;Pa?4YH$4=MFt!|JC@}zixAF*fBZPL=XD9dX(uNqj_Lq_uT25jA%3957|ViOflB`^ zrJ@o-%cq+IpvZj?kEYwpb|R1i=rPFqh%GXHl=m?R>%szwN1<$~M4N)b!YFrTMYv?S z@{nAuQgBq1(=cljywKz4&y%6#t1a-7S~^EcN(xwoHH;XD zjHetbAJ@8};bEY7{6eWwLbP;r&aIhJp-8pT)bun+q#ksz!a`|xFx>>-K&`T_?oP2K zRu@FSROC1+k@gi-{{aC00yeCo)f4ETfELuv#J~Fz5i&<$gIGfv#C{)|VuC+kjx{4~ zgU@Kf-QiE&Wlj?O@la6y2iwJey^tl5w_Rqq)~>RMRB37n|EY;*7VYS#!Q^bF;kRJdDb!fKV}0 z`{j}zy}ElQ^>lSo(XITsbaO2wt)gKRUPx0R$v8Y~erZ9i9|FV4Qf$B_#?rXFH zVXxYmlpFb2?X|S6u8VG5<+i$6OW(%;gdzmvTK<(>uMHz1bN~&n_RCrk%nnw|2HGHS;-*CWI#@i+&xOBh!?- z+qRbYA3_R`9-OO54=}CiCZfv$=1CH9SWNN{mE)>%^D0=(*UF@RGy`oF`+k0bkJo;h ze(WsqVw-D=jPGh^DwPkF{XmzV^C4lgwlNdBM7lEONm&Dhh8a%&Pe!cf#X?gjCRoJW zNDRj*j(0EiForeEVIl%di*{fKUb0MxmTTmk^W!%esR?77%Z(y+1v0^ZQC6;rOf9zb zhGK3Zw;Ulk%huO3*K8NOTs&t}c|U6{;b4ZkLbOcw%Sv9*=cu~AtYShwag9c7bu2Cm z`z1ugZZ0psKNnMRHeud3awhYs+6kU`39Z9E)bdiYC-o;vC!YH4+!u=311*F|9_7kE>U9{d_Gyw~ka6+3s!MXLQPCGahN4ayA<@ z&(f&%6tQ2-Y@=5IG|;P<6e||h+}4gs@^ZS5#fPz7NirudHtv_76Ls$v z*30jiO0iU)e18vJZSlEAxAy)%xeljKPbM<|waa^z-*E4;AC>A37FY)WCr#cQU%R^9 z!>U-tbQ{}(@UV|b1cKCk>}m=W!%S!u^Joy*=l0r6AKS6j(h(nf;JUJ;G>~0Io87mT zu-l#;n(7np`n2oo>R^R+E@SL<`2;kZNdt~=bGEuPt7Cx7Zat1V!UetW z9e_MzELgei^@5v1tgB`D%=U|=2sV3({f7z_=&UzhQg*X<;t!H}HJ3>2J&sDtBu|LV z{Jo>TYtbUB5aU`cj=!d$5m5OQ`4`=BA+^$yE_WkNV$QpkB(+aYrDANHc~LRF{T7LZ z$90(}cOQ2{$7=3n4WBUed7DhOE9UK{;2=~$e)=pnE7xtup>Sz`=*hmNbyi*tF`v$9 zBmh~W=CYaX!kOa^KEdyiOsdBmsWeOO2(F)YzO4 z$E$0!@@uZUY;{Rkl&c%XZ=XYNt=>g;C^E?tNO6D}FC(C>lT~e9Q1@OW$I6XIgd5K$Y&iIG6*|lyvk~=)<1%7I=CWZ<9ck0x9rVJ5z52guV+rG80&8N11x7N zb#7jWfU@(*5q2#!r~- z&idPDY0s$bh{bM4KG+ysS9(QU&}e4Vv-$<&HJ6)O`V|Ulq_H8Ni=K2R{`iTj;^HuD z<;Nc&KRUVmoD^_dCaaTS)@At8!{fKx(IxRQ#KfAR3YGGKC=f2_dNnyUq)Nv7P;FwW z|5g7M(?;DQja}*`Jx@tV&^M3k$E7NEy=$+mu9>oZM3-;(&C7CHl5`=51hwe1e)E^- zLQka>?Y1awU?i5idJ0D$DLSMPojQ1siP~6w%cWAe;5M?3^iN@qgQb+ zs?sqNv#9=1`%SyZGGC3o)ZK=SIvPIXxo_Lyl^hR}^fxhcMe(7j=yDeU!-*Gy{(&lm zv*!aUo%~A7M^d$x(b6jX)^xA+lR>Q%33F(*d!Ph^0=qm;@NP0FynpcOk;PtK=;_Aq z?6V7=Qjq=7{LY@yxU47%z9Qdtnf~Na9Z(2^ps>V^s5!T_&0MdF;n!}XiK};CrY>{S zONdL(P%!TLO!lA1ch8cr03jJm-LdbGAj|~StfMf75R6+fY!QaYU5E!TcL6l&&A2BI zWP2z@?*?euhJUii|6^C>Z)f8zc4=ka;p3~#bbo^2MGuj*r~a>tmz^tm`N8uMto`U7 zl&&UPi=D_HM`0up4=AVcZx)4r=>YxTcg@=}_^JHrNm;EonR3%1pSPL}Nay{!7M_}l zvghTb<$AvrGH}9&zx%ZQs~`2>dP4uw0XsF8@2Sn+xNFvR(Vdb!G0->AG&j#E*1#Tm z+sxW5r?B&zoE!#`e+}ntZ?>g9w0fEa{W}k@)md!1cG2$@?IJP<{Nt4L5S;w;U5@oO zvRbbE&w7`PP6jvDBBg+X?r5_z_VR4bQz)$)Ip9y-VNg$6<0Y#fAK*7 zotabHp{fPSfKqQ}(K8D_SHv91?Ly`MyO1rRs$ z&!K}X%U_27_#iJbXAO0IP|p*rS+rC9x>DPsEqb%&`VCu17D-`pwOppA7`oRxI=X&_ zNcC3OFC1&yC#)Acuhh@D25~4>-Gzdsn}*f>x(|BjExDCR#Oe*qBgZ&9BF#Yg4Jl7g zPrm^3rR}c=FjUCfXKaRsksEI<%vG#>BYvba8ZO%tF!-@x(=v+QHfT#ANyvAbm+mJF zFR51Vnq>9m?#V($Lq=y=q_$1`bgPp#WagF<^7>0HHS8A$b-j*kiWLi69SplH2J}g8 zDffRIQ5O9&!-P_vhXR3ObNc)e^GT9b+_!JfdGu-&_qG_IbE61q_Sw@5&6u7@N+zl2 zkLC~vtb>I{3Bav$MIJh70^A6zMouAzs{jNr!K#ky7MK;h!orE14F%bTHpHl2&D zCxy(h@w`Dz*+S+MP_e@S1_Z2IhCe}zy1s7L}4>EGSNnygMtfzDOY9OUrxHP&6? z^cvF1s@-2a1$|GArLE&ukU_j)GAJwgPKshAg23i%mr8^8{$nR6A2xX?bPj{; zqr7}~_!R>nThcG*wygU45K1fKuia4AignO@Bm3cI6Yjj=k@S5O3RguU%$UQA^}^3L zdo?UgzP&wTKC+vl`lv;5#%aP=)V@bS<9=xS%}If_Pu2;Btz}9^@dG-na=NKKO3TU1 zHA6|hH2IyO?0U1i^L$|qtMg|nUUkiA78?2k0awz68%rR*x3lCJ%Zu+qu1z*bv74Of zc6L_^P0${pu%jlWwN)EZ!?Jql%`^+xI8f!Bxjm|d)8Y_y$yXH3jhk+Bxhv%ppWUq* zM9WLi4&9hdaqrJ9)n%0jgurWgpYnX?%pdnpC=X_<_YF>4!A3JC4`(A)cRo}LGwZZYx*B@T$Zt{1=f6$!*@qTvbd zzzh8j8d=jJXoIRnyYYAXf=2B=(YMyc(4>9E-t2Q}z1hO^)!Xr^@PrzIjaSXSLnZQ; z4Jy*qA8?6|WXJ^tLTf?5?sQB-(euX3*u7&%t)TiU56a+Eys4RT6kpam= zh%C1FI|K;VDoEqohuokBOcRDSSY{mqb-h=BcQC^eYf&-wrjW4TaUk(X%3t#^laMf9 z*nmv{DxfeA|Hj==H|3S2<>au2_D9te9UQif%_RK%vU!|)WNZG-k(v9R zAs+|x0N6Dq;;%r0W=Lb0WEMLa*ZoKn7t)}=Gi8?`0pFYM=B>JO5f}Dhs}5~X871;U z;a1JWL?G$qF1ERi@?(?jx8C>nI{RcWPz~nM| z{rq)+3sEU2@IazBZm{^HH}$e5^5wtd$o&oDY2#>6%GvL{k3g08iN9_HoAj&5-GIA@ z;W44|0jz!+@EQ+I&;Q`A{}LP=13$|{Gq(tn(iY?R1bLyer@A~UJxE8uZBowu7+$tn zPoDkHmpMB{62AF23&P)H{g-$B+f}arEDrvZ=94F1ENX83!ktH%z&SW~vRN^laMhh$ z!}H#tdY^&+n{oC(xGQ3P{~rjbF#aG4^F(f#=j>~64|MlJe4cB$W6i>p2l8o)TUt!&8t80HIG?;GZjc8Ur&(&ss>F5G=9)o3uDQjC( zk7qZ9gKD0pgdxpcyMq0hfHXPM#R+J3h^@xM-Fp|-q1RXKb$VmF6Le>m*4vO^Kb!Ww(zU&40-2?aSpp} z9>*2|1s<)chuaD@`QO$%M#WrA{}60v>zLtI8HR2=q}ALB`+dFq{;?!4lARdv?vU+K zU)(NdJuHWiU`@T43D+Xx3p#rDH9?c?<-J5v#i`jqdoK&0*eBSPh2l_41W_NqxE6>0(b^ntAkywNtph%9u2wOBTZ1 zGb~o_y#87EV|Zxl4+XkNEu^}PG`bHRP)#E>(AS8Jf#Eicfr~q9g%gP&HNa)DAje|W#@5qPlD$IG-}-XouAHa%1XYQ>=9$9 za7@kW;^U_!ucO%JN-|5YKwAfUBRdx_SA<$gKdG}`>i&he33}4K`cq=g*c8oLlWMpj z%*0;%;$|leHC{ZCfy!sPnqLW)NCsLG<0|d@8kEFxb}4bD2;0xDp3>E;tPeuZoTf`| zk=04#r)jzunl^k>hQ8kn4o_HIsx@BpE7n}aA4e8_vq$X~S*$a@mhY;$MYJ|M?>p~z zINYkn-u3CFU%i-LkBaww76AvxdWbA+Z2rH{I`64qUoc#1ZaTJlUdF9ns7kScu-n(fUrKQwQSs1SP1>x zm`qa+F#@K+r1OiXP~J!e2a}uXK-55J>R9lzfHIS}d6la`xE3cok_qB_FVv!ZoiQotpD~KyBXM<_2_txH z@wDC6SYd9Uih-Ib-hJkyqk#LC>*hkwBQn188Pw-oGiDgw6%lHrpdObD`4=?Bi@()P zHF6%Cx#my=<7HeUpty|;2cHgw{2RJ-#_(DerF_E5~zE`FDV?1`YFBFPJ4CFA=<&S&{KhaAHA8_XVT4BqJsl^&$7)dBFRWg}t@!>OOq20|@lg ztadO|T4aJMFV^p6v)27EtQFD9v{mgbR8pd(yMFIMcf@QtNBpC^Lx(nTJr5LEVls5n z9T1K9eBwD~@&jXNb0B9C%uA_K88BqKYLw&CRVMXL!fGK$Vpz(XttCdDCB%h4Db*WJ`WV}SOElD*s z_?g)%8#|(JpszZx{vcapxdxwCv58AN!CQWZiI4DvkF@=gy+~fU)^^wU$HoP?qSdwo z(=GFWv|`jq@Ty3YFTAWSm!SgqHlJ3}L&zD1T~<=P_v(GLkYyHRLAA1Lo_uCZ-|lRC zWYLG?(}3JbG48dd+=z2W?vyU6eZtXhr&B*yyG9k(zxSnvUK*hRpM_1VVZ&2R(p?8Y zQ4u$gK4VR7KDxdlW`ZrR9<(=0Cr`Vbs3YniAIcIVgG*2%Jt}vxc^s^l=tWLt0(NDP z*x;~vt1@VpdLiFXrLD+p^}3UouGn^;t)J!DW%}*OcT6qUC=_<~4)t0p>+!GhS1fuD z71`kLZ{mg?m}=yG?3u&V64&_z17GDh#0?q`n)hVQrc9QLSStkN=Q#| zB;+hgm}y{%X!|XX!d~vID3HV5^z{zP($T~tl=Pe;LYk!`Rx#@6ulJ2&?Y;YQp4he$ zZrHD3vUaV>GU{Q0mRm+R^82&tWk;1QoMiGNPSVkGrT1hy>N?4tyR4J(t6vErhQwqm z@rkWrxC2)m7594s4|^~Q{lj*xYi|e#%XKVdg#6Ve-xsi+I%a;F zYoq1>>Z7e4G0JM{txe1J^ipo;ywqJONI-0C<&?IxNr)*fC%Jd*l=5D%_I2AOav*xJ zVkUo^GfO7iqH13@&S@!X>WA?_#b-8rpk_idp(jl$Mk3bTf)Q<7KDD>K)F1MOwW(DC zc57DW-Vx<(&`6epRhe7ML-}(ZN|6otdB%_wm!;1Ie3SQ^NOfVUhu3L;F4|-pucsj< z_Qp&*W+xmHYR1{fzNloX(dyTB51_3nRX#Dz(+PThQxj+EXL4$ap7k2%N|`~&CviB& z=fuXu!nxio^Q-8Mdbwy~-Ns}d{l(L+!`m}l*2cRhdd{BQnGY(_eJuv@S@SiDvy4~5 zA=YRZzd4o7d;q1W*fXtAEbN${CLy8Ij!L)0Th1h;5ML4TVA4ch);qdx`QXVt^lF!uH=RG0i#{5-@KWzd^KjhL zrL1FOdmC!<*1n@oQw$8hBv_O(+!)+^NtovTI>P%{cOAUBU4umgIPcb{j{CW8ypQB8IF4{S>s7TGS zYQuYtdaC6St_yZs_^PesPjS0`sEa(7(csk_#ED;@p*iv}QhKKYkEEH0aKpD9g+ zW|y>T*vd%iJU4-?QooB`fXwry#<=Khokdc^|&ZM0m= zsCce34Z=983mHY_#ueyqNP=~re5-#O>&BP45Ng88cX4j-%Lu61fNHZGZ*39jQl(0r zP`kxc(_+&mUaV7!TtKyP&Tj08T)$$4dXGg+8lq*8`EK89ajIcuKzTgc-owu{6j5*L z5BkvEe37_>pAn;TZ+ZPP&B$bG?W1P7>u1Yq`7n-5$J)`*X2oA~y`_;tIiq8h39WCn zI5=w_S9MRPL9-9y6f_S-rk{&YHA$%f<7UykVbUI2)mVzD8ZqArSYj|554a z2wnd!Cu#Q6EBmFsf$h)P zZS+DQQ7S<&7uQLd{|HO^>v{W9{J;I3$8x=e~@D0>o69zoBFK2ew?A>%i=(88(R{Ze86V>-dkT!C%sUz9eTn>kU^saXL@6s?1o!frP(VI0O4VBBD;BbX zrDgZE)#dImz}CL+_uwxO#HMl>@yY%jxMF3f*DdydqW#jqfL_Ca41;8Yl-xiM5w2_3 zg7M^aOwWl|IxMFoIB(wbq9NZiy$KxLY}Yv9D-_rJ|F5Xd$`FGa`>#j1)fp=k?qq}h z&+%vOWLdJAl^EPnlnEz%FlVR9kn&?i3(qH_ni`o_`{%FBAwz{jXYjaGPN1hq2B=v> z#ROwOX9UlzD>*HABm9N`R^8doqH2Ptq$keSg6XeBr!ieGJU1f+sv9udRW$&^C`-u* z1r-6HHBq|8bn<+n8`&QIA2V?2+8s1GpyG)v|IQTu%apA2JBzim3zX_oMp9SmhnR- zp!Z2Y3y%TufXAbzeg+kC!0!r;E(7v3aruqYm6fH6(ew zCuh0-A&~R6)dxDh2o+B|7K+K%_N9eZN5>0}4%*wLH*nVu>KuFDkiq)eYVuuK8CSB$ z@Ee<-3YY%8d7B!vOCZh~RAgs`waYkm=g&;md&y~NXjE5r>+I(_qN$)n*YDIrqVIe7 z=lP*9cldvn4PyT1lOU)6zg@4up{Qou6)~IPYk)wWYFJHbS zLk-g`?ap*0kj~TvmiWJa9u>Y8cCYD9?t~IbI@K#Na1uJz`VXEz2R~|$bD^#)H9vRC z{>~zCTkhT!RtB)qn0T!3LNv-OU<;K|J0(j1$>RS8Yx^Bgll1K&=U# zc+YwK>i{*h@t;!p@N7*9n(C#`uzn)YAfGfIy-Y$rkmi5$OXA=D$w{D1X_ZF#hETmt zhUS2Q3>*%p_pZ{-#%Ap*@HXl7MDWAC4vPRg(@1e~@r?!@33m3WAZQ~ORdz&SH3r|OkG74urM5zDFtGQWS~q?aQZc=+T1k6c@Y-a3o6BhH`z&?p9xJR z@85~!^dGoQJ9kO*O`99C8~zvU59<&rkLN=@N)iFQIu$!iuu&&LwOz|`1V*4|m<$!@ zUjG5yIA1MBM4-xD=a;f?1{qYI&_UDs$)W{dwS-oS56aTH(5@=^8n_9(B7jcuR04YI zX<H$Z>$ z9O!LBsQlk^8U`?m(Mfqzc=npeJb%uTS4(uJU=qLGt$#}8{3pUA%maCOe(w3=gG8R%z)On%PLN|=$IEd{mm?gKzo!Fpb$Wn&r31bx$dsKm6iBM&0D zeXXR=P=b`b0cs6Y9V9?kdNuT9Zn7kI0$ZMU2&>#K(}OFk&{-2`<V4=<8UtqKjJ!OH6?-5#fJ2bONUK1S zFm6*$2r4Wr4Egx+9W+0~O_9OfbXsFe4X3nl1WHE9UN;#Pg5v>KZQgUdx>dhtT}=A3r{8vkxr| ztUNrFFuPVFaT!@z-+*0AMNbbqwkNNs=-q2_c+7Y-(VYYwSCIRqg}zLy>DCJuZ`q{Q zFV0N@o1AoK0dOui%zWE+qQ0Hy!69iryPiYRLe(dHt=m5GT6TDiy_(klFf>ogX=>7) zk&$$Ax)lggxS?}Y4w!497045VQF|5b4GpnCdPGA>L~B7W_hIO~f}T1_Rn^nD`FRx` zodBTY^C{L-=pkTfuy@FSv<6|bA>CG0QRzzk#7%nw2qeAW?JnKAbzyUJ6Bu{vd}%nM zZ)XKBuMfjyK&#@N`@VyNnz5peR3OO#@&0s^^v{@;b#xeb^=c^UY#q6vH*nTzfBWJJ zfnj2DazBVH=&82$Md;%T4hcB`^BWya7b{|)CC^$8jax~2wQj`a2QOc;2VT52LHdB} zm_nYLn@j1kC(Upw%-w{a`4A%2^cH0Y;BC_8VIePy*d0v(4%;wG%Jj6f=fG(!*|N1X z;$Mn&6MbslHmM$apt=eS65r)~!414BJeL(?XWgrywa{#+gc5deeVpT{ zFA#V)m~vgcx(f6clXaeC-ZQX1D=AF-oEZV!WAarS%Znfb(ErCDkj)QTp=>fxG&nMn zocZmX2#j@SYshkSDpGIa&#$nwc~Arwp@aQ6e*3oVGzC;Py#-Q?C~*m^u{*=idq!+p zuHI%Wu^90yE4%sd)3pOY91vIAy=ZmwizQaPHC{}VbD+#_?lds;;)CT8P8R*yZ$KS3 zo?AM4Tr&cc7Qexdv5NV;8;iGjKYs_Y`wC6s!RG{lOzAtEA~@+z_;!LXv7&+wxSbkO z<-t3WxSJb=9D9FSXXNt6QBjw`T$lubvQUbCK%Zg|%))e`v? z+P7q5Mz8q20V2C&aFik$Fdmsyw1fUxfyTmdm_tg7>?_bx`5q3Ryii_Vo`yYeg&omo zz?^*=imw!YF2b1rsCYwXgtdve>#zqh2e4< zCZJwTkqH3F|G*$h3ll9kLOWLOF;wZuCuBLg;LfDL4?lkxb)9{7N2lubDR@qS1fJ=Z z4cm_(CZ>%F7&U#nJG`7_=SVy7lN|$IqVqQlDS&r`#%_Ghmat=;qg6@;&VuE&cHodX z1p-!?6s3(uiy#=SOgm@X!Bu!t?QG8~=aFGxu%^Uwnu#fhKycNz?|n>}XY}>S zwO5^&76yy6+a{f6lYA&9?dPZd{25zqVrtr3t_=e3T&Q9M=qlj79!3jX`6B{pwAb)M z!mlu(qB;)khi|f!%$Yej$bq=}L{>qR{Jnd1(4}pKUwbLFW(oHPy39oB{)eCoR%cU! zCV+XSo++z>I$C4^%+|%u!j9#_6^gg?{;m z55EIBhRKfBJg|K*fs8jovm4!qD;Mt`9fpdhGUDz$y$+wSaB0_xqLxTL0}$D=^>$II zyc^KR*&2I`1`H*r!SXo~AjkP`5F}<;_Wt;buTQK%G7X^9`SoIPzcMsqR_Iz-@G?5j zCdux-wObm#0AkVz-G=nq9j&n0`JLAOBzC+6^#!c|y|T+Y?^yZxsDV}YTW6A#R33D( zdtJC;_-wBGGjmYmVktHdHb%5K;yr*~WZ~iA`SXrLh1-Djkx5AAqjaI@ojtHJ6F~QG z-t!tP`19zU$`K2xM~9gYL1kgym%*`_si|=w9y)Q=8)+qHf4e)>ZaxJcmC@ND2L*b*W9RJXqQ%)SU!F+vVKiB}TWfv;EU$rY~Vk6$JMgR{bY z0vd|TES}Kfp69x3Fa7-a^Qa~eG5G-nqxUcosbm5Y5n;L}V5;l{rnLqe=0l9GE0R66 z#Vu3UU8#9!Pb|SHihri3g(~0zhavNT%S3V2X4w;`KzO~IOQOIJd3ReEI-Z$n+>`d?X`Qq*=A5q z^bZMWU|Y575ZnGF-k+~m8|>?zh`3ICeEGllPutt&5FQl*A<9wE==|Ig4h!dN@YD3L zmtMShfe1LVn&8Y16_Jg=ic>yr2g0pqKvoajhlf(bXR);sX^L?;691MC3L#FREb-cA zH?FzN0{zbKk~!h~TKxp|?6Yw9Rbl^(%*=WaR1`{Lw=3w)=^qspB2xCeu{9LVK!7$2 z+=QJ4FoVy5qADXNNBZvFgHW303tP?rxa|>#g;%@mWRV+0;FP}}+1m^D<>~l?!Mf8U z0JH(mfUQ`vEq9}i5KduKs+w`z_~WgoW62t3D6aM*^s zi(m2>Nb;MkEXp6W_YDm%gQ7Kfq6DvT6QNf|1Z=lk1bfp|<+fl&&K!HAn%$3wcEf`N%@bJO&dedvt2+S({z>!2Eg7f|X zF_;b15){rOh+mZ8l-}c;UrVF|=LOtL8dyqiP`uCye|Q8zX3H{$` zq{4nW*M$7tU1y*yWPpp1paWC`WgEpFxJuw#N)={_E|oQW(SaKy6O)tE>OPZFe(tw4 z0|U4(Lg<(msGYSIzE#*RbP?(4>B8k<&mK%#SB^ZXadlFzRMA`8t|Oy9)JUs%169|v zCGlmg0=?&ekjZ$zxF#w(lt9=EC9ew$K606)nBG$qI;3WJcJ_u*`_9!WdwYAt*@R~4 zFW}VlG*7^rd%1Cb4u1`O?OwYw7bV;-0#jo>*xvmXpnQCb2qM^sfFE;}uLo<;qOeB~ zN45Z2<)ME#2_^|Kv9TY9hqW83sCFlLK2zK`nVg)o24?I-xxfPD3l?*aPZfM@IP>=E z3q!*RI0J!Va0_Pfo5@uj4GkZ@nw^6Pm6q_{QAbQXcqNEK|Ffm#1{(?7@#FaNm11h@ zhYp}Uj!-k2-CNlFRhwq4zaN*Cm8A?`D(2KKI0yAPPYd7dzC=84&?S;>k{ehlm|ds< zx0Gb~3SH(NKxLKKY!SpL)(O;g@;Ih;-6?cdoq zW>dZb%S}F_036r!K-y;TiIZDYRCKl)v|gK4$e2UrDiCQO+GN1jlJ+ES6L%(=_jpb< zUKiR+G6bu*p>*$$fqLUsW=6)V)uTcIjVYFItR}u6>!C6LCS_qZ2g9~=8_g{(3N+UX zUs4t?o1ZXrJb`$~qRUl1!Kpj4<;PMv{gUv&#SmreGYd4Rbh=FKt7INfTssc_Zar8q zg0I}OH?X4=r9SE<%r-SO(MJgdAca(xY(n0{d0@Wr-VF3r4OTRE3_)B(I#42O-+ol342g zd;$nK8H?J%LMg~SyKWkBdTHh!LIo!o^f??z*1YCMsvz9Du;l!%z@6mQPytf?8wQ}S zvwyfae_8rcVJ-bL0>x!^cIF#5dPq-5M3hp2Ss$ZrPtljFn^ZnzKpF#!5S?^`0Gyq_ z4berwK5YI<7DyEuMDh$1LSP(pA_1atie`gFnP-#Paj&1?(+&A62fySs^6v%Ac!ZEq`XJnQRHl91N5J<8k((|DvG2vNVo4p4!O0PhXF#z#HD z3{3)gSsmDyuRw|yEUyHvAf>`_ZC;I^lj%xUo4q18#visjjDI^Ed)w(cCw@zCf0f+^ zdhxw$D0lrz#pe!>Sr#N2^(nE$Zm+}nB0h1_B|?RPwMeL^sv7Dp5HT%)Up@BmHlwIR zt8yFFL)Esx%KRJIQOHQsq-&P-ABpb)34^3UBdTN77L<3I{cGc6Lkwy3z;$gJ#vf^4);bwC&b{^z}TLay+01 z!Kwvw)FD)$!)ObcY3NO*h9X+I7Qt`VcVwYRr_sq+os1E6mo$K=@%ZuMblOIMg%M2# z07pT55UFB*adAdC_E}6e@S-m)0pgSLe@HRk+Fk&H&!4CCHoo0*+f5TqLP812U+$nD zI>CE%H_}DF8xmG~b*ZqU;b#adrBtr>X_KRkcgAZHN(#VDO#Gv#a)yHO_HR9zJ`NJ# z9{L;~lEmi?Cnw1nuNHQw=<4eJj^jlqq*#gXEmy5m!7&UyX*0>nDMN49OfDBPl}y{I zne*^4C~(9!D;FtI*lx_KaBG!t|2cH4hMC9T&(8|jp2@`=*#q^;XheXaprez!C2~b8 zS6zyw9BfkqLwbZzrAga%kGd;^I~hLkQK`kq8?H6f7XTx^hz|SUmd7fyPjapVc75Er zI9EJXp20q3+}80-t6B~%aj?#ITSkIU+SF8j!EpVcfSpC)pXJjkMbD=aq8oE`Y}vA} z8ZN%#1IMD^O=f>*r;m7B6!*-1;I2Low94;+8B-q^AJWf6owrYuZ znLLQHCoJ~oGeM}ViTOjmq88T{dbv=P#S?p?(7=XBz<KMYw3;ciWPchRzi_QD| z*@*KdoO3KA`D2>#Z}3OF=0CA#s@`7!jB)zC zaogX$uoNgDR8p%824wDV+<@clYX<~Hmta2Ypx5ivR*mP1_+HJ4y;q{=@Shm`tqgMo z4IH|nqoW78_UTMaO_75cz$Fu!wY4MdZ#P(!%8f866&mRGaW`|&iJy?}^8O_u=>PP2 za99|bj0)XFzS`XIhzL3nhhn?##Cz)jUq`gz?Xa~>pzoU~g@=()gq=T zcEhNYm$T*<9l_3uc{=g}vO=*KCiS?mO;+-l zT-=D8`)zi&w(dpW!a-JutDgRHFH6|R;Y@DEwI_<+1#b>~o4{9LLCOjB(`+Pg4}~x8 zfh*9{RTiCGRD_YBFoiw(#=8j|!$trYR|ie=i(fJ2wk_;{x7$)=>tJGH@|%X~bmQp~ zSU*sf0%|3|ecWZqUgjqFzpR?Js09E7kb2|?woe)NH%fWi&elCv`WaYviChu@!Kr9iW24ne?g`s#=va52k@hBY-dUf5Oq zG%`{F2M|fQ#TOP7yjhBUR{*@+B!+Nm@trzlOgRw4KIBmHXWPfpt+e_->%&S*^pl@* z`m(0fR)QGZrZ3=ZFaRLGGaUo9e|kXxHv*S04L}`ou##a{gB4c643H~~9!3EX=nkCT z@zu1S*Zpkg^RK|-LIakgY-`XI)LbAa*Xp*3oD zAYfbx5MLv(FC%F2p3x;Lv(v}{JPjwEcG=8Bt&mrhg@DsiW2+}w6(vj)f7zn>T5=BL8E_k*94yzC7fn=Bw5^2KWMBl-x zcv#l%_hB7w^7Eg9w=9D$B7Q&-%mxY$C%EkzXV)euw?_MDyDSz%gm)3n74iN4T^jKu z;q1P&bD}_-OA)=Qf$d-&{<=>F{`NR>TWEWH=jV4E;<;yFvb~wjl;Uq2zj7`Ci<|hX z^6g15|8znY!|%b&?8Y1eo}v_BP(Cm4>SSK^mL}o^!@+%Ks(X7tiHkAwT` z1E?NebZ+kIH^Yx*eE{M$x5{d92s`82sc$%v| z3@4A2fkz1dI<<@n1-2nVKz{%*J&W=w+J?hR9tX%M9Ixi30&Yi*Xpvnac(#-X$eS9T zk)KaJe`6M0a1fjG;xqurGcQ{SGy%it7dXl61CzvPZEHVK?{Tlt{IlURs`p)i*%Wz} zSA@~am*c=T>#M9Ly?7#KU%3!yjgP_61nO!5Z`NVGe9ZdIi#1tCiMIWDIvNY)0^r_2 zbdu&vn(IkNwk&-FKojCG2m14Y)@G-LaH{g6?aQYFZVqS6Ptb zxQ=izo3uA#z~^nK@EUihL@XQlJ*{>-cl1sJ#To94_j1+i)nxb3uO(JM+|=X$*{Ugr zkB?8z+L|8@R6N}$(+^oT1<{I9Pr@nl#o|LVE!wZ>9RX~_(2~&K(%d8EaG%V_tSsege;+1NwGvslVAD@NXk;R4> z6VRFawY9tMZWw1|`9TCO;7kltMIzyw=-r~Zb>LkTQulP?1k0ud%3z%I!Eew^del{PlM z0*Q>#g;QY&UV$W=#KcChN3?qckdzsc3Ul6g6=ui=r*KNcAORX73{|?~uXAy6S%E1C zZjf^T=>Qz;xTXX6!-j%in}7Y{xBDgr=zUmrm0$8DVc~Ot!N{4IaOJ3HlYVQ%T!Usm zQQig*qZdha13W=LXn-*fjHvq~b{Q4O-g&`WUIZHQE`J0wIIKoSpdqB;&S09r^Cvc$`}5EQ)2$_l9I1c8jYQ{|ye6tH{B=>My>H;;$% zjsC{(u`k7tE&EJ`DQhJ~Olh=`-Pp2=?6Q-!qQ(-5B5IV9j6KO3BP11)kbO`1*pr># zq3`Q?J%9dQujhIGO7~p%eQoDD=UnH!&pF?|Tmz2n+FwSN(1Uw@EEpzt9OFA?sMW=B zVE7TRMcb#PcNESb1z(T~qg#h}J$cx4UoqIr(aVJ(|VzB};{0jPe%c z>Vxx|mrtRrnUqe6i;Hhd9Xqzz_bvwDND?{#_E-Tc$>zDzDe!qpgO)bc0Y547VCv#8 zHhj}lRo_3s_gX0VsNH7+WH!8_3O$?zTF-{9z?~h~$yG2d;~(lZyMNFS{(pu}`M-m4 z`Ty}1QnWX+gPoaF6s)&rc55=V9RaVanaU~c}mgD@gW>5PtY`a>c~%)!Cy?_7xu1S!;K|V z>4BPTNa+#^8o1DmE0y#Jz{t{NC8CaAY9vrY(w>TmpEm+s}f`=wr|D%Ege z7YbzkK(8ZJvMQ*awoKLKM33xo@=EQrZ+|J>vOOB+_q)Y zQ5?E=GbxkLLG_f{r+Rr=x?D12qlLuKekUC57nr(4w`RyRuYt3RKx2*C-l_mLK!q!E z<@E$WkaQ~!h5H+-2jnjg^&mU{PklhXydn;VXJZ)@xS5n!LXy(bc~RbGu4?LCwO70F zS(NgQ^|`hqf}F)@n37YHeN#%ixo%&r?;d8Tr%S9{YSs^{g}@W~ zgGQAJqd9X|ucydZGVT&?lesp%Wu$zfx^jeykZHN~wv9hw}GtAvjT(C!i zQFXN6!qL|dL1fM&IC!%HC_mR_+8CO+BXhR6F)8E?Qpb#GR>!fU{0}H81&#nSeXEmS z(&cg+6(bwqL~gQQY{-`QoW?6<`nE*gh71mFBUp8bu%4HRo2Zv87!XHFxbT&4L)R-i z5^af4+Et_NZ4iQ|yT4bIHcUf3fS<}1UB3_uE8Y8F$wpQtS-tbP>#amj!7yv&26B;B zXYXJodiaQDn;{o3uRB}uHf+O^KG&FKP+SCB;6LAWC+abpv~&rWb^fwj2`5zrQPmGEZ?aE4m=T0fuOm2wf&@urn00*HYGV2&#TAPKd>Q?mR_PQgCZr7TW%zgA)sXV@ zB52XtESQ;FC{dc)9kwI_w!41In>Ia@Oz6dKta!o zZ%uPU8Ric1i&$mwQ1gjISM~oekbcC@G36Z}HTYi6+EcX6E7<3{(WOPyX_73%-FUrz zbD&DM#RGp2mO{~!YPvahL{GqY=?%;ebcunxYxj`TtLK7(HiB?t-p99uRSbzsz5}6|@Vlc`F2_FUyuH@jLc0K+#*OG{s2NlNYs`0!A#pRt8`=`7*}_RTlI zkMOW{L?*df0VA3)Z-42dA+%Nl;Hdd{Lpv4-M+EWbJ0s#xxo94aR=9)Yni6c_s|O+IlD-5oDMX(feFDXXa2>tACasP9JPtW|RFDWpKje?X4USr0HM0EuA!# z2U8J11??S7L-yPnpS{m8Xo$;zqK)sm?2CMudm;I(t|5Fe8&OfcKFmHl!sxU8^{^p< z;M(j|+>QE5@GmnI$Bo5z{G0__^SVRI-$VS`8z@n2^|Hce&jz=s5qh6%5aAEpU-!A5 z==p+d;g3IAp*`~eJ^c93pFh>gi(ikuns0ilRN`f3)@$$XDbyUea&oQ)Sj=&p-Qf=! z8z`$=wL?Ger=__w+xE%9Ezs#eBp$h(la*y+YH3+r`Mgd9d6}pUlIAqGea_`AoMM;D zyDn9d!eG`>gsb4vKdsF;>qNyJ>-Mst@c<|k`w?MPUT(+;ydHXSBQ{VZ~Guuq_(>6?B)Zb5t59yhFOb(Vr2W z6^boJ$`uNl`4D$z%*MXY4k;&e)g6MulAD!=JRiu*g+ z?tD&TITa@4QD)};p{??w_6M(VGZ_n}c_a6IX(S0a+K#l1*I!#3h@1wjNp*@c+|H{J zst?8@Q-ngKo#RbdB1eoT*Q{?VsFJu53m(;==awc+9{T6cf3(H?-T#TQE>yjT%3;%Y z7rD&jZ$?Yyw&@FHu^j;EqtCS<)+9qs9xNN0Ftc-bK>I8^abX%{1b^Ol*dR$HE~WA# z{a~Pf_s>6<=xj)F@TK8uPIJIWc-*qu|CC1$kt$>RY?yX zbmrHT!$`9HQ^Dat3nH=gffycOdfJcln%iWO^tMde-U?GFz7T3OfozF*SNo}w2DrGn zmsrdUb#!ED$Vz{1w4gp25ao4s6K9Ya8l62>aC>N2I+9H(XQa{~Eyj|MvJHsuyWL9g zFDa9ID*9Alg4s9pKLmC{6kN)y&DQ`ID1-7#+*Cn-X~Nh4=&!>K7KfCF^O?Sz)z?;T z$3GD&s+CcDG4R3oxh1>Rqx`-K;AYHLr^2#nI`*3ZGM9-uFtL+GJcUf&y0Xa@jy?kE zKA%7l!PV0U=u8!Nd#0-{w7nJSY;S*`WofC71E0|r2uB54|8}>MP~MdwKp=)XrMwd$ z#}cYKd;dmTZeSl2q;aT$Mn(Q9Xxw}L)rB;x=2%mJgS?C9Aep~1Uo z{JWca_W%sw0h#P}LVt_~Wc}13jYno&sw9xhnrPKZHf?>O0hL+E;k^+L%w8hKoOltJ zxz^tR{^N4Rr_BmT@AE(r?HYX?q@A7@K>FwYa(^3mY67Ys?NGHoHvQdm$CN##j?Bn? zz5c63U5Z&0)2U!dRM7Bdrzy)H)^PMOB5`TCtEgvs9q_IyaMzhYZl!AXn;RG;RzS+K z*(-A7^Kf`3LU0*ddGjey|FNu!u|LG61rn^=1JC3su(;JTO-2pkgFu4{=zTd6SV*B% z|5cv*`(>TFE_0Ab4CS9JgLM0=(7~2+m{ygYo_Y}k=jna^0G=34NQxhp>0eB>FY2S! zK6Y)hoSm1KcXsik0qfuZunI2Z9BpUY@m!J9^yLhN3);GNU<^_9mmC3lKg`c3<; zpAH^oN1}P86c2@eGg8TEhi(2db*JE)TS@iURE|E>YA|53RwRPLRB}@pl7y{G$LsgQy=A(Oz1r7E^+?r`B%Dwh4t-rLil-#($#bN;Iomz-%KJTl& zzWl+c<3fLQd&qxOdJr4(xX;C0vyEpm2^Wb(;hrlzLSG?Z@^ zjH>eDoT~rHpUPFpcKE@mO3GgHa7cMK;L-;aGz*^GNsezEM(SC!1NU<7%Ify}%q>7sXQ0P&cg+ zua}YoO7hh9u_4L$(2(~q zb787HD*9NO|8Qg-z>rdkhn79AUAuNSMR2?zt<{}mr76$T-3$X^7Ed`*G{uy^G8n_cS-kf}}Z>T@lO%)Xe~EhyXaO%2ay^sX2iCy}#-QPjr1~yG*$3WevB#DIY;$N~1l=LY2<= zdUyP)aL1<;)~`=wBVgo9?t3b$%v@JrU)=q4Pf_*FFJmmLv@|30Tp)DrL`y$id_Gf^ zOjLQ9Xx(=fgN@<=P9Q!qJnVKS^95z7xxk2$xG>Px);3Vo2V()seHNaX>#D*8bYYw}9xhqk;e z=VW$+R*9lVG<#pWHLLJ{7)?u$dgXYBvmBlNoVoHVnf3I|N%uz7nRDXYw5d&h1^hp5 zYqu(A)F`!bpLU(y!#yP%5zKjC&%)`KO3H^h1s$$KqXX2OQ}@y7g(8J@I@(Mae+z6n zn>Ca}OEMq^^N=yg;}}9cFVz*XFS%;jzyJ2_i@0-anK=?sCLTG&6jAy3=V9Jp0}ftN zxvw&#QB@%Z@Z5z%d>6ht=J0XX*%xVsd&JTup@&7@zhFO%J2T-PP2`T3lw zK27?7) z--y82wo%$%4^PSB)bTyDN&inZ}YOkL}vx^IFz-2I7JkxyFC zLgQsVanxd*+lbWpr=7}a^FQ>p9~U2H8WT?N-)aESZmFl2Ud`H{Q{@x?5q6{L(k2at z@acIG3`T{9CwfeWx_C$IAZ&P!<;^Srj}*!pW|hFr761PF(1&LUC5dm&#auj)@gvRx z(QLcC&CpM0G0-*n0a!kNwlK4rF2iHEzv^rrjjs1hkDun?P*Wxnory$qt3qS9u)Ic6 zq8{EkAmM8ozFPQW^YZ}Ugm=6SBTSe*=MJ!9R9r9ZX~KlB^j@8hYwEZc7w3N59yjK@ zspwWxQPWuB?M3&Pn|tqp#a&gQt9%*-F)fGTAf?s#f0=2pC)$AJ!&p5lt!8#ET`hW} zG5eLH<%Fepcyg=GwVzZICn%R(B8+Em{c-5Y{@@qnSB~46mOK>fp^PVVwqqm5ibibT zh}2%{4LsVeZ7V%BIq5t3=yBgsdFNp@f_FV!1^Wz)jaRb4OO(>|Hd-y3M~MEJj8^ga zqUP#JFyp@ac}0$K(6P+|8Xe&ir&an1&J@>N^tlAMT8McU&8Xw9@q%W_ZU(IR4#w*A zc35XM&x$eA{PRY)5WI7T}{>l@$oB9w8lg4 z`fKRMz1Y+-Fe$LAF@Yl^eapRKiCdMc2W}2k7(86UZZKmk9_lfeQ&}(;%t0=N#wt)M zEn=``O(M1FRWn(6otKqIaxTpUn&!0~pEl~p9GyiWYP!;oM+=Rn{^EeQlNn?yP23ef z8^9%4OIsU%Yp`%@_HCC-HK5H_W}&)wDar~eJJ)inJ$8Q+nPELM$$KKzwTMCyp``-0 zLJwF9&pAH}PSv2vr-St}N=g+QfYMv5p85@I_ZKks^K!FObs(DqA%vfAMvQ}_7;8PI+XZqjR5KRAEkDl_X1S|VA4egqopfJBt1I8D_k#KoaDO2JqdhyK9QGDlvkKwSfq zA-dEGs##`&a&-j}W;2t{crxZ$CJbDbacIAzC}V$DKm>YrwL_oFF0N6QyzhO_h9xoq z28Dg7v8ldz#KPS65Lmez~yOU7# z;D8>grH^@2h$ZcqDk<$ZFSw)Mz9}fUo|m{_*QZZI?zIlzlD`RxYTLB$Hc!n920NOS z+l^{9Nvfn&{%(uo0G^6c1VL00f%dW%Y|Jb|+w2Jwu)e%8m5~_tyJv_t?3JT-t$!f* z-0^*7Y~+169RoKbSb2r_=-w+6p{5O$(Vya0;(G<$7bACP3 ze>0GfJF*wrIaF7&gZi0ke#!sk$BiulPO;?0-aErC&Tzv&+y!`jw2k72b-kxts=c7d zR(Ac@2r7&orj8x?kJ)SaY!NdU&cZzYAiq1hz$tjtglXP4d7X5FLTR37)8uV#^vbNa zDJug$n zC!T^rr%ps793yeWf8WQEUvzU|kvR`Ew*>%fDIv z{CvftG`nf%`i;#k?Ws;%AP!UCicKQ0I^i%!Rgz=>iKwc{IXg@p4{l8TZf#*{eAiW| zm|GnPde(U|pqDw^$J+}L8u3^PLxB)AmF@0<*G=UV3L~I%8w;jF^OFAp z6PB7M;eOO4D@gG(XCB0Zg?q^eY`~?73upbiLQyf& z(J9bmnm^({Beo)@-^Ds;ha1y?2!lPVv_*h=Nda`gKuTib9|8XqpVc*qlS5@~5Y&PF zVNQ!pKe6~-L&hALv+NH|Ru1%yN<0ermtO%M*OKOX^M6`C&QJk1L_RDDsXPw&3c92( z?K{6aq!>O*Nbow*>*Wilq8eFAdKW`1sa{4^vimdKgaAb4mx)BMqFuJFUb+EGtb{}$ zI&cStv@gdp5+jk%+-j#BPt?4Mqfp#w{M**cU65k9DSUl!NJDzEWBnT4veCDO0#<6+ z^5vlUsj59^2HrM;#uT)9l;h(wLBg(^>A1CEAf`^nD9>!Qp(C~ym}q2lv=^iA z57(M^iZyM28nP%(KSw^{=j--4hGm*tYuGx(L8;=$t)NVOX~Ay?{VWpec6m3;ar)qI zW+KsxrW1sSmJtZ70LaAhMx5-Am4mpD0MG%)hGI?-2tq9YI}1IWaa@2Tns^sV#oKj+ z%f5v8oT~uMnn?W-^o%lTuGz(=`x4+*)9U&U{>Z)~vYPKpyI$w?eYVJdez+qU_5IuE zw<|d36YgrSXEKs3oEq&(Bz}k+`pV$%Q2f|q#|z<8(Wm)&=MYu7Pn>#tXvfhZaOP82 zcoSGsoZRimd9wdvw=rNK>OB(vo8{Ra>KRP9$-ZRT++wg#Ux-Tgb`5H(_BtupW_|SI z_Csv=N*Q{XS2N&VqUV9I`FnX6b7Oa-zI7dzsXcC|=`__>4Uf#^b83p*&oF5^bR`-+ zd^GIUUu%bZmzrMh{}(bYKad7W=W=n!M=<74ir@KUyr!(>BU|#{J#_s4r-}JJ^l%wa zr;5PD84#ZT`d|VR57>rsRY@vydlbwMg`adPHieqTZ3mr<;Jwy|a|5bO+m$RSugqN> z?6Bz$g|JfR5H>YMw)76r>`C2ED3oZd5G{n3%fDARwG*w*QLMk?HT^%21OMl@^3hzy%oC0#@Hq9=^=!nWIwPj^Br#VYpu zO*FmD!ay@KrVauux6GO5-4V(7*m3m-deV?_x}n8@=yP6?2a9EC0xu#IU#wyp%(~d% z8R3X*c>z+g`r+kL33XY>s0Lw2Yv40{aKZ5}SN(+x6 zGjZOM@z@Nrw*Z(hu9$l+QO{OA{S(dstIg?o#;`1?q+1ftc8f&%3MCmsFYFQDLPWzQ zQceeWTE83-r7>Q0FIiYzJSGGsEs>`OgfzIW)ACh;qhxb;mRoKMqm8#gA8WmFTl?*` zq$gU}`q!4GTFxt?qg-<~O7x**t)uMxG9(TN6`BwQM|3iJSix#|HUT0Wx4mE97KN1v z(FAvFD}l))G$bTM4|>I7*=J9!-h^q{t@LPeG>ldY?Nl>eqx}@=EvPHjIOf^Mwezu0 z5c9Kj9(jrtx{x>_59^(c6{4#@A+|kzzi0YaWNr8>$AI|QnlSKO>$^^z+8jNF3f*O_2$UUD$zWnyZrR;$shdo-0Yk#x{m3L87QA zRN@7A8&Feyp|Rd*pwX|>zIb*j$Hd8WLUFs3)XqcrU>4vs4QN;NUyhI%R7uqU5BXbh zu>poq1B$qpnfj{w&M$hO@t`Z-Qd5dL3CojQJLJ!ivsD2`Yp;Ks57t9=!|iMc0JMmK z?;;7?zW3Tg4L2i6=|b7tIcxgf)uggY>yNhn*gy0Ais;;>+GDn$#xzV5>LYeWz>EbAItFu;$p8uv9`~0@i zw#icF>yM+=w3E;Nt%oAoeW_aIyT{u%hoOBpv=0MdiH=l85N79Lb-~UMJ-q8CtI@Y$ z-oF%k(+mbxSb8D0J68ZmXbI8bcAx&S|~fnmA7!X_Wc%Z z55?3)Pj%#Gle`59_h1okLJoyWrf1+Ge~ZrE0%3OL!tR8o84|YHTpmvJ>8j^I5rA3UAEJ4vBKpo+cQeJyGz7% zrQ3FA1)ThnHyXlxO?Q__;?CQKNqqL!4`I30I1b3JAft|J0Sc8Zgb8z{cI)rHkpyp$ z;2vnksroi4;m0mL)RT$XhEMP7RS8a<{7?gZ89`s9cBf5!rPo_Z@|w1=0TSn#FY8u-TlEv{oNf<9t=oM_uod6(#vnBpU9{5nC;>JFjWsgl#^qjDM@~Nrr!ygfCD>@#ob{{(bN$>CNsJF|w<1y8V;e z(ebgh(LnInqoh}p)rkxAhMQRjtQJISa}1|8B>vG80i$+lsrvJ@Z%f?uJ%rp_jiGy@ z??7Wu+|Dj>eWnnzwGd;@Mn2=E%-Hb8(3t4!O9Qx!AZgWgF>LzZkyC`coe}#;z=+Kb z?u=<4hwe$N$<9hB@{4VAW$g@!K={EGzuTb@MASs>k~J3V6m`*Hhd^UVjd)b)@V}Y8 zZhV)Yfv(P z6RWH0kZ}Kuo~pzpOh!aoxj6HE(Ns=uo5S~|nyy?rKVElmH1WQ~0bgS{0ijcXq6l*pUIU7T~0F(O_~3nUyG(-0(QqP z^@aLwI)1dB*H(L2w%(El33ncvKd#vRZ>=qdI-C}D*lXu4EcS54QNQi3rA(8X_4tPd zuV(NSuyMy7KmXXg)|qC%muK5R?{PW2wU49qB~E|0Cwb$IwqywUsNQ5N-!|#=>3rk^ zC^iD-EIOxtes(Q2^85?GM_#814`b@__Z+=D2l7S6$ELs?u=d3>_AUri7YG>JL}pHs zorz0R6W(h}N7*A^+Z3*3dO&iCRqUHF<2>E=zE+2~&Tl@#hZAM^@8zN9@*6zwkz4?H zQ4#py4#6NEMp0@&+yT1?o|&bSf&6$$8Eq5)9fW)}q~ER+-iiYE&dV6J-xYr#gI!j` z#ycAj#RFXk4+$$u+6^`k-kyY7IUI(U@LUTZns;_~E{kr<9m1whh+@Bg`*!^vrT-vy zoafT&&5@HO0FQN572zb=^Yd(boALAWPpXXuA*_Va(A%Q^vDs^A4&6g00RDBST}h?@ z@?alb&9N7Yv?O~eo_`sSis;h*CDKYcWc)7~QWK}-KV{OM`G2*E{+E5rUpju!LGunQ2q}+%jne7?WL{c9#j!O0VKlr^}xVV#H>6ls)$&6u;4v9wfy2Pyh zIUX1JI=x^85_hHVKTGHrip`n~d}S+1co?<&-6kf=n)`DdLjpPZQ4N|Xp|Xg-{r25E z^6bgxG~~5WyI2 zStP-wnl{sQ@52vo;5NwR6%|jnwzlksf;xRdf3~$PMsNHC2E+q)#TL@13u;$6!pbN& zbO;uO9V#MpHMT=(C=QM$!N-?>#e#=sRiUFhTBsplA9XX5Fx=3lES;{7eL}0hX;WyN zK#3Py6AFzY-3+3plZ=RHHYFITO1Uf+di1<7+!|VA>Y78j_i@ahmSLk_77flT_WjyWY2dRz zOao=6e7<{vQvM=0ce)61W1O3p^Tg*+23#E-Pc4%JXHMN`6^0t!GUHz#dz}hf9vcg> zv9hAl-v30esHn(8TbldnrN9IvZ4&8?)kd#Z+ zdHT|7A%tpef!4K$=ZnbZiM3_IXf2|}Fi84TBg$kEMZgB$xN+mCzMNZnR^4!QRPnoa z{iI0lty8HVPgQ&0T7G;jH`wJ?*(@YBaAce_Dx*R=3-(Jei|3Z7G{q9O6P5V*_*Mj?c(?LVC-+!!gq54=5Y{*&>%Qz0RN~+u#=D#d zEF$GJ$L-y_H<*)}uv*yM+}vGLQ#$(MSv1|v@c?bb*fu!PvocGl zTd%vXe{g>YEa=KXY@eFeG*5g>^e1tHC3WI74dB3{8?Sn%CxBO;m`^{a%TY!{Wwjlh zK^3?hUv@$^)jU~*Sr>x0<%mn?hUh!GeGqhX{Uc;W_4kGfV)>Q*_2i+U!01mtRkLZ6 z>svcHfvV{TFilEZb-!g0x<{&+Xf{XSnvpIeaf%w9LpU z?xal?V8O>XUVZcu_|fnAHsl?xaa(V%;LNk62R`P0m-?@Ezn`9-#y?XWQC^Fl`s!(rJ$Y`+CGZaKzf}=n6{QAl@#Cf`= zH?5+){0{0rhJuR1LXRbgiMYcVNm${;Vp9&i0ds5^{`4J<8^Htk(9!4wqsDchRKf!BFzc;;{P(f0hkwIO2Ue%-=jf0$c zDLF%!u{qD3SVpz0&PN}A^;x#0p9?2>H`o-$)s4)jY0s~a#JH8V+nqgrubeq0b|7mq zU;T+97h7rGmE%T4R?h}3Rv~@G>}Ky~B^cAJvkWHbN2QGT^%$S25iMmuZfI&~d|`~W zGXueRU{lfCjB&8FqoZSS5yAoH{WtKLZpH-t+x4N`lQT1UsOvToW{<``87wL6YZBt; zSCkFuSUJzS{{E0w_5Mi0-x#k=MdEu-YUsm@9w@V^@)_ZlMd@J1b0B#pmoLWuq>mjr z?HUu%%UATaq9S#Pqse$0hiILsayK|1j6q z){dySKfWwh0_-*pDHT4@;>hzpiL~MBFO2}Z6b1nM6lyLgvW=JaXBFfwyQbXYJbD*N ziCobzfB)g>R)V6EQtbePL1k=gY(3U<{G_ACJ-Hz}JS&heb$N3ga%lmQ#>o0=@r!~4 zZ2Twr26TrjD0=(wA#6*8 zEx^I7lsDCR>CUpVh+FpU9n95nsr?;WJp%ds-oSx%7E35YQ_a=%RQ&%t0ITshy`*IM z+3flkRM2I@yOH0-@dc^^xfmm7Deap!F&fa{PAQk<>SrB{#(G|ns4Dn5f-f}w&&KxadUPND zsTSj*zpN7N6Bul|N!{}1dypmSMCA*F8G4-pvv;K9ARl@9^6$Ln_sD8tc?;{Og$#Ta zivGk+9`Cw(boGq%uanL1JG!Nj_)3iyK4IYy6`p8ihumQ10|Hi0p%U2>ZItovlg;<^ zmxMnaD?jH^Dr?l>(G4t9=i0ULY2Y7UP){EEg=ES7Vy&9RC$kzm=X1m-%l*P3SJXyv z9IIs{!FL^1MuaM!5Z4Be(i>oxdN1|(@)pw>FK6c|#RiWp;pgrowNbN}_dUwG?N;N} zM}rRwqT{v4MH)utLy)N`GbKx6kJ_j&#{^Hjv(Acf(_7YCgKkLXXoG=|{%PTD6~qM+ z6MQr6x%naAMniea3l-)=St~8}wM5ea^D#j}c|I#a2uxA&W%t`8(kqhOuYUK~4cl2kpf&sbWh0Rs zDD52`7Gd9BoTS`%C}%(8(Z4{8^^7k5n*}mWAx3WVV{+1q*5BFK@958)c47&uH6B%L zy7kuM)ij4VBST~AZN{@EGmxCAawU+*>aJE11nfLI>@G-qEfIeHwUc4`gqMZ{Hu|%3 zMexOIknzi`V9E_m=SO(adT+I`yuAFTP5#iy<|M+X!1F0f+#>)miyuwEY%Nk(l4uL=;glyGOg@uPmIEn=5reXdg<)a=7;yx!lM181(m9&A{@YQNb=9UOCK~x{rBUB-*v#xnuU3aYS4J$1!)Moz+>^89 zh>tc{@{?V-H(zmHyBdSVGv6AFG&oFj;r0MV|$o9yDmfHAR;bxw0X7ny#;N- zh!A_!YZi|WGN7L|F=0K=$N!9<;A7Rzu$kXcsEL_{g{`h`ZXtmlk;anm=%^V(l|w^A zTR0&;-H4HJOPCi$5h6`;^0Tr6_EYm^zkfZQd$GF+GzNv@0|zKBLBDqTr95OE?90%i zOe$nvmn0D3g0<7#aSEkGETM7s^70wd;k~;mKSi;lyB6`azB)dj#@96wED|QJR<|6S fR + + + + + + + + + + + + + + + + + + + + + + + + let%server + + + + + + + + let%client + + + + + + + + let%shared + + + + + + + + + let%server + + + + + + + + let%shared + + + + + + + + + let%client + + + + + + + + let%shared + + + + + + + + + + + + + + + ppx + ppx + + client-server type-checking + ocamlopt + js_of_ocaml + .cmxs + .js + .eliom + + diff --git a/8.0/manual/files/tutorial/static/css/common.css b/8.0/manual/files/tutorial/static/css/common.css new file mode 100644 index 00000000..02d7073c --- /dev/null +++ b/8.0/manual/files/tutorial/static/css/common.css @@ -0,0 +1,41 @@ +/* + * Copyright 2009 The Closure Library Authors. All Rights Reserved. + * + * Use of this source code is governed by an Apache 2.0 License. + * See the COPYING file for details. + */ + +/* + * Cross-browser implementation of the "display: inline-block" CSS property. + * See http://www.w3.org/TR/CSS21/visuren.html#propdef-display for details. + * Tested on IE 6 & 7, FF 1.5 & 2.0, Safari 2 & 3, Webkit, and Opera 9. + * + * @author attila@google.com (Attila Bodis) + */ + +/* + * Default rule; only Safari, Webkit, and Opera handle it without hacks. + */ +.goog-inline-block { + position: relative; + display: -moz-inline-box; /* Ignored by FF3 and later. */ + display: inline-block; +} + +/* + * Pre-IE7 IE hack. On IE, "display: inline-block" only gives the element + * layout, but doesn't give it inline behavior. Subsequently setting display + * to inline does the trick. + */ +* html .goog-inline-block { + display: inline; +} + +/* + * IE7-only hack. On IE, "display: inline-block" only gives the element + * layout, but doesn't give it inline behavior. Subsequently setting display + * to inline does the trick. + */ +*:first-child+html .goog-inline-block { + display: inline; +} diff --git a/8.0/manual/files/tutorial/static/css/graffiti.css b/8.0/manual/files/tutorial/static/css/graffiti.css new file mode 100644 index 00000000..8287935b --- /dev/null +++ b/8.0/manual/files/tutorial/static/css/graffiti.css @@ -0,0 +1,68 @@ +/* Graffiti + * http://www.ocsigen.org/graffiti + * Copyright (C) 2013 Vincent Balat + * Laboratoire PPS - CNRS Université Paris Diderot + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, with linking exception; + * either version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +body { + width: 750px; + -webkit-user-select: none; +} + +canvas { + border: solid 1px #aaaaaa; +} + +div.ojw_colorpicker { + position: absolute; + top: 8px; + left: 740px; +} + +input { + width: 400px; +} + +.ot-color-picker.colorpicker { + height: 300px; + width: 400px; +} + +.slider { + -webkit-appearance: none; + height: 20px; + background: #d3d3d3; + outline: none; + opacity: 0.7; + -webkit-transition: .2s; + transition: opacity .2s; +} + +.slider:hover { + opacity: 1; +} + +.slider::-moz-range-thumb { + background: #cbd6f1; + cursor: pointer; +} + + +.undercanvas { + z-index: -1; + position: absolute; +} diff --git a/8.0/manual/files/tutorial/static/css/hsvpalette.css b/8.0/manual/files/tutorial/static/css/hsvpalette.css new file mode 100644 index 00000000..d3ae7f67 --- /dev/null +++ b/8.0/manual/files/tutorial/static/css/hsvpalette.css @@ -0,0 +1,179 @@ +/* + * Copyright 2008 The Closure Library Authors. All Rights Reserved. + * + * Use of this source code is governed by an Apache 2.0 License. + * See the COPYING file for details. + */ + +/* + * All Rights Reserved. + * + * Styles for the HSV color palette. + * + * @author smcbride@google.com (Sean McBride) + * @author arv@google.com (Erik Arvidsson) + * @author manucornet@google.com (Manu Cornet) + */ + +.goog-hsv-palette, +.goog-hsv-palette-sm { + position: relative; + border: 1px solid #999; + border-color: #ccc #999 #999 #ccc; + width: 400px; + height: 276px; +} + +.goog-hsv-palette-sm { + width: 182px; + height: 185px; +} + +.goog-hsv-palette label span, +.goog-hsv-palette-sm label span { + display: none; +} + +.goog-hsv-palette-hs-backdrop, +.goog-hsv-palette-sm-hs-backdrop, +.goog-hsv-palette-hs-image, +.goog-hsv-palette-sm-hs-image { + position: absolute; + top: 10px; + left: 10px; + width: 256px; + height: 256px; + border: 1px solid #999; +} + +.goog-hsv-palette-sm-hs-backdrop, +.goog-hsv-palette-sm-hs-image { + top: 45px; + width: 128px; + height: 128px; +} + +.goog-hsv-palette-hs-backdrop, +.goog-hsv-palette-sm-hs-backdrop { + background-color: #000; +} + +.goog-hsv-palette-hs-image, +.goog-hsv-palette-v-image, +.goog-hsv-palette-hs-handle, +.goog-hsv-palette-v-handle { + background-image: url(../images/hsv-sprite.png); +} + +.goog-hsv-palette-noalpha .goog-hsv-palette-hs-image, +.goog-hsv-palette-noalpha .goog-hsv-palette-v-image, +.goog-hsv-palette-noalpha .goog-hsv-palette-hs-handle, +.goog-hsv-palette-noalpha .goog-hsv-palette-v-handle { + background-image: url(../images/hsv-sprite.gif); +} + +.goog-hsv-palette-sm-hs-image, +.goog-hsv-palette-sm-v-image, +.goog-hsv-palette-sm-hs-handle, +.goog-hsv-palette-sm-v-handle { + background-image: url(../images/hsv-sprite-sm.png); +} + +.goog-hsv-palette-noalpha .goog-hsv-palette-sm-hs-image, +.goog-hsv-palette-noalpha .goog-hsv-palette-sm-v-image, +.goog-hsv-palette-noalpha .goog-hsv-palette-sm-hs-handle, +.goog-hsv-palette-noalpha .goog-hsv-palette-sm-v-handle { + background-image: url(../images/hsv-sprite-sm.gif); +} + +.goog-hsv-palette-hs-image, +.goog-hsv-palette-sm-hs-image { + background-position: 0 0; +} + +.goog-hsv-palette-hs-handle, +.goog-hsv-palette-sm-hs-handle { + position: absolute; + left: 5px; + top: 5px; + width: 11px; + height: 11px; + overflow: hidden; + background-position: 0 -256px; +} + +.goog-hsv-palette-sm-hs-handle { + top: 40px; + background-position: 0 -128px; +} + +.goog-hsv-palette-v-image, +.goog-hsv-palette-sm-v-image { + position: absolute; + top: 10px; + left: 286px; + width: 19px; + height: 256px; + border: 1px solid #999; + background-color: #fff; + background-position: -256px 0; +} + +.goog-hsv-palette-sm-v-image { + top: 45px; + left: 155px; + width: 9px; + height: 128px; + background-position: -128px 0; +} + +.goog-hsv-palette-v-handle, +.goog-hsv-palette-sm-v-handle { + position: absolute; + top: 5px; + left: 279px; + width: 35px; + height: 11px; + background-position: -11px -256px; + overflow: hidden; +} + +.goog-hsv-palette-sm-v-handle { + top: 40px; + left: 148px; + width: 25px; + background-position: -11px -128px; +} + +.goog-hsv-palette-swatch, +.goog-hsv-palette-sm-swatch { + position: absolute; + top: 10px; + right: 10px; + width: 65px; + height: 65px; + border: 1px solid #999; + background-color: #fff; +} + +.goog-hsv-palette-sm-swatch { + top: 10px; + right: auto; + left: 10px; + width: 30px; + height: 22px; +} + +.goog-hsv-palette-input, +.goog-hsv-palette-sm-input { + position: absolute; + top: 85px; + right: 10px; + width: 65px; +} + +.goog-hsv-palette-sm-input { + top: 10px; + right: auto; + left: 50px; +} diff --git a/8.0/manual/files/tutorial/static/css/slider.css b/8.0/manual/files/tutorial/static/css/slider.css new file mode 100644 index 00000000..ddd07482 --- /dev/null +++ b/8.0/manual/files/tutorial/static/css/slider.css @@ -0,0 +1,45 @@ +.goog-slider-vertical, +.goog-slider-horizontal { +background-color: ThreeDFace; +position: relative; +overflow: hidden; +} + +.goog-slider-vertical { +height: 300px; +width: 20px; +} + +.goog-slider-horizontal { +height: 20px; +width: 400px; +} + +.goog-slider-thumb { +position: absolute; +background-color: ThreeDShadow; +overflow: hidden; +} + +.goog-slider-vertical .goog-slider-thumb { +left: 0; +height: 20px; +width: 100%; +} + +.goog-slider-horizontal .goog-slider-thumb { +top: 0; +width: 20px; +height: 100%; +} +#s-h { +margin-bottom: 2em; +} +strong { +display: block; +margin-bottom: 3px; +} +#out1, #out2 { +color: #999; +margin-left: 1em; +} diff --git a/8.0/manual/files/tutorial/static/images/hsv-sprite-sm.png b/8.0/manual/files/tutorial/static/images/hsv-sprite-sm.png new file mode 100644 index 0000000000000000000000000000000000000000..470f8e0c967715af12ac91e8b43e1034283a9b6b GIT binary patch literal 19537 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

    &ZXF3T$B`z*ftOtbUx_1T6b_Xn1a z$=b2T$4{TA>GShPYY&$SHyM3SX7kmtPhrZZzW|TLW*rv-l%QmSAM>&{l{0UtbvO5V zp2y?yJPUsRcEc2XZ5;6Uyw#77pDlTr>w7;wxqdrdae;p@B7ew7{0JKU=<(lw{&Nh- zFTMWF-up&bo;|UXvpLK9%=3KjnSW2|epvdy^ZocGWZK_;{NNo=GGvuJC%!La@e4Zn zZ#mkWwq_ck0Bmk-iB16;O!EEbf4_eGLH&OyCO;H{UqMJRzJE{h``2F`DW5ekaOV{M zmgm2|?)Y2JH-J7Kd450N|HK5}u){ZwzqfurVpM-9BtPgsydXutg1LF^_)L|*_W1ww zk@Ve;;-M){al;RizcW61aY0{*Cfeti52nB<2x@fQ^5v*UZ=i~mT6 zd7S?K)GjCbI2qR;9)BmM`1_6h-)qmmzTvAX<)P1cOJVe%a%BF!_T!(&uYR0NOMW)u zNj`Vnf0m&9N)nNZT{&9{UBHPanmTCe1enI(>fd2FN2RQyFApw3BLHVbE{7-WH%|arq0{rdR zgmRDnX>0z$kH1Msegy&X@lQedpWsjw|93kob^YW^fM3tM`KQJC2S0B7$2WMA7Ldck z`A_3X{z<0&;~giNMt&09@JXlrXLaHcZ}!jQAL;lXMfpj(gC_h>00000NkvXXu0mjf D5}s30 literal 0 HcmV?d00001 diff --git a/8.0/manual/files/tutorial/tutowidgets/ex-final.png b/8.0/manual/files/tutorial/tutowidgets/ex-final.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1d22035c2de0782918d64a7580d7de2dfcdca5 GIT binary patch literal 19671 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 B17rXI literal 0 HcmV?d00001 diff --git a/8.0/manual/files/tutorial/tutowidgets/ex.css b/8.0/manual/files/tutorial/tutowidgets/ex.css new file mode 100644 index 00000000..c07bc739 --- /dev/null +++ b/8.0/manual/files/tutorial/tutowidgets/ex.css @@ -0,0 +1,30 @@ +* { + font-family: sans-serif; +} +div.button { + background-color: #5577ee; + width: 200px; + height: 20px; + padding: 0; + text-align: center; + color: #222436; + font-weight: bold; + cursor: pointer; +} +div.content { + background-color: #55ee99; + width: 180px; + height: 40px; + padding: 10px; + margin-top: 0; + color: #222436; +} +div.mywidget { + display: inline-block; + margin: 0 10px 0 0; + height: 100px; + vertical-align: top; +} +.hidden { + display: none; +} diff --git a/8.0/manual/files/tutorial/tutowidgets/ex1.png b/8.0/manual/files/tutorial/tutowidgets/ex1.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a581c8aa400b3ae610c879d55b8df5fd453ca9 GIT binary patch literal 12472 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 literal 0 HcmV?d00001 diff --git a/8.0/manual/files/tutorial/tutowidgets/ex2.png b/8.0/manual/files/tutorial/tutowidgets/ex2.png new file mode 100644 index 0000000000000000000000000000000000000000..931b5f8ea3cf2f5c8ee58fec19bbcf4140de9b74 GIT binary patch literal 15659 zcmeHubySq?xAq_k0uqYSAtE4B(ha_#A}uW~Al=eAsFYF)(%s!X)JuyrL l3^jBN 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 F{{wzO3bFtI literal 0 HcmV?d00001 diff --git a/8.0/manual/hash-password.html b/8.0/manual/hash-password.html new file mode 100644 index 00000000..c1ee2bc8 --- /dev/null +++ b/8.0/manual/hash-password.html @@ -0,0 +1,68 @@ +Protecting your passwords

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Protecting your passwords

    For protecting the user passwords or other sensitive data, +we can use +ocaml-safepass. +

    We can now write the encrypted password in our database +(using Ocsipersist.table +in this example) as follow: +

    let table =
    +  Ocsipersist.Polymorphic.open_table "users"
    +
    +let add_user username password =
    +  (* Check if the user is already exist *)
    +  Lwt.try_bind
    +    (fun () -> Ocsipersist.Polymorphic.find table username)
    +    (fun _ -> Lwt.return false)
    +    (function
    +      | Not_found ->
    +        Ocsipersist.Polymorphic.add table username
    +          (Bcrypt.hash password, email)
    +        >>= fun () ->
    +        Lwt.return true
    +      | e -> Lwt.fail e
    +    )
    diff --git a/8.0/manual/how-do-i-create-a-cryptographically-safe-identifier.html b/8.0/manual/how-do-i-create-a-cryptographically-safe-identifier.html new file mode 100644 index 00000000..03763358 --- /dev/null +++ b/8.0/manual/how-do-i-create-a-cryptographically-safe-identifier.html @@ -0,0 +1,47 @@ +

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    diff --git a/8.0/manual/how-does-a-page-s-source-code-look.html b/8.0/manual/how-does-a-page-s-source-code-look.html new file mode 100644 index 00000000..6a9fa213 --- /dev/null +++ b/8.0/manual/how-does-a-page-s-source-code-look.html @@ -0,0 +1,83 @@ +How does a client-server app source code look like?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How does a client-server app source code look like?

    Eliom client-server applications

    Eliom client-server applications are running in your browser for a certain lifetime and consist of one or several pages/URLs. +An application has its associated js file, which must have the same name (generated automatically by the default makefile and added automatically by Eliom in the page). +

    For example, we define an application called example: +

    module Example =
    +  Eliom_registration.App
    +    (struct
    +      let application_name = "example"
    +     end)

    Eliom Services

    Pages are generated by services. Here is how to define a service: +

    let main =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path [])
    +    ~meth:(Eliom_service.Get unit)
    +    ()

    The path is a list of string corresponding to the url. Here, the list is empty because it's the main page. +

    If, for example, the list is ["hello";"world"], the page will be accessed using the address: +

    http://website.com/hello/world/

    More informations about parameters: How to use GET parameters (parameters in the URL)? +

    Now that our service has been declared, we associate to it an OCaml function that will generate the page. We call this service registration. If the service belongs to the application, we use the registrations functions from module Example defined above. +

    let _ =
    +  Example.register
    +    ~service:main
    +    (fun () () ->
    +      Lwt.return ...)

    The third parameter is the function that will be called to generate the page. +This function takes two parameters, corresponding respectively to GET and POST parameters. Here both are () because the service does not take any parameter. The function returns an element of type html (using Lwt). +

    Page Content

    The content of Eliom application pages is made using functions. +The html function takes two parameters: +head and body, which are also functions that takes parameters coresponding to their content. +

    (html
    +           (head (title (txt "Page Title")) [])
    +           (body [p [txt "Hello World!"]])))

    Most of the elements functions take a list of other elements as a parameter. +

    ast +

    Validity of HTML is checked at compile time, which means that a program +that may generate a page that does not respect the recommendations of the +W3C will be rejected at compile time. +

    Download full code

    Warning: This third party code may be outdated. Please notify the author is something is broken, or do a pull request on github. +

    Links

    diff --git a/8.0/manual/how-to-add-a-div.html b/8.0/manual/how-to-add-a-div.html new file mode 100644 index 00000000..37c6e9ae --- /dev/null +++ b/8.0/manual/how-to-add-a-div.html @@ -0,0 +1,57 @@ +How to add a div?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to add a div?

    div ~a:[a_class ["firstclass"; "secondclass"]] [txt "Hello!"]

    Required parameter: list containing other elements +(Details of available elements in type +Html_types.flow5). +

    Optional parameter for attributes "a" (How to set and id, classes or other attributes to HTML elements?). +

    Download full code

    Warning: This third party code may be outdated. Please notify the author is something is broken, or do a pull request on github. +

    Links

    diff --git a/8.0/manual/how-to-add-a-favicon.html b/8.0/manual/how-to-add-a-favicon.html new file mode 100644 index 00000000..c248712a --- /dev/null +++ b/8.0/manual/how-to-add-a-favicon.html @@ -0,0 +1,53 @@ +How to add a Favicon?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to add a Favicon?

    A favicon is a file of type "ico" which contain a picture of size 16x16px. It is the picture that you can ususally see next to the title of the page on a browser. +

    favicon for Ocsigen.org +

    By default, all browsers look for a file favicon.ico +at the root of the website: +

    http://website.com/favicon.ico

    Just put the file at the root of the static directory set in the configuration file. +

    Links

    diff --git a/8.0/manual/how-to-add-a-javascript-script.html b/8.0/manual/how-to-add-a-javascript-script.html new file mode 100644 index 00000000..8480727a --- /dev/null +++ b/8.0/manual/how-to-add-a-javascript-script.html @@ -0,0 +1,61 @@ +How to add a Javacript script?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to add a Javacript script?

    If you have client-side programs on your website, you can use Eliom's client-server features, that will compile client side parts to JS using Ocsigen Js_of_ocaml, and include automatically the script in the page. But in some cases you may also want to include yourselves external JS scripts. +

    Include the script on the html header

    Javascript scripts are included in the header using the js_script function (defined in Eliom_content.Html.D). +

    open Eliom_content.Html.D (* for make_uri an js_script *)
    +
    +js_script
    +     ~uri:(make_uri (Eliom_service.static_dir ())
    +              ["hello.js"])
    +     ()

    This function has 2 parameters: the file path and unit. +

    The file path is generated using the make_uri function (from Eliom_content.Html.D module). This function creates the relative URL string using the static directory (which is a service) configured in the configuration file and the given list. +

    Insert this piece of code on the list given in parameter to the head function. +

    Or you can use: +Eliom_tools.F.head +

    Call an external function

    Have a look at +this page of Js_of_ocaml's manual +to understand how to call JS function from your OCaml program.

    diff --git a/8.0/manual/how-to-add-a-list.html b/8.0/manual/how-to-add-a-list.html new file mode 100644 index 00000000..3ed975fe --- /dev/null +++ b/8.0/manual/how-to-add-a-list.html @@ -0,0 +1,81 @@ +How to add lists in a page?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to add lists in a page?

    Simple list and ordered list

    Simple list
    ul
    +    [li [txt "first item"];
    +     li [txt "second item"];
    +     li [txt "third item"];
    +     li [txt "fourth item"]]
    Ordered list
    ol
    +    [li [txt "first item"];
    +     li [txt "second item"]]

    Required parameter: list containing li elements (Details of li content). +

    Optional parameter for attributes "a" (How to set and id, classes or other attributes to HTML elements?). +

    Definition list

    dl
    +    [((dt [txt "Banana"], []),
    +      (dd [txt "An elongated curved fruit"], []));
    +     ((dt [txt "Orange"], []),
    +      (dd [txt "A globose, reddish-yellow, edible fruit"],
    +       [dd [txt "A color between yellow and red"]]));
    +     ((dt [txt "Kiwi"], []),
    +      (dd [txt "Egg-sized green fruit from China"], []))]

    This kind of list contains definitions. +

    Required parameter: +A list of pair of: +

    • A pair containing: +
      • The first element of type dt +
      • A list of elements of type dt +
    • Another pair containing: +
      • The first element of type dd +
      • A list of elements of type dd +

    Details: +

    Optional parameter for attributes "a" (How to set and id, classes or other attributes to HTML elements?). +

    Download full code

    Warning: This third party code may be outdated. Please notify the author is something is broken, or do a pull request on github. +

    Links

    diff --git a/8.0/manual/how-to-add-a-select-or-other-form-element.html b/8.0/manual/how-to-add-a-select-or-other-form-element.html new file mode 100644 index 00000000..b6024095 --- /dev/null +++ b/8.0/manual/how-to-add-a-select-or-other-form-element.html @@ -0,0 +1,71 @@ +How to add a select (or other form element)?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to add a select (or other form element)?

    In forms towards Eliom services:

    open Eliom_content
    +
    +Html.D.Form.select ~name:select_name
    +  Html.D.Form.string (* type of the parameter *)
    +  (Html.D.Form.Option
    +    ([] (* attributes *),
    +     "Bob" (* value *),
    +     None (* Content, if different from value *),
    +     false (* not selected *))) (* first line *)
    +    [Html.D.Form.Option ([], "Marc", None, false);
    +     (Html.D.Form.Optgroup
    +        ([],
    +         "Girls",
    +         ([], "Karin", None, false),
    +         [([a_disabled `Disabled], "Juliette", None, false);
    +          ([], "Alice", None, true);
    +          ([], "Germaine", Some (txt "Bob's mother"), false)]))]

    Basic HTML5 elements without Eliom services

    For example if you want to use them with client side event handler. +

    open Eliom_content.Html.D
    +
    +Raw.select [option (txt "hello");
    +            option ~a:[a_value "a"; a_selected `Selected] (txt "cool")]

    Links

    diff --git a/8.0/manual/how-to-add-an-image.html b/8.0/manual/how-to-add-an-image.html new file mode 100644 index 00000000..5a6f9a2f --- /dev/null +++ b/8.0/manual/how-to-add-an-image.html @@ -0,0 +1,69 @@ +How to add an image?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to add an image?

    Internal image +

    img ~alt:("Ocsigen Logo")
    +      ~src:(make_uri
    +              ~service:(Eliom_service.static_dir ())
    +              ["ocsigen_logo.png"])
    +    ()

    External image +

    img ~alt:("Ocsigen Logo")
    +      ~src:(Xml.uri_of_string ("http://website.com/image.png"))
    +    ()

    The function img has 3 parameters: +

    • alt: A description of the image +
    • src: the URL of the image +
    • unit +

    For an internal image, the file path is generated using the make_uri function. This function creates the relative URL string using the static directory configured in the configuration file and the given list. +

    For an external image, you must convert the string url into uri using the uri_of_string function. You can also create an external service. +

    Download full code

    Warning: This third party code may be outdated. Please notify the author is something is broken, or do a pull request on github. +

    Links

    diff --git a/8.0/manual/how-to-add-css-stylesheet.html b/8.0/manual/how-to-add-css-stylesheet.html new file mode 100644 index 00000000..12a4ad8e --- /dev/null +++ b/8.0/manual/how-to-add-css-stylesheet.html @@ -0,0 +1,66 @@ +How to add a CSS stylesheet?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to add a CSS stylesheet?

    Warning: css_link and make_uri come from Eliom_content.Html.D module. This module is opened for each piece of code +

    CSS stylesheet are included in the header using the css_link function. +

    css_link
    +     ~uri:(make_uri (Eliom_service.static_dir ())
    +              ["css";"style.css"])
    +     ()

    This function has 2 parameters: the file path and unit. +

    The file path is generated using the make_uri function. This function creates the relative URL string using the static directory configured in the configuration file and the given list. +

    Where?

    Insert this piece of code on the list given in parameter to the head function: +

    (html
    +     (head (title (txt "Page Title"))
    +        [css_link ~uri:(make_uri (Eliom_service.static_dir ())
    +	        	  ["css";"style.css"]) ()])
    +     (body [p [txt "Hello World!"]]))))

    Or you can use: +Eliom_tools.F.head +

    Download full code

    Warning: This third party code may be outdated. Please notify the author is something is broken, or do a pull request on github. +

    Links

    diff --git a/8.0/manual/how-to-attach-ocaml-values-to-dom-elements.html b/8.0/manual/how-to-attach-ocaml-values-to-dom-elements.html new file mode 100644 index 00000000..ac227577 --- /dev/null +++ b/8.0/manual/how-to-attach-ocaml-values-to-dom-elements.html @@ -0,0 +1,57 @@ +How to attach OCaml values to DOM elements?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to attach OCaml values to DOM elements?

    It is often convenient to attach OCaml values to certain elements of +the page. There are several ways to achieve this. +

    • The first possibility is to use DATA attributes (for example if the +page is generated on server side). +
    • Alternatively, you can add a new property to the element using the +##. syntax. +
      • You can create a new class type with the new property +(that can be either an OCaml value or a JS value), possibly +inheriting from the type of the DOM element, and create an +(unsafe) coercion function for this type; or simply +
      • Create getter and setter functions to add the new property.
    diff --git a/8.0/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html b/8.0/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html new file mode 100644 index 00000000..6906be6e --- /dev/null +++ b/8.0/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html @@ -0,0 +1,47 @@ +

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    diff --git a/8.0/manual/how-to-build-js-object.html b/8.0/manual/how-to-build-js-object.html new file mode 100644 index 00000000..2be91c12 --- /dev/null +++ b/8.0/manual/how-to-build-js-object.html @@ -0,0 +1,51 @@ +How to build js object?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to build js object?

    Use syntax new%js: +

    Example: +

    let get_timestamp () =
    +  let date = new%js Js.date_now in
    +  int_of_float (Js.to_float (date##getTime))

    More details in documentation: Js object constructor

    diff --git a/8.0/manual/how-to-call-a-server-side-function-from-client-side.html b/8.0/manual/how-to-call-a-server-side-function-from-client-side.html new file mode 100644 index 00000000..61ce8745 --- /dev/null +++ b/8.0/manual/how-to-call-a-server-side-function-from-client-side.html @@ -0,0 +1,63 @@ +How to call a server-side function from client-side?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to call a server-side function from client-side?

    It is possible to call server-side functions in client-side. +For security reasons, these functions must first +be declared explicitely as RPCs (with the type of their +argument). +

    let%rpc f (x : int) : string Lwt.t = ...
    +...
    [%client ... f 4 ... ]

    The syntax is provided by opam package ocsigen-ppx-rpc. +

    The server-side function (f in the example) needs to return a +Lwt value. +

    Server functions are just syntactic sugar for pathless services +returning OCaml values. +

    Note that you need to install ppx_deriving, and load our JSON +ppx_deriving plugin in your project. The plugin is available as +the Ocamlfind package js_of_ocaml.deriving.ppx. +

    If the function takes a more complex type, this type must have been +declared with ppx_deriving. For example, +

    type t = int * string [@@deriving json]

    Our infrastructure provides server-side data validation of the data +sent, and prevents malformed data from crashing the server.

    diff --git a/8.0/manual/how-to-call-an-ocaml-function-from-js-code.html b/8.0/manual/how-to-call-an-ocaml-function-from-js-code.html new file mode 100644 index 00000000..c9bfcef2 --- /dev/null +++ b/8.0/manual/how-to-call-an-ocaml-function-from-js-code.html @@ -0,0 +1,47 @@ +How to call an OCaml function from JS code?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to call an OCaml function from JS code?

    Have a look at function Js.wrap_callback

    diff --git a/8.0/manual/how-to-compile-my-ocsigen-pages.html b/8.0/manual/how-to-compile-my-ocsigen-pages.html new file mode 100644 index 00000000..720a7377 --- /dev/null +++ b/8.0/manual/how-to-compile-my-ocsigen-pages.html @@ -0,0 +1,68 @@ +How to compile my Ocsigen pages?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to compile my Ocsigen pages?

    Eliom distillery

    Eliom-distillery will help you to build your client-server application +using Eliom. +It comes with several templates ("client-server.basic", "os.pgocaml", +and more to come ...). +

    $ eliom-distillery -name <name> -template client-server.basic [-target-directory <dir>]
    +

    Eliom distillery will also create a default configuration file for Ocsigen +Server. +

    More information on Eliom distillery in +Eliom's manual. +

    More information on how client-server Eliom project are compiled on +this page. +

    If you don't need client-server features, the compilation process is very +simple and without surprise. Compile with ocamlc or ocamlopt +using ocamlfind, with package eliom.server. +You will have to create your configuration file manually. +But you can still use Eliom distillery, which will make easier the inclusion +of client side features, later. +

    Compilation details

    • eliomdep helps you handle dependencies of eliom files +
    • eliomc compile server-side eliom files (and ml files too) +
    • js_of_eliom compile client-side eliom files +

    Read manuals for mor information about these compilers. +

    Links

    diff --git a/8.0/manual/how-to-configure-and-launch-the-ocsigen-server.html b/8.0/manual/how-to-configure-and-launch-the-ocsigen-server.html new file mode 100644 index 00000000..976853fb --- /dev/null +++ b/8.0/manual/how-to-configure-and-launch-the-ocsigen-server.html @@ -0,0 +1,53 @@ +How to configure and launch the Ocsigen Server?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to configure and launch the Ocsigen Server?

    Default configuration file

    • Eliom distillery is generating a configuration file +
    • If you want to create it yourself, you can have a look at the default configuration file provided with the installation of Ocsigen (usually /etc/ocsigenserver/ocsigenserver.conf.sample). +
    • Change the port by the network port number you want your website to work on. The port 80 is the port used by http by default but you need to be the administrator of your server to use it. +
    • Adapt paths. +
    • Change other parameters that suit your needs using the configuration file documentation. +

    Your own configuration file

    Have a look at the configuration file full documentation. +

    Launch the server

    ocsigenserver -c your_config_file.conf

    Links

    diff --git a/8.0/manual/how-to-create-form-wizard-sequence-of-pages-depending-on-data-entered-on-previous-ones.html b/8.0/manual/how-to-create-form-wizard-sequence-of-pages-depending-on-data-entered-on-previous-ones.html new file mode 100644 index 00000000..71b5793e --- /dev/null +++ b/8.0/manual/how-to-create-form-wizard-sequence-of-pages-depending-on-data-entered-on-previous-ones.html @@ -0,0 +1,127 @@ +How to create a form wizard (sequence of pages depending on data entered on previous ones)?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to create a form wizard (sequence of pages depending on data entered on previous ones)?

    The solution to implement wizard-like forms (that is a sequence of pages +depending on data entered on previous ones) is to create dynamically new +services especially for one user. If you use session data (eliom references) +it won't work if you have several tabs on the same site (or if you use the +back button). +

    Just create new anonymous (attached)-coservices that depend on the data sent +by the user. In the following example (taken from Eliom's testsuite), I create +a two step wizard that will add two integers. You can try to enter a first +value, duplicate the tab, and both will continue working correctly. +

    To prevent memory leaks, use a timeout for these dynamic coservices. +The scope of these service can be session or global for the site (as coservice +identifiers are cryptographically safe). +

    open Eliom_content.Html.F
    +
    +(* -------------------------------------------------------- *)
    +(* We create two main services on the same URL,             *)
    +(* one with a GET integer parameter:                        *)
    +
    +let calc = Eliom_service.create
    +    ~path:(Eliom_service.Path ["calc"])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit) ()
    +let calc_i =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path ["calc"])
    +    ~meth:(Eliom_service.Get (Eliom_parameter.int "i"))
    +    ()
    +
    +(* -------------------------------------------------------- *)
    +(* The handler for the service without parameter.           *)
    +(* It displays a form where you can write an integer value: *)
    +
    +let calc_handler () () =
    +  let create_form intname =
    +    [p [txt "Write a number: ";
    +        Form.input ~input_type:`Text ~name:intname Form.int;
    +        br ();
    +        Form.input ~input_type:`Submit ~value:"Send" Form.string]]
    +  in
    +  let f = Form.get_form calc_i create_form in
    +  Lwt.return (html (head (title (txt "")) []) (body [f]))
    +
    +
    +(* -------------------------------------------------------- *)
    +(* The handler for the service with parameter.              *)
    +(* It creates dynamically and registers a new coservice     *)
    +(* with one GET integer parameter.                          *)
    +(* This new coservice depends on the first value (i)        *)
    +(* entered by the user.                                     *)
    +
    +let calc_i_handler i () =
    +  let create_form is =
    +    (fun entier ->
    +       [p [txt (is^" + ");
    +           Form.input ~input_type:`Text ~name:entier Form.int;
    +           br ();
    +           Form.input ~input_type:`Submit ~value:"Sum" Form.string]])
    +  in
    +  let is = string_of_int i in
    +  let calc_result =
    +    Eliom_registration.Html.attach_get
    +      ~scope:Eliom_common.default_session_scope
    +      ~fallback:calc
    +      ~get_params:(Eliom_parameter.int "j")
    +      ~timeout:120.
    +      (fun j () ->
    +        let js = string_of_int j in
    +        let ijs = string_of_int (i+j) in
    +        Lwt.return (html
    +             (head (title (txt "")) [])
    +             (body [p [txt (is^" + "^js^" = "^ijs)]])))
    +  in
    +  let f = Form.get_form calc_result (create_form is) in
    +  Lwt.return (html (head (title (txt "")) []) (body [f]))
    +
    +
    +(* -------------------------------------------------------- *)
    +(* Registration of main services:                           *)
    +
    +let () =
    +  Eliom_registration.Html.register calc   calc_handler;
    +  Eliom_registration.Html.register calc_i calc_i_handler
    diff --git a/8.0/manual/how-to-create-link-to-a-current-page-without-knowing-its-url.html b/8.0/manual/how-to-create-link-to-a-current-page-without-knowing-its-url.html new file mode 100644 index 00000000..02551188 --- /dev/null +++ b/8.0/manual/how-to-create-link-to-a-current-page-without-knowing-its-url.html @@ -0,0 +1,51 @@ +How to create a link to the current page (without knowing its URL)?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to create a link to the current page (without knowing its URL)?

    Void coservices are here for that: +

    a ~service:Eliom_service.reload_action
    +  [txt "Click to reload"] ();

    More information in +Eliom's manual, and API documentation of +Eliom_service.reload_action.

    diff --git a/8.0/manual/how-to-detect-channel-disconnection.html b/8.0/manual/how-to-detect-channel-disconnection.html new file mode 100644 index 00000000..fe7ec23f --- /dev/null +++ b/8.0/manual/how-to-detect-channel-disconnection.html @@ -0,0 +1,87 @@ +How to detect channel disconnection

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to detect channel disconnection

    Question

    Is there a way to detect that some Eliom_comet channel became +disconnected? I would like to warn the user if the server becomes +unreachable. +

    Answer

    If you are using Ocsigen-start, you probably have nothing to do. +Ocsigen-start will monitor the life of sessions and close the process +when needed. +

    If you are not using Ocsigen-start, you must catch exceptions +Eliom_comet.Channel_full, +Eliom_comet.Channel_closed (and Eliom_comet.Process_closed +on Eliom < 5). Have a look at module Os_comet in +Ocsigen-start. +

    explanation pasted from Ocsigen mailing list, 2014-08-06: +

    I assume that you want to know that from client side (It is also +possible to know that on server side). +Since there are quite a lot of different kind of channels, there are +different variations of 'disconnected' for them. You receive this +information through an exception when you try to read from the +Lwt_stream. The different exceptions you have to handle depending on the +case are: +

    Eliom_comet.Channel_full +
    For global channel. Those are never closed on server side and are not attached to a particular session. The server maintain a limited buffer of previous values to avoid memory leak. If a client reconnects to the network and too many messages have been sent to the channel, since its last update, he will receive that exception. +
    Eliom_comet.Process_closed (Eliom < 5) +
    For a channel associated to a client process. If the process is explicitely closed on the server, the server is rebooted, it timeouted, ... +
    Eliom_comet.Channel_closed +
    The channel was not maintained alive on the server (garbage collected). +

    Usualy it is just simpler to not distinguish and just catch on all those +exception and consider their meaning to be 'disconnected'. +

    To handle that reliably, you must be careful: an Lwt_stream raises an +exception only once. One way to ensure that you can't miss an exception +is to map your channel through Lwt_stream.map_exn and handle the +exceptions at that point. +

    Depending on your case the strategies I would recommend would be either: +

    • If you maintain a global state between the client and the server, it +is usualy easier to rebuild it from scratch than to rebuild only the +missing parts: i.e. the braindead/failure proof solution is to reload +the complete contents +(Eliom_client.exit_to ~service.Eliom_service.reload_action () ()). +
    • If you only want to follow a stream of events and missing a few in the +middle isn't a problem, you can just provides a Caml service that sends +a channel, and when your channel disconnects, you just fetch a new one. +(You may have to use Lwt_stream.concat to do the plumbing)
    diff --git a/8.0/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html b/8.0/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html new file mode 100644 index 00000000..e22c5ac1 --- /dev/null +++ b/8.0/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html @@ -0,0 +1,56 @@ + How to detect on client side that the server side state for the process is closed?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to detect on client side that the server side state for the process is closed?

    If you are using Ocsigen-start, you probably have nothing to do. +Ocsigen-start will monitor the life of sessions and close the process +when needed. +

    If you are not using Ocsigen-start, you must catch exceptions +Eliom_comet.Channel_full, +Eliom_comet.Channel_closed (and Eliom_comet.Process_closed +on Eliom < 5). +For example, you can use a channel with a different client-process scope +to warn client processes that the session is closed. +Have a look at module Os_comet in Ocsigen-start.

    diff --git a/8.0/manual/how-to-do-links-to-other-pages.html b/8.0/manual/how-to-do-links-to-other-pages.html new file mode 100644 index 00000000..ec304683 --- /dev/null +++ b/8.0/manual/how-to-do-links-to-other-pages.html @@ -0,0 +1,68 @@ +How to do links to other pages?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to do links to other pages?

    Examples: +

    (* Link to a service without parameter: *)
    +Html.D.a ~service:coucou [txt "coucou"] ();
    +
    +(* Link to a service with parameters of type (int * (int * string)): *)
    +Html.D.a ~service:coucou_params
    +  [txt "coucou_params"] (42, (22, "ciao"));
    +
    +(* Link to an external service: *)
    +Html.D.a
    +  (Eliom_service.extern
    +    ~prefix:"http://fr.wikipedia.org"
    +    ~path:["wiki";""]
    +    ~meth:(Eliom_service.Get Eliom_parameter.(suffix (all_suffix "suff")))
    +    ())
    +  [txt "OCaml on wikipedia"]
    +  ["OCaml"];
    +
    +(* Low level interface for links: *)
    +Html.F.Raw.a
    +  ~a:[a_href (Xml.uri_of_string "http://en.wikipedia.org/wiki/OCaml")]
    +  [txt "OCaml on wikipedia"]
    diff --git a/8.0/manual/how-to-implement-a-notification-system.html b/8.0/manual/how-to-implement-a-notification-system.html new file mode 100644 index 00000000..acde20f9 --- /dev/null +++ b/8.0/manual/how-to-implement-a-notification-system.html @@ -0,0 +1,121 @@ +How to implement a notification system?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to implement a notification system?

    The easiest way for the server to send notifications to the client is +to use module Os_notif from +Ocsigen-start (OS), but it requires to use OS's user management +system. If you are not using OS, we recommend to get inspiration from +the code of this module, to implement your notification system +conveniently and without memory leak. +

    With Os_notif

    For each type of data on which you want to receive updates, +instanciate functor Os_notif.Make_Simple on server side: +

    module My_notif = Os_notif.Make_Simple (struct
    +  type key = ... (* The type of the identifier of the data we want listen on. *)
    +  type notification = ... (* The type of the notifications that will be sent *)
    +end)

    To declare that you are listening on one piece of data i, +call My_notif.listen i. +

    To notify all the clients listening on data i, +call My_notif.notify i (fun userid_o -> Lwt.return (Some notif)). +userid_o is the id of the user who will be notified, +if he is connected (None otherwise). +This make possible to customize the notifications. +Return None if you don't want him to be notified. +

    For more information, have a look at +the tutorial +about client-server reactive applications. +

    Without Os_notif (manual implementation)

    If you want the user to receive notifications from the server +(for example: "you have a new message"), first create a channel, and +register it in an Eliom reference of scope `Client_process: +

    let channel_ref =
    +  Eliom_reference.Volatile.eref_from_fun
    +    ~scope:Eliom_common.default_process_scope
    +    (fun () ->
    +       let (s, notify) = Lwt_stream.create () in
    +       let c = Eliom_comet.Channel.create s in
    +       (c, notify)
    +    )

    On client side, listen on this channel. To do that, execute this code +(on server side) during the service that will start the client process: +

    let (channel, _) = Eliom_reference.Volatile.get channel_ref in
    +let _ =
    +  [%client
    +    (Lwt.async (fun () ->
    +       Lwt_stream.iter_s
    +       (fun v -> (* do something *))
    +       ~%channel)
    +    : unit)
    +  ]
    +in
    +...

    And call function notify on the channel (from server side) +when you want to notify the client. +

    To get back the notify functions for one user, you may want to +iterate on all client process states. +To do that, create a session group for each user +(see How to register session data). +Here we suppose that the session group name is the user_id, as a string. +Then iterate on all sessions from this group, and on all client processes +for each session. +

    For example: +

    let notify user_id v =
    +  (* We get the session group state for this user: *)
    +  let state =
    +    Eliom_state.Ext.volatile_data_group_state
    +      ~scope:Eliom_common.default_group_scope (Int64.to_string user_id)
    +  in
    +  (* We iterate on all sessions from the group: *)
    +  Eliom_state.Ext.iter_volatile_sub_states
    +    ~state
    +    (fun state ->
    +      (* We iterate on all client process states in the session: *)
    +      Eliom_state.Ext.iter_volatile_sub_states
    +        ~state
    +        (fun state ->
    +          let (_, notify) = Eliom_reference.Volatile.Ext.get state channel_ref in
    +          notify (Some v)))

    Warning: If you do not call the iterators during +a request or during the initialisation phase of the Eliom module, +you must provide the extra parameter ?sitedata, +that you can get by calling Eliom_request_info.get_sitedata +during the initialisation phase of the Eliom module. +

    Have a look at the implementation of Os_notif for more details.

    diff --git a/8.0/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html b/8.0/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html new file mode 100644 index 00000000..b2eae636 --- /dev/null +++ b/8.0/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html @@ -0,0 +1,59 @@ +How to insert &quot;raw&quot; form elements (not belonging to a form towards a service)?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to insert "raw" form elements (not belonging to a form towards a service)?

    Eliom redefines most forms elements (inputs, textareas, checkboxes, etc.) +to make possible to check the type of the form w.r.t. the type of the service. +

    If you don't want that (for example if you want to use it only from a client side program), +you can use "raw form elements" (that is, basic tyxml elements), using +module Eliom_content.Html.D.Raw +(or Eliom_content.Html.F.Raw). +

    Example: +

    {{{
    +open Eliom_content.Html.D
    +
    +Raw.textarea (txt "blah")
    +
    +}}}
    diff --git a/8.0/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html b/8.0/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html new file mode 100644 index 00000000..57a4d954 --- /dev/null +++ b/8.0/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html @@ -0,0 +1,65 @@ +How to iterate on all session belonging to the same user, or all tabs?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to iterate on all session belonging to the same user, or all tabs?

    You must create a session group for each user, then iterate on all +the sessions from this group, and possibly on all client processes +for each session: +

    (* We get the session group state for this user: *)
    +  let state =
    +    Eliom_state.Ext.volatile_data_group_state
    +      ~scope:Eliom_common.default_group_scope (Int64.to_string user_id)
    +  in
    +
    +  (* We iterate on all sessions from the group: *)
    +  Eliom_state.Ext.iter_volatile_sub_states
    +    ~state
    +    (fun state ->
    +      (* We iterate on all client process states in the session: *)
    +      Eliom_state.Ext.iter_volatile_sub_states
    +        ~state
    +        (fun state ->
    +          let a = Eliom_reference.Volatile.Ext.get state my_ref in
    +          ...)))
    diff --git a/8.0/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html b/8.0/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html new file mode 100644 index 00000000..8189b732 --- /dev/null +++ b/8.0/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html @@ -0,0 +1,55 @@ +How to know whether the browser window has the focus or not?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to know whether the browser window has the focus or not?

    Example: +

    let has_focus = ref true
    +
    +let _ =
    +  let open Lwt_js_events in
    +  async (fun () -> focuses (Js.Unsafe.coerce (Dom_html.window))
    +    (fun _ _ -> has_focus := true; Lwt.return ()));
    +  async (fun () -> blurs (Js.Unsafe.coerce (Dom_html.window))
    +    (fun _ _ -> has_focus := false; Lwt.return ()));
    diff --git a/8.0/manual/how-to-make-hello-world-in-ocsigen.html b/8.0/manual/how-to-make-hello-world-in-ocsigen.html new file mode 100644 index 00000000..c1a84a19 --- /dev/null +++ b/8.0/manual/how-to-make-hello-world-in-ocsigen.html @@ -0,0 +1,78 @@ +How to make a &quot;hello world&quot; in Ocsigen?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to make a "hello world" in Ocsigen?

    Here it is! The famous "Hello World" for a client/server Eliom application: +

    open Eliom_content
    +open Html.D
    +open Eliom_parameter
    +
    +module Example =
    +  Eliom_registration.App
    +    (struct
    +      let application_name = "example"
    +     end)
    +
    +let main =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path [])
    +    ~meth:(Eliom_service.Get unit)
    +    ()
    +
    +let _ =
    +
    +  Example.register
    +    ~service:main
    +    (fun () () ->
    +      Lwt.return
    +	(html
    +	   (head (title (txt "Hello World of Ocsigen")) [])
    +	   (body [h1 [txt "Hello World!"];
    +		  p [txt "Welcome to my first Ocsigen website."]])))

    Links

    diff --git a/8.0/manual/how-to-make-page-a-skeleton.html b/8.0/manual/how-to-make-page-a-skeleton.html new file mode 100644 index 00000000..5805a550 --- /dev/null +++ b/8.0/manual/how-to-make-page-a-skeleton.html @@ -0,0 +1,61 @@ +How to make a page skeleton?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to make a page skeleton?

    The same header for all your pages

    When your site will grow, you will have several different services for pages which will often contain the same header informations. +

    A great solutions to avoid code copy-pasting of these recurrent informations are to make a page skeleton function: +

    let skeleton body_content =
    +  Lwt.return
    +    (html
    +       (head (title (txt "Page Title")) [])
    +       (body body_content)))

    So when you define your pages, you just call this skeleton with the content of the page as an argument: +

    Example.register ~service:main
    +    (fun () () -> skeleton [p [txt "Hello World!"]])

    This method can also be adapted to add elements on all your pages, like a header, a footer and a menu. +

    Module Eliom_tools has a predefined function +for this: +

    Eliom_tools.D.html
    +  ~title:"ex"
    +  ~css:[["css"; "ex.css"]]
    +  (body [h2 [txt "Welcome to Ocsigen!"]]
    diff --git a/8.0/manual/how-to-make-responsive-css.html b/8.0/manual/how-to-make-responsive-css.html new file mode 100644 index 00000000..6fb62cb9 --- /dev/null +++ b/8.0/manual/how-to-make-responsive-css.html @@ -0,0 +1,51 @@ +How to make reponsive CSS with ocsigen?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to make reponsive CSS with ocsigen?

    The best way to do that is to make one general css sheet plus three css sheets, small, medium and large screen using media queries, a feature introduced in CSS3. +

    Write theses lines in your css sheets: +

    @media only screen and (max-device-width: 480px)
    +@media only screen and (min-device-width: 481px) and (max-device-width: 768px)
    +@media only screen and (min-device-width: 769px)

    You can find more informations about making responsive websites with media queries on W3schools.com

    diff --git a/8.0/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html b/8.0/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html new file mode 100644 index 00000000..e00cd126 --- /dev/null +++ b/8.0/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html @@ -0,0 +1,60 @@ +How to make the client side program get an HTML element from the server and insert it in the page?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to make the client side program get an HTML element from the server and insert it in the page?

    A very convenient way to do that is to use RPCs : +

    let%rpc get_mydiv (() : unit) : _ Lwt.t = div [ ... ]
    [%client
    +  ...
    +  let%lwt mydiv = get_mydiv () in
    +  Dom.appendChild parent (To_dom.of_element mydiv)
    +  ...
    +]

    Server functions take exactly one parameter. +

    RPCs are just syntactic sugar for pathless services +returning OCaml values. +

    The type of the function parameter must have been declared with the +JSON module of ppx_deriving (which needs to be manually +installed). This enables server-side data validation. +

    example: +

    type t = int * string [@@deriving json]
    diff --git a/8.0/manual/how-to-register-a-service-that-decides-itself-what-to-send.html b/8.0/manual/how-to-register-a-service-that-decides-itself-what-to-send.html new file mode 100644 index 00000000..f8669c57 --- /dev/null +++ b/8.0/manual/how-to-register-a-service-that-decides-itself-what-to-send.html @@ -0,0 +1,61 @@ +How to register a service that decides itself what to send?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to register a service that decides itself what to send?

    Use Eliom_registration.Any. +

    In the following example, we send an Html page or a redirection: +

    let send_any =
    +  Eliom_registration.Any.create
    +    ~path:(Eliom_service.Path ["any"])
    +    ~meth:(Eliom_service.Get (string "s"))
    +   (fun s () ->
    +     if s = "toto"
    +     then
    +       Eliom_registration.Html.send
    +         (html
    +            (head (title (txt "")) [])
    +            (body [p [txt "Hello."]]))
    +     else
    +       Eliom_registration.Redirection.send other_service)
    diff --git a/8.0/manual/how-to-register-session-data.html b/8.0/manual/how-to-register-session-data.html new file mode 100644 index 00000000..3492205b --- /dev/null +++ b/8.0/manual/how-to-register-session-data.html @@ -0,0 +1,83 @@ +How to register session data?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to register session data?

    It is very easy to register session data using Eliom references. +Just create an Eliom reference of scope session and its value +will be different for each session (one session = one browser process). +

    But most of the time, what we want is to store data for one user, +not for one browser instance. To do that, we group all the sessions +for one user together, by creating a group of sessions. +The name of the group may be for example the user id. +

    To create a session group, open the session by doing something like: +

    let open_session login password =
    +  let%lwt b = check_password login password in
    +  if b
    +  then Eliom_state.set_volatile_data_session_group
    +      ~scope:Eliom_common.default_session_scope
    +      (Int64.to_string (get_userid login))
    +  else ...

    If you want to store user data, +just create a global Eliom reference of scope group: +

    let myref =
    +  Eliom_reference.Volatile.eref
    +    ~scope:Eliom_common.default_group_scope
    +    None

    And during a request, set this reference: +

    ...
    +  Eliom_reference.Volatile.set myref (Some "user data")

    The value of this reference is different for each user: +

    Eliom_reference.Volatile.get myref

    It is possible to create persistent Eliom references (see module +Eliom_reference). +

    Other scopes

    If you want to store server side data for one browser (one session), +use scope Eliom_common.default_session_scope. +

    If you want to store server side data for one tab of your browser (one client process), +use scope Eliom_common.default_process_scope (available only if you +have a client-server Eliom application). +

    If you want to store server side data during one request, +use scope Eliom_common.request_scope. +

    Persistent references

    Module +Eliom_reference +also defines an interface for persistent references, that will survive +if you restart the server. +

    Links

    diff --git a/8.0/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html b/8.0/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html new file mode 100644 index 00000000..b34de5b9 --- /dev/null +++ b/8.0/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html @@ -0,0 +1,86 @@ +How to send a file to the server without stopping the client process?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to send a file to the server without stopping the client process?

    This requires Eliom ≥ 3.1. +

    Due to security reasons, browsers have limitations on sending files. +But if the file is chosen by the user through an input file element, +there is a way to send it to the server. You can't use the server_function +or let%rpc syntax for this, but you can use +Eliom_client.call_caml_service. +

    Example: +

    [%%client
    +open Js_of_ocaml
    +open Js_of_ocaml_lwt
    +open Eliom_content.Html
    +open Eliom_content.Html.F]
    +
    +let pic_service =
    +  Eliom_service.create_ocaml ~name:"upload_pic" ~path:Eliom_service.No_path
    +    ~meth:(Eliom_service.Post (Eliom_parameter.unit, Eliom_parameter.file "f"))
    +    ()
    +
    +let () =
    +  Eliom_registration.Ocaml.register ~service:pic_service (fun _ _ ->
    +      (* get the file ... *)
    +      Lwt.return_unit)
    +
    +let%client upload_pic_form () =
    +  let file = D.Raw.input ~a:[a_input_type `File] () in
    +  let submit_elt = D.Raw.input ~a:[a_input_type `Submit; a_value "Send"] () in
    +  (let open Lwt_js_events in
    +  async (fun () ->
    +      clicks (To_dom.of_input submit_elt) (fun _ _ ->
    +          Js.Optdef.case
    +            (To_dom.of_input file)##.files
    +            Lwt.return
    +            (fun files ->
    +              Js.Opt.case
    +                files ## (item 0)
    +                Lwt.return
    +                (fun file ->
    +                  Eliom_client.call_ocaml_service ~service:~%pic_service ()
    +                    file)))));
    +  [txt "Upload a picture:"; file; submit_elt]
    diff --git a/8.0/manual/how-to-send-file-download.html b/8.0/manual/how-to-send-file-download.html new file mode 100644 index 00000000..84415217 --- /dev/null +++ b/8.0/manual/how-to-send-file-download.html @@ -0,0 +1,51 @@ +How to send a file (download)?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to send a file (download)?

    To serve file, you can use Ocsigen Server's module staticmod. +But it is also possible to ask Eliom to send files using module +Eliom_registration.File, +for example if you want Eliom to perform some privacy checks before sending, +or if the answer is not always a file.

    diff --git a/8.0/manual/how-to-send-file-upload.html b/8.0/manual/how-to-send-file-upload.html new file mode 100644 index 00000000..0cda7836 --- /dev/null +++ b/8.0/manual/how-to-send-file-upload.html @@ -0,0 +1,98 @@ +How to send a file (upload)?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to send a file (upload)?

    To upload a file, use Eliom_parameter.file as service parameter type. +

    Ocsigen server will save the file at a temporary location and keep it +there during the request. Then the file will be removed. You must +link it somewhere else on the disk yourself if you want to keep it. +

    Be careful also to set the right option in Ocsigen server's configuration file. +For example: +

    <ocsigen>
    +  <server>
    +    <uploaddir>/var/www/tmp</uploaddir>
    +    <maxuploadfilesize>2MB</maxuploadfilesize>
    +    <maxrequestbodysize>100MB</maxrequestbodysize>
    +  </server>
    +</ocsigen>

    Example with Eliom_content.Html.D module opened: +

    let upload = Eliom_service.create
    +    ~path:(Eliom_service.Path ["upload"])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    ()
    +
    +let upload2 =
    +  Eliom_registration.Html.create
    +    ~path:(Eliom_service.Path ["upload"])
    +    ~meth:(Eliom_service.Post
    +             (Eliom_parameter.unit,
    +              Eliom_parameter.file "file"))
    +    (fun () file ->
    +      let newname = "/var/www/upload/thefile" in
    +      (try
    +        Unix.unlink newname;
    +      with _ -> ());
    +      let%lwt () =
    +        Lwt_unix.link (Eliom_request_info.get_tmp_filename file) newname
    +      in
    +      Lwt.return
    +        (html
    +           (head (title (txt "Upload")) [])
    +           (body [h1 [txt "ok"]])))
    +
    +
    +let uploadform =
    +  Eliom_registration.Html.register ~service:upload
    +    (fun () () ->
    +      let f =
    +        (Form.post_form ~service:upload2
    +           (fun file ->
    +             [p [Form.file_input ~name:file ();
    +                 br ();
    +                 Form.input ~input_type:`Submit ~value:"Send" Form.string
    +               ]]) ()) in
    +      Lwt.return
    +        (html
    +           (head (title (txt "form")) [])
    +           (body [f])))
    diff --git a/8.0/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html b/8.0/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html new file mode 100644 index 00000000..aeab5b81 --- /dev/null +++ b/8.0/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html @@ -0,0 +1,75 @@ +How to set and id, classes or other attributes to HTML elements?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to set and id, classes or other attributes to HTML elements?

    Mandatory element attributes are given as OCaml named parameters to +constructions function. +

    Optional element attributes are added using the optional OCaml parameter "?a" which is more or less available for every HTML5 elements. This parameter is taking a list of attributes compatible with the element. +

    div ~a:[a_class ["red";"shadow"];
    +        a_id "the_div";
    +        a_onclick {{ fun ev -> Dom_html.window##alert(Js.string "hello") }}]
    +    [txt "I'm a div with two classes to describe me (red and shadow), ";
    +     txt "an id to make me unique and an action when you click me."]

    Id

    The id attribute specifies a unique id for an HTML element (the value must be unique within the HTML document). +

    The id attribute is mostly used to set a style in a style sheet for a particular element, and by JavaScript (via the HTML DOM) to manipulate the element with the specific id. With Eliom client-server apps, you do usually not need to set ids manually for that purpose: just use injections (%v) to refer to a node v created on server side. +

    Attribute "id" is created by function a_id, taking the value of the attribute as parameter: +

    ~a:[a_id "identifier"]

    Classes

    The class attribute specifies one or more classnames for an element. +

    The class attribute is mostly used to point to a class in a style sheet. However, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class. +

    An element can have several classes. Class attribute is +generated by function a_class, that takes a list of strings. +

    ~a:[a_class ["blue_button"; "small"]]

    Style

    The style attribute specifies an inline style for an element. The style attribute will override any style set globally, e.g. styles specified in the header of the page. +

    Using this attribute to stylish elements is not a good practice. +You should rather use +an external CSS file. +

    Its parameter is a string. +

    ~a:[a_style "color: pink; padding: 10px;"]

    Title

    The title attribute specifies extra information about an element. The information is most often shown as a tooltip text when the mouse moves over the element. +

    Its parameter is a string. +

    ~a:[a_title "Lorem ipsum dolor sit amet."]

    Events

    Some attributes allow you to do something when the user do an action. They are many available actions since HTML5. +

    Its argument is an Eliom event handler, that is a client-side function +taking the JS event as parameter: +

    ~a:[a_onclick {{ fun ev -> Dom_html.window##alert(Js.string "hello") }}]

    However, we recommend to use Js_of_ocaml_lwt.Lwt_js_events rather than these elements to set event handlers. +

    Links

    diff --git a/8.0/manual/how-to-stop-default-behaviour-of-events.html b/8.0/manual/how-to-stop-default-behaviour-of-events.html new file mode 100644 index 00000000..2aa6e5b0 --- /dev/null +++ b/8.0/manual/how-to-stop-default-behaviour-of-events.html @@ -0,0 +1,58 @@ +How to stop default behaviour of events?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to stop default behaviour of events?

    Example: +

    (** Disable Js event with stopping propagation during capture phase **)
    +let disable_event event html_elt =
    +  Lwt.async (fun () ->
    +   Lwt_js_events.seq_loop
    +     (Lwt_js_events.make_event event) ~use_capture:true html_elt
    +     (fun ev _ -> Dom.preventDefault ev; Lwt.return ())))
    +
    +
    +disable_event Dom_html.Event.dragstart Dom_html.document
    • event is a Dom_html.Event
      +
    • html_elt is the target +

    More details in documentation: Dom. preventDefault

    diff --git a/8.0/manual/how-to-use-get-parameters-or-parameters-in-the-url.html b/8.0/manual/how-to-use-get-parameters-or-parameters-in-the-url.html new file mode 100644 index 00000000..47402d22 --- /dev/null +++ b/8.0/manual/how-to-use-get-parameters-or-parameters-in-the-url.html @@ -0,0 +1,81 @@ +How to use GET parameters (parameters in the URL)?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to use GET parameters (parameters in the URL)?

    Pages are generated by services. +

    Funcrions to create services using GET HTTP method take +two mandatory parameters: ~path and ~get_params. +

    path

    This argument is a list of string, corresponding to the URL where your page service can be found. +

    For example, if you want your page to be accessed via this URL: +

    http://website.com/a/b/c

    You must provide this path: +

    ~path:["a";"b";"c"]

    This parameter can also be an empty list. It means that the service page will be accessed via this URL: +

    http://website.com/

    get_params

    Eliom chooses the service automatically w.r.t. this path and parameter +given (among other criteria). +It decodes parameters automatically and checks their types. +

    Description of parameters (names and types) is done using module +Eliom_parameter. +We recommend to open this module (at the beginning of your file, or locally). +

    Syntax for several parameters

    • No parameter +
    ~get_params:unit
    • One parameter +
    ~get_params:(int "id")
    • More parameters +
    ~get_params:(string "name" ** int "age" ** bool "graduate")

    Types of parameters

    Get these parameters

    On service registration, parameters can be retrieved as a parameter of the function: +

    Example.register ~service:the_service
    +    (fun parameters () -> ...)
    • No parameter +
    (fun () () -> ...)
    • One parameter +
    (fun a () -> ...)
    • Several parameters +

    Operator ** is left associative: +

    (fun (a, (b, (c, d)))) () -> ...)

    Parameters in the path

    Sometimes you may want to take parameters from the path, +for example to improve readability of URLs. E.g. http://blah.com/archive/2014/2/ or http://blah.com/user/toto/. +

    To do that, add a parameter of type suffix in get_params: +

    ~get_params:(suffix (string "username"))

    Download full code

    Warning: This third party code may be outdated. Please notify the author is something is broken, or do a pull request on github. +

    Links

    diff --git a/8.0/manual/how-to-write-a-json-service.html b/8.0/manual/how-to-write-a-json-service.html new file mode 100644 index 00000000..aec0eef9 --- /dev/null +++ b/8.0/manual/how-to-write-a-json-service.html @@ -0,0 +1,62 @@ +How to write a JSON service?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to write a JSON service?

    • If you want to communicate with a client side Eliom program, you do not need to serialize yourself your data to JSON. Serialization/Deserialization of any OCaml type is done automatically by Eliom. Just use OCaml services (or, simpler: server functions and call the function from your OCaml client side program). +
    • If you want to use your own JSON format, you need to have your own serialisation function to JSON (or for example to use some OCaml library like yojson to generate JSON). In that case, you can register your service using Eliom_registration.String instead of Eliom_registration.Html (see example below). The handler function must return the JSON value as a string, and a the content-type. +
    • It is even possible to define yourself your own registration module, to be used instead of Eliom_registration.String. Thus, you can use an OCaml representation of the JSON value (and you don't call the serializer yourself). Have a look on how modules like Eliom_registration.String are implemented to know how to do that. +
    let my_json_service =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path ["my_json_service"])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    ()
    +
    +let _ =
    +  Eliom_registration.String.register
    +    ~service:my_json_service
    +    (fun () () ->
    +      Lwt.return ("{text:'something'}", "application/json"))

    Comments:
    +If you want to get result from a Database, it could already be in JSON format.
    +Anyway, you probably do not need to pretty-print JSON yourself.

    diff --git a/8.0/manual/how-to-write-forms.html b/8.0/manual/how-to-write-forms.html new file mode 100644 index 00000000..841c5b46 --- /dev/null +++ b/8.0/manual/how-to-write-forms.html @@ -0,0 +1,135 @@ +How to write forms?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to write forms?

    To write an HTML form towards an Eliom service

    Just as we do for links, we provide form-building functions that call +Eliom services in a safe manner. These functions are provided in the +module +Eliom_content.Html.D.Form (and +Eliom_content.Html.F.Form). +The functions +Eliom_content.Html.D.Form.get_form and +Eliom_content.Html.D.Form.post_form +accept a function (named create_form in our example below) +which is responsible for generating the content from +appropriately-typed parameter names. +

    Here a complete example. +

    [%%shared
    +  open Eliom_parameter
    +  open Eliom_content.Html.D
    +]
    +(* Create the form with some inputs *)
    +let%server create_form =
    +  (fun (number_name, (number2_name, string_name)) ->
    +    [p [txt "Write an int: ";
    +        Form.input
    +          ~input_type:`Text ~name:number_name
    +          Form.int;
    +        txt "Write another int: ";
    +        Form.input
    +          ~input_type:`Text ~name:number2_name
    +          Form.int;
    +        txt "Write a string: ";
    +        Form.input ~input_type:`Text ~name:string_name Form.string;
    +        Form.input ~input_type:`Submit ~value:"Click" Form.string]])
    +
    +let%server form_result_service = Eliom_service.create
    +  ~path:(Eliom_service.Path ["form-result"])
    +  ~meth:(Eliom_service.Get ((int "number_name") ** ((int "number2_name") ** (string "string_name"))))
    +  ()
    +
    +let%server form_result_handler =
    +  (fun (number_name, (number2_name, string_name)) () ->
    +     Lwt.return (
    +       (html
    +          (head (title (txt "")) [])
    +          (body [
    +             p [
    +               txt "First number: ";
    +               txt (string_of_int number_name);
    +             ];
    +             p [
    +               txt "Second number: ";
    +               txt (string_of_int number2_name);
    +             ];
    +             p [
    +               txt "String: ";
    +               txt string_name
    +             ]
    +           ]))))
    +
    +let%server form_service = Eliom_service.create
    +  ~path:(Eliom_service.Path ["form"])
    +  ~meth:(Eliom_service.Get unit)
    +  ()
    +
    +let%server form_handler =
    +  (fun () () ->
    +     let form = Form.get_form ~service:form_result_service create_form in
    +     Lwt.return
    +       (html
    +         (head (title (txt "Form example")) [])
    +         (body [form])))
    +
    +let%server () =
    +  Eliom_registration.Html.register ~service:form_result_service form_result_handler;
    +  Eliom_registration.Html.register ~service:form_service form_handler

    As shown in the example, +Eliom_content.Html.D.Form +provides functions for generating the various widgets, e.g., +Eliom_content.Html.D.Form.input. +These functions need to be called with a "type" argument (e.g., +Eliom_content.Html.D.Form.int) +that matches the type of the corresponding parameter name. +

    POST forms may also take get parameters, as last argument of function +post_form: +

    Eliom_content.Html.D.Form.post_form
    +  my_service_with_get_and_post
    +  (fun my_string ->
    +    p [txt "Write a string: ";
    +       Form.input ~input_type:`Text ~name:my_string Form.string])
    +  222

    Raw forms

    There is also a raw interface to write basic forms without Eliom, +using standard tyxml constructors. +

    Use module Eliom_content.Html.D.Raw. +

    Links

    diff --git a/8.0/manual/how-to-write-titles-and-paragraphs.html b/8.0/manual/how-to-write-titles-and-paragraphs.html new file mode 100644 index 00000000..eaee7929 --- /dev/null +++ b/8.0/manual/how-to-write-titles-and-paragraphs.html @@ -0,0 +1,59 @@ +How to write titles and paragrahs?

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    How to write titles and paragrahs?

    Titles +

    h3 [txt "Hello world"]

    There are 6 types of titles: h1, h2, h3, h4, h5 and h6. h1 is the largest and h6 is the smallest. +

    Pagragraph +

    p [txt "Some text, blah blah blah"]

    Required parameter: list containing other elements (content: Html_types.flow5 elements). +

    Optional parameter for attributes "a" (How to set and id, classes or other attributes to HTML elements?). +

    Download full code

    Warning: This third party code may be outdated. Please notify the author is something is broken, or do a pull request on github. +

    Links

    diff --git a/8.0/manual/html.html b/8.0/manual/html.html new file mode 100644 index 00000000..88aed486 --- /dev/null +++ b/8.0/manual/html.html @@ -0,0 +1,141 @@ + HTML in 5 minutes

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    HTML in 5 minutes

    The Tyxml library makes it possible to type-check HTML pages. +This means that your Ocsigen program will never generate pages +which do not follow the recommendations from the W3C. +For example a program that could generate a page with a paragraph +inside another paragraph will be rejected at compile time. +

    Typed HTML

    Tags

    Tyxml (or modules obtained by applying Tyxml functor, +like Eliom_content.Html.D) defines a contructor function +for each HTML tag, and for each attribute. +

    Example: +

    html
    +     (head (title (txt "Hello")) [])
    +     (body [ h1 [txt "Hello"] ;
    +             p [txt "Blah"] ])

    As tag <html> contains a tag <head> and <body>, +function html takes two parameters: +

    val html : [`Head] elt -> [`Body] elt -> [`Html] elt

    The only way to create a value of type [`Head] elt is to use +function head, +and the only way to create a value of type [`Body] elt is to use +function body. +

    As a <title> tag is mandatory inside <head>, +function head takes a [`Title] elt as first argument +(that can be created using function title), +then the list of other children. +

    Function txt is used to include raw text. +

    Error messages

    If you write an invalid page, for example: +

    (html
    +   (head (title (txt "")) [txt ""])
    +   (body [txt "Hallo"]))

    You will get an error message similar to the following, referring to +the end of line 2: +

    Error: This expression has type ([> `TXT ] as 'a) Html.elt
    +       but an expression was expected of type
    +         Html_types.head_content_fun Html.elt
    +       Type 'a is not compatible with type Html_types.head_content_fun =
    +           [ `Base
    +           | `Command
    +           | `Link
    +           | `Meta
    +           | `Noscript of [ `Link | `Meta | `Style ]
    +           | `Script
    +           | `Style ]
    +       The second variant type does not allow tag(s) `TXT
    +

    where Html_types.head_content_fun +is the type of content allowed inside <head> (<base>, +<command>, <link>, <meta>, etc.). Notice that +`TXT (i.e. raw text) is not included in this polymorphic +variant type, which means that <head> cannot contain raw text. +

    Attributes

    Attributes are given to functions using optional argument ?a. +

    Example: +

    div ~a:[a_id "the_id"; a_class ["firstclass"; "secondclass"]]
    +  [ txt "blah" ]

    OCaml node and DOM nodes

    Conversions

    Tyxml builds OCaml nodes. If you are using it server side, +they are serialized as an XML text before being sent to the browser. +On client side, if you want to get the DOM node corresponding to +an OCaml node, use functions from module Eliom_content.Html.To_dom, +for example Eliom_content.Html.To_dom.of_element, +or Eliom_content.Html.To_dom.of_input, +Eliom_content.Html.To_dom.of_textarea, etc. +

    If the node has been created with Eliom_content.Html.F +(functional nodes), +a new DOM node will be created every time you call such a conversion +function. +

    If the node has been created with Eliom_content.Html.D, +the conversion function will return the exact DOM node that exists +in the page (and always the same one). If this "D" node is created +server-side, Eliom will automatically add a identifier in the HTML +page to be able to find it back. +

    Example: +

    [%%shared
    +  open Eliom_content.Html
    +]
    +
    +let%server create_widget () =
    +  let d = D.div [ ... ] in
    +  ignore [%client
    +    Lwt.async (fun () ->
    +      Lwt_js_events.clicks (To_dom.of_element ~%d) (fun _ _ -> ... )) ];
    +  d

    Here, d must be a "D" node, as I want to bind click events on +the actual node (that is already in the page), not create a new one. +

    Remember to use "D" nodes if you want to use it in a injection +(~%d). If you don't to bother about "D" or "F" nodes, use "D" +nodes by default (even if it will generate too much identifiers in the page). +But remember that, the DOM semantics implies that "D" nodes cannot be +inserted twice in a page. +

    Manip

    Module +Eliom_content.Html.Manip +makes it possible to manipulate OCaml nodes without conversions +(add them in a page, replace a node, add as child of another node, +add a class, etc.). +

    Reactive nodes

    Module +Eliom_content.Html.R +makes it possible to create reactive nodes, that is, nodes that will +be updated automatically when the data on which they depend change. +

    It is based on module React, +which implements functional reactive programming for OCaml. +

    More documentation

    Have a look at Tyxml's manual +and Eliom's manual +for more documentation about HTML manipulation in OCaml.

    diff --git a/8.0/manual/interaction.html b/8.0/manual/interaction.html new file mode 100644 index 00000000..d641b77b --- /dev/null +++ b/8.0/manual/interaction.html @@ -0,0 +1,815 @@ +Implementing Web Interaction Using Eliom

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Implementing Web Interaction Using Eliom

    The code of this tutorial has been tested with Eliom 6.0.
    +

    This chapter of the tutorial explains how to create a small web site +with several pages, users, sessions, and other elements of classical +web development. Then, in +another tutorial, we will incorporate the +features of this site into our Graffiti application, to +demonstrate that we can combine this kind of interaction with client-side +programs. +

    We assume you have read at least the first section of the previous +chapter, which explained how to create a service and constuct valid +HTML pages. +

    We will create a simple web site with one main page and a page for +each user (assuming we have several users already created). Then we +will add a login/connection form. We will also add a registration +form, in order to learn how to create dynamically new services, +and why it is very useful. +

    The full code +of the program can be downloaded. +

    Services

    The main page

    Let's start again from scratch with the following site. +

    let main_service = Eliom_content.Html.D.(
    +  Eliom_registration.Html.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    (fun () () ->
    +      Lwt.return
    +        (html (head (title (txt "")) [])
    +           (body [h1 [txt "Hello"]])))
    +)

    Note that we are using Eliom_registration.Html, as we are not building a +client side program for now. +

    For the same reason, you may want to remove the .eliom-file +generated by the distillery and put the code into an +.ml-file. But don't forget to add it to the server files in the +Makefile.options: +

    SERVER_FILES := tuto.ml

    Adding a page for each user

    We will now create a page for each user. To do this, we will create a +new service, taking the user name as parameter: +

    let user_service = Eliom_content.Html.D.(
    +  Eliom_registration.Html.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Get (Eliom_parameter.string "name"))
    +    (fun name () ->
    +      Lwt.return
    +        (html (head (title (txt name)) [])
    +           (body [h1 [txt name]])))
    +)

    Add these lines to the same file, compile, start the server and verify +that everything is working by trying, for example: +http://localhost:8080/?name=toto. +

    For our program, we would prefer to take one part of the URL path as the parameter +describing the name of the user. +To achieve this we change the definition of the previous service this way: +

    let user_service =
    +  Eliom_registration.Html.create
    +    ~path:(Eliom_service.Path ["users"])
    +    ~meth:(Eliom_service.Get (
    +      Eliom_parameter.(suffix (string "name"))))
    +    (fun name () -> ... )

    The user pages are now available at URLs http://localhost:8080/users/username. +

    Links

    We now want to add a link on each user page to go back to the main +page. +

    Change the handler of user_service into: +

    (fun name () -> Lwt.return
    +  (html
    +    (head (title (txt name)) [])
    +    (body [h1 [txt name];
    +           p [a ~service:main_service [txt "Home"] ()]])))

    Links towards services with parameters

    In our example above, the last parameter is () because the +service does not expect any parameter. If the service expects, for +example, a pair (int * string), you must provide a matching +value as last parameter. OCaml checks at compile time that the type +of the parameters in a link corresponds to the type expected by the +service. Also parameter names are generated +automatically from the service, making it impossible to erroneously +create bad links. +

    To show an example of a link with parameters, we will display the list +of user pages on the main page. Here is the new version of the full +program: +

    (* Services *)
    +let main_service = Eliom_service.create
    +  ~path:(Eliom_service.Path [""])
    +  ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +  ()
    +
    +let user_service  = Eliom_service.create
    +  ~path:(Eliom_service.Path ["users"])
    +  ~meth:(Eliom_service.Get Eliom_parameter.(suffix (string "name")))
    +  ()
    +
    +(* User names and passwords: *)
    +let users = ref [("Calvin", "123"); ("Hobbes", "456")]
    +
    +let user_links = Eliom_content.Html.D.(
    +  let link_of_user = fun (name, _) ->
    +    li [a ~service:user_service [txt name] name]
    +  in
    +  fun () -> ul (List.map link_of_user !users)
    +)
    +
    +(* Services Registration *)
    +let () = Eliom_content.Html.D.(
    +
    +  Eliom_registration.Html.register
    +    ~service:main_service
    +    (fun () () ->
    +      Lwt.return
    +        (html (head (title (txt "")) [])
    +           (body [h1 [txt "Hello"];
    +                  user_links ()])));
    +
    +  Eliom_registration.Html.register
    +    ~service:user_service
    +    (fun name () ->
    +      Lwt.return
    +        (html (head (title (txt name)) [])
    +           (body [h1 [txt name];
    +                  p [a ~service:main_service [txt "Home"] ()]])))
    +)

    Sessions

    Connection service

    Now we want to add a connection form. First, we create a service +for checking the name and password. Since we don't want the username +and password to be shown in the URL, we use hidden parameters +(or POST parameters). Thus, we need to create a new service taking +these parameters: +

    let connection_service = Eliom_service.create_attached_post
    +  ~fallback:main_service
    +  ~post_params:Eliom_parameter.(string "name" ** string "password")
    +  ()

    Now we can register a handler for the new service: +

    Eliom_registration.Html.register
    +    ~service:connection_service
    +    (fun () (name, password) ->
    +      let message =
    +        if check_pwd name password
    +        then "Hello " ^ name
    +        else "Wrong name or password"
    +      in
    +      Lwt.return
    +        (html (head (title (txt "")) [])
    +           (body [h1 [txt message];
    +                  user_links ()])));

    where check_pwd is defined by: +

    let check_pwd name pwd =
    +  try List.assoc name !users = pwd with Not_found -> false

    Connection form

    For now, we will add the connection form only on the main page of the +site. +

    Let's create a function for generating the form: +

    let connection_box () = Eliom_content.Html.D.(
    +  Form.post_form ~service:connection_service
    +    (fun (name1, name2) ->
    +      [fieldset
    +         [label [txt "login: "];
    +          Form.input
    +            ~input_type:`Text ~name:name1
    +            Form.string;
    +          br ();
    +          label [txt "password: "];
    +          Form.input
    +            ~input_type:`Password ~name:name2
    +            Form.string;
    +          br ();
    +          Form.input
    +            ~input_type:`Submit ~value:"Connect"
    +            Form.string
    +         ]]) ()
    +)

    Now, add a call to this function in the handler of the main service +(for example just before the user links). +

    Opening a session

    Now we want to remember that the user is successfully connected. To do +that we will set a reference when the user successfully connects, and +we will restrict the scope of this reference to the session (that is, +to the browser). +

    Define your Eliom reference with a default value: +

    let username =
    +  Eliom_reference.eref ~scope:Eliom_common.default_session_scope None

    Here is the new connection_box function: +

    let connection_box () = Eliom_content.Html.D.(
    +  let%lwt u = Eliom_reference.get username in
    +  Lwt.return
    +    (match u with
    +      | Some s -> p [txt "You are connected as "; txt s]
    +      | None ->
    +        Form.post_form ~service:connection_service
    +          (fun (name1, name2) ->
    +            [fieldset
    +	       [label [txt "login: "];
    +                Form.input
    +                  ~input_type:`Text ~name:name1
    +                  Form.string;
    +                br ();
    +                label [txt "password: "];
    +                Form.input
    +                  ~input_type:`Password ~name:name2
    +                  Form.string;
    +                br ();
    +                Form.input
    +                  ~input_type:`Submit ~value:"Connect"
    +                  Form.string
    +               ]]) ())
    +)

    ... and replace the registration of the main service and the connection service by: +

    Eliom_registration.Html.register
    +    ~service:main_service
    +    (fun () () ->
    +      let%lwt cf = connection_box () in
    +      Lwt.return
    +        (html (head (title (txt "")) [])
    +              (body [h1 [txt "Hello"];
    +                     cf;
    +                     user_links ()])));
    +
    +  Eliom_registration.Html.register
    +    ~service:connection_service
    +    (fun () (name, password) ->
    +      let%lwt message =
    +        if check_pwd name password then
    +	  begin
    +            let%lwt () = Eliom_reference.set username (Some name) in
    +            Lwt.return ("Hello "^name)
    +	  end
    +	else
    +	  Lwt.return "Wrong name or password"
    +      in
    +      Lwt.return
    +        (html (head (title (txt "")) [])
    +           (body [h1 [txt message];
    +                  user_links ()])));

    Display the usual page after connection

    As you can see, our connection service is displaying a welcome page +which is different from the main page in connected mode. We would +rather display the same page. One solution is to call the same +handler after registering session data. +

    A cleaner solution is to use an action, that is: a service which will +just perform a side effect. Replace the registration +of the connection service by: +

    Eliom_registration.Action.register
    +    ~service:connection_service
    +    (fun () (name, password) ->
    +      if check_pwd name password
    +      then Eliom_reference.set username (Some name)
    +      else Lwt.return ());

    Now the main page is displayed after connection. +

    Putting a connection form on each page

    We transform the connection service into a non_attached coservice, +to do so we replace the path we specified earlier for the ~path parameter: +

    let connection_service = Eliom_service.create
    +  ~path:(Eliom_service.No_path)
    +  ~meth:(Eliom_service.Post (
    +    Eliom_parameter.unit,
    +    Eliom_parameter.(string "name" ** string "password")))
    +  ()

    Now you can add the connection box on user pages. +

    Eliom_registration.Html.register
    +    ~service:user_service
    +    (fun name () ->
    +      let%lwt cf = connection_box () in
    +      Lwt.return
    +        (html (head (title (txt name)) [])
    +              (body [h1 [txt name];
    +		     cf;
    +                     p [a ~service:main_service [txt "Home"] ()]])));

    Disconnection

    To create a logout/disconnection form, we create another non-attached +coservice using POST method, and register another action. We call the +function Eliom_state.discard with scope Eliom_common.default_session_scope to remove all session +data. +

    let disconnection_service = Eliom_service.create
    +  ~path:(Eliom_service.No_path)
    +  ~meth:(Eliom_service.Post (Eliom_parameter.unit, Eliom_parameter.unit))
    +  ()
    +
    +let disconnect_box () = Eliom_content.Html.D.(
    +  Form.post_form disconnection_service
    +    (fun _ ->
    +      [fieldset [Form.input ~input_type:`Submit ~value:"Log out" Form.string]]
    +    )
    +    ()
    +)
    +
    +let () =
    +  Eliom_registration.Action.register
    +    ~service:disconnection_service
    +    (fun () () -> Eliom_state.discard ~scope:Eliom_common.default_session_scope ())

    Then add this form in the connection box: +

    let connection_box () =
    +  let%lwt u = Eliom_reference.get username in
    +  Lwt.return
    +    (match u with
    +      | Some s -> div [p [txt "You are connected as "; txt s; ];
    +                       disconnect_box () ]
    +      | None -> ...

    Registration of users

    Basic registration form

    We now add a registration form to the application. We create a +new regular service, attached to the path /registration, that +displays a registration form, and an action that will add the user to +the "database": +

    let new_user_form_service = Eliom_service.create
    +  ~path:(Eliom_service.Path ["registration"])
    +  ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +  ()
    +
    +let create_account_service = Eliom_service.create_attached_post
    +  ~fallback:main_service
    +  ~post_params:(Eliom_parameter.(string "name" ** string "password"))
    +  ()
    +
    +let account_form () = Eliom_content.Html.D.(
    +  Form.post_form ~service:create_account_service
    +    (fun (name1, name2) ->
    +      [fieldset
    +         [label [txt "login: "];
    +          Form.input ~input_type:`Text ~name:name1 Form.string;
    +          br ();
    +          label [txt "password: "];
    +          Form.input ~input_type:`Password ~name:name2 Form.string;
    +          br ();
    +          Form.input ~input_type:`Submit ~value:"Connect" Form.string
    +         ]]) ()
    +)
    +
    +let _ = Eliom_content.Html.D.(
    +  Eliom_registration.Html.register
    +    ~service:new_user_form_service
    +    (fun () () ->
    +      Lwt.return
    +        (html (head (title (txt "")) [])
    +              (body [h1 [txt "Create an account"];
    +                     account_form ();
    +                    ])));
    +
    +  Eliom_registration.Action.register
    +    ~service:create_account_service
    +    (fun () (name, pwd) ->
    +      users := (name, pwd)::!users;
    +      Lwt.return ())
    +)

    Then add the link to this service in the connection box: +

    let connection_box () = Eliom_content.Html.D.(
    +  let%lwt u = Eliom_reference.get username in
    +  Lwt.return
    +    (match u with
    +      | Some s -> div [p [txt "You are connected as "; txt s; ];
    +                       disconnect_box () ]
    +      | None ->
    +        div [Form.post_form ~service:connection_service
    +                (fun (name1, name2) ->
    +...
    +                ) ();
    +             p [a new_user_form_service
    +                  [txt "Create an account"] ()]]
    +            )
    +)

    It looks great, but if we refresh the page after creating an account, +we can see there is a problem. We are creating the same account over and +over again. This is because we are calling the create_account_service each time +we refresh the page, obviously we don't want that. To solve this issue we will +implement a dynamically created and registered service with limited lifespan and +number of uses. +

    Registration form with confirmation

    Now we want to add a confirmation page before actually creating the +account. We replace the service create_account_service by a +new POST attached coservice called account_confirmation_service: +

    let account_confirmation_service =
    +  Eliom_service.create_attached_post
    +    ~fallback:new_user_form_service
    +    ~post_params:(Eliom_parameter.(string "name" **  string "password"))
    +    ()

    and we make the account creation form point at this new service. +

    We register an HTML handler on this service, with the confirmation +page. As a side effect, this page will create the actual account +creation service: +

    Eliom_registration.Html.register
    +    ~service:account_confirmation_service
    +    (fun () (name, pwd) ->
    +      let create_account_service =
    +	Eliom_service.create_attached_get
    +          ~fallback:main_service
    +          ~get_params:Eliom_parameter.unit
    +          ~timeout:60.
    +	  ~max_use:1
    +	  ()
    +      in
    +      let _ = Eliom_registration.Action.register
    +	~service:create_account_service
    +        (fun () () ->
    +          users := (name, pwd)::!users;
    +          Lwt.return ())
    +      in
    +      Lwt.return
    +	(html
    +           (head (title (txt "")) [])
    +           (body
    +              [h1 [txt "Confirm account creation for "; txt name];
    +               p [a ~service:create_account_service [txt "Yes"] ();
    +                  txt " ";
    +                  a ~service:main_service [txt "No"] ()]
    +              ])));

    Also remove the registration of the create_account_service +service and modify the user creation form to make it points towards +account_confirmation_service. +

    We created dynamically a service with a limited lifespan as specified by the +?timeout parameter and a limited number of uses of this service defined +by the ?max_use parameter. Now if we refresh the page after creating the +account, it works as intended. +

    A few enhancements

    Displaying a "wrong password" message

    In the current version, our web site fails silently when the password +is wrong. Let's improve this behavior by displaying an error message. +To do that, we need to pass information to the service occurring after +the action. We record this information in an Eliom reference with +scope Eliom_common.request_scope. +

    Define an Eliom reference: +

    let wrong_pwd =
    +  Eliom_reference.eref ~scope:Eliom_common.request_scope false

    Modify the connection box this way: +

    let connection_box () = Eliom_content.Html.D.(
    +  let%lwt u = Eliom_reference.get username in
    +  let%lwt wp = Eliom_reference.get wrong_pwd in
    +  Lwt.return
    +    (match u with
    +      | Some s -> div [p [txt "You are connected as "; txt s; ];
    +                       disconnect_box () ]
    +      | None ->
    +        let l =
    +          [Form.post_form ~service:connection_service
    +            (fun (name1, name2) ->
    +              [fieldset
    +	         [label [txt "login: "];
    +                  Form.input ~input_type:`Text ~name:name1 Form.string;
    +                  br ();
    +                  label [txt "password: "];
    +                  Form.input ~input_type:`Password ~name:name2 Form.string;
    +                  br ();
    +                  Form.input ~input_type:`Submit ~value:"Connect" Form.string
    +                 ]]) ();
    +             p [a new_user_form_service
    +                  [txt "Create an account"] ()]]
    +        in
    +        if wp
    +        then div ((p [em [txt "Wrong user or password"]])::l)
    +        else div l
    +    )
    +)

    ... and modify the connection_service handler: +

    Eliom_registration.Action.register
    +    ~service:connection_service
    +    (fun () (name, password) ->
    +      if check_pwd name password
    +      then Eliom_reference.set username (Some name)
    +      else Eliom_reference.set wrong_pwd true);

    Sending 404 errors for non-existing users

    Our service user_service responds to any request parameter, even +if the user does not exist in the database. We want to check that the +user is in the database before displaying the page, and send a 404 +error if the user is not. To do that, we will replace module + Eliom_registration.Html +by Eliom_registration.Any to register the service user_service: +

    Eliom_registration.Any.register
    +    ~service:user_service
    +    (fun name () ->
    +      if List.mem_assoc name !users then
    +	begin
    +	  let%lwt cf = connection_box () in
    +	  Eliom_registration.Html.send
    +            (html (head (title (txt name)) [])
    +               (body [h1 [txt name];
    +                      cf;
    +                      p [a ~service:main_service [txt "Home"] ()]]))
    +	end
    +      else
    +	Eliom_registration.Html.send
    +          ~code:404
    +          (html (head (title (txt "404")) [])
    +             (body [h1 [txt "404"];
    +                    p [txt "That page does not exist"]]))
    +    );

    Wrapping the server handler to easily get the user data

    When you want to assume that you have informations available in +sessions, for instance when a site is mainly available to connected +users, it becomes tedious to check everywhere that a reference is not +None. A simple way to distinguish authenticated and anonymous +requests lies in the usage of Eliom_tools.wrap_handler. It allows to +provide two handler functions, one is called if a certain +information is not made available by the first argument, the other is +called when that information is available. +

    let authenticated_handler f = Eliom_content.Html.D.(
    +  let handle_anonymous _get _post =
    +    let connection_box =
    +      Form.post_form ~service:connection_service
    +        (fun (name1, name2) ->
    +	  [fieldset
    +              [label [txt "login: "];
    +               Form.input ~input_type:`Text ~name:name1 Form.string;
    +               br ();
    +               label [txt "password: "];
    +               Form.input ~input_type:`Password ~name:name2 Form.string;
    +               br ();
    +               Form.input ~input_type:`Submit ~value:"Connect" Form.string
    +              ]]) ()
    +    in
    +    Lwt.return
    +      (html
    +        (head (title (txt "")) [])
    +        (body [h1 [txt "Please connect"];
    +	       connection_box;]))
    +    in
    +    Eliom_tools.wrap_handler
    +      (fun () -> Eliom_reference.get username)
    +      handle_anonymous (* Called when [username] is [None] *)
    +      f (* Called [username] contains something *)
    +)
    +
    +let () = Eliom_content.Html.D.(
    +  Eliom_registration.Html.register ~service:main_service
    +    (authenticated_handler
    +       (fun username _get _post ->
    +       	 Lwt.return
    +           (html
    +              (head (title (txt "")) [])
    +              (body [h1 [txt ("Hello " ^ username) ]]))))
    +)

    prev +next

    diff --git a/8.0/manual/intro.html b/8.0/manual/intro.html new file mode 100644 index 00000000..45ea8c05 --- /dev/null +++ b/8.0/manual/intro.html @@ -0,0 +1,163 @@ +Introduction

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Introduction

    Ocsigen is a complete framework for developing Web and mobile apps +using cutting edge techniques. It can be used to write simple server side +Web sites, client-side programs, or complex client-server Web +and mobile apps. +Its main characteristics are: +

    • The use of a strongly typed language, OCaml, and a very advanced use +of its type system to check many properties of a program at compile time. +This allows to drastically reduce the developement time of complex apps, +and makes it easier to refactor the code to follow evolutions of its features. +As an example, the conformance of generated HTML is checked at compile time, +which makes it almost impossible to generate invalid pages. +
    • Multi-tier programming: client and server sides of the application are +written using the same language, and as a single code. Annotations in +the code are used indicate on which side the code is to be run. +The client side parts are automatically extracted and compiled into JavaScript +to be executed in the browser. +This gives a lot of flexibility to the programmer, allowing for example to +generate some parts of pages either on client or server code according +to your needs. It also makes communication between server and client +straightforward, as you can use server side variables in client code, +or call a server side OCaml functions from client code. +
    • Web and mobile multi-platform apps: Android and iOS apps are +generated from the exact same code as the Web app, and run in a webview. +

    To see some examples of mobile or Web apps written with Ocsigen, have a look +at the Be Sport social network (available in +Google Play Store and Apple app store), or +Ocsigen Start's demo app +(available on Google Play store). +

    Ocsigen consists of several quite independant projects, all +released as open source software on Github. +The main projects are: +

    • Lwt, a general purpose concurrent programming library for OCaml, +
    • TyXML for generating typed XML, +
    • the Js_of_ocaml compiler (from Ocaml bytecode to JavaScript), +
    • Eliom, the multi-tier framework for client-server +Web and mobile apps, +
    • Ocsigen Server, a full-featured Web server, +
    • Ocsigen Toolkit, a client-server widget library written for Eliom and Js_of_ocaml, +
    • Ocsigen Start, an application template with +many code examples, to be used as a basis for your apps, or to learn. +

    The installation is described here. +

    Ocsigen originates from a research project by the CNRS, Université de Paris +and Inria. It innovates in many aspects, and you will have to learn several +new programming techniques to become autonomous. +Depending on your level and goals, we suggest to continue by reading +some of the following chapters: +

    • Chapter Client-server application programming guide can be used as your training plan. +It provides a wide overview of each main concept, with links to more detailed +documentation. +
    • If you want to start with a server-side only Web site, read Server-side website programming guide instead. +
    • Then, a good starting point is this +Ocsigen Start tutorial, +if you plan to build a client-server Web (and/or mobile) app. +It will help you to build your first app very quickly, +with many code samples to study. +
    • If you are fluent in OCaml and want a quick introduction to +client-server Web programming with Eliom, +read tutorial +Eliom apps basics: writing client server widgets. +It illusrates the client-server syntax with an example, +and is a good starting point for understanding Eliom's client-server features. +
    • If you want a full step-by-step tutorial on how to write a client-server Web +application, read tutorial +Client-server application. +It describes step by step how to write a client/server +collaborative drawing application. You will learn, +from the very beginning, how to: +
      • Create new services +
      • Output valid HTML +
      • Send OCaml code to be executed on the client +
      • Call JavaScript methods from OCaml +
      • Catch mouse events +
      • Communicate with the server, in both directions +
      • Create services with non-HTML output +
    • If you want to build mobile applications, +read tutorial Mobile applications with Ocsigen. +It describes how to build a mobile app (e.g., for Android) +with the same codebase as for your Web application. +
    • If you want to write a more traditional Web site, with pages, forms, and sessions, read tutorial Service based Web programming. +It is devoted to server side programming. +It shows how to +create a new Web site with several pages and user connections. +You will learn how to: +
      • Create a link towards another service +
      • Create forms +
      • Register session data or session services +
      • Create services performing actions (with no output) +
      • Dynamically register new services (continuation based Web programming) +
    • If you want to learn more details about Ocsigen +read tutorial Miscellaneous features. +It will mix the client-server drawing application +with the session mechanism and user management +to produce a multi-user collaborative drawing +application. In this chapter, you will learn how to: +
      • Integrate a typical Web interaction (links, forms, …) with a client side program. +
      • Add sounds or videos to your application +
      • Change pages without stopping the client side program +
      • Connect with external accounts (openID) +
      • Add an Atom feed +
    • If you want to have a full application with user management +(registration, activation emails, authentication), +have a look at Ocsigen-start. +Ocsigen-start is a library and a template for Eliom distillery that +contains a working Eliom application with user and right +management. +
    • For a more comprehensive understanding refer to the manual of each project, +and/or the API documentation. +
    • You will also find more tutorials in the menu on the left. +

    We recommend to ask your questions on +discuss.ocaml.org with tag ocsigen. +You can also come and chat with us on +IRC in channel #ocsigen on freenode.net (e.g. by using +their webchat)! +

    Now, we recommend to read, chapter +All Ocsigen in one page +for a wide and complete overview. +

    diff --git a/8.0/manual/lwt.html b/8.0/manual/lwt.html new file mode 100644 index 00000000..a94d75ba --- /dev/null +++ b/8.0/manual/lwt.html @@ -0,0 +1,135 @@ + Lwt in 5 minutes

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Lwt in 5 minutes

    Principles

    The Lwt library implements cooperative threads for OCaml. Cooperative +threads are an alternative to preemptive threads (used in many +languages and in OCaml's Thread module) that solve most common +issues with preemptive threads: with Lwt, there is very limited risk +of deadlocks and very limited need for locks. Lwt threads are even +usable in programs compiled to JavaScript using Js_of_ocaml. +

    Lwt is based on the fact that most programs spend most of their time +waiting for inputs, e.g., keys, data coming from sockets, and mouse +events. Instead of relying on a preemptive scheduler that switches +between threads at arbitrary moments, Lwt uses these waiting times as +cooperation points. This means that instead of blocking (for +example on a read), Lwt resumes another waiting thread, if there +is one that is ready to continue. All you have to do is to use the +cooperative version of each blocking function, for example +Lwt_unix.sleep instead of Unix.sleep +and Lwt_unix.read instead of Unix.read. +If one of your computations takes a lot of time, it is also possible +to manually insert cooperation points using the function +Lwt_main.yield. +

    Promises

    Lwt defines a type 'a Lwt.t, which is the type of promises. +For example, the function: +

    val f : unit -> int Lwt.t

    immediately returns a promise of int, that is, something that +will eventually become an integer once the computation is finished. +

    The following code will launch the computation of f () +(asynchronously). If the code reaches a cooperation point (for example +when the integer is requested via the network), it will continue the +program (print "hello") and resume at a subsequent cooperation point, +when the data is available. +

    let g1 () =
    +  let p = f () in
    +  print_endline "hello"

    Bind: Using the value of promises

    It is possible to tell Lwt to execute a function once a promise is +completed, by using the function: +

    Lwt.bind : 'a Lwt.t -> ('a -> 'b Lwt.t) -> 'b Lwt.t

    For instance Lwt.bind p h will call the function h with +the return value of the promise p as soon as the value is known. +The expression (Lwt.bind p h) is also a promise (it may take +time to complete). Function h must return a promise. +

    To create a (terminated) promise from a value, use Lwt.return. +

    Example: +

    let g2 () =
    +  let p = f () in
    +  Lwt.bind p (fun i -> print_int i; Lwt.return ())

    Function g2 calls function f to create a promise. +Then it waits (in a cooperative manner) for the result, +and prints the result. The expression g2 () has type unit Lwt.t. +

    Syntax extension

    A PPX (and also camlp4) syntax extension is available. +

    let%lwt i = f () in
    +...

    is equivalent to +

    Lwt.bind (f ()) (fun i -> ...)

    Examples

    A function that prints "tic" every second forever, without blocking the rest of the program

    let rec tic () =
    +    print_endline "tic";
    +    let%lwt () = Lwt_unix.sleep 1.0 in
    +    tic ()

    Replace Lwt_unix.sleep by Lwt_js.sleep if your program is +running in a browser. +

    Launching concurrent threads and waiting for their results

    Suppose you have two cooperative functions: +

    val f : unit -> unit Lwt.t
    +val g : unit -> unit Lwt.t

    The following code runs f () and g () sequentially: +

    let%lwt () = f () in
    +let%lwt () = g () in
    +...

    The following code launches f () and g () concurrently, +then waits for both to terminate before continuing: +

    let p1 = f () in
    +let p2 = g () in
    +let%lwt () = p1 in
    +let%lwt () = p2 in
    +...

    To detach a thread, it is recommended to use +

    Lwt.async (fun () -> f ())

    instead of +

    ignore (f ())

    to catch exceptions properly. +

    Serial and concurrent map on lists

    The following map function runs all computation concurrently +on all list elements: +

    let rec map f l =
    +  match l with
    +  | [] -> Lwt.return []
    +  | v :: r ->
    +      let t = f v in
    +      let rt = map f r in
    +      let%lwt v' = t in
    +      let%lwt l' = rt in
    +      Lwt.return (v' :: l')

    whereas the following one waits for the one to complete before +launching the next one: +

    let rec map_serial f l =
    +  match l with
    +  | [] -> return []
    +  | v :: r ->
    +      let%lwt v' = f v in
    +      let%lwt l' = map_serial f r in
    +      Lwt.return (v' :: l')

    More documentation

    Have a look at Lwt's manual +for more details about Lwt. +You will learn how to handle exceptions (using Lwt.fail +and Lwt.catch or try%lwt). +You will also learn for example how to create a thread that waits until it is +awaken (using Lwt.wait and Lwt.wakeup).

    diff --git a/8.0/manual/macaque.html b/8.0/manual/macaque.html new file mode 100644 index 00000000..64662c8a --- /dev/null +++ b/8.0/manual/macaque.html @@ -0,0 +1,130 @@ +Type safe database requests using Macaque

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Type safe database requests using Macaque

    The Macaque library allows easy manipulation of Postgresql +database fully compatible with Lwt. (For more information see + Macaque manual). +

    Macaque is fuly compatible with PGOcaml, and both can be used +in the same application. PGOcaml requires database access at compile +time and makes difficult to generate queries at compile time. +Macaque uses its own syntax, whereas PGOcaml uses SQL. +Macaque supports only a small subset of Postgresql features. +

    Warning: Macaque's syntax extension uses camlp4, which is not compatible with ppx. If you want to use macaque with Eliom's ppx, place your macaque code in an isolated file. Some details can be found in the ppx migration guide. +

    This tutorial shows how to store the login and the password +f users in a Postgresql +database. For more information on how to set up and run it, see +Postgresql +manual. +

    When the base is up and running, we create the base by running in a shell: +

    $ createdb testbase

    Then we create the users table, by executing this sql script: +

    CREATE TABLE users (
    +       login text NOT NULL,
    +       password text NOT NULL
    +);

    We save it under create_table.sql and run +

    $ psql -d testbase -f create_table.sql

    Macaque can use any thread library that provides a monadic +interface. The default one provides simple blocking access to the +database. It isn't good for us because an access to the base by one +user will prevent the server from handling anything else until the +request is finished. We need a version of Macaque specialised for +Lwt. It is obtained by +

    module Lwt_thread = struct
    +  include Lwt
    +  include Lwt_chan
    +end
    +module Lwt_PGOCaml = PGOCaml_generic.Make(Lwt_thread)
    +module Lwt_Query = Query.Make_with_Db(Lwt_thread)(Lwt_PGOCaml)

    We can now open the database with our newly created Lwt_PGOCaml.connect. +

    let get_db : unit -> unit Lwt_PGOCaml.t Lwt.t =
    +  let db_handler = ref None in
    +  fun () ->
    +    match !db_handler with
    +      | Some h -> Lwt.return h
    +      | None -> Lwt_PGOCaml.connect ~database:"testbase" ()

    Then we declare the table on which we will work and the different +requests we do on it. +

    let table = <:table< users (
    +  login text NOT NULL,
    +  password text NOT NULL
    +) >>
    +
    +let find name =
    +  (get_db () >>= fun dbh ->
    +   Lwt_Query.view dbh
    +   <:view< {password = user_.password} |
    +            user_ in $table$;
    +            user_.login = $string:name$; >>)
    +
    +let insert name pwd =
    +  get_db () >>= fun dbh ->
    +  Lwt_Query.query dbh
    +  <:insert< $table$ :=
    +    { login = $string:name$; password = $string:pwd$; } >>

    Finally, we modify the handling code : +

    let check_pwd name pwd =
    +  (get_db () >>= fun dbh ->
    +   Lwt_Query.view dbh
    +   <:view< {password = user_.password} |
    +            user_ in $table$;
    +            user_.login = $string:name$;
    +	    user_.password = $string:pwd$ >>)
    +  >|= (function [] -> false | _ -> true)
    +
    +let () = Eliom_registration.Action.register
    +  ~service:create_account_service
    +  (fun () (name, pwd) ->
    +    find name >>=
    +      (function
    +	| [] -> insert name pwd
    +	| _ -> Lwt.return ()) )
    +
    +let () = Eliom_registration.Action.register
    +  ~service:connection_service
    +  (fun () (name, password) ->
    +    check_pwd name password >>=
    +      (function
    +	| true -> Eliom_reference.set username (Some name)
    +	| false -> Lwt.return ()))

    We need to reference macaque in the Makefile (or in Makefile.option if you used eliom-distillery) : +

    SERVER_PACKAGE := macaque.syntax
    +

    and in ocsigenserver.conf (only if you don't use eliom-distillery) : +

    <extension findlib-package="macaque"/>
    +
    diff --git a/8.0/manual/misc.html b/8.0/manual/misc.html new file mode 100644 index 00000000..0acf80c7 --- /dev/null +++ b/8.0/manual/misc.html @@ -0,0 +1,464 @@ +Traditional web interaction in a client-server app

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Traditional web interaction in a client-server app

    The code of this tutorial has been tested with Eliom 6.0.
    +

    Multi-user collaborative drawing application

    We now want to turn our collaborative drawing application into a +multi-user one. Each user will have their own drawing, where everyone +can draw. +

    See the +full code of examples. +

    Split application into multiple files and using several canvases

    We first build a multi-canvas drawing application. Each drawing has +its own URL. Everyone can create a new drawing by going to the +corresponding URL. +

    We need to refactor some parts. In particular, we need to handle +different drawings separately. To do this, we turn all global +variables, like the bus, into local ones. +

    When an application grows, it becomes useful to split it into multiple +files. For example, we will split graffiti into 4 files. +

    • common.ml, which will be part of both client and server, +containing shared types and declarations, +
    • client.ml, client-only part of the application, +
    • server.ml, server-only part of the application, and +
    • graffiti.eliom, which is the only part where we need to +include both client-side and server-side code +

    common.ml

    It contains what was previously in [%shared ... ] +

    type messages =
    +  ((int * int * int) * int * (int * int) * (int * int))
    +  [@@deriving json]
    +
    +let width = 700
    +let height = 400

    client.ml

    It is almost the same code as what was enclosed in {{{ {client{ ... }} +}}}, with the difference that what was previously in the client value +init_client is now in the function launch_client_canvas. +

    open Common
    +open Js_of_ocaml
    +open Eliom_content
    +
    +let draw ctx ((r, g, b), size, (x1, y1), (x2, y2)) =
    +  let color = CSS.Color.string_of_t (CSS.Color.rgb r g b) in
    +  ctx##.strokeStyle := (Js.string color);
    +  ctx##.lineWidth := float size;
    +  ctx##beginPath;
    +  ctx##(moveTo (float x1) (float y1));
    +  ctx##(lineTo (float x2) (float y2));
    +  ctx##stroke
    +
    +(* type containing all informations we need to stop interaction
    +   inside the page *)
    +type drawing_canceller =
    +    { message_thread : unit Lwt.t;
    +      (* the thread reading messages from the bus *)
    +      drawing_thread : unit Lwt.t;
    +      (* the arrow handling mouse events *)
    +    }
    +
    +let stop_drawing { message_thread; drawing_thread } =
    +  Lwt.cancel message_thread;
    +  (* cancelling this thread also close the bus *)
    +  Lwt.cancel drawing_thread

    Lwt.cancel t stops thread t. In this case it also closes the +bus on which t is listening. For more informations see the + Lwt programming guide and +Eliom_bus. +

    let launch_client_canvas bus image_elt canvas_elt slider =
    +  let canvas = Html.To_dom.of_canvas canvas_elt in
    +  let ctx = canvas##(getContext (Dom_html._2d_)) in
    +  ctx##.lineCap := Js.string "round";
    +
    +  let img = Html.To_dom.of_img image_elt in
    +  let copy_image () = ctx##(drawImage img (0.) (0.)) in
    +  if Js.to_bool (img##.complete)
    +  then copy_image ()
    +  else img##.onload := Dom_html.handler
    +    (fun ev -> copy_image (); Js._false);
    +
    +  (* The color palette: *)
    +  let colorpicker, cp_sig = Ot_color_picker.make () in
    +  Html.(Manip.appendChild (Manip.Elt.body ()) colorpicker);
    +
    +  let x = ref 0 and y = ref 0 in
    +  let set_coord ev =
    +    let x0, y0 = Dom_html.elementClientPosition canvas in
    +    x := ev##.clientX - x0; y := ev##.clientY - y0 in
    +  let compute_line ev =
    +    let oldx = !x and oldy = !y in
    +    set_coord ev;
    +    let h, s, v = Eliom_shared.React.S.value cp_sig in
    +    let r, g, b = Ot_color_picker.hsv_to_rgb h s v in
    +    let rgb = int_of_float r, int_of_float g, int_of_float b in
    +    let size_slider = Html.To_dom.of_input slider in
    +    let size = int_of_string (Js.to_string size_slider##.value) in
    +    (rgb, size, (oldx, oldy), (!x, !y))
    +  in
    +  let line ev =
    +    let v = compute_line ev in
    +    let _ = Eliom_bus.write bus v in
    +    draw ctx v;
    +    Lwt.return ()
    +  in
    +  let t = Lwt_stream.iter (draw ctx) (Eliom_bus.stream bus) in
    +  let drawing_thread =
    +    Js_of_ocaml_lwt.Lwt_js_events.(
    +      mousedowns canvas (fun ev elt ->
    +        Dom.preventDefault ev;
    +        set_coord ev;
    +        let%lwt () = line ev in
    +        Lwt.pick [mousemoves Dom_html.document (fun a _ -> line a);
    +	          let%lwt ev = mouseup Dom_html.document in line ev]))
    +  in
    +  { message_thread = t;
    +    drawing_thread = drawing_thread }

    server.ml

    It contains almost all the server parts of the code. +

    open Eliom_content
    +open Common
    +open Lwt
    +
    +module My_app =
    +  Eliom_registration.App (struct
    +    let application_name = "graffiti"
    +    let global_data_path = None
    +  end)

    The main difference is that the bus is now local. +

    let launch_server_canvas () =
    +  let bus = Eliom_bus.create [%json: messages] in
    +
    +  let draw_server, image_string =
    +    let rgb_ints_to_floats (r, g, b) =
    +      float r /. 255., float g /. 255., float b /. 255. in
    +    let surface = Cairo.Image.create Cairo.Image.ARGB32 ~w:width ~h:height in
    +    let ctx = Cairo.create surface in
    +    ((fun (rgb, size, (x1, y1), (x2, y2)) ->
    +
    +      (* Set thickness of brush *)
    +      let r, g, b = rgb_ints_to_floats rgb in
    +      Cairo.set_line_width ctx (float size) ;
    +      Cairo.set_line_join ctx Cairo.JOIN_ROUND ;
    +      Cairo.set_line_cap ctx Cairo.ROUND ;
    +      Cairo.set_source_rgb ctx r g b ;
    +
    +      Cairo.move_to ctx (float x1) (float y1) ;
    +      Cairo.line_to ctx (float x2) (float y2) ;
    +      Cairo.Path.close ctx ;
    +
    +      (* Apply the ink *)
    +      Cairo.stroke ctx ;
    +     ),
    +     (fun () ->
    +       let b = Buffer.create 10000 in
    +       (* Output a PNG in a string *)
    +       Cairo.PNG.write_to_stream surface (Buffer.add_string b);
    +       Buffer.contents b
    +     ))
    +  in
    +  let _ = Lwt_stream.iter draw_server (Eliom_bus.stream bus) in
    +  bus,image_string
    +
    +let graffiti_info = Hashtbl.create 0
    +
    +let imageservice =
    +  Eliom_registration.String.create
    +    ~path:(Eliom_service.Path ["image"])
    +    ~headers:
    +       (Cohttp.Header.add_list (Cohttp.Header.init ())
    +          [(Ocsigen_header.Name.(to_string cache_control), "no-cache") ;
    +           (Ocsigen_header.Name.(to_string expires), string_of_int 0)])
    +    ~meth:
    +      (Eliom_service.Get
    +         (let open Eliom_parameter in string "name" ** int "q"))
    +    (* we add another parameter for the browser not to cache: at least
    +       for chrome, there is no way to force the browser to reload the
    +       image without leaving the application *)
    +    (fun (name,_) () ->
    +      try%lwt
    +        let _ ,image_string = Hashtbl.find graffiti_info name in
    +	Lwt.return (image_string (), "image/png")
    +      with
    +	| Not_found -> Lwt.fail Eliom_common.Eliom_404)
    +
    +let get_bus (name:string) =
    +  (* create a new bus and image_string function only if it did not exists *)
    +  try
    +    fst (Hashtbl.find graffiti_info name)
    +  with
    +    | Not_found ->
    +      let bus,image_string = launch_server_canvas () in
    +      Hashtbl.add graffiti_info name (bus, image_string);
    +      bus

    The main page now contains only a form to choose to which drawing you +want to go. The drawing will be sent by the +multigraffiti_service service, registered in +graffiti.eliom. +

    let main_service =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Get (Eliom_parameter.unit))
    +    ()
    +
    +let multigraffiti_service =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Get (Eliom_parameter.(suffix (string "name"))))
    +    ()
    +
    +let choose_drawing_form () =
    +  Html.D.Form.get_form ~service:multigraffiti_service
    +    (fun (name) ->
    +       [Html.D.p [
    +           Html.D.txt "drawing name: ";
    +           Html.D.Form.input ~input_type:`Text ~name
    +             Html.D.Form.string;
    +           Html.D.br ();
    +           Html.D.Form.input ~input_type:`Submit ~value:"Go"
    +             Html.D.Form.string
    +         ]])
    +
    +let oclosure_script =
    +  Html.Id.create_global_elt
    +    (Html.D.js_script
    +       ~uri:(Html.D.Raw.uri_of_string "./graffiti_oclosure.js") ())
    +
    +let make_page body =
    +  Lwt.return
    +    (Html.D.html
    +       (Html.D.head
    +	  (Html.D.title (Html.D.txt "Graffiti"))
    + 	  [
    +	    Html.D.css_link
    +	      ~uri:(Html.D.Raw.uri_of_string"./css/closure/common.css") ();
    +	    Html.D.css_link
    +	      ~uri:(Html.D.Raw.uri_of_string"./css/closure/hsvpalette.css") ();
    +	    Html.D.css_link
    +	      ~uri:(Html.D.Raw.uri_of_string"./css/slider.css") ();
    +            oclosure_script;
    +	    Html.D.css_link
    +	      ~uri:(Html.D.Raw.uri_of_string"./css/graffiti.css") ();
    +          ])
    +       (Html.D.body body))
    +
    +let () = My_app.register ~service:main_service
    +  (fun () () ->
    +    make_page [h1 [txt "Welcome to Multigraffiti"];
    +	       choose_drawing_form ()])

    graffiti.eliom

    Here is the code that mixes client and server parts. +

    We first open the corresponding modules for each parts of the +application. +

    [%%shared
    +    open Eliom_content.Html.D
    +    open Common
    +]
    +[%%client
    +    open Client
    +]
    +open Server

    And then we define a function initializing the client application by +side effects in a client value. +

    let start_drawing name image canvas slider =
    +  let bus = get_bus name in
    +  ignore [%client
    +    (let canceller =
    +       launch_client_canvas ~%bus ~%image ~%canvas ~%slider
    +     in
    +     Eliom_client.onunload (fun () -> stop_drawing canceller; None)
    +     : unit)
    +  ]

    The function registered by Eliom_service.onunload will be called when +the page change inside the application. +

    And we finally register the service sending a drawing: +

    let counter = ref 0
    +
    +let () =
    +  My_app.register ~service:multigraffiti_service (fun name () ->
    +    (* Some browsers won't reload the image, so we force
    +          them by changing the url each time. *)
    +    incr counter;
    +    let image =
    +      img ~alt:name
    +        ~src:(make_uri ~service:imageservice (name,!counter)) ()
    +    in
    +    let slider =
    +      Form.input
    +        ~a:[
    +          a_id "slider";
    +          a_input_min (`Number 1);
    +          a_input_max (`Number 80)
    +        ]
    +        ~input_type:`Range
    +        Form.int
    +    in
    +    let canvas =
    +      canvas ~a:[a_width width; a_height height]
    +        [txt "your browser doesn't support canvas"; br (); image]
    +    in
    +    start_drawing name image canvas slider;
    +    make_page
    +      [h1 [txt name];
    +       choose_drawing_form ();
    +       canvas;
    +       div [slider]])

    At this point, you can run your application on the server provided +that you installed the css and images directories in the main +directory of your application, build it using this +Makefile +along with the appropriate +Makefile.options, +and configured it using +graffiti.conf.in, +as the basis for your configuration file. +

    Mixing client-server application with traditional web interaction

    We now want to restrict the site to connected users. +

    From the previous chapter, we copy the code handling users to +server.ml: +

    let connection_service = Eliom_service.create
    +    ~path:Eliom_service.No_path
    +    ~meth:(Eliom_service.Post (
    +      Eliom_parameter.unit,
    +      Eliom_parameter.(string "name" ** string "password")
    +    ))
    +    ()
    +
    +let disconnection_service = Eliom_service.create
    +    ~path:Eliom_service.No_path
    +    ~meth:(Eliom_service.Post (Eliom_parameter.unit, Eliom_parameter.unit))
    +    ()
    +
    +let create_account_service =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Post
    +             (Eliom_parameter.unit,
    +              Eliom_parameter.(string "name" ** string "password")))
    +
    +let user_table = Ocsipersist.Polymorphic.open_table "user_table"
    +
    +let check_pwd name pwd =
    +  try%lwt
    +    let%lwt saved_password = Ocsipersist.Polymorphic.find user_table name in
    +    Lwt.return (pwd = saved_password)
    +  with Not_found -> Lwt.return false
    +
    +let () = Eliom_registration.Action.register
    +  ~service:create_account_service
    +  (fun () (name, pwd) -> Ocsipersist.Polymorphic.add user_table name pwd)
    +
    +let () = Eliom_registration.Action.register
    +  ~service:connection_service
    +  (fun () (name, password) ->
    +    match%lwt check_pwd name password with
    +      | true -> Eliom_state.set_volatile_data_session_group
    +	~scope:Eliom_common.default_session_scope name;
    +	Lwt.return ()
    +      | false -> Lwt.return ())
    +
    +let () =
    +  Eliom_registration.Action.register
    +    ~service:disconnection_service
    +    (fun () () ->
    +      Eliom_state.discard ~scope:Eliom_common.default_session_scope ())
    +
    +let disconnect_box () =
    +  Html.D.Form.post_form ~service:disconnection_service
    +    (fun _ ->
    +       [Html.D.p [
    +           Html.D.Form.input
    +             ~input_type:`Submit ~value:"Log out"
    +             Html.D.Form.string
    +         ]
    +       ]) ()
    +
    +let login_name_form service button_text =
    +  Html.D.Form.post_form ~service
    +    (fun (name1, name2) ->
    +       [Html.D.p [
    +           Html.D.txt "login: ";
    +           Html.D.Form.input ~input_type:`Text ~name:name1
    +             Html.D.Form.string;
    +           Html.D.br ();
    +           Html.D.txt "password: ";
    +           Html.D.Form.input ~input_type:`Password ~name:name2
    +             Html.D.Form.string;
    +           Html.D.br ();
    +           Html.D.Form.input ~input_type:`Submit ~value:button_text
    +             Html.D.Form.string
    +         ]]) ()

    We make a customized registration module such that disconnected users +(those for which the username reference is not set), are automaticaly +shown a connection box. This way the other pages can assume that the +username is always available. +

    let default_content () =
    +  make_page
    +    [Html.D.h1 [Html.D.txt "Welcome to Multigraffiti"];
    +     Html.D.h2 [Html.D.txt "log in"];
    +     login_name_form connection_service "Connect";
    +     Html.D.h2 [Html.D.txt "create account"];
    +     login_name_form create_account_service "Create account";]
    +
    +module Connected_translate =
    +struct
    +  type page = string -> My_app.page Lwt.t
    +  let translate page =
    +    match Eliom_state.get_volatile_data_session_group
    +      ~scope:Eliom_common.default_session_scope () with
    +	| None -> default_content ()
    +	| Some username -> page username
    +end
    +
    +module Connected =
    +  Eliom_registration.Customize (My_app) (Connected_translate)

    We replace the previous main_service registration : +

    let () = My_app.register ~service:main_service
    +  (fun () () ->
    +    make_page [h1 [txt "Welcome to Multigraffiti"];
    +	       choose_drawing_form ()])

    by : +

    let ( !% ) f = fun a b -> return (fun c -> f a b c)
    +
    +let () = Connected.register
    +  ~service:main_service
    +  !% (fun () () username ->
    +    make_page
    +      [Html.D.h1 [Html.D.txt ("Welcome to Multigraffiti " ^ username)];
    +       choose_drawing_form ()])

    to use that, in graffiti.eliom we just replace add a call +to disconnect_box +

    [h1 [txt name];
    +       disconnect_box ();
    +       choose_drawing_form ();
    +       canvas;])

    prev

    diff --git a/8.0/manual/mobile.html b/8.0/manual/mobile.html new file mode 100644 index 00000000..431c981a --- /dev/null +++ b/8.0/manual/mobile.html @@ -0,0 +1,79 @@ + Mobile applications with Ocsigen

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Mobile applications with Ocsigen

    Since Eliom 6.0, the Ocsigen framework provides infrastructure for +building mobile applications. This enables rapid development of +Android, iOS, and Windows Mobile apps with the same APIs and +programming style as for a regular client-server Web application. In +fact, one single codebase can be used to produce all these +applications simultaneously. +

    The easiest way to get started with Ocsigen-based mobile development +is to use Ocsigen-start. Ocsigen-start is a +library and skeleton for building "minimum viable product" Web +applications with standard functionality like users, notifications, +etc. This skeleton is immediately usable as a mobile application. You +can install ocsigen-start via OPAM +( opam install ocsigen-start ) +and instantiate its template with the command +eliom-distillery -name ocsimobile -template os.pgocaml. For +launching the mobile application, follow the instructions in the +template's README.md. +

    Programming style

    You need to follow a certain programming style for your Eliom code to +work flawlessly inside an Ocsigen-start mobile app. This style is +described in the chapter on +client services from the Eliom manual. The idea is that you +implement as much of your application as possible in shared sections +([%%shared ...] or let%shared ... = ...), and that you +register handlers for your Eliom services on both the client and the +server. The Ocsigen-start template already uses the above programming +style, so refer to the files generated by eliom-distillery for +inspiration. +

    Going further

    • Ocsigen-toolkit provides a set of user +interface widgets that are particularly useful for mobile applications. +
    diff --git a/8.0/manual/music.html b/8.0/manual/music.html new file mode 100644 index 00000000..87251d26 --- /dev/null +++ b/8.0/manual/music.html @@ -0,0 +1,67 @@ +Listening music

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Listening music

    We will add an audio player to the page that will stay when page +changes. This emphasises the fact that browsing inside an application +does not stop the client side code: the music keeps playing when the +content of the page and the url change. +

    We first create the player node at toplevel. +

    let player =
    +  Eliom_content.Html.Id.create_global_elt
    +    (audio
    +       ~srcs:(make_uri (Eliom_service.static_dir ())
    +                  ["music.ogg"],
    +              [])
    +       ~a:[a_autoplay (`Autoplay);a_controls (`Controls)]
    +       [txt "Your browser does not support audio element" ])

    And we insert the player in the page. +

    And that's all! Since the player node is declared unique, no new +player is created when the page changed: this is exact same node. +

    To run this example, you will need to add an ogg file in the static directory. +If you can't find one, there is one here: +http://www.gnu.org/music/free-software-song.html.

    diff --git a/8.0/manual/ocsipersist.html b/8.0/manual/ocsipersist.html new file mode 100644 index 00000000..ad065d31 --- /dev/null +++ b/8.0/manual/ocsipersist.html @@ -0,0 +1,77 @@ +Lightweight database using Ocsipersist

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Lightweight database using Ocsipersist

    Ocsipersist is a module for persistent references and tables. +

    For persistent references, Eliom has a higher level interface, +called Eliom references, and you probably want to use it instead +of using Ocsipersist directly. +For example persistent Eliom references of scope session group +can be used to store information about a user (if the session group +corresponds to the user). +

    Ocsipersist can still be useful for creating persistent key-value tables, +if you do not need the full power of a SQL database. +

    This tutorial shows how to implement a table for storing users and passwords. +

    We first create a table: +

    let user_table = Ocsipersist.Polymorphic.open_table "user_table"

    Then we can easily handle the user management code: +

    let check_pwd name pwd =
    +  try%lwt
    +    lwt saved_password = Ocsipersist.Polymorphic.find user_table name in
    +    Lwt.return (pwd = saved_password)
    +  with
    +    Not_found -> Lwt.return false
    +
    +let () = Eliom_registration.Action.register
    +  ~service:create_account_service
    +  (fun () (name, pwd) -> Ocsipersist.Polymorphic.add user_table name pwd)
    +
    +let () = Eliom_registration.Action.register
    +  ~service:connection_service
    +  (fun () (name, password) ->
    +    match%lwt check_pwd name password with
    +      | true -> Eliom_reference.set username (Some name)
    +      | false -> Lwt.return ())
    diff --git a/8.0/manual/pictures.html b/8.0/manual/pictures.html new file mode 100644 index 00000000..442ba17f --- /dev/null +++ b/8.0/manual/pictures.html @@ -0,0 +1,195 @@ +Saving favorite pictures

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Saving favorite pictures

    We will now add a button to the Graffiti application to save the current +image. The images will be saved to the filesystem using the module +Lwt_io. We will then make an Atom feed +with the saved images using Syndic. +

    To install it, do: +

    opam install syndic
    +

    We save the images in the directory containing the static contents +under the directory images_saved/username. The username +directory is created if needed. If it already exists mkdir fails +and we do nothing. +

    We will add this code in a new file: +

    feed.ml

    open Eliom_content
    +open Lwt.Infix
    +open Html.F
    +open Server
    +
    +let static_dir =
    +  match Eliom_config.get_config () with
    +  | [Element ("staticdir", [], [PCData dir])] ->
    +    dir
    +  | [] ->
    +    raise (Ocsigen_extensions.Error_in_config_file
    +             ("<staticdir> option required for <graffiti>"))
    +  | _ ->
    +    raise (Ocsigen_extensions.Error_in_config_file
    +             ("Unexpected content inside graffiti config"))
    +
    +let create_dir dir =
    +  try%lwt Lwt_unix.mkdir dir 0o777 with
    +  | Unix.Unix_error (Unix.EEXIST, "mkdir", _) -> Lwt.return_unit
    +  | _ ->
    +      Eliom_lib.debug "could not create the directory %s" dir;
    +      Lwt.return_unit
    +
    +let image_dir name =
    +  let dir = static_dir ^ "/graffiti_saved/" in
    +  let%lwt () = create_dir dir in
    +  let dir = dir ^ Eliom_lib.Url.encode name in
    +  let%lwt () = create_dir dir in
    +  Lwt.return dir
    +
    +let make_filename name number =
    +  image_dir name >|= ( fun dir -> (dir ^ "/" ^ (string_of_int number) ^ ".png") )
    +
    +let save image name number =
    +  let%lwt file_name = make_filename name number in
    +  let%lwt out_chan = Lwt_io.open_file ~mode:Lwt_io.output file_name in
    +  Lwt_io.write out_chan image

    We number images and associate to each image the time of creation. It +is stocked in an Ocsipersist +table. +

    let image_info_table = Ocsipersist.Polymorphic.open_table "image_info_table"

    For each user, we stock a value of type
    + int * CalendarLib.Calendar.t * ((int * CalendarLib.Calendar.t) list). +The first integer is the name under which will be saved the image, the first +time is the last update for that user and the list contains the names and +times of old images. We need those times to timestamp the entries of the feed. +

    let save_image username =
    +  let now = CalendarLib.Calendar.now () in
    +  let%lwt image_info_table = image_info_table in
    +  let%lwt number,_,list =
    +    try%lwt Ocsipersist.Polymorphic.find image_info_table username with
    +    | Not_found -> Lwt.return (0,now,[])
    +    | e -> Lwt.fail e
    +  in
    +  let%lwt () = Ocsipersist.Polymorphic.add image_info_table
    +      username (number+1,now,(number,now)::list) in
    +  let (_,image_string) = Hashtbl.find graffiti_info username in
    +  save (image_string ()) username number
    +
    +let save_image_service =
    +  Eliom_service.create
    +    ~meth:(Eliom_service.Post
    +             (Eliom_parameter.unit, Eliom_parameter.string "name"))
    +    ~path:Eliom_service.No_path ()
    +
    +let () =
    +  Eliom_registration.Action.register
    +    ~service:save_image_service (fun () name -> save_image name)
    +
    +let save_image_box name =
    +  Lwt.return
    +    (Html.D.Form.post_form ~service:save_image_service
    +       (fun param_name ->
    +         [p [Html.D.Form.input ~input_type:`Hidden ~name:param_name
    +              ~value:name Html.D.Form.string;
    +             Html.D.Form.button_no_value ~button_type:`Submit [txt "save"]]])
    +       ())

    We find the url of the images with Eliom_service.static_dir. It is a service +taking file path as parameter, serving the content of the static +directory. We use Eliom_uri.make_string_uri to get the url as a string. +

    let feed_service =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path ["feed"])
    +    ~meth:(Eliom_service.Get (Eliom_parameter.string "name"))
    +    ()
    +
    +let local_filename name number =
    +  ["graffiti_saved"; Eliom_lib.Url.encode name ; (string_of_int number) ^ ".png"]
    +
    +let rec entries name list = function
    +  | 0 -> []
    +  | len ->
    +    match list with
    +    | [] -> []
    +    | (n,saved)::q ->
    +      let uri =
    +        Html.D.make_uri ~absolute:true
    +          ~service:(Eliom_service.static_dir ())
    +          (local_filename name n)
    +        |> Xml.string_of_uri
    +        |> Uri.of_string in
    +      let content = Syndic.Atom.Src (None, uri) in
    +      let authors = (Syndic.Atom.author name), [] in
    +      let title : Syndic.Atom.text_construct =
    +        Syndic.Atom.Text ("graffiti " ^ name ^ " " ^ (string_of_int n)) in
    +      let entry =
    +        Syndic.Atom.entry ~content ~id:uri ~authors ~title ~updated:saved () in
    +      entry::(entries name q (len - 1))
    +
    +let feed_of_string_page xml =
    +  xml
    +  |> Syndic.Atom.to_xml
    +  |> Syndic.XML.to_string
    +  |> fun string -> string, ""
    +
    +let feed name () =
    +  let id =
    +    Xml.string_of_uri
    +      (Html.D.make_uri ~absolute:true ~service:feed_service name)
    +    |> Uri.of_string in
    +  let title : Syndic.Atom.text_construct =
    +    Syndic.Atom.Text ("nice drawings of " ^ name) in
    +  Lwt.catch
    +    (fun () ->
    +       let%lwt image_info_table = image_info_table in
    +       Ocsipersist.Polymorphic.find image_info_table name >|=
    +      (fun (number,updated,list) ->
    +         Syndic.Atom.feed ~id ~updated ~title (entries name list 10)
    +       |> feed_of_string_page))
    +    ( function Not_found ->
    +      let now = Option.get (Ptime.of_float_s (Unix.gettimeofday ())) in
    +      Lwt.return (Syndic.Atom.feed ~id ~updated:now ~title []
    +                  |> feed_of_string_page)
    +             | e -> Lwt.fail e )
    +
    +let () = Eliom_registration.String.register ~service:feed_service feed

    And then use the new module as follow: +

    [ a Feed.feed_service [txt "atom feed"] name;
    +    div (if name = username
    +      then [Feed.save_image_box name]
    +      else [txt "no saving"]);
    +  ]
    diff --git a/8.0/manual/reactivemediaplayer.html b/8.0/manual/reactivemediaplayer.html new file mode 100644 index 00000000..c2193336 --- /dev/null +++ b/8.0/manual/reactivemediaplayer.html @@ -0,0 +1,236 @@ +Reactive Media Player

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Reactive Media Player

    You should read the Playing Music tutorial before this one. +

    Since version 4, Eliom embeds the +React library in order to +provide reactive HTML elements +(Eliom_content.Html.R). +

    The final Eliom code is available +for download.

    Basics

    A reactive element, or more generally a reactive value, depends on the +current value of a signal. For instance : +

    [%%shared
    +open Eliom_content
    +open Html
    +]
    let%client s, set_s = React.S.create 0 (* signal creation *)
    let%shared example_div () =
    +  C.node {{R.txt (React.S.map string_of_int s)}}
    +
    +let%shared incr_button =
    +  D.(button
    +      ~button_type:`Button
    +      ~a:[a_onclick [%client fun _ -> set_s (succ (React.S.value s)) ]]
    +      [txt "Increment"])

    The signal s carries an int value initialized at 0 and +set_s is the update function generating an occurence of the +signal. +

    example_div is a <div> containing a string which depends +on the value of s. +

    The magic part: we never have to explicitly update +example_div. Its behavior is declaratively described in it's own +code, and not in the code of the button. +

    Functional Reactive Media Player

    This part explains how to create a simple media player, similar to the +Playing Music tutorial but with custom +controls.We will apply +FRP (Functional Reactive Programming). +

    In order to provide a short tutorial, we only create three controls: +play, pause and seek/progress bar. So, let's write the corresponding +type: +

    [%%shared
    +    open Eliom_content
    +    open Html
    +
    +    type action = Play | Pause | Seek of float
    +]
    let%client media_s, set_media_s = React.S.create Pause

    Each HTML element emits a signal value corresponding to its action. +It is enough to create our "play" and "pause" inputs. +

    let pause_button () =
    +  D.(Form.button_no_value
    +       ~button_type:`Button
    +       ~a:[a_onclick  [%client  fun _ -> set_media_s Pause ]]
    +       [txt "Pause"])
    +
    +let play_button () =
    +  D.(Form.button_no_value
    +       ~button_type:`Button
    +       ~a:[a_onclick  [%client  fun _ -> set_media_s Play ]]
    +       [txt "Play"])

    To use our buttons, we now create a media (audio or video) HTML +element on the server side. +

    let media_uri =
    +  Html.D.make_uri
    +    ~service:(Eliom_service.static_dir ())
    +    ["hb.mp3"]
    +
    +let media_tag () =
    +  let media = D.(audio ~src:media_uri [txt "alt"]) in
    +  let _ = [%client
    +    (Lwt.async (fun () ->
    +         let media = To_dom.of_audio ~%media in
    +         let media_map = function
    +           | Play ->
    +             media##play
    +           | Pause ->
    +             media##pause
    +           | Seek f ->
    +             media##.currentTime := (f /. 100. *. media##.duration)
    +         in Lwt_react.S.keep (React.S.map media_map media_s) ;
    +         Lwt_js_events.timeupdates media (fun _ _ ->
    +             set_progress_s (media##.currentTime, media##.duration) ;
    +             Lwt.return ()
    +           ))
    +     : unit)
    +  ] in
    +  media

    The function media_tag builds an <audio> element. The +code in [%client ... ] is on the client part. It's an Lwt +thread that maps a function media_action -> unit to the signal +media_s. +

    module React_Player_app =
    +  Eliom_registration.App
    +    (struct
    +      let application_name = "react_player"
    +    end)
    +
    +let media_service =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path [])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    ()
    +
    +let () =
    +  React_Player_app.register
    +    ~service:media_service
    +    (fun name () ->
    +       let body =
    +         D.(body [
    +             h2 [txt "Media"];
    +             media_tag ();
    +             div [play_button (); pause_button (); progress_bar ()]
    +           ])
    +       in
    +       Lwt.return (Eliom_tools.D.html ~title:"Media" ~css:[] body))

    Now you should have an ΗΤΜL node with an audio tag, and two buttons: +play and pause. The progress bar is slightly harder to understand, but +thanks to FRP, very easy to write. It's basically an input with +range type. In our program, the progress bar must emit the +signal media_s with the value Seek f at input handling. +Then, it must evolve during media playback, for which we need another +signal. To conclude, we must check that the display (the value) of the +progress bar is not modified when the user is seeking. +

    let%client progress_s, set_progress_s = React.S.create (0., 0.)
    +
    +let%client unblock_s, set_unblock_s = React.S.create true
    let progress_bar () =
    +  let progress_value =
    +    [%client
    +      (let f (time, duration) =
    +         if duration = 0. then 0. else time /. duration *. 100.
    +       in
    +       React.S.map f progress_s
    +       : float React.signal)
    +    ] in
    +  let attrs = D.([
    +      a_input_min 0.;
    +      a_input_max 100.;
    +      a_onmousedown [%client fun _ -> set_unblock_s false];
    +      a_onmouseup [%client fun _ -> set_unblock_s true];
    +      C.attr [%client
    +        R.a_value
    +          (React.S.map (Printf.sprintf "%0.f")
    +             (React.S.on unblock_s 0. ~%progress_value))]
    +    ])
    +  in
    +  let d_input =
    +    D.Form.input ~input_type:`Range ~value:0. ~a:attrs
    +      D.Form.float
    +  in
    +  let _ = [%client
    +    (Lwt.async (fun () ->
    +         let d_input = To_dom.of_input ~%d_input in
    +         Lwt_js_events.inputs d_input (fun _ _ ->
    +             set_media_s (Seek (Js.parseFloat d_input##.value)) ;
    +             Lwt.return ()
    +           ))
    +     : unit)
    +  ] in
    +  d_input

    To end this tutorial, you can add a progress_bar () call inside +the div containing play and pause. We also need a mechanism which +emits the progress_s signal. We modify the media tag with an +eventhandler on timeupdate. +

    let media_tag () =
    +  let media = D.(audio ~src:media_uri [txt "alt"]) in
    +  let _ = [%client
    +    (Lwt.async (fun () ->
    +         let media = To_dom.of_audio ~%media in
    +         let media_map = function
    +           | Play ->
    +             media##play
    +           | Pause ->
    +             media##pause
    +           | Seek f ->
    +             media##.currentTime := (f /. 100. *. media##.duration)
    +         in Lwt_react.S.keep (React.S.map media_map media_s) ;
    +         Lwt_js_events.timeupdates media (fun _ _ ->
    +             set_progress_s (media##.currentTime, media##.duration) ;
    +             Lwt.return ()
    +           ))
    +     : unit)
    +  ] in
    +  media

    Exercises

    • Add a control to set the volume +
    • Add an Eliom_bus to control several clients
    diff --git a/8.0/manual/rest.html b/8.0/manual/rest.html new file mode 100644 index 00000000..5bdb25d7 --- /dev/null +++ b/8.0/manual/rest.html @@ -0,0 +1,451 @@ +RESTful JSON API using Eliom

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    RESTful JSON API using Eliom

    This tutorial will show you how to create a simple, yet complete, REST API +using JSON as the serialization format. +

    To illustrate our example, let's say we want to give access to a database of +locations storing a description and coordinates (latitude and longitude). +

    To be RESTful, our interface will comply with the following principles: +

    • URLs and GET params identify resources +
    • HTTP methods are used to define actions to perform (GET, POST, PUT, DELETE) +
    • GET action is safe (no side-effect) +
    • PUT and DELETE actions are idempotent +
    • Requests are stateless +

    With this in mind, our goal will be to implement CRUD (Create, Read, Update, +Delete) functions to handle our resources. We want the following requests to be +valid: +

    GET http://localhost/ will return all available locations. +

    GET http://localhost/ID will return location associated to ID. +

    POST http://localhost/ID with content: +

    {
    +  "description": "Paris",
    +  "coordinates": {
    +    "latitude": 48.8567,
    +    "longitude": 2.3508
    +  }
    +}

    will store this location in the database. +

    PUT http://localhost/ID, with some content, will update the location +associated to ID. +

    DELETE http://localhost/ID will delete the location associated to +ID. +

    Requirements

    • eliom >= 4.0 +
    • yojson +
    • ppx_deriving +
    • ppx_deriving_yojson +

    You need some knowledge about Eliom to be able to fully understand this +tutorial. It's not meant to be an Eliom introduction. +

    The following browser extensions are useful to manually test your REST APIs: +

    Data types

    We start by defining our database types, that is to say the way we will +represent our locations and associated information. Each location will be +associated to a unique and arbitrary identifier, and will hold the following +information: a description and coordinates (made of a latitude and a +longitude). +

    We represent coordinates with decimal degrees, and use the +ppx_deriving_yojson library to parse and generate JSON serialization of our +types. +

    We use a dedicated error type returned when something is wrong with the +request itself or with the processing of the request. +

    As for the database, we use a simple Ocsipersist table. +

    type coordinates = {
    +  latitude : float;
    +  longitude : float;
    +} [@@deriving yojson]
    +
    +type location = {
    +  description : string option;
    +  coordinates : coordinates;
    +} [@@deriving yojson]
    +
    +(* List of pairs (identifier * location) *)
    +type locations =
    +  (string * location) list
    +  [@@deriving yojson]
    +
    +type error = {
    +  error_message : string;
    +} [@@deriving yojson]
    +
    +let db : location Ocsipersist.table Lwt.t =
    +  Ocsipersist.Polymorphic.open_table "locations"

    Services definition

    First, let's define common service parameters: +

    • The path of the API: it's the same for all services. +
    • The GET parameter, which is an optional identifier given as a URL suffix. We +set it as optional so we can distinguish GET requests for all resources or a +single one, and return a detailed error if the identifier is missing in POST, +PUT and DELETE requests. An alternative would be to use two services at the same +path (one with id and the other without). +
    let path = Eliom_service.Path [""]
    +
    +let get_params =
    +  Eliom_parameter.(suffix (neopt (string "id")))

    Next step is to define our API services. We define four of them with the same +path, using the four HTTP methods at our disposal: +

    • GET method will be used to access the database, either all of it if no +identifier is provided, or a single resource otherwise. An error will be +returned if no resource matches the identifier. +
    • POST method will be used to create a new resource (or update it if it already +exists). We set a single POST parameter: Eliom_parameter.raw_post_data, +in order to retrieve raw JSON and bypass POST parameters decoding. +
    • PUT method will be used to update an existing resource. An error will be +returned if no resource matches the identifier. We don't need to define POST +parameter, PUT services takes Eliom_parameter.raw_post_data as default +content. +
    • DELETE method will be used to delete an existing resource. An error will be +returned if no resource matches the identifier. +
    let read_service =
    +  Eliom_service.create
    +    ~path
    +    ~meth:(Eliom_service.Get get_params)
    +    ()
    +
    +let create_service =
    +  Eliom_service.create
    +    ~path
    +    ~meth:(Eliom_service.Post (get_params, Eliom_parameter.raw_post_data))
    +    ()
    +
    +let update_service =
    +  Eliom_service.create
    +    ~path
    +    ~meth:(Eliom_service.Put get_params)
    +    ()
    +
    +let delete_service =
    +  Eliom_service.create
    +    ~path
    +    ~meth:(Eliom_service.Delete get_params)
    +    ()

    Handlers

    Let's start the handlers definition with a few helper values and functions +used by handlers. +

    Since we use the low-level Eliom_registration.String.send function to +send our response, we wrap it in three specialized functions: send_json, +send_error and send_success (this one only send the 200 OK status +code, without any content). +

    Another function helps us to check the received Content-type is the +expected one, by matching it against a MIME type. In our example, we'll verify +that we are receiving JSON. +

    The read_raw_content function retrieve at most length characters +from the raw_content Ocsigen stream. +

    let json_mime_type = "application/json"
    +
    +let send_json ~code json =
    +  Eliom_registration.String.send ~code (json, json_mime_type)
    +
    +let send_error ~code error_message =
    +  let json = Yojson.Safe.to_string (error_to_yojson {error_message}) in
    +  send_json ~code json
    +
    +let send_success () =
    +  Eliom_registration.String.send ~code:200 ("", "")
    +
    +let check_content_type ~mime_type content_type =
    +  match content_type with
    +  | Some ((type_, subtype), _)
    +      when (type_ ^ "/" ^ subtype) = mime_type -> true
    +  | _ -> false
    +
    +let read_raw_content ?(length = 4096) raw_content =
    +  let content_stream = Ocsigen_stream.get raw_content in
    +  Ocsigen_stream.string_of_stream length content_stream

    Then we define our handlers in order to perform the required actions and +return a response. +

    POST and PUT handlers will read raw body content as JSON and use Yojson +to convert it to our types. +

    We use HTTP status codes in responses, with these meaning: +

    • 200 (OK): the request succeeded. +
    • 400 (Bad request): something is wrong with the request (missing parameter, +parsing error...). +
    • 404 (Not found): no resource matches the provided identifier. +

    The GET handler either returns a single location if an identifier is provided, +or a list of all existing locations otherwise. +

    let read_handler id_opt () =
    +  let%lwt db = db in
    +  match id_opt with
    +  | None ->
    +    Ocsipersist.Polymorphic.fold_step
    +      (fun id loc acc -> Lwt.return ((id, loc) :: acc)) db []
    +    >>= fun locations ->
    +    let json = Yojson.Safe.to_string (locations_to_yojson locations) in
    +    send_json ~code:200 json
    +  | Some id ->
    +    catch
    +      (fun () ->
    +         Ocsipersist.Polymorphic.find db  id >>= fun location ->
    +         let json =
    +           Yojson.Safe.to_string (location_to_yojson location) in
    +         send_json ~code:200 json)
    +      (function
    +        | Not_found ->
    +          (* [id] hasn't been found, return a "Not found" message *)
    +          send_error ~code:404 ("Resource not found: " ^ id)
    +        | _ ->  send_error ~code:500 "Internal server error" )

    Next, let's create a common function for POST and PUT handlers, which have a +very similar behaviour. The only difference is that a PUT request with a +non-existing identifier will fail (thus only accepting update requests, and +rejecting creations), whereas the same request with POST method will succeed (a +new location associated to the identifier will be created). +

    let edit_handler_aux ?(create = false) id_opt (content_type, raw_content_opt) =
    +  let%lwt db = db in
    +  if not (check_content_type ~mime_type:json_mime_type content_type) then
    +    send_error ~code:400 "Content-type is wrong, it must be JSON"
    +  else
    +    match id_opt, raw_content_opt with
    +    | None, _ ->
    +      send_error ~code:400 "Location identifier is missing"
    +    | _, None ->
    +      send_error ~code:400 "Body content is missing"
    +    | Some id, Some raw_content ->
    +      read_raw_content raw_content >>= fun location_str ->
    +      catch (fun () ->
    +          (if create then
    +            Lwt.return_unit
    +           else
    +            Ocsipersist.Polymorphic.find db id >>= fun _ -> Lwt.return_unit)
    +          >>= fun () ->
    +          let location =
    +            (let open Result in
    +            let loc_result = location_of_yojson (Yojson.Safe.from_string location_str) in
    +            match loc_result with
    +              Ok loc-> loc
    +            | Error _ -> raise Deriving_Yojson.Failed )  in
    +          Ocsipersist.Polymorphic.add db  id location >>= fun () ->
    +          send_success ())
    +      (function
    +        | Not_found ->
    +          send_error ~code:404 ("Location not found: " ^ id)
    +        | Deriving_Yojson.Failed ->
    +          send_error ~code:400 "Provided JSON is not valid"
    +        | _ -> send_error ~code:500 "Internal server error")
    +
    +let create_handler id_opt content =
    +  edit_handler_aux ~create:true id_opt content
    +
    +let update_handler id_opt content =
    +  edit_handler_aux ~create:false id_opt content

    We need a fourth handler to delete locations: +

    let%lwt db = db in
    +  match id_opt with
    +  | None ->
    +    send_error ~code:400 "An id must be provided to delete a location"
    +  | Some id ->
    +    Ocsipersist.Polymorphic.remove db id >>= fun () ->
    +    send_success ()

    Services registration

    Finally we register services with the Eliom_registration.Any module in +order to have full control on the sent response. This way, we'll be able to +send an appropriate HTTP status code depending on what happens during the +request processing (parsing error, resource not found...), as seen above when +defining handlers. +

    let () =
    +  Eliom_registration.Any.register read_service read_handler;
    +  Eliom_registration.Any.register create_service create_handler;
    +  Eliom_registration.Any.register update_service update_handler;
    +  Eliom_registration.Any.register delete_service delete_handler;
    +  ()

    Full source

    open Lwt
    +
    +(**** Data types ****)
    +
    +type coordinates = {
    +  latitude : float;
    +  longitude : float;
    +} [@@deriving yojson]
    +
    +type location = {
    +  description : string option;
    +  coordinates : coordinates;
    +} [@@deriving yojson]
    +
    +(* List of pairs (identifier * location) *)
    +type locations =
    +  (string * location) list
    +   [@@deriving yojson]
    +
    +type error = {
    +  error_message : string;
    +} [@@deriving yojson]
    +
    +let db : location Ocsipersist.table Lwt.t =
    +  Ocsipersist.Polymorphic.open_table "locations"
    +
    +
    +(**** Services ****)
    +
    +let path = Eliom_service.Path [""]
    +
    +let get_params =
    +  Eliom_parameter.(suffix (neopt (string "id")))
    +
    +let read_service =
    +  Eliom_service.create
    +    ~path
    +    ~meth:(Eliom_service.Get get_params)
    +    ()
    +
    +let create_service =
    +  Eliom_service.create
    +    ~path
    +    ~meth:(Eliom_service.Post (get_params, Eliom_parameter.raw_post_data))
    +    ()
    +
    +let update_service =
    +  Eliom_service.create
    +    ~path
    +    ~meth:(Eliom_service.Put get_params)
    +    ()
    +
    +let delete_service =
    +  Eliom_service.create
    +    ~path
    +    ~meth:(Eliom_service.Delete get_params)
    +    ()
    +
    +(**** Handler helpers ****)
    +
    +let json_mime_type = "application/json"
    +
    +let send_json ~code json =
    +  Eliom_registration.String.send ~code (json, json_mime_type)
    +
    +let send_error ~code error_message =
    +  let json = Yojson.Safe.to_string (error_to_yojson {error_message}) in
    +  send_json ~code json
    +
    +let send_success () =
    +  Eliom_registration.String.send ~code:200 ("", "")
    +
    +let check_content_type ~mime_type content_type =
    +  match content_type with
    +  | Some ((type_, subtype), _)
    +      when (type_ ^ "/" ^ subtype) = mime_type -> true
    +  | _ -> false
    +
    +let read_raw_content ?(length = 4096) raw_content =
    +  let content_stream = Ocsigen_stream.get raw_content in
    +  Ocsigen_stream.string_of_stream length content_stream
    +
    +(**** Handlers ****)
    +
    +let read_handler id_opt () =
    +  let%lwt db = db in
    +  match id_opt with
    +  | None ->
    +    Ocsipersist.Polymorphic.fold_step
    +      (fun id loc acc -> Lwt.return ((id, loc) :: acc)) db []
    +    >>= fun locations ->
    +    let json = Yojson.Safe.to_string (locations_to_yojson locations) in
    +    send_json ~code:200 json
    +  | Some id ->
    +    catch
    +      (fun () ->
    +         Ocsipersist.Polymorphic.find db  id >>= fun location ->
    +         let json =
    +           Yojson.Safe.to_string (location_to_yojson location) in
    +         send_json ~code:200 json)
    +      (function
    +        | Not_found ->
    +          (* [id] hasn't been found, return a "Not found" message *)
    +          send_error ~code:404 ("Resource not found: " ^ id)
    +        | _ -> assert false)
    +
    +let edit_handler_aux ?(create = false) id_opt (content_type, raw_content_opt) =
    +  let%lwt db = db in
    +  if not (check_content_type ~mime_type:json_mime_type content_type) then
    +    send_error ~code:400 "Content-type is wrong, it must be JSON"
    +  else
    +    match id_opt, raw_content_opt with
    +    | None, _ ->
    +      send_error ~code:400 "Location identifier is missing"
    +    | _, None ->
    +      send_error ~code:400 "Body content is missing"
    +    | Some id, Some raw_content ->
    +      read_raw_content raw_content >>= fun location_str ->
    +      catch (fun () ->
    +          (if create then
    +            Lwt.return_unit
    +           else
    +            Ocsipersist.Polymorphic.find db id >>= fun _ -> Lwt.return_unit)
    +          >>= fun () ->
    +          let location =
    +            (let open Result in
    +            let loc_result = location_of_yojson (Yojson.Safe.from_string location_str) in
    +            (function
    +              Ok loc-> loc
    +            | Error _ -> raise Deriving_Yojson.Failed ) loc_result)  in
    +          Ocsipersist.Polymorphic.add db  id location >>= fun () ->
    +          send_success ())
    +      (function
    +        | Not_found ->
    +          send_error ~code:404 ("Location not found: " ^ id)
    +        | Deriving_Yojson.Failed ->
    +          send_error ~code:400 "Provided JSON is not valid"
    +        | _ -> assert false)
    +
    +let create_handler id_opt content =
    +  edit_handler_aux ~create:true id_opt content
    +
    +let update_handler id_opt content =
    +  edit_handler_aux ~create:false id_opt content
    +
    +let delete_handler id_opt _ =
    +  let%lwt db = db in
    +  match id_opt with
    +  | None ->
    +    send_error ~code:400 "An id must be provided to delete a location"
    +  | Some id ->
    +    Ocsipersist.Polymorphic.remove db id >>= fun () ->
    +    send_success ()
    +
    +(* Register services *)
    +
    +let () =
    +  Eliom_registration.Any.register read_service read_handler;
    +  Eliom_registration.Any.register create_service create_handler;
    +  Eliom_registration.Any.register update_service update_handler;
    +  Eliom_registration.Any.register delete_service delete_handler;
    +  ()
    diff --git a/8.0/manual/start.html b/8.0/manual/start.html new file mode 100644 index 00000000..aca4bb92 --- /dev/null +++ b/8.0/manual/start.html @@ -0,0 +1,113 @@ +Your first app in 5 minutes

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Your first app in 5 minutes

    The code of this tutorial has been tested against Eliom 6.0.
    +

    This tutorial describes how to get started with Ocsigen +quickly. Thanks to an application template provided by the Ocsigen +team, you will get to a working application with standard +functionality like users and notifications in only a few minutes. This +template can be used for learning purposes, or even as a starting +point for your own product. +

    The template you will use comes from Ocsigen Start. +Ocsigen Start provides a complete mechanism for adding and managing +users, including activation links and password reset. It additionally +contains a module for displaying tips, a module for sending +notifications to your users, and other utilities typically needed in +modern Web applications. +

    The template comes with a default style (developed with +SASS) that follows modern Web practices, e.g., it is responsive and +thus mobile-friendly. Of course, you are free to modify the style to +match your own brand or personality. +

    The template is multi-platform. This means that it can run on a Web +browser or as a mobile app for Android, iOS, or Windows. +

    +Ocsigen Start + +Ocsigen Start + +Ocsigen Start

    Installation

    Install the dependencies (postgresql and one of sass, sassc). +On Debian-based systems: +

    apt install postgresql ruby-sass
    +

    Install Ocsigen Start and all its OCaml dependencies using OPAM: +

    opam install ocsigen-start
    +

    Create your application using Eliom distillery: +

    eliom-distillery -name myapp -template os.pgocaml
    +

    Have a look at the +README +file to learn how to compile it +and, possibly, to generate the mobile applications. +

    I installed it and compiled it, what next?

    It is now time to learn Ocsigen! The template is a great way to get +started, because it comes with multiple runnable examples that show +you: +

    • How to do remote procedure calls (RPCs); +
    • How to save session data (in Eliom references); +
    • How to use the notification system; +
    • How to create reactive pages; +
    • Many examples of widgets from Ocsigen Toolkit: +
      • Carousel +
      • Pages with several tabs +
      • Time and date pickers +
    • ... +

    The corresponding files are well-commented, so you can quickly find +out how things work. +

    +Ocsigen Start + +Ocsigen Start + +Ocsigen Start + +Ocsigen Start

    +Ocsigen Start + +Ocsigen Start + +Ocsigen Start + +Ocsigen Start

    Have fun!

    diff --git a/8.0/manual/tutoreact.html b/8.0/manual/tutoreact.html new file mode 100644 index 00000000..a018e755 --- /dev/null +++ b/8.0/manual/tutoreact.html @@ -0,0 +1,654 @@ + Client server reactive application with Ocsigen

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Client server reactive application with Ocsigen

    This is a short tutorial showing how to implement a simple reactive +client-server application using Js_of_ocaml, Eliom and +Ocsigen Start. +

    We are going to implement an application that can display a list of messages and +that allows connected users to add new messages. +

    You will learn: +

    • How to use Ocsigen Start to quickly build an application with user +management. +
    • How to create a client-server reactive interface: the HTML is +generated indifferently server-side or client-side, and +contains reactive parts that are updated automatically when the data +change. +
    • How to implement a notification system for your application. Users +are notified when a new item (a message in our case) arrives. +

    First step: a basic application with user management

    Ocsigen Start contains a set of higher level libraries for Eliom +(user management, tips, notifications). It also contains a template +for eliom-distillery that creates an application with user +management. You can use this template as a starting point for your +project. +

    eliom-distillery -name tutoreact -template os.pgocaml
    +

    This template is using PostgreSQL to store the data. You need a recent +version of Postgresql installed on your system. With that available, +you can create the local database and start the database server: +

    make db-init
    +make db-create
    +make db-schema
    +

    Compile and run the program: +

    make test.byte
    +

    Go to http://localhost:8080, you should see the welcome page. You can now +register a user and log in. Because the send mail function is not configured, +the activation links will be printed on the console you started the server with. +

    At any point, if you want to get back to this tutorial later, you may need to +start the database again: +

    make db-start
    +

    While doing this tutorial, if you plan to work on another Ocsigen project +requiring a database, do not forget to stop the tutorial's database beforehand: +

    make db-stop
    +

    Display messages from db

    To make this example more realistic, let's suppose that we do not want to +display all the messages in the database, but only a few of them. +

    In this tutorial, we will not focus on the implementation details of the +database part. Create a new file named tutoreact_messages.eliom. From now +on, if not explicitely specified, the code we are going to write will go there. +We are going to create a module Db containing these functions: +

    val get_messages : unit -> int list Lwt.t
    +val get_message : int -> string Lwt.t
    +val add_message : string -> int Lwt.t

    You can try to make your own implementation using for instance pgocaml. +Here's our implementation using Ocsipersist: +

    [%%server
    +module Db = struct
    +  let db = Ocsipersist.Polymorphic.open_table "messages"
    +
    +  let last_key =
    +    Eliom_reference.eref
    +      ~persistent:"index"
    +      ~scope:Eliom_common.global_scope (-1)
    +
    +  let get_message id =
    +    let%lwt db = db in
    +    Ocsipersist.Polymorphic.find db (string_of_int id)
    +
    +  let get_messages () =
    +    let%lwt index = Eliom_reference.get last_key in
    +    let rec aux n l = if n > index then l else aux (n+1) (n::l) in
    +    Lwt.return (aux 0 [])
    +
    +  let lock = Lwt_mutex.create ()
    +
    +  let add_message v =
    +    let%lwt () = Lwt_mutex.lock lock in
    +    let%lwt index = Eliom_reference.get last_key in
    +    let index = index + 1 in
    +    let%lwt () = Eliom_reference.set last_key index in
    +    Lwt_mutex.unlock lock;
    +    let%lwt db = db in
    +    let%lwt () = Ocsipersist.Polymorphic.add db (string_of_int index) v in
    +    Lwt.return index
    +end]

    Add the following code: +

    [%%shared
    +    open Eliom_content.Html
    +    open Eliom_content.Html.D]
    let%server display userid_o =
    +  let%lwt messages = Db.get_messages () in
    +  let%lwt l =
    +    Lwt_list.map_s
    +      (fun id ->
    +        let%lwt msg = Db.get_message id in
    +        Lwt.return (li [txt msg]))
    +      messages
    +  in
    +  Lwt.return [ul l]

    Depending on your database, it is probably more efficient to +fetch all messages and their identifiers using only one request. +Here we use Lwt_list.map_s to do the requests sequentially. +

    The content of the main page is defined in +the file tutoreact_handlers.eliom. +Replace the code of main_service_handler by: +

    let%server main_service_handler userid_o () () =
    +  let%lwt content = Tutoreact_messages.display userid_o in
    +  Tutoreact_container.page userid_o content

    The main_service_handler you just replaced was in a shared section. +Therefore, we also need to change two other files to take into consideration +this modification. +

    In the file tutoreact_handlers.eliomi, move the definition of +main_service_handler from the shared section to the server section. +

    In the file tutoreact.eliom, move the registration of main_service +from the shared section to the server section. +

    Try to compile in order to see if everything is fine. +

    Adding new messages

    Add an input in the page, for connected users

    To add an input in the page for connected users, +replace the function display by the following version: +

    let%server display_messages () =
    +  let%lwt messages = Db.get_messages () in
    +  let%lwt l =
    +    Lwt_list.map_s
    +      (fun id ->
    +        let%lwt msg = Db.get_message id in
    +        Lwt.return (li [txt msg]))
    +      messages
    +  in
    +  Lwt.return (ul l)
    +
    +let%server display userid_o =
    +  let%lwt messages = display_messages () in
    +  let l =
    +    match userid_o with
    +    | None -> []
    +    | _ -> [Raw.input ~a:[a_input_type `Text;
    +                          a_style "border-style:solid"] ()]
    +  in
    +  Lwt.return (messages :: l)

    Make function Db.add_message accessible from the client

    To be able to call a function from the client-side program, +use let%rpc: +

    let%rpc add_message (value : string) : unit Lwt.t =
    +  let%lwt _ = Os_current_user.get_current_userid () (* fails if not connected *) in
    +  Db.add_message value

    The parameter [%json: string] describes the type of +the function parameter. This exhibits the syntax provided by +ppx_deriving extended +with our JSON plugin. We use this for safe server-side unmarshalling of data +sent by the client. +

    Bind the input to call the function

    To call the function from the client program, we will define a +client value, a client-side expression that is accessible +server-side. The client value will be executed client-side +after the page is loaded. The syntax for client values of type +t is [%client (... : t)]. +

    Replace the second branch of the match in the function display by: +

    let inp = Raw.input ~a:[a_input_type `Text; a_style "border-style:solid"] () in
    +let _ = [%client
    +  (let open Js_of_ocaml_lwt.Lwt_js_events in
    +   let inp = To_dom.of_input ~%inp in
    +   async (fun () -> changes inp (fun _ _ ->
    +     let value = Js_of_ocaml.Js.to_string inp##.value in
    +     inp##.value := Js_of_ocaml.Js.string "";
    +     let%lwt _ = add_message value in
    +     Lwt.return ()))
    +   : unit)
    +] in
    +[inp]
    • We use module Lwt_js_events to manage events. +
    • The syntax ~%v allows using a server-side value v client-side. +
    • To_dom.of_input returns the JS element corresponding to the +OCaml value ~%inp. +
    • Lwt_js_events.async is similar to Lwt.async. +
    • obj##.a allows the access to the field a +of the JavaScript object obj (see Js_of_ocaml PPX extension). +
    • changes takes a JS element and a function that will be +executed every time a "change" event is received on this element. +

    This function gets the value of the input, resets the content of the +input, and calls our server-side function. Do not forget the +conversions between OCaml strings and JS strings since they are different! +

    Compile and run the program again. Now the messages should be added in the +database whenever you use the input. However you need to refresh the page to +display them. +

    Structure of a client-server application

    We have seen how to send data to the server without stopping the +client-side program. Now we want to automatically update the page +when new messages are sent. Generally, the main difference between a +web application and a website is that in the case of a web +application, a client-side program runs and persists accross HTTP +calls (remote procedure calls or page changes). The client process +must be able to receive notifications from the server and update the +page accordingly, without regenerating it entirely. It is common +practice to generate the full interface client-side. But this is +not suitable for all cases. It is usually better to keep the old-style +web interaction and generate pages server-side, for example +to enable search engine indexing. In this tutorial, we will see how to +generate pages indifferently (and with the same code) from both sides. +

    In this section, we will see how to implement this kind of applications +very concisely thanks to three notions: +

    • The client-server cache of data +
    • Reactive pages +
    • Notification system +

    You will be able to test once you finish the three following sections! +

    Client-server cache

    The module +Eliom_cscache +implements a cache of data, an association table where you +will put the data of your application client-side. For the sake of +uniformity (as we want to use it in shared sections), the +cache is also implemented server-side, with scope +"request". This avoids retrieving the same data from the database +twice for the same request. +

    We create a client-server cache by calling the function +Eliom_cscache.create +server-side. The server-side cache cache created by this +function will be accessible client-side through an injection ~%cache. +

    We implement a function get_data to fetch the +data from the database. This function must have an implementation both +server-side and client-side: +

    let%rpc get_data (id : int) : string Lwt.t = Db.get_message id
    let%server cache : (int, string) Eliom_cscache.t =
    +  Eliom_cscache.create ()

    Reactive interface

    Updating the interface when some data change is usually not +straightforward. This is usually done by putting identifiers on +elements to find them, and manually modifying page elements using +low-level JS functions. +

    A very elegant solution to simplify this consists in using Functional +Reactive Programming (FRP). In reactive programming, you define +relations between different pieces of data once, and each update +automatically produces the recomputation of all the dependent data. In +Ocsigen we use the module React +combined with ReactiveData, +which extends React to deal with incremental updates in +lists. Have a look at the documentation of the above modules if you +are not familiar with FRP. +

    The client-side module +Eliom_content.Html.R +enables defining reactive page elements. +

    The module Eliom_shared +enables defining shared reactive signals server-side. +In order to do that, we use shared values, values defined +both server-side and client-side. The server-side module +Eliom_content.Html.R +enables constructing HTML5 elements that get updated automatically +based on the signals of Eliom_shared. The modules +Eliom_shared.React +and +Eliom_shared.ReactiveData +implement interfaces very similar to React and +ReactiveData, but operate on shared signals. +

    Implementation of the reactive interface

    display_message now needs to be implemented in a shared fashion and take +its data from the cache. In order to do that, +we call Eliom_cscache.find cache get_data key from either side to get the +value associated to key. If the value is not present in the cache, it will +be fetched using the function get_data and added to the cache. +

    let%shared display_message id =
    +  let%lwt msg = Eliom_cscache.find ~%cache get_data id in
    +  Lwt.return (li [txt msg])

    The function display_messages now creates a reactive list of +message identifiers, and maps page content from this reactive value +using module Eliom_shared.ReactiveData. Note that rmessage is +a tuple, the first element is the list, the second element is the update +function. +

    let%server display_messages () =
    +  let%lwt messages = Db.get_messages () in
    +  let rmessages = Eliom_shared.ReactiveData.RList.create messages in
    +  let%lwt content =
    +    Eliom_shared.ReactiveData.RList.Lwt.map_p
    +      [%shared display_message ]
    +      (fst rmessages)
    +  in
    +  Lwt.return (R.ul content)

    Notifications

    We now want to be notified when a message has been added. To do that +easily, we use the module Os_notif from Ocsigen Start. +

    We first define a notification module for the type of data we want +clients to be able to listen on (here the lists of message identifiers): +

    [%%server
    +module Forum_notif = Os_notif.Make_Simple (struct
    +  type key = unit
    +  type notification = int
    +end)
    +]

    key is the type of the identifier of the data we want to listen +on. In our case, there is a single message list (thus unit +suffices as the identifier since we don't need to be specific). +

    notification is the type of the notifications to send. Here: the +identifier of the new message to be added in the list. +

    We define a function to handle notifications. It adds the new +identifier in the reactive list of messages: +

    let%client handle_notif_message_list rmessages (_, msgid) =
    +  Eliom_shared.ReactiveData.RList.cons msgid (snd rmessages)

    We notify the server that we are listening on this piece of data by +calling Forum_notif.listen (server-side). Notifications are +received client-side through a React event +Forum_notif.client_ev (). We map this event to the function +handle_notif_message_list, meaning that we will execute this function +when this event happens. +

    let%server display_messages () =
    +  Forum_notif.listen ();
    +  let%lwt messages = Db.get_messages () in
    +  let rmessages = Eliom_shared.ReactiveData.RList.create messages in
    +  ignore [%client
    +    (ignore
    +       (React.E.map (handle_notif_message_list ~%rmessages)
    +          ~%(Forum_notif.client_ev () : (unit * int) Eliom_react.Down.t))
    +     : unit)
    +  ];
    +  let%lwt content =
    +    Eliom_shared.ReactiveData.RList.Lwt.map_p
    +      [%shared display_message ]
    +      (fst rmessages)
    +  in
    +  Lwt.return (R.ul content)

    When we add a message, we notify all the clients listening on this +piece of data: +

    let%rpc add_message (value : string) : unit Lwt.t =
    +   let%lwt id = Db.add_message value in
    +   Forum_notif.notify () id;
    +   Lwt.return ()

    The program is now fully functional, you can now test it! You should see the +messages being added without the need to reload the page, even if messages are +added by another user! Try with several browser windows. +

    More information on cache and client-server reactive data

    In this section we will demonstrate additional Eliom functionality for +client-server programming by implementing some new features in our +forum: +

    • Multi-page forum +
    • Client-side spinner while loading data +

    Multi-page forum

    We now want a forum with several pages, located at URLs +http://localhost:8080/i, where i represents the forumid +as an integer. +

    Services

    In the file tutoreact_services.eliom, we define the new following service: +

    let%server forum_service =
    +  Eliom_service.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Get
    +            (Eliom_parameter.(suffix (int "i"))))
    +    ()

    In the file tutoreact_services.eliomi, we define its signature, do not +forget to put it in a server section: +

    [%%server.start]
    +
    +val forum_service
    +  : ( int
    +    , unit
    +    , Eliom_service.get
    +    , Eliom_service.att
    +    , Eliom_service.non_co
    +    , Eliom_service.non_ext
    +    , Eliom_service.reg
    +    , [`WithSuffix]
    +    , [`One of int] Eliom_parameter.param_name
    +    , unit
    +    , Eliom_service.non_ocaml )
    +    Eliom_service.t

    In the file tutoreact_handlers.eliom, we define the handler we will +associate to our new service: +

    let%server forum_service_handler userid_o forumid () =
    +  let%lwt content = Tutoreact_messages.display userid_o forumid in
    +  Tutoreact_container.page userid_o content

    In the file tutoreact_handlers.eliomi, we define its signature, in the +server section: +

    val forum_service_handler
    +  :  Os_types.User.id option
    +  -> int
    +  -> unit
    +  -> Os_page.content Lwt.t

    In the file tutoreact.eliom, we register our handler to our new service in +the server section: +

    Tutoreact_base.App.register ~service:Tutoreact_services.forum_service
    +    (Tutoreact_page.Opt.connected_page Tutoreact_handlers.forum_service_handler)

    Since we have a new parameter forumid, we need to take it into +consideration in many places. +

    In the file tutoreact_messages.eliom, the functions display_messages +and display take it as a new parameter. Do not forget to also replace +the latter in the call of display_messages in function display: +

    let%server display_messages forumid =
    +  ...
    let%server display userid_o forumid =
    +  let%lwt messages = display_messages forumid in
    +  ...

    In the file tutoreact_handlers.eliom, update the code of +main_service_handler: +

    let%server main_service_handler forumid userid_o () () =
    +  let%lwt content = Tutoreact_messages.display userid_o forumid in
    +  Tutoreact_container.page userid_o content

    In the file tutoreact_handlers.eliomi, update its signature: +

    val main_service_handler
    +  :  int
    +  -> Os_types.User.id option
    +  -> unit
    +  -> unit
    +  -> Os_page.content Lwt.t

    In the file tutoreact.eliom, in the main_service, we have to specify +the forumid of the forum we want to reach when we arrive in our application. +We will take 0 for instance and give it as the parameter of +main_service_handler. We update the registration of main_service: +

    Tutoreact_base.App.register
    +    ~service:Os_services.main_service
    +    (Tutoreact_page.Opt.connected_page
    +    (Tutoreact_handlers.main_service_handler 0));

    Db

    The functions Db.get_messages and Db.add_message now take the forum +identifier: +

    [%%server
    +module Db = struct
    +
    +  let db = Ocsipersist.Polymorphic.open_table "messages"
    +
    +  let dbf = Ocsipersist.Polymorphic.open_table "forums"
    +
    +  let last_key =
    +    Eliom_reference.eref
    +      ~persistent:"index" ~scope:Eliom_common.global_scope (-1)
    +
    +  let get_message id =
    +    let%lwt db = db in
    +    Ocsipersist.Polymorphic.find db (string_of_int id)
    +
    +  let get_messages forumid =
    +    let%lwt dbf = dbf in
    +    try%lwt
    +      Ocsipersist.Polymorphic.find dbf (string_of_int forumid)
    +    with Not_found ->
    +      Lwt.return []
    +
    +  let add_message forumid v =
    +    let%lwt index = Eliom_reference.get last_key in
    +    let index = index + 1 in
    +    let%lwt () = Eliom_reference.set last_key index in
    +    let%lwt db = db in
    +    let%lwt () = Ocsipersist.Polymorphic.add db (string_of_int index) v in
    +    let%lwt l = get_messages forumid in
    +    let%lwt dbf = dbf in
    +    let%lwt () =
    +      Ocsipersist.Polymorphic.add dbf
    +        (string_of_int forumid)
    +        (index :: l)
    +    in
    +    Lwt.return index
    +
    +end
    +]

    Message type

    Since we are now adding besides the message, the forumid as well in our +database, we need to specify a new type: +

    [%%shared
    +    type add_message_type = int * string [@@deriving json]
    +]

    We don't forget to take that into consideration in the function +add_message. +

    let%rpc add_message ((forumid, value) : add_message_type) : unit Lwt.t =
    +   let%lwt id = Db.add_message forumid value in
    +   Forum_notif.notify () id;
    +   Lwt.return ()

    In the function display, in the client section: +

    ...
    +  add_message (~%forumid, value)
    +...

    Cache of forum message identifiers

    We must send the notifications only to the clients listening on the +same forum. +

    We will create a new client-server cache to keep the reactive list of +message identifiers for each forums: +

    let%server forumcache :
    +  (int,
    +   int Eliom_shared.ReactiveData.RList.t *
    +   int Eliom_shared.ReactiveData.RList.handle) Eliom_cscache.t =
    +  Eliom_cscache.create ()

    We will now implement the equivalent of get_data for this new cache. +

    Be very careful: +

    In get_data_forum, we must find the reactive list of messages in +the new cache —if it exists — instead of creating a new one! +Otherwise you will have several reactive data for the same forum and +the page updates will fail! +

    To do that, we provide an optional argument ?default to the function +Eliom_shared.ReactiveData.RList.create, a client value +(optionally) containing the current reactive list. If it does not +exist in the cache, a new one will be created like previously: +

    let%rpc get_data_forum (forumid : int) : _ Lwt.t =
    +  let%lwt messages = Db.get_messages forumid in
    +  let default = [%client
    +    ((try Some (Eliom_cscache.find_if_ready ~%forumcache ~%forumid)
    +      with _ -> None)
    +     : 'a option)
    +  ] in
    +  Lwt.return (Eliom_shared.ReactiveData.RList.create ~default messages)

    display_messages now takes the reactive list from the cache: +

    let%server display_messages forumid =
    +  Forum_notif.listen ();
    +  let%lwt rmessages =
    +    Eliom_cscache.find forumcache get_data_forum forumid
    +  in
    +  ...

    Notifications dependent on forum ID

    Since we now want to be specific about the data we want to listen to, the unit +parameter we defined can't be used anymore. Indeed, notifications now depend on +the identifier. We want to receive notifications only for the forums present in +the client-side cache of forums. Therefore, we just change the type key of +module Forum_notif to use an integer (instead of unit): +

    [%%server
    +module Forum_notif = Os_notif.Make_Simple (struct
    +  type key = int
    +  type notification = int
    +end)
    +]

    The function Forum_notif.notify used in the function add_message +now takes the forumid parameter. +

    let%rpc add_message ... =
    +  ...
    +  Forum_notif.notify forumid id;
    +  ...

    In the function display_messages, we need to take care of the +forumid parameter and the type annotation of client_ev: +

    let%server display_messages forumid =
    +  Forum_notif.listen (forumid : int);
    +  ...
    +  ~%(Forum_notif.client_ev () : (int * int) Eliom_react.Down.t))
    +  ...

    We annotate the type of forumid in the call of the function listen +to help the typing system. +

    The function handle_notif_message now takes the reactive +list rmessage from the cache, therefore we no longer need it as a +parameter: +

    let%client handle_notif_message_list (forumid, msgid) =
    +  try
    +    let rmessages = Eliom_cscache.find_if_ready ~%forumcache forumid in
    +    Eliom_shared.ReactiveData.RList.cons msgid (snd rmessages)
    +  with Not_found | Eliom_cscache.Not_ready -> ()

    In the function display_messages, do not forget to remove the injection +of rmessage in the call of handle_notif_message_list in the client +section: +

    ...
    +(React.E.map handle_notif_message_list
    +...

    Display a spinner while loading the messages

    Retrieving messages from server can take time. +To display a spinner while loading the messages when you send them, replace +the function display_message by: +

    let%shared display_message id =
    +  let th =
    +    let%lwt msg = Eliom_cscache.find ~%cache get_data id in
    +    Lwt.return [div [txt msg]]
    +  in
    +  let%lwt v = Ot_spinner.with_spinner th in
    +  Lwt.return (li [v])

    To simulate network latency, you can add a Lwt_unix.sleep in the +server-side get_data function. +

    let%server get_data id =
    +  let%lwt () = Lwt_unix.sleep 2.0 in
    +  Db.get_message id

    The full code (tutoreact_messages.eliom):

    [%%shared
    +    open Eliom_content.Html
    +    open Eliom_content.Html.D
    +]
    [%%server
    +module Db = struct
    +  let db = Ocsipersist.Polymorphic.open_table "messages"
    +  let dbf = Ocsipersist.Polymorphic.open_table "forums"
    +
    +  let last_key =
    +    Eliom_reference.eref ~persistent:"index" ~scope:Eliom_common.global_scope
    +      (-1)
    +
    +  let get_message id =
    +    let%lwt db = db in
    +    Ocsipersist.Polymorphic.find db (string_of_int id)
    +
    +  let get_messages forumid =
    +    let%lwt dbf = dbf in
    +    try%lwt Ocsipersist.Polymorphic.find dbf (string_of_int forumid)
    +    with Not_found -> Lwt.return []
    +
    +  let add_message forumid v =
    +    let%lwt index = Eliom_reference.get last_key in
    +    let index = index + 1 in
    +    let%lwt () = Eliom_reference.set last_key index in
    +    let%lwt db = db in
    +    let%lwt () = Ocsipersist.Polymorphic.add db (string_of_int index) v in
    +    let%lwt l = get_messages forumid in
    +    let%lwt dbf = dbf in
    +    let%lwt () =
    +      Ocsipersist.Polymorphic.add dbf (string_of_int forumid) (index :: l)
    +    in
    +    Lwt.return index
    +
    +end
    +
    +module Forum_notif = Os_notif.Make_Simple (struct
    +  type key = int
    +  type notification = int
    +end)
    +]
    [%%shared
    +    type add_message_type = int * string [@@deriving json]
    +]
    let%rpc add_message ((forumid, value) : add_message_type) : unit Lwt.t =
    +   let%lwt id = Db.add_message forumid value in
    +   Forum_notif.notify forumid (id : int);
    +   Lwt.return ()
    let%server cache : (int, string) Eliom_cscache.t = Eliom_cscache.create ()
    +
    +let%server forumcache :
    +  (int,
    +   int Eliom_shared.ReactiveData.RList.t *
    +   int Eliom_shared.ReactiveData.RList.handle) Eliom_cscache.t =
    +  Eliom_cscache.create ()
    ler%rpc get_data (id : int) : string Lwt.t =
    +  let%lwt () = Lwt_unix.sleep 2.0 in
    +  Db.get_message id
    let%rpc get_data_forum (forumid : int) : _ Lwt.t =
    +  let%lwt messages = Db.get_messages forumid in
    +  let default = [%client
    +    (try
    +       Some (Eliom_cscache.find_if_ready ~%forumcache ~%forumid)
    +     with _ ->
    +       None
    +       : 'a option)
    +  ] in
    +  Lwt.return (Eliom_shared.ReactiveData.RList.create ~default messages)
    let%shared display_message id =
    +  let th =
    +    let%lwt msg = Eliom_cscache.find ~%cache get_data id in
    +    Lwt.return [div [txt msg]]
    +  in
    +  let%lwt v = Ot_spinner.with_spinner th in
    +  Lwt.return (li [v])
    let%client handle_notif_message_list (forumid, msgid) =
    +  try
    +    let rmessages = Eliom_cscache.find_if_ready ~%forumcache forumid in
    +    Eliom_shared.ReactiveData.RList.cons msgid (snd rmessages)
    +  with Not_found | Eliom_cscache.Not_ready -> ()
    let%server display_messages forumid =
    +  Forum_notif.listen (forumid : int);
    +  let%lwt rmessages =
    +    Eliom_cscache.find forumcache get_data_forum forumid
    +  in
    +  ignore [%client
    +    (ignore
    +       (React.E.map handle_notif_message_list
    +          ~%(Forum_notif.client_ev () : (int * int) Eliom_react.Down.t))
    +     : unit)
    +  ];
    +  let%lwt content =
    +    Eliom_shared.ReactiveData.RList.Lwt.map_p
    +      [%shared display_message]
    +      (fst rmessages)
    +  in
    +  Lwt.return (R.ul content)
    +
    +let%server display userid_o forumid =
    +  let%lwt messages = display_messages forumid in
    +  let l =
    +    match userid_o with
    +    | None -> []
    +    | _ ->
    +        let inp =
    +          Raw.input ~a:[a_input_type `Text; a_style "border-style:solid"] ()
    +        in
    +        let _ =
    +          [%client
    +            (let open Js_of_ocaml_lwt.Lwt_js_events in
    +             let inp = To_dom.of_input ~%inp in
    +             async (fun () ->
    +                 changes inp (fun _ _ ->
    +                     let value = Js_of_ocaml.Js.to_string inp##.value in
    +                     inp##.value := Js_of_ocaml.Js.string "";
    +                     let%lwt _ = add_message (~%forumid, value) in
    +                     Lwt.return ()))
    +              : unit)]
    +        in
    +        [inp]
    +  in
    +  Lwt.return (messages :: l)
    diff --git a/8.0/manual/tutowidgets.html b/8.0/manual/tutowidgets.html new file mode 100644 index 00000000..626962fa --- /dev/null +++ b/8.0/manual/tutowidgets.html @@ -0,0 +1,334 @@ + Mini-tutorial: client-server widgets

    Warning: Reason support is experimental. +We are looking for beta-tester and contributors. +

    Mini-tutorial: client-server widgets

    This short tutorial is an example of client-server Eliom application. +It gives an example of client-server widgets. +

    It is probably a good starting point if you know OCaml well, and want +to quickly learn how to write a client-server Eliom application with a +short example and concise explanations. For more detailed explanations, see +the +"graffiti" tutorial, +or read the manuals. +

    The goal is to show that, unlike many JavaScript libraries that build +their widgets programmatically (by instantiating classes or calling +functions), Eliom enables server-side widget generation, before +sending them to the client. Pages can thus be indexed by search +engines. +

    This tutorial also shows that it is possible to use the same code to +build the widget either on client or server side. +

    We choose a very simple widget, that could be the base for example for +implementing a drop-down menu. It consists of several boxes with a +title and a content. Clicking on the title opens or closes the +content. Furthermore, it is possible to group some of the boxes +together to make them behave like radio buttons: when you open one of +them, the previously opened one is closed. +

    screenshot +

    Table of contents

    First step: define an application with a basic service

    The following code defines a client-server Web application with only +one service, registered at URL / (the root of the website). +

    The code also defines a client-side application (let%client or section + [%%client ... ] ) +that appends a client-side generated widget to the page. +Section [%%shared ... ] is compiled on both the server and the +client-side programs. +Inside such a section, you can write let%server or + let%client to override [%%shared ... ] +and define a server-only or client-only value (similarly for + [%%server ... ] and [%%client ... ] ). +

    module%server Ex_app =
    +  Eliom_registration.App (struct
    +    let application_name = "ex"
    +    let global_data_path = None
    +  end)
    +
    +let%server _ = Eliom_content.Html.D.(
    +  Ex_app.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    (fun () () ->
    +       Lwt.return
    +         (Eliom_tools.D.html ~title:"tutowidgets" ~css:[["css"; "ex.css"]]
    +            (body [h2 [txt "Welcome to Ocsigen!"]])))
    +)
    let%client mywidget s1 s2 = Eliom_content.Html.D.(
    +  let button  = div ~a:[a_class ["button"]] [txt s1] in
    +  let content = div ~a:[a_class ["content"]] [txt s2] in
    +  div ~a:[a_class ["mywidget"]] [button; content]
    +)
    +
    +let%client _ =
    +  let%lwt _ = Js_of_ocaml_lwt.Lwt_js_events.onload () in
    +  Js_of_ocaml.Dom.appendChild
    +    (Js_of_ocaml.Dom_html.document##.body)
    +    (Eliom_content.Html.To_dom.of_element (mywidget "Click me" "Hello!"));
    +  Lwt.return ()

    To compile it, first create a project by calling +

      eliom-distillery -name ex -template client-server.basic
    +

    The name of the project must match the name given to the functor +Eliom_registration.App. +

    After you adapt the file ex.eliom, +you can compile by calling make, +and run the server by calling make test.byte. +Download the +CSS file +and place it in directory static/css. +Then open a browser window and go to URL http://localhost:8080. +

    screenshot +

    More explanations

    This section gives very quick explanations on the rest of the program. +For more detailed explanations, see the tutorial for the graffiti app +or the manual of each of the projects. +

    • The client side program is sent with the first page belonging to the +application (registered through module Ex_app). +
    • The ## is used to call a JS method from OCaml +and ##. to access a JS object field +(See Js_of_ocaml's documentation: +Ppx_js). +
    • If there are several services in your application, the client-side +program will be sent only with the first page, and will not stop if +you go to another page of the application. +
    • Lwt is the concurrent library used to program threads on both +client and server sides. The syntax let%lwt a = e1 in e2 +allows waiting (without blocking the rest of the program) for an Lwt +thread to terminate before continuing. e2 must ben a Lwt +thread itself. Lwt.return enables creating an +already-terminated Lwt thread. +
    • Js_of_ocaml_lwt.Lwt_js_events defines a convenient way to program +interface events (mouse, keyboard, ...). +

    Js_of_ocaml_lwt.Lwt_js_events.onload is a Lwt thread that waits until the page +is loaded. There are similar functions to wait for other events, e.g., +for a click on an element of the page, or for a key press. +

    Second step: bind the button

    To make the widget work, we must bind the click event. +Replace function mywidget by the following lines: +

    let%client switch_visibility elt =
    +  let elt = Eliom_content.Html.To_dom.of_element elt in
    +  if Js_of_ocaml.Js.to_bool (elt##.classList##contains (Js_of_ocaml.Js.string "hidden")) then
    +    elt##.classList##remove (Js_of_ocaml.Js.string "hidden")
    +  else
    +    elt##.classList##add (Js_of_ocaml.Js.string "hidden")
    +
    +let%client mywidget s1 s2 = Eliom_content.Html.D.(
    +  let button  = div ~a:[a_class ["button"]] [txt s1] in
    +  let content = div ~a:[a_class ["content"]] [txt s2] in
    +  Lwt.async (fun () ->
    +    Js_of_ocaml_lwt.Lwt_js_events.clicks (Eliom_content.Html.To_dom.of_element button)
    +      (fun _ _ -> switch_visibility content; Lwt.return ()));
    +  div ~a:[a_class ["mywidget"]] [button; content]
    +)
    • Once again, we use Js_of_ocaml_lwt.Lwt_js_events. Function clicks is +used to bind a handler to clicks on a specific element. +
    • Function async runs an Lwt thread asynchronously +(without waiting for its result). +
    • Js_of_ocaml_lwt.Lwt_js_events.clicks elt f calls function f for each +mouseclick on element elt. +
    • Eliom_content.Html.To_dom.of_element, Js_of_ocaml.Js.string and Js_of_ocaml.Js.to_bool are +conversion functions between OCaml values and JS values. +

    Third step: Generating the widget on server side

    The following version of the program shows how to generate the widget +on server side, before sending it to the client. +

    The code is exactly the same, with the following modifications: +

    • We place function mywidget in server section. +
    • The portion of code that must be run on client side (binding the +click event) is written as a client value, inside + [%client (... : unit) ] . +This code will be executed by the client-side program when it +receives the page. Note that you must give the type (here +unit), as the type inference for client values is currently +very limited. The client section may refer to server side values, +using the ~%x syntax. These values will be serialized and sent +to the client automatically with the page. +
    • We include the widget on the server side generated page instead of +adding it to the page from client side. +
    module%server Ex_app =
    +  Eliom_registration.App (struct
    +    let application_name = "ex"
    +    let global_data_path = None
    +  end)
    let%client switch_visibility elt =
    +  let elt = Eliom_content.Html.To_dom.of_element elt in
    +  if Js_of_ocaml.Js.to_bool (elt##.classList##(contains (Js_of_ocaml.Js.string "hidden"))) then
    +    elt##.classList##remove (Js_of_ocaml.Js.string "hidden")
    +  else
    +    elt##.classList##add (Js_of_ocaml.Js.string "hidden")
    let%server mywidget s1 s2 = Eliom_content.Html.D.(
    +  let button  = div ~a:[a_class ["button"]] [txt s1] in
    +  let content = div ~a:[a_class ["content"]] [txt s2] in
    +  let _ = [%client
    +    (Lwt.async (fun () ->
    +       Js_of_ocaml_lwt.Lwt_js_events.clicks (Eliom_content.Html.To_dom.of_element ~%button)
    +         (fun _ _ -> switch_visibility ~%content; Lwt.return ()))
    +     : unit)
    +  ] in
    +  div ~a:[a_class ["mywidget"]] [button; content]
    +)
    +
    +let%server _ = Eliom_content.Html.D.(
    +  Ex_app.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    (fun () () ->
    +       Lwt.return
    +         (Eliom_tools.D.html ~title:"ex" ~css:[["css"; "ex.css"]]
    +            (body [h2 [txt "Welcome to Ocsigen!"];
    +                   mywidget "Click me" "Hello!"])))
    +)

    Fourth step: widget usable either on client or server sides

    If you make function mywidget shared, it will be available +both on server and client sides: +

    let%shared mywidget s1 s2 =
    +  ...

    screenshot +

    Fifth step: close last window when opening a new one

    To implement this, we record a client-side reference to a function for +closing the currently opened window. +

    module%server Ex_app =
    +  Eliom_registration.App (struct
    +    let application_name = "ex"
    +    let global_data_path = None
    +  end)
    let%client close_last = ref (fun () -> ())
    +
    +let%client switch_visibility elt =
    +  let elt = Eliom_content.Html.To_dom.of_element elt in
    +  if Js_of_ocaml.Js.to_bool (elt##.classList##(contains (Js_of_ocaml.Js.string "hidden"))) then
    +    elt##.classList##remove (Js_of_ocaml.Js.string "hidden")
    +  else
    +    elt##.classList##add (Js_of_ocaml.Js.string "hidden")
    let%shared mywidget s1 s2 = Eliom_content.Html.D.(
    +  let button  = div ~a:[a_class ["button"]] [txt s1] in
    +  let content = div ~a:[a_class ["content"]] [txt s2] in
    +  let _ = [%client
    +    (Lwt.async (fun () ->
    +       Js_of_ocaml_lwt.Lwt_js_events.clicks (Eliom_content.Html.To_dom.of_element ~%button) (fun _ _ ->
    +	 !close_last ();
    +	 close_last := (fun () -> switch_visibility ~%content);
    +	 switch_visibility ~%content;
    +	 Lwt.return ()
    +       ))
    +     : unit)
    +  ] in
    +  div ~a:[a_class ["mywidget"]] [button; content]
    +)
    let%server _ = Eliom_content.Html.D.(
    +  Ex_app.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    (fun () () ->
    +      let _ =
    +	[%client
    +	    (Js_of_ocaml.Dom.appendChild
    +	       (Js_of_ocaml.Dom_html.document##.body)
    +               (Eliom_content.Html.To_dom.of_element (mywidget "Click me" "client side"))
    +               : unit)
    +	] in
    +      Lwt.return
    +        (Eliom_tools.D.html ~title:"ex" ~css:[["css"; "ex.css"]]
    +           (body [
    +             h2 [txt "Welcome to Ocsigen!"];
    +             mywidget "Click me" "server side";
    +             mywidget "Click me" "server side";
    +             mywidget "Click me" "server side"
    +           ])))
    +)

    Last step: several sets of widgets

    Now we want to enable several sets of widgets in the same page. A +single reference no longer suffices. In the following version, the +server-side program asks the client-side program to generate two +different references, by calling function new_set. This function +returns what we call a client value. On server side, it is not +evaluated, and it has an abstract type. +

    module%server Ex_app =
    +  Eliom_registration.App (struct
    +    let application_name = "ex"
    +    let global_data_path = None
    +  end)
    +
    +let%server new_set () = [%client ( ref (fun () -> ()) : (unit -> unit) ref)]
    let%client switch_visibility elt =
    +  let elt = Eliom_content.Html.To_dom.of_element elt in
    +  if Js_of_ocaml.Js.to_bool (elt##.classList##(contains (Js_of_ocaml.Js.string "hidden"))) then
    +    elt##.classList##remove (Js_of_ocaml.Js.string "hidden")
    +  else
    +    elt##.classList##add (Js_of_ocaml.Js.string "hidden")
    let%shared mywidget set s1 s2 = Eliom_content.Html.D.(
    +  let button  = div ~a:[a_class ["button"]] [txt s1] in
    +  let content = div ~a:[a_class ["content"; "hidden"]] [txt s2] in
    +  let _ = [%client
    +    (Lwt.async (fun () ->
    +       Js_of_ocaml_lwt.Lwt_js_events.clicks (Eliom_content.Html.To_dom.of_element ~%button) (fun _ _ ->
    +         ! ~%set ();
    +         ~%set := (fun () -> switch_visibility ~%content);
    +         switch_visibility ~%content;
    +	 Lwt.return ()))
    +       : unit)]
    +  in
    +  div ~a:[a_class ["mywidget"]] [button; content]
    +)
    let%server _ = Eliom_content.Html.D.(
    +  Ex_app.create
    +    ~path:(Eliom_service.Path [""])
    +    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    +    (fun () () ->
    +      let set1 = new_set () in
    +      let set2 = new_set () in
    +      let _ = [%client (
    +	Js_of_ocaml.Dom.appendChild
    +	  (Js_of_ocaml.Dom_html.document##.body)
    +	  (Eliom_content.Html.To_dom.of_element (mywidget ~%set2 "Click me" "client side"))
    +	  : unit)
    +	      ] in
    +      Lwt.return
    +        (Eliom_tools.D.html ~title:"ex" ~css:[["css"; "ex.css"]]
    +           (body [
    +             h2 [txt "Welcome to Ocsigen!"];
    +             mywidget set1 "Click me" "server side";
    +             mywidget set1 "Click me" "server side";
    +             mywidget set2 "Click me" "server side"
    +           ])))
    +)

    screenshot +

    And now?

    Calling server functions

    An important feature missing from this tutorial is the ability +to call server functions from the client-side program ("server functions"). +You can find a quick description of this +in this mini HOWTO or +in +Eliom's manual. +

    Services

    For many applications, you will need several services. By default, +client-side Eliom programs do not stop when you follow a link or send +a form. This enables combining rich client side features (playing +music, animations, stateful applications ...) with traditional Web +interaction (links, forms, bookmarks, back button ...). Eliom +proposes several ways to identify services, either by the URL (and +parameters), or by a session identifier (we call this kind of service +a coservice). Eliom also allows creating new (co-)services +dynamically, for example coservices depending on previous interaction +with a user. More information on the service identification mechanism +in Eliom's manual. +

    Sessions

    Eliom also offers a rich session mechanism, with scopes +(see Eliom's manual).

    diff --git a/dev/manual/application.html b/dev/manual/application.html index 8871a03f..614230ca 100644 --- a/dev/manual/application.html +++ b/dev/manual/application.html @@ -44,7 +44,7 @@
  • Source code
  • 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 L3=^j>-tpf6Jpc}M literal 0 HcmV?d00001 diff --git a/8.0/manual/files/screenshots/start1.png b/8.0/manual/files/screenshots/start1.png new file mode 100644 index 0000000000000000000000000000000000000000..185e08bb13cdf5fa0de271dd6b1b406c26565d5d GIT binary patch literal 75499 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 literal 0 HcmV?d00001 diff --git a/8.0/manual/files/screenshots/start2.png b/8.0/manual/files/screenshots/start2.png new file mode 100644 index 0000000000000000000000000000000000000000..1ce3676a54c5eae52022fbc3b7e31272d1d88599 GIT binary patch literal 135117 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�Uj|5c0D&r#%wurv6o1xkl8y~@>}Pj{z&}X}2i2t8nWyQ0 zb?-5rhoRx(kLyPCyA@gRxFKV zt$umJ^E^c<20L!%D;IDMc9fwE_Hk z5`pX+m6w%#^S5O%n9>wV{zaA$S0@W%IH$Mq(}}hbd~L}rdqH%qY)3g6}{)FBb_;WDZ@e%BJ6*j&G%+#BAjKq5uq5`dh7>*4}P>g0;y z+Jev;8U6>nu0Me}aqxpIm|_^g_&D{q8YYAO>e7V^tf5XU9SHB!IhyT)yLG!rSpHo% zo{RvRz`$fWOM?z^Vsl2331tcmrGS{(zOuA*7g;LN9s#R5P93 zGV>2!K&{{3Qvjc~SRYh3%b0;=0Uqn+;NW0+!qve{B*sKN)3wF9*U7hZJn}}w za*xWajVFDcnET4ZSo`n4dwDOWp#6J~@=qIU?<#*R zEdHm{yYqbhuYC>!+57-!WtFehjRh~GqC+2_zWv6&1hW@^;n;6kMfYAfu@E^w_sN0Z z{vb;{LxZ1<;t{BERi&kLs~jZE3Ts5_5#Pn%cj9`J!a=)VSycTL{zL;n=kf-S)&4W? z?TZ7o>913D9vdQXuElSkP+l zG@Jru@%di+qs(ljAWev)_an{bZepGt*y;ArXJApD>M`kMVgu1_HQL;7_DeRNnQQxW zY+$`F8V+|7r^}x z6me_Io`c~#@DQ)$QTK`NjJ_1wm%^5^c)1WhyejlnWXmLsDD*>D)_nG3A&|m(ZHA@|Ep|SZhF?N8o0s0@I z&8Y08!KME3K)|jj1-u%Xl`CEgF^|XNZwi{H1NJ#(n>!N#ClB=nqPVUaYlb@Z??tqz z!}F~^wV`Y)A;DJ0*J`Bh9$>1bNNzx;um>o+k*GnXoq`d&BbRBOvO-=4F}o_OJ1)HT zv6^L4a6BN|qA&0HSG}x9R5kH}y982#wqhAb_TNAaVr<4X>YDhinxsJD>yCRLdg?`d z!$eMhV_+o^VFI_~+T5(dbx_Wu?G(MQ*nOS}jyq+@NZykE; zC^>W4>`)_aVRwJ+rJdR)dP^L0^TOitNyjxs0w@oBEFmCy{Ib=f7db}QXO}KOFhQ<~ zszWJAnG$ZMglR*j>K|VgGFWXSYaUvE4A!%-hSY`{7hWe>*iMWe>QDpUwN~}20I`!% zCqaU$&?B9kZC9qX{&)+?R)Ia(g>gj2I$lB2mIeP!NDDad>apT;Tn% zcgv5{wz7)6KPq2I&0qfMI=s-w)6@4B1n~wWb7kj7Jw6|dsq@avwj&?nV1zo(qy2X0}An;aPsd~yd15b|K&9^>^oF)em&WJ+}R&qkJ!m5 zDZUbbW9Q)DCYyRcO6#`)qIPjLKFLlN6P~|k+6Wq%^k|0%096fOvy8!{_SW}}<+m>&p0&6x8vpz{rmVeRN z@%w}4bv$8|uAbm&ox2H4xY|F4e5DC6A<`d;y6@j~qkkRH)Mf^FHM)g+-V{3q){XI^{X}3D-JZP9`bOA`>Wa1DX z;^ zFc-&Gn&}YwkMbEs+yk7ME+UYmHuZpFCFtg41I8DHLzV zs{yds1quX_8j<5fG!paE`5il#&M{vMS6lNDkjVa9_iWEu#zJDN2h&4KOb9A)duFxt zyh^dBbdUj$`)$|oj<|!BAw|B*D9#TM`6Sx}V!t@@`tdSLn2P5F$sg^B+fczleC9rV ztp%G%OH3*8`-Q`9)6AYoV|MRqzk3c-8C0|DN31u*jj*0{V3xk^i*KCEE8#6DdV;fT&3578!@s2! z-D~y*Ei8&1J{e&CFaC>6C}tIxg~k6*MwtIQK10~&wJZM80+_$3|G-1r-e_adlqk&= zqywmv_`>p|E2C!ic3~U9U8B4DQgT-lo;Z8(Thi*|OUQYm*KR z+qrzG?V53!zZLIEp5QUheeJA@l9c>y0l&C+IX0yG=#z%|ZUfuCJ#uK)fVTIvYuobs z`DfeQZoKx}`Nx)hJ}5o&#)qzxvTOGzr*5eHW6z}AD_)F*MB-4_&+#Cr-t)lX6A3ZT_E6DoyqG(TDB zyHBpq#UX_CNa_|+318qcg+A4EbG!mx8L8x8K=@@-ppo^p;@Nal=b;8;n>KA^5sI4w zAFh6u81&{g-XM*WC}51J{uybfsB!-3JLjnU)9z~$D z)M0!F3~QR9y=5;9xD5ELd`0(S61H(o{24zK00KtlG>js)D3|zD@ny|}dl05$-s{=E zrTdwnrjL54j6iy?seMFk^16WY86YR`1fRT$ye=@I`1G56zQF6pyDEc+LewjPnmS&B%oP3mX1+KWFzF!76eKHw7t&ZuM}+_FDZ({{TH z>nZ~t6|O;+hq}75J#oQJL1K91`RGcEVI0NiBaL~GD%k%@gr79;GT?hos>SjcYLIop z6iG3+-?%}gFdyyIiXsLikp%h@bWp+kGY-=K(!6yxA|M;d7z3bzEpnMCgE6jxb5{(E z=1NiehPT|IU?sRF*#Sj)n-vL*x}Vv!<)KC8nvK8_ zCvzSNOk0Lpxgjt?XeMKhQZOqHTx{d<;yWVsm9?WRH~i|^isS*hcS(6OiA7(+5Fru@ z!h;B>nZ=QjgUvo?2g#m(|FGoBzb?4t8m*JEq? zfLh6;@%F96^7wq}*KS6cU{K*OA8dyh;eHDbq#xk&`k5#;x=i;cS}+4-wtf}^U_NVW z7BOg%`wF{^2qbsqpl0n1)w^I%yJg%YAs`Bk8i13hck7%Gu~Dd4q<81f%s)8IEna_u zcrm$9*u>6Pd$ISEk>sy^ZQ776SK1|A-}PL}`4@EXba@;(F~%D>90JU zmCACuGUAy;O^d=&@Z6U4v%l4~TM}xvcn`-d?euj7e$xdO&yX&T>xP4G;MjbeCAbFbI`(+L5 zUwQwN>b!lITi$>FQ2SK3c6tOzhi6;OGjBVcLZ%FAx2Stp&{#p)V5ilU!A&kwSJEUF zm43?tgZ_;|I5N-s(9JU_>#VqC5emePJy$-Ds3s2wR5JxP$TO9|9S9Tj6w8}c;&b3@=Ps4x*EO0Z~pvH1C4Pn|9+a)$+=K@=*9}L4LvisH3Aua-&gav*@K$s zz%D;eVzWXp5N2yKTsEIEfR&PPHucxYZ$W3`W(A>B=H%7*4f;Qvbo-12VWN|pXPU(P zfpS!6TFM%NOCw=G1SLsToCG_e1dA6f>S#@d%9zbaU_2hF93>RI>}~KB+Wh+ ze18Tbux)8UQUabSDKXnVX!bNOSiak~xa$RayKx+FU`5p+XvG}Yv-Zw;Yw!+CiKlLG zP@J6nN^Hs7;oXlS@;0H{Js0zbTVVAnG0cBjV^7`pCCZ}egwzHC!*A_#Pfm-AEkc^$ z4}vPKv`9cqCp1QsJ!{p{;Y1P01T1UkYF=-gUGkRR?-`;T6_iH2QY30)q?9|4rnG)8 z1eVV3lJ^l#>`3L45H|m2n2m{9}xqG2u(+#2jt#ojZ3V zQV$eud(bL4E8$54Qi)9)pg7)`pVykb!3)37?XsGn9!rQq`c-V z#iB<}Tg{Nwg4=Z7GPHIEE z?q{|Jg4$m0b6PEXmJ{^714n1ublyvqd{&fG+BXj7Cd;svOo@5NjMM&Pyvy# zZr%{&e|WXH#oTJ$Zh%2R3*+{eLzyb{rV;MQ9avDARkp;QC_4)D58J-{tp;QN`g3O_ z&+9V((}njmU?FwQrRc`x)YvliXYoZfE?>JsEIz*Jw6Tsw(9;w~>T(kX#0;fMBE*VNDB zcpPk!IE>VC4Zmhn2^*!7l0yFLuRBpKz{zE9yZaeD$0{PvNVQG_!=cB5ZS4<)AF9@5 zGgd^p^0dDGda~#1Pd`jCn54u`K;oy4_2*WVUmIZ;+RaW#8&H@lY^qHgr^~N&lTQA| zFR#nL4ycal?d%Q*Rt46N%tiP7!_pyy5pSTm^8T{So1@HB&s3LW4$>SY9Zo>pO135< zd~ZqpqzYaw%zyIr6W#ftPQ(--5?uCfIVc>Zc8-Q4JoeZJH}1l}J)f>PbmMd#k_UND z>9Taib8{)`9vr*`eqoiNY}MeK&BPeQJQapUEQ}a&#%_5Oh&A8`Ts_sxp1G@rGp0HU z+||UNn44}%`=P-}>SiR$#LJFSYD+)LZtiVE*7=WI4$TRu&3}sa3ha>{_GMsS*;4>I zcSS#9(Z93uUiz2~PnvkYe9^`XA(E7hsuQX3b&-mzB>0f*zq!x1&FjL*2#&+Bz6`n( z1oq&VEIW?;u-FtVC8W(~QRX~V-?N=X;@m^lg$c>^o)7T}ooqichYV(4JaPVv`MSkM3kvn=hED~5s?DJRwNHHFa2MrR;R0S^V|EbE zZQXnjF0k`DzXM)1_N*79E0~+cU@ArBa*#OfO^n)dhX7JAH3wsOdFaZO3Of|gOu6ZF z@Xf{TBmr0U}QCWdCsRQD+TreB+HbB-|zAqd8R(HqzJoxSbQ2 zt%ylF`MZ9G#ek*1zTK(MtIRf$jrUwUI|Lc7Ld;+vql5?pG`L-Quul%WLiQfF{_HhB z@0S)0{{`<1g;NLf5z!Yc-=v;7jN?ZmC-EOj7bap+|MU9w(&CJmwH!8df4<(&EIRct zq1{`Cn!VzQQw~^O?P>rbPAK$`QWHyDW%?zvKVflr$s3Orcb!ftO;SnGU|HspqfdDcYaBF;95;Z(QA~Pk7hMUS1Kp6r zzhD?bH%dd0*a?J000gW?22f)Sze}Q{54noQ=5s^wwpT_B{MUekhM#h~l2ViRP7(6( zA+)~Cv=|WD{j81OnYE#J@B&FZSOqeL)A6rlKoV^MMQRj{z9q&m8i}<)AWL*QE+s0Y!{sbtI0CpI$Vup6#&31<<@kG z#>hM|MKbdA#XCYUcfV*}ITDEX5S;Q zH4)ZU{w>OjF53t3ZDqcf?2p&>B+nKw(3Njz9h5|!*PV938GBXybjy!}KCo56ev;iRwixnBgFvw6A$T%j?%78~l)vJBR*O34$_~5G0vjwdlW zz=$alBNI>fIQDT9&ljhBmz}fP76Y%T<;J?Zd!UBV(532)pgErHQv~fANAxKD_L1oU zIcsG|Kpv>N1=<=v=yugZMDW28ppcYBF&^Q7#18PP!)vmqzV;G-on_C6CZRe%78$a+XCfg*o3u?|34bbi8yHO}k!*dPR?plEX* zYw3P7S_2HII~2yi4_$j`2CWlLfJZ%EJh8gStm903RRuc+)xjou*!B)*$oYl-(vVqj zkCBpSd_VcSc-$CeQ1Q)^Rr&X6{_aB;1252kj|Uz4j{eZ{vr&kyoBL@AS*cJ6iwMt> ziUzZ*j08&3APu1{jr&mhVE3W_gc#`rh;r(YeCu+!bQ>yLbs9Y4P&G2V_5uu zSWSSbb~XL|IQlO7L_^8KZ%a@GeT|)$?%NxOq25Wxtx!MNKmbijn18xdaIcojnkGU( zGDwU49fPxY2+*i`K0d3w8$Vr#RaieMjTXW$-OnpJhf-A2j);BTM_oUwVfo-u_)E2R zaOEosvQ8t-ehYe;%?LT0NM8^gxAxR@5sSJBfui(ah&|y88DX-=(W$Q^$!FZSZOYM= ztOyKQ+KOIDj`)WQgX%q5Kgtbt!YYkupZ^sp6psQ|kxW%2Lo1kP9IIPm((0?{MpH8b zXVA_zZUwoM1a5eX{_V)9|0iTFy7J({Tk|vs1hM^SaArP9`{i+$YRwAAi4JW#V8TFC z?jr_LKlZ|=J->=eQ?d?auZZ9 z?SFe9!2kZn=_uWk8==DC7n0E`97hx6eIF4Zzg+sO2=soCY3 zGxsqvyxv?EXc-flcrB}w%hd@kE#bRyQF#7gZ%eq0M!c9JfgcoEFkCVoLA{o*PahT< z&uXES9ZdBkzTIW_7HBH5?Gy~4Y5DJZ5(xc`B>mAxlckB`+NIt|`^~al)L8rAOZg#t zZrAOlXc%hW6foyBv=j4GR(5gnx6L{?cex8UFlM52SLbAa5Af7OBcED4fToT-Jjc-P z$&ojTtZ9fdZgo$w3cmdzBGR5E?bs$Hct|zHfqE(?)AT3)dMaklpWy4hN%!X-zUx$< z%lwahkMr%oh-TJ|U`h_pd4@ysMRuX0gnecM8G;Gf4oF`sb>^dwKB@|oeQLAwrzN4& z(FRAK0lJC8CWb?O5HkAc6}>E%=RCe(_Ex5k30?)xU)wsJuq+LZ<4x?nuUBML!VI2V zPUc+a$8dB^O7<740dO}vqXI($Por0#_+LNW(Fde`bKF;88R*=p-S)0`obuWl&92~X zkl>MDhL)C`?5IHJsJLj$A6{zLc-n@7KCg7_TpTZ^(@TA99{#0a{96Nxk99TJGSYVx zVZ+NVF8<^bgON2xh+Ocp1`vacQhVz)fW!3bF0i@`gc0%F2n9aBiH8O`mNsh}L&#d)SQ-F~hnr>go znGs*OKj#hm`0_m(1}CE>S;YnOPFgR|<8%vm@Z1L4MDY+xlX7x3l0F=ax+@)!LsxWDlUFcqGOgV?H8NQ+Rb0;@W&CGxS9{ypY z|Iz|1O7t!727525s$`5fcR4+Cr>}6O3kgy%}rZ}CD$ZVH) zh*;2*&KE!E`ikw$12NGlDUDyoWTx#&E}MAbkW;<+I+=}IDdK5zEcQEfQx_9VkdA83 zq>99-<4?Zbdix&bT@yPV7CRj-*kIHkyQbS`nxGJik!_CL&@XW9x{A>R9xVsInDrfQI@J`+L>om-5ng_gqn~rB*Mh>iU%rQu zt@9p_p=bj};t}T!H4l9n1($7*#(Q~P-Unx9mvdE{1iagY{K2WtF$6;+MxfMZLjOr! zRc>WB1R;#mkQz-}qYFzu*N?)49q)ALsQ{no+ks|PM(l|Eif!Nfcv3h}LySW!&P~xi z4zYE0dA^gH>isiDBwg+g(`DERlM`LzQQ@u>E70cdXx|}F%AJdz@~^qNbI~FTIAwYq zMTjE4puf^+m@O&sXZObwRWqk%NZdm-=H-RSE+*y0B`olwLhct>$6x4q%e7}$B+2{) z{*oYmL&PI1xN_8tQE|14xHvE6k4v{tr`b8(xNAX$bV?hsh)SNJRo2G3-V8JGb2P^ero8l`Rf=% zzy!g>_}S+&+?SWX57tc7rVtozT_r1WbP>M!`Sg0XiuG}0X@zyIjjLbCml6_6<@(Wa zrx2ypn_@|rr*Muxdxpyg^?zt&7pFAa+qG0{E@V$YK4F*)8&mX|WzY;(Pjt;to>Z;n z0sntqV?oc0)|Nq!DEFV!bGvAUsVj(tQ9`7Qy}aBlb~Ifjx8ugP zyYCB|r_yfi1*Sj2K~9aW1_H?f)!^FlfP(=!<5=a2_*7AzmzVdh7-gL`BG7uj@rDF? zM?0VC2$GL3V<#$Ni2|{=rbmt-LP5Yhc>FF(1-inKTWSOvbnAAaZaEF}+Fw4T2-Osh zFdt8+BbBp31FS1*sodf?d_YWko$C>MD!XpI8BmlzznO&?22~3#p=_f29lP_`TGi2J$Cu?!W(j5g?pPN_gVGG@S|M zPESipq@HsM`$}^l@~LEN7#bDNJ#1f%*=>1 z3fcq~;dyaU+JN?#L2_mh3n~^5;Ys|{m*2b*lVg4(p0%RRZA%NUfF6l7R@=Dl>d!3D zoQ=!yOH#K+)1r2_v2iR~cw@N&gUZG$vlT%r$q2I^TY*zAgXVGjw3Dl6$reEZa$Gr< zo-{f(MQxs>@8GT`tZ5X$&X(TLZ~_zLz(jFBibcJp28FD)FjK*1UY`WgFH?f@EL16Q zDj||r>>0h{v(M%QUCZWa0Q-E0&`0iw*85Cf8z$kyp-Ir_S)0cLpF0M0K`u6 zE~ndoWo_a#0yW#SWsV zd@9h5eA_|nIe`rjVP!Xn&63DMZXY6db1Ez~(Vj^+d9I2A{g1)jFPz7--)8N z|Fr)kL9`YKIXmW>4n1-sT*~L~MYh5{=r+&dCmOgn{Ce@? z{B!qgS$+BEGiSmKWpQ)MFBKPmlpc6s-RN)A&aP^_>$sX(A7Qje`wGagj2Tv`GgEmG za@?8LCjZtt_r8>_f4{Vesc$^m>hLti`DN0QC_E8IlWo9np#U#5luC6_93=={*`guo zPc1Zi-v@#S@t-?kn_~o-xsjTFP4{m3%H&0IoMD3iAcHCvNXr3Da7Q-ibDzYiv7eZu zs<}Nr8F1K^cd478O`F`t@<0jTyUkiw#Q=8vj3ssw1obJfnf9>u66eXJV{l8)#Ei7_-)01yZ7U4jk zB=Xf#G=wlIG5`}Bndny;^X<1!!+Vr{x!ZH^_$S)6>q>|pS6kK`5I@r}2y^ar^1o}6tRj6ph7995f_V z0{#L{FmE!AqJ76PtAJrJmC&fUv&rtJ)JjY5Z2nyjx0&cPa3cyg+Bg#a_YHUQWT<#k zw=s9wC%g}pb!(*wY(~Y2pSt|Z>C@wwGDrc0Bv!-fp+E}=Cn|+>+>!#rAW5>4^NdO$ z)fMi!0l0;9X_%sIcowP92P0uOt&E7UZcY`X3yhv36)ER6RwrBM?u6>lo+(_KDsFnT zEhx99wm}Z-h@?E*0nZtoG6klP)>1!+%ydeo0-6?ajhv+hBOTIvRG=h3XJ5U^D|22v z{>~9Rl6nvg@POX-lbrg$VE#msyj?rLVcFtUbi0SHHpk=&PN(7yYfK=m zQ5~`)@>|{}X8W9f+_!jOK!<%+5ElJzQy}^4FX4CrCqk91P)md2Jb?8~n!fSwz>UzJ z!mb}^p;&8Px2OP=PvrVOPiP|Wz#aPNc;e|7Li%n#d-m+~qWMJbE83EL2?po!D%c9K zhuJ|9GVDM!JX- zXagD4aWbq&E|5YTgT?UfGu+`|`dNK`HgPBu5ai@#vpE;Nj{XbqK7&eS6P!}axw!ev z5>NyX4CDxh>Xl-$;v@z;w@=YwT?ckDd+m$bTuw{BcjAK-VUl^7A{BLtGE2c@G%u5r zW1_6pX$pnGE1rdl$P!=halCCBOxG~vbT@uh?;Ecxj#TE1^!4x zhg>NBfX)gm7JJy1B6viKZ@HLVB~77O>@1=l0oG<4&?0sN6H+W6h9K9J84fmx9qBeWZVAZ{lFa}$r$J#Kz0;D|LHpo$ zzO`mQbps&eSA=o)vR#x0sE7rD7WjNTGpo&iLz*uHPn9dnilV z5Rx_tNhv1nCGCB+J@3=p=KkG(K7TyVAI~#hUSp>Dy1v(SUgvo%pW}0U4kbEQo-}k` zsR##z(mDfoJL0CyBE6X(r5tVv^$}P_kWF}}>_CV4m;TR--#CJc6w?m{r~`UyzqlRH z)`$Ycz4~kj5ke7)%BOkV<5TGDPZ4!}jPW}Q=bvPecvBKe_?S!En-*XkD6a&qX9Q_n z$wU%jKdTghX8@+Pah46&zJRQfM99VDPHL;~>Nr*yYbRVIp&de23 zDKYVODOLQV`hu(g9pF6UFovzCY$3?6kj1P`Rs5~9Sl)LG3}9suGq$bW`hPCcK!n#RjBq!R?k) zw0lj;tALuccP63M7Fg)d*meS12YxulzzL8RfnISvJFPrsKvO_#7xU1rMaNYcwB0Ir zyD#{|VmY?`;ITns6R8VIl|d{Yv%3?wrd@ZUS1zG z@z(?D<87CZdwxD=bJdKbH@kax-SIf;$mG8s9}I5lqZ`-KHn}NFYuPNhqrDF8+1)2i zvNEr@$-`5sxU_03rpgtOvRl-hoVRQ#q|qvc+}8e! z9d!`EmgM*rW8jgK0OfiV45l$h-~@i4BIoW{e5SFxySrEOUGL_rCf_OA+pm-db=%?B z_?N#$%M*(frf3IJ*w(?x+5uu-i%63~O(PV0IXb@1IQ|&ShEq-}?!I?f0YV*28$z=y z2-+<&_K(eAJptc7STj1_&&S8d>3Vx~d~>u!{6kKA<6wif>O(@&ojw4>{Ckac;&m2J z@G6*4L%?VQSJ}u9K)Yw6w&Jxrcg7QVtwVq1nN4onI&uDf?h1Cz%NBWhw(1n?(Xj2;sM^^@G~)*n_Uujl-unNb@RD5R4>Gb; zx04u;>y%OWwYfRMtM#i=5-n#FA1(fFmedygp{>~4ro5!&84!(zme#SKmwYiyTZp!4p(-ZEhRfBDdzdw2Z4DwBWMJ^A~!7IYZ$4|wy-W6cVq*RaENsvDy5c3*dR`c4Xuy@3vxZ4eWL2kW9Q zO#2hKd$^HMS5`5-^=aDrX;R-|!O7i5&2-MF$b%We_t%jvmk{rKaLfwW*EQF9A@r2TYhoypN= z(1=&vS%tMccj@QP^QKLk2I%4^JTXSt$PcZhQJ~q+$F@8gYnGuSMnFa0xl=?-+bn!U zXPcIfy}VC=tQ4{4^Zeu{I*$;B6lTs*C7PjJ%PxiaDS=>%B~<)q-{ z-N$}HhCP+0I`JvqUgYiDg|C-cq~gX;5boPN+}Sxh(snVLyk2R&OEwq1y|vbuV&>s= zk0Q^fTR6uc>8mUwn7VQ;xE%U4~c0`6Cu;x7#fK{ zYLYgvsfvo(h?=x^DJ4-^t%0p+01)na!U?2bWoTMt ze$^o_Tqm{GWxA3h&2&~6IKeT6@?ivOdM!0$+iP3{V30fyZz~JG5EeEZ?U@$YM&^7u z8Tkp94%VSp{FQpWBsgCZOeuQ(oU7*&ieK1nSpk_`*jPzyL7~|6*d0RH#|GPtFyeI_p-rfI5c~DdNM(2GIWNG zd76@zNMaimlN*Cs9UXcH{H)+F$PO6roFWln)0T|&uU@}C@a(@2t3Tw0j)$#n<#| zX%c4^;PN@cSyk_+fou6G5q}x^Ats`qcx~rY$gzD=h zxu1R^i2*cnC9Y3*|3`#eA#dEEjeUp$vs$PFpTM%CfJJLxhkMoUPdpN{)i#{dT&$Zf znMVV2@CMKF6(T4VX_XSgxzd2CgpEhLP*2=enoee6+Rbg%f8~!TZyNe7Wn*NJ2m14=z)Qh4A+E!8T`Hadphj3F`F&iU5;RV@1aWwnAayeZt`=)G z53)zwmtO5(7RCRgsHb3@<=mCpcrXGIT4Ejzl=oB2f0OFbBlu=YdY92gHMD{1;c9H{ z?C!6Qh>VOpcm8~#pZ_2Oua+fF+#{pFa?(17*?@*|=8Z zD$@GLefb@A@exMC!H=TBBb7WW-NYMkPy&x6NccZ-C;*BVk;=kG7=u^6bT#I}{8is$ zdbKlnvk|UiyL`(uc7 z@OX`v$I}h-?UCr-b#`_>$6glMJg)VN1_sP1PggNxRtiHxPx89MxWJe(W0**r28f(? zVu+E*QF6W8TV;7ura9{{zoBiVp%<=Q8w2$t2^x)RY4txIBiFok$O2mq`(g_VgP}PL zdRXOW1-(#lV&eI$E6mM3^P1tEs_Jb2-jx4A@A_@$11ln|=ORHH=&PEQpC3v>J>19< zq)IyEzaT)W?2hZ3@S&!69nDGIYrvgP)!woYhd-||E&!CRn0iM#Wbhf5i@u+n8GgM> z25g1w9)@j)J)S<_tLA7fs6imfmp~q%nN+-woF|0aSsOw-Yx><~CFGbcxP_Ts>gQ}v(O_xF0U zF3yWa1V89F2cO4{{Y0VoKk=KUn%c(S8sCGEfft#*_FQR1uBJnG_q&`N$}l=D^2t%2 zOY)apzmVb8Yv6zZv#Iil|MmLyagfC;_uDD^7t$oOY)fd?nM3bx-h!7eM{7=GB1cBQ zzzy9F_n-b=;MrpLoc(xFAv(1}$Dd~)y9LIXdf z7lS~o6iE*ozpM`q4$hAAbf@GBCm=}reYa(WMsVBiqe8l0#JM`gzyt0%89@;gO0dDUk*W| zPZKf)54C27mBO+|GwVGIXTxB%Sm{yy#DmAyDc2rwt!jz@7wHh%Osg{WE4QWwTIQ|6 z;sSM?tVfNW+15BQ=iNIEV2p2APve&Jbs)L|8K||7Z?IQ%k!rsx7MeR_gtHCU*;zd@ z3bp3~-{1IaE?g`d&xJ+zt<}|KZgh$*Qd&d$#M=-Mgw2E=r$i0%Q73 ze;Wz*e00Yyrgc#0T&&w~HW=?+537Tvps=4vXj4g{MIuX=pgwy8cp{zTI)da%vSKUJg?A1*U`c~bd=d-?6#*CKne?9=|9z(BSR4lxy# zW}|tFw@8f+wMsoWetXr!of+~&z=n!M(TqlcAaa{t`A8oer#tNeV6?bz^5_r*E!G+) zY=@5}crc20T90hx+Rj_I7Sns14C3UoAsmf*ZU#d7DN?b8r+TN=v9-_Nz1w(I<|Z{S zwpa>1vf>0(P?cm-VCLSmnoU0^lN-%eBFousZ%CiNC-5ilf?gD*Xva;NoS=0w|xyKB=vPF2My&%IS7;24^~iCgRhy}(JoIN+-XL(IZ> zGjycSr@a!@$D<_uACvRMTNW1s3g>Gy*w85_CsbW6{(>QER;@3ujzcV?7{Z&8AGoNE zfVeJR)UK*AsN`p2EqXvYc;m_GbY*~shIdjq+ zUY^X^XaAnk9QtSIQuNCZfU$y$sI%?M2UCmiPqAyNz+h$NuOpK0C`nkHcIlSvq&Hx`5 zU5;knt@R1Xy*LR#J$xJ>dp3Vi&3AjVDVuT`FLTZ*ZFT-uLVyX7&)*dpf!EREBRWh$ zyUo9BGJAeA(Bod!CO(&a+kTnwR{Rog?ML&U%Q>xcDD=ywXEt+E)LSAR&NrB;@X5vx zA1h@s)Se{}}tGt zai(j&LLy`j*p})7bp)4Bb5p=A%>rfqvbIxsS(&hv5i8H)VG>T8`Oy-N<@&fk@f8oo z#)>$Y+RG`09UI2Ov#6{UWvc{J8+G?~8IShcFE|Ap7-4B?yAyWugL?vw*(d%khhPHY zva@(9)5PcJV-(^yFv_s0xt0B>Y5VdVNMOlMi*(;ssW&{0AVz@vG;MLmH1asZ8049T z#Y>BNZ`>MKGZkpu$2;T-RUM${u}%3u2Gq#Apde0d$O>ar{5}oICx1A}YpK8}tXqjK zui0KIcKe#9Kr$0I@oMC56Du)jxJP_7@Y{4XAu1>qC*Hk*p_&~{0vuv!92509ytE$DxkHE6~HyBA@JtU{!mzK1r- zrSrT#7kho)-x`NN21xMiEnDipR1y)j2Pm|B_(?=>ft(2xXQ{(EXrJV`#g>)EBmSa_Ewv!g=Ui0L<95p zi?-Sa9Nyh&we;YA-4vJpcqdW&;EoTSH5;@wk5(UD@3=YeO3RN<0nuhfuA8N8hJ|c; zV7>e1!>8L#rS_V4?;1IFUBHW%@7&tWOR|1l9(!@cs)A=#S+yxooC7Y;3r4CeMbgk% zzES(koguxumasPjmA&JR?ewhCs;Fol>-O7@$%BUuE(MOxAjlOXjG*F8g@;_TZIT!v zNrOVsm>)Fs^{@N*bRotoqe{h;2!ANf7{JeYu~$klX3XLGW+bx2k+K4eH@f+4v$8&(_|} zDXiY+OzcRx9%DWWzh&9DGrvkGu{kpei`H8)@M+DOHTO4u+&OIc@Y~Qhoh+SJt(q)U zP}qV(MNF&+x`KR4=zsBqR5WjVXq)KW7Q=V%eE27Z>GHvYJ<$>sjkscl6aBtQdlH1C zL263MMcUeM=|a#)vVY%%etxm?@`q+}FZYRKqS_IR2o2o~^?7gyBf}|6N@%AQt;z5Q zZaco8$P}Bz82Jes@|M`!U%}oEjjMHwoyf*E8Jr4xM^LwMh9hb4UV7y>PHB;*Mx=~K zTZ`-5Ide|zFyO((E~U06G!aD2Jjhe^_Ye!G{)@xSqR!wX?X9h6Q2H$^EzJPL7tB`d zFmHK;W6|l55P2@M4#~<*{o{KiEMTC>)~$D`SvxxFYHAAQaju`l)GQe(yKUP{c*t8h zmDXR32KQcoGJ|++2nL`@%N>f?$79B<2;UrFZSjU(E7&Bpd6C%;HO;MMpFjI27YdCy zY+x8P(Homy=j2>rdl_jYpW5Q$VrOM#2;11Q){s{Z1>g+9A_T9=Uhx+Cq4RMN1LWjh zQJF62qIBO(^}zo9v?8p_`>^P4&Ncc+#R|ztahGheAm190e;#nb;NEJX?)+8097*n# zZ)4xTd^t2eKO8wFo{VdZfO*fZ4?1z;a89Lvs`b&tf+O!84@uK3cmR-XQ$(HLvSI@`Nut%h4UC9xl5s08rW<|SU zzR|E@!|E8)Y1&JE(gM_q<$CTxAL|?v{3E$Z6_eo^oAksC83+WQHb)8Zt9|>rVKoBN zeXa81{nk5aVSKGuEt%vJZQi$U-_22GmOHZfeqqXmN3$HfpDI2=@2y=Q=6mMw_uq%1<4CAdX@@;aslFZlM1Kv3&+{6BYoOVP zMtZ}ID+xnzvQ#~WalVcmktQOYOGw6vIk0WUu!(zm^y*cPX1U)=Cr zM=Qcek~^FeI=_BPR;;+fYo;?mh`l-9J!$ZiEMl0Vpt5~g)Bo$Z&wCWS)^(Xj?XQFx zUF;UMU5&+Mm6hUH)(ggjW&9&g$SZZE$M@O?hw^3^{sv2Rq=V%-G825(3lgwL{S>ed z*!W9Sp+%oTQ89%mq4nX60BbDmz?O;Hm|yH+7|BPb*>;&hgI){uB^;dSnwXnwQ9Bbt z<`qURl)+*c``gNuj$ZnVJ}?lYdl`x+#)H^41k}X0)rTkC`n>|p24OQv>dqn!H`!0< z%$VQXIEDR0Pr{3s_1f4i!YCn8Wls^as2C;;iFhQsaRkeK8zz8w98WHMxxuS;U~T_A zj;l~l|C}EmP8yTyp8I08r~(@V`EF#^;f+Pv_;t=F2#D z-Hvx-GcHE1u+1}=99_L|-Rq7etpL@H8(Go(9uw1`Z zx37tRNM>-tEfbHP1C`;6W{c6@P^lla6`^V7_uer}@J&y6y3`iU72FQYh*p1vqm^TA zT^_bziAB_I(k~c2S)s>i>AMZ6Axq#Q<%~xV{SxPz)(pum-$Zjr4=JeQA8bj*vnB>2iI+iu3kTi}rVF+Kx7D5dI0OnqoxYl@8lBubs!g+~U65c4TWo4Q6{ zXNz$f7jeMpOyKk@Vg=c^dj{FV`Wc|0aL6@f!Bb@>aPq^G2J+oIb%gCOVb}SPSNZwj zq)u?t_oNzuvb-X4q8DB-V#Bnlm5|y`>L~0#bO-|fJdT{@4kIVgV2_g)`Vp~iTXNgx z7#n9o{1Psg=C&DD(s=6EZ0>|2A#8CG|ITKURvv0&ZLNj)DUAX*q!b9>aMtKFXU9A= zT6$&N$D6W#C7PX7lK3YiPXrdg#LSY$cnb;kB#VBHjcD0IC3VLkGg`0mr zU|}T2Y;ZWnj=c2?5yDxA@h9n`w2e!ijuwjg=OJs(r`u`a7HRy%GRHIod57#wv8pG4q;0xYoC)LA#X&Jk8mzRMm(x= zYTn3Vx27+r(?Sixk)Ie>k=T)gBqTjWSR}Nzy9Xr*=`bP?0^#YC4k?uaP$2R#_ht4N z5ReX&Vjnw2iQ@Y4t%^(F;XZX3=y=rLo2lnM`%px>)gN5J z%^&vS_;nxuvSR3KD0CNLUOi|1J((dCMvA?A%sin@eevQm6^WLZ%NF0{8{aj#=?f|| zvlqSf^eb`Qqp{3z^uUEnm-d@rY&Z)oG2U>(oh{ms0!t2e+%fs>xH#uhKVlpCey{pW z3wjW5h(JYQzk)ne2Msm_aZ!$IYp!+0@sMB3Mk ztWUfgh=MW;;~0oDQ;7K^m^A}kyYwG-Y{w-uROKtYu_0GDZYg8Ae$IvXsmqry7dmo# zpOi$I(o*@i=)3e9y&$XbnYb~WG?OFZZVVo51fsh5vC}70S$X+`1GE>Jm}qafb8yFw zAB2+MyZc+NNX)dPrg7=lDJlD9wF>IphzqaL?RKN{65H_~%HW~TUNC@Dg|LiX7N9i2-lDJgq91R|DsLfP(Ic85XXSy#kWq+W7j5WTOzTYP}nR3FYv=CKh69j;5wl-h<9znU@INM=+h8gGM`9 z5KRZKGcu$nJR2F*($ccG+)~DewZDGzrn+lv-i<0^M?9VU-Clis@=Na#J%^?GtGYw(N_akPV(>hApw%m6@4eXid^pJvqeU0ORFvx8(a(Cold}3I_HhvbHu14#j(hA%w%YVgvjzR7$+Gu1LT}46vacCE?mtUT&Sa`lN<1>3 zuXyXK7IAW0qa}0Z&$qX-dTeHumXx&be*EzMS|O376vAk;&K0#$KXe$vs9+lBoL*T3 zBvNirK9ty3TBiDw*V+2Bq)7yaW~u=#Uhz@0A`f>Cd-`++L1dy-7>t1AM z%WnPlgg~WuKOmu(goG&$CPbU8h{uK2TyjGp*rqbnM>N4yv`-j6o<=W&)i>4XG@eCc zru6z;fQQF-#-E(a3$q@0v@-lKbgRdyhGHvfXq;ixP3K(?(E#TV85{eGMm^B6i#dt! z(ldp*2Z%chqd@A6yerOq=t6A28Y2x_4o=4N0nW?gCjNI=3 zck7?N8GTs2s#YS{LUgBJti6_M-936ZS+=mVh#2lZG+f!BXpfH%5^wUF7gaDnSlWrgPWW5?$%e=A3dr5c*vU-}eAZW>W{>Wa^Tocf?~*UMGn&qKMn7K(e` zRyN#wI0{w0i5^Wi;2@tS-WpANxfnzRDqT=eKw_%iY=50(&^&7MbWj-~AE+jC>RM<^d;j30rh~i7 z4jOb|;5y6O%Ndu^H>3Z}e*4#tKk1=wF*Whv*3d~&hYZtm>~5FQr}H}jt(g8YV%)gj zL|-qBjns$wZrS8@eOsd;j*(rp#^118mt7dT?@^$mQ3*ZR;0P9j-n&j9viqb&{(Z zMSCQdqz6euO7ZmX^;Y4Dq%ee>-3y~hvfAZk>;^gSeLWd z>U+&6*!Fj0vU4lP^z$|CIU*?Pp_bq3E=x^R{Lgg^paoZe2*?y0MXb3<0@+xVp9OAM zl)7D0UHvpT$=rGKf?EHo-j-sovo&tkC&`JuR*BYU((g&0FYr`Yqn5GN59=gwllXW8 z$7Vohrbo0aDR9%@7w4^SKK|ur1HGJ68LTHu0VihH^4%;Qt z-z>ArYEH!)8hg3TYcyh9ij6f7^=^xzZ*_8>L@cKN{3X)j_4GpM|CT-QP@>|M*P{T{ znnmPQ>%V!^#NeU^22uUtel2vZK^QU)a>st1=z_$d=>R4FZRbt?x;=e%O#EN2Up{=3 z(c7z`?C0G2bqiss=EnvlH$4W~EM7a(eUZiw?ig{<^UF}+Lv7KB2N@E;A$8_3iYx|4 z{j88^!|EG#R-eJSI7^q|?vVbR%GpLn>iyk%B+M#XIYw1gXp&fyDv<7e{Afv*aS16& z>l=Gt+sz%-{D-B?&s}!ab~&v-H&j`X1A%k7?^=5SV_cx>M;$}tDF`S0F(Ob$UtfO0 zi;uRGd~eDcYfQONEw<|CU50r^7-w`RipN+E2=eyYi@~(YnIw9y!4)y|XZ&?e+B1k% z>VnjPK*L>Dd>VrTaw1?DHpOM~G6EpFqJ4G3$O3mV&nEf>V~~XV8{S_80@8qlL)^ zt-brX}KXBWti&710kHw_F{)YV;qSAV!_W1ju+)RpB7 z4~%{)Dj8)mcXC9lyfYqDV!i0G1SgB-cWOn zlDi&-BO_CC*jq*Gxdr^H8?s93w45W+N|)k2#j)ab!vIxINdpihj+ z8nERg-s*&M(NsL`>+I}H`1E^$E7&>|@B80*8-l_!8gl27Z)(f+WSa;qnDULV5Pa(y z{ee@JpR7KoHgKv%DHT{%_xXi@jQ6c`R?qAB>N^w?d`Gu`^F(ewuk00*8+ z#(iLb+~E=#5KMK=Wlsj~s?IawYFc`F!F3Up&2m|_rt40IMj{{n8r5I`)z8i8^oN7^ ziN0{7_JMM`8XA6eZ<&g;05wm90bb?iUWGn!V#nm9gAy_~J+BrMR2mFSwp*yMp9ra0 z($EPTOPU*0@>J7nj5Q@0mQ-yX?~SH zN^G(2jUMgBLTBeenYp;!p#oTBUgFyjn^k_m^y^E zi!^=4+$OuXU1SAddQC-KOTU4TVCs1hw(y_1~3iO_~88mIh8{2e(266c(@DI)tfle zhAjv3tCj%;WZT?K)BR;ZZ+j_nQ+qH5@xNwk8+7vKlBG-8O0!4>r1K>naVM02 zDn?p(pPP5j9zCW{8r|1(cs3azgmm^?zb(yWWp)w!7sj*>)4bk)(a&{8Nq2OD*jSpg zG~RfQBNil}5ET^_-`}vblWyy0bQLzdzyBNQ5Vy4V?VIv?kiWP^8#Yu$tatvUyJwh3O-uLg-I+;owR?Y6 z!`L{g7_SIZBnjKY0u#gx3=#^0fig02G4`R4fvMP{>2iNt!J+k3cuN?5Vd*;__lU;u zOOfNK^u;pK5dVTnb9GJCYieuT+Po;Hh>Tfy@a~-mF7b*dScJlQHxW@W%$2YSaKl_$ zSsiICK7F2}VejU)oYxMd$PbS50{h+B{$ZoGmZs(!)ya>SH@VZA!hf6<-Cm+VK|(~d zhR*k80V`5&VaE{&9|J1|m`eTK=1}5U(r$_=Mwotw(+Q={qAG%e5M2%YdQ|}46I=as zpg@)cE{!N3Ibe^TJ43a6YGdNuT5`i$wRj|t)F2FS>CUD4zr9*C+P zIOvUvMfha?#m`bEJu=i7xg{}}7%ilLu@;nK{3sCE*o0Bru(O`<^Ua(}p>rZCdz2;u z3!dOpI6)|S&duFySj#zEO?yiOK8ky?^D1J^shd#_k+inmm|kkKW=LSU<=q@HmX+M4 zjCTsodW`ja@L;=G2cmKTujzT8p&WgHssu1HPG3A7K128(vCat})f&}Fl7ws(#IT;D zZc&|l#sW>Zb97wl?jG$LzMtrTdoPP+s@?^Vi}&%~1{DMNX&J$yQNXTK^RfBl1HS=m zkaCf;LA?M{yma^OGHReqo9U6fS`4Sb>hWV+lyZObl{(_SUOA!S{vag(CnQv2I**_bVTU@2Fj<# zW{#;yei0re>K9oRr7Ut{e+*JWN6%^J-~DwwXpT!tj>CAtT?q@D$&o5@H>7@7e9*?c zp9;V?r;)gb4XCl}vOr>}cL!?TcdNflQ8(e~OdFfxUVhmQr$MI_^U7z2m1eRciPDW*=E9~dUEw=A2%9W4gN|Iqi;_Q(b4#& zZbXkR{Hd}?T#Ei9F>QqmE&1cdb(=RY67^tIHFBq45_7Zhg;@%1Uw#rYXvMWcHVqQO zA0)3VJ#a;zek}`_K!UDwu%7#yl<^;(Ckm4~W6X4cWec`kWTz$g+-$@akUmS1d~LKYqqN2o*w(hCq!|IzOcs3;;|3RtlbVMP8DwPxtf$nt}PgNikk5_OeblX7*{AQ8*+vcwNTiFVy3LAdw{|VC7+?Q9Zjw+ zZKV>D1<fo+K4 zdvBJ)sdzzENrgO+K;=ed7Hmx*@cE+F6W`t(KbjgpCj$k;EZwS@zPIPhJmXgxZX!ey zF#|AM0(~#yR7iamk;|j!)@DqZ0$6*`xwqd!2jaDFHwho5jxjUFLFSK1dLo4Qw3w^G zhppA7XmN+aN+Ql}fABWzTuB9tSf75j(Ch~C;XxCfXH9U-6^=`&1x_A382bi!BvEhP zEu_Ly;+W#IXz=q(9b-Cl=ov4#0KFGbL}fDBIUsH!c{hKX1wo*YLWa91yz~>uJkBWD zE$7DzjdjJp5szcptuOTSeX?4AD_%!AwaZBejHQ6;8dB4IEJZrW&La$7*f@wH(I~Ll z>(^B^r_H@+PLbLwWuvy7fRRC*oy*^hIe+flGq$tcZ9Akzy8Sdu*^aJNR(t`VG(rQ9 zb_Q3tM2kp?0?+Q_KZ`1d{G@Gvk{c6kiJ?AJuV7MWR9>WX>Zawd|4}NtE6dZKFcU+D9TREi&rUr>A_Y9*rRNjr%n* zHg`-R^Lat_2zD*kt@WQZ$KO&$h+) z(Nh|qO;u{17ezr;RM+DfQhwXHbWtlEqk=FaggFIeM+8X{$5X5l^z!M)(%pk}ppUK> zL!^WtxS>aJtt7?)pydh=BziiATF(O^~8GWMvr(>6ht}YTenxSo~k=sV6`j3z>sN&m{Rlr+PdDsg;-ORu{ z81(UDep_X}Gvn@sWavu=(-XK*!F!PHdnPa_h`R0k5f2^~R6i@+O!Yo7#SYYkfWc1n zmR|Oo;px>$ZL@f_+Lidm&ng|ks3BMyX}vs<@I)C%02feUhPFK zhcN_(lV`=;JX}$K0-i`>0TrgDCJSanx~m5*So+7h#O`Cxq_59^{CM}(rR6)DM=t~n zgiHa9pn0g4u5%-H9MbF-FPm$dTLJSNx2Kt%P8n1k5=`zybjlXvt4j4Lcv5I6svjsT zn?c4AX_Fpu!+yYDwUSTO+pHq8&vbd{p+Iorp&#lnenoC=_b$6?++x{j-O7t0I!*UH2))AkO2|)urnt{njfa#T=#9n~a;{ zc0V^i%-nB(H)o9RlbV#zPYiQT?R}wl@*;H<>zP6Bq54T!h)S1aHL2{%hI3VCtrBCh z%Eu+X&TL5X;ErNeZb)goZdF`hNEo_1Hh7DbsJif(k$`Z!XF6{$hM1l z?vy9DKl!vZzByQ_v@yOtmd7ITJcbLTK!8w62?f9x@FSA`u7UibqIDx5P`!0e%QoKt zP_t6MZhs@g#_OUDIZHE+DW2rkI7`!8Rp03hi@tayB&2OutKB5o?mAUr<}ZwjLT)U- z*6sMhZbqM$8;l7^K2P01(>^KJ{U#-1vP5;`U?sOhV-0V${yLYy$i(*WVH4ld>d$*9 zD_mW5+VIEESC`tS6im1G76z!f-E^I;Z3cyhbfYoH-6)&K&SaG4#Sce z*TIC~vaS2%6WH}J>1Qex1GoAa79R|g%}T#-_&P#m;PDD=b^f~Ko!#wW1o@gJ^ zar@LF_c$e8h4$WSAM`m=qPsSxcD|LDSCG!tJ9n0n7AbcX!kbOfO>JHcB9`g!U}y$) zRiRD@hqa=X4J0CIs`r2%p7X9H9QvKuomgkf*SgXhiS``wA*eA(ou0%@K88!Dhkp{hxShv-`yeQEch*P zw+JJMxIs*R;c#nfk02@#;|u{S)1w2orCnWm<)EC-8ODDs7orWPk@Y0=v;8~I7H$al zeB;j)eS=|0)q*v0YPB?HblNoqN*f+cTxVg#+YU|f`_$VrZ@kc{Alf0#djoBU5k57i zmiOXjJ{WcS)`7Nd6alW7=IuA?$1jYR@vJ(3YP-#Pm~prZ!KCMT*{2B5bVfYC<-^*8 zUkVBd-@sZ0b&V1tcnbWDEO^D$uatAW=73a*s1B%`JPDVGKOU*8+Z=fOTE{O14_O|Q zXL5HKc?`n*vEAd2E;qAE{iDUGZ^ipxVN>F7mFg!XIreHXA&7b&I(P^;zVE0n!v`d& z^=sAX*krL^5_-_8=msH%cltH)_YSLgT^E1;^Gl`U-;ejt4}3d(OTPd4?*~IC5B^8r zOZ@ak*S|}T|9s-#OZ>AG9sXU5|6i=d_Kz;ng|!mQQcABe{gRy=`uz8?@m(f6AFg_p z-XlS+Ys>!}wzgi3t&+Z}f0_Y9C+7kl;oEWYq^>|lA|bZ3yDa%hHK2Tt;{Y{A4GQ2S=_pL&6h&@Wq`cAe`e`1AS+0A z@YeqGK5m+v`7HD8!T$4)2aUtwEvref;w&&3BWW*O<1wbU9_OY>b$W*+Erm)jGZsx0 z%yB3{%tnhqN0N8{&z&^25d(@BM;b_3fpU7lO83ffeA@KdoA&qP-^}wu!K9P&-@)9; zEl>Z?+vw1uMxe-VvOU>4Ct6M}PMM^x=)Ut@`~Q52m$QocElG=kap&kxF*}sM%|bDn MKF{#_)KxqGFTA_gX#fBK literal 0 HcmV?d00001 diff --git a/8.0/manual/files/screenshots/start3.png b/8.0/manual/files/screenshots/start3.png new file mode 100644 index 0000000000000000000000000000000000000000..62ac5ce519949071565d32f9d86b73734c69c009 GIT binary patch literal 289560 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±__=McAp zp)nA1>XBLuF=xnH`$beZ5_-L(pFX8Q&PM^Ghn-tw`rVXmp=7b)!vH6MRTP3otg?9q z0#54A&xw8!r)#GBeCMB3oSeGvg>F`;Z@Ef`&kb_+tetE549oE|i;5BNTKamz&`mv{3+Ud9GhO!gfzJ*XCD$fWRMB$phCpn> zVkIJtA3DIreH`9a zuD@wD+u$13CX9GjgKjYap`EvNQ6EQlPeB6*T2ZTM9b1s(4(J;MOUUPcBy&Uy2G`c# zae6!0Y-6f&ktzExmTQRKw;*QIlZE$`y`|HEfea|#(!(H0&oQcS9RT=-1Xq)XA^Y!| z5KFTSmoY#y1ajy)h-=FD9w3rEWI|~01Db=4&9ACbi4Zqbznk%^7#Oj2byBhL?~gNe zH{f7^NDQs$u&^+@IM(#q%jXjonq@j~p-|7{sET(TY+}Ola_co_1g>j+504wZzPIa8 zm}_#l)_G50b#wC>mEcDAx!#v(3HPet&ood52HdRygpzrD7ZEtw9cI%Ggf8#OO1x8A z=e#W~^r|n%*M)xYV34w80HO-bo|>f}0(p_@#5 zz4zNQ`{_}r0i)f;OpZmC%2J(2dqII!g-6M?i4}F;$8Q9;Pw_^%-YSg;;7)z2R4Cdb zbvvUW8w#(d3Bqjmep}C{KJw!Y9Wz&@fi8c+4&6~ z)dJd?Oaih-4RUqWlCc=Asdwp83>q3E+v)XtE0+a^ud;om02#^DG!LDe|9L!5TT;FTh1mjb zmsMuxn1$o*qW#jRP%WHS%aK68S zh%;Hcxv)}_h&PK=?sH+d*AL>=l$DFyNVnZ8nYxpCtEpSt=8HK=yMy7gS-1?1uQ#W1 z0&SX~RSVPwvRsp=)~K?K7+B^rAvCqb0uo{da!9#CuvsE{w&MN#_ljbBZjyrh{0I=z zzI^%ec0>gahLeE$KAF3$!@!&f6VQb(eaL=BiiERL49#@hG-42zGm$e{I+!N=Q}ZQ$PYBHa4uICyIN z`;6Plq0U+%aU%vxHCpy)Ie#_!rJzQ&_2~Jl{AsbVwq%?1)5jT9Jmcsd!G^rn^FTDDF841=Ge& zw;yM#mx-n6%B3`_PoGEOeM8mBg$r?VVmi2;?4`~YT;ht4%$WN1b#{B)K`33UiZrT1 z;ecO|6WR-Ri<-9{dZKdZCBTki)pAXoK59mRzWwW0*vIcuNWh(#+t{eG6CuYOomA7L zsmoXDFrdVMz|#C5Pxo1Rat+#%fLlO+0))~_ywovWS!?yx0O>rF9h#GsPEhH&9Di4X zFLiL=AhMTf#&O`MtcXGJm{w|&b}sWAr=U3d)A0>wv#$XHR;%iBv=Xl$Q!YI9aI~4r z*$gqXu8~Sj`Tq6k%NA0qLxFNM0dD)7 zgKwxftVcQ|9zD*zYNL>=Ju;hay}?g4Q@Y*DRxmO-$&1?49_Bv@mVRo6a`w%v*k4~) zc^ZidH67UBSWWpd<#4c-Au9TeG+1guj#L-m7pZw?0@kZ0h> zvS`VVH6eO#E47_|IcylEBr59nb(?#k_4mr9r6&D^od{lm4jWw`?V4Rsu&OCGI-x7s z$x5^uB*}|B4BEef#QUnmv8t(BSnw<~r-BP#+2MVdFeE7IO&a#vR~Zq*&E4xR(g*7< z>-@{PG5yl^*ofe)u$At~k<-WxLhK)il=z!RE$>a})@jH*1&fUs|dK8=yhUEGsB z7%=#~qPT*xOK1`XMGbV0ZmsV3tRk;El1o!>>3j|?;GD_4#Oa)}%!E7T(qD1IXL4+M zn$MafK5HocUF{|g3JqhCZ?p5HBM8x(!zL67!SeKz&5}x>ZSTmczWXFC}(DxFRw{E*oN;v zrRplI8XFtxu>#RCI_snC#zw;N>^72b1Q}uIWVR3@GlZRAxaROc)LnaYHlgl;&mFF3 zSm^mxXoD4>6oE6se~acczi4FpQs zKXEG-UQ z0_65KvzWH0xCYr|c1YIP^w#iFsR-HDUftGZu6)U%SsTm2Mxhll@{5uOrbj2vYw22d zy4Htinr)9zc#qhOPCO6aZ{R|*+i#)S^{#T3yY}>T;n67hN~ekSm6l`|C_yy1=O+8F zoEJF#xnQp{_xctCh+W{@xsFIssI9DuK>o_PMVYt-( zJ%-?i84|E1|5!ozZ2hwtIsUiAs)FgoYxN^)i=*-bvKyZrr9~qP>NZCWuIeyv-BGQY z*^5t^a7_~Y^+DUJ-q}yv!y$^Z*hWd2H)9jYSIL#g<9SxXpU-T?zq1-Vn#WfqnBORn zIx?nJzdJ$0wGvpQwYqAl9K%ZV`e0=uU6hy8(7a8R6BQQ9HW7x^60Hft4sM|1LUU_! zo#hi?7RUBms=aESpc?*6Fl#7QKtqa=umzy|*; zQSqJKH!#aOo8GFG=aBRacqn~pbo6N*9*fR>+9yaI)IN%zERb>b6wz`0$yAie zA~u|N^{nS?Wju*&Xqo(1x;B4>C^H%T%=4lo>+$nCKO+S_PeS%F4jVu19S$)&nGSQ2 zjop*894|I-uUwdzog?Sc7~LC8+C|BfR|xvp*X{K4IW8leWl^7@=n5RJWR`0VPND}s zpivFn9l)?t_c&UXRaT}W!7FTP@*4ch80f{#pvNF@WIKfBGd2Q~Im+)@=Eby}HRE-I9C_I{Y z!)hEuq|P_$R7}mE&bJ$-=$u^L9jfE0)utmb{=@3Qb3C;%TPuQ?f~o0AkAW}4QX%dA5AZ>?fxffMM#bHe*zH}hH(e;>!79MsEj{K%3ZTRjmQQ#s} z3Jr}y^avF62w_Y?KgPZjswlLRpuZDrEcfqrBaFwA9nqQ-dR^7lGnx;u5zoJ%r!9c} zT5|HC)72Z8O$7Ofn0L%x10`nM)Our9=wD7a9 ziBR;E-Gt#f>zTSqZ5+fqaS+bYi-K~ih}TLOkPdwpV8$2xM1XGUmvZ;S^pk<&2b=Tk zS*dQD^gq@^AdJV~{tXjI@Gi~xAP@wWz@m6Pe!c^0{;#ucyP#d;3D)l^)fPiz0W5H| z5~wZ-IXu%Kq}+zAJ32U+?mXw|tS&-9Jb&l+MdC0zEob>}2ZNpl8P9+-4s;g`US3|1 zcEGHEZYQEws+gtRwun{fy za|#R52MJ)n_)ier(!gdRf`;?Z%OAqULa-QsK7*bEHf2};GgNeE6JjXjK_8-w_*9@= zXuPnG@R6E;SCZZXzwZX&Wz*pYq91ByFcUq>1py&FM~1KsviP5J0yBV2J!Rd$m0bj) zmzeD~CTJ<3ksKXtslw1&<+wJVV)aFYZt_9HvH+k27^G;{FD3M)_mp+ zn-Gi`#dZXUUM^s?Xb=4-7yK)r!zY6S04lH$D#0lxSbn!we+FoegbOfs2ZPwa`V;{F zz`-kLiGQzxKrqq++(FM#zyuihB>F>-u3`N|g2oSBWSA|=|I?K~Yecgw==L!;?nVM6 zS-HaQN3zI-h-bzl<<0uLJN8=~1CP`Ly@}UhMZUJ@xf0xQbCfvM$fr;8o2-8z4n(ZJ~?$gRI0On1n_15-x_SY8VMeiP1|{QqIp|4e5fe4hCHzjwB# zTkFq@B8*j76QF-8kgZkkL>D88-1$7K@G*HaIf8ajX+zb8eGdc zZDut$?Tp)D$OD2EU^^7m9Yi2Nf4|AT8S%4#;lfD9jK_iEIYoO6O z_aAv2)X$CP!ps6so{JM4lWGLm0r@x%J*1eDLYA#S2id|8Q zy=dKYN2dqPC8|1}j*`opbIqv~Z)DFj&tPC?5RQ4>mw-cKN4GUOjYKZ^HXY4utwL}{ zQCY!!aI3(2KFDK{SuooUCtsl95?h;b*&a?x2<-H-fg+dky@nJE{v8{Z6DsQOmpwtH zp5}un(a$^XwMC$R4XWU3?Q+U+mDMyge~M(b0}RKIa@z`*H2ioC^aVY5H{-F>SAHAo zb@NWyEH7Qxbg@N=Rh+YmN`e8++)&Tfhx`5&hf@rr>`scPOn{M@l2SNDr)kBO^opU+ zHJ{3^e($<2agL*si|$?8>C+1xw4Skz1r|0cuLl10u;BN_TJ<>|n`Sz?aS1u8T2h z`D>LW$KG}G0mKe%v1hr?#zy|N1m3^&Jinpe5!)Oe_-aDJ|BG$rECRm9B_CAPmWs=6 z`bAUpvugn@;e?S1<)20z`)hgse1}IakpHuS+@f~8*#*_cyqcezGNdSHHO}Yp_MOkk zY5DQGt5DCch#FZkp#m6@SaUghm2<>L@Q*k2B0+VaOHG1PLBqpr!J~{<@Qv{I*C!PN zB$+EgG~A(f#9Z1wH2J(% zlzaL_h%Y&=dI4|d%w+Ahm@}hp&f)@Z!7?L=9#x& z)oTTjHJJpjsh$6rl2X#5ay9O+lB0X;^XnJY_c0%Au5=hp;NRC(8RA&MJdYfDg-_@> zHQS;UU*X&>-0a6McBZHEu`PdHqr^<5jk+U zOUU~3Tv_B-n8y^bSc`L|9TbtWxan+lUSw-GK>U8)#Pkj7*xGO#=Nem{jW?3|RML!@ z;hXXyO%p0kBZq{@+=nQu##GP2-R0|?e0YK9lZ^D$Z$GU-Hg0oQ@~wX7Tb?`43=AG3 zl{)9t;H%*8^SI+ph~tf^aakR^l{>^vf#>TV_#07|Do~ehUOPBwpQy{cJ(uO@Lizi_ zI!7Ypl?+`X8M9OvB-pIq5`=+`I*Ls*o7skhs;a7nWlrnQ++u|ZDXyfLZuJ2^0m&A6 zX@TTk+{~D}2?HJh(87{4*NN+C*Ew$2`3^aL8?;qKa{1jfnp6)~X3PpW6Jg!3{S=Ot zQCE6XT+@Yg0B4Qn?h?sxZ63B>^=g5MgqREu;^0coAzS-s-Z|*5Uerq8cfji0Ot)K8 zDUd|A>0qcNZ+;S-%AhvR3bl2m(~#O}rtICkmTr3E-TaSn1p>xSqf6p?`;PBybZE8> zqpLi%T%44?B&zO&8}B>e%bnX-z{q}mE-1t};*~?Ls4(8u({6hD6K&1?-Yw&9s;Q=M zc~z30kZa})MkYvli=bEkK6+sgIarrPTtWi-O%u)B%uL^a*M9l>0u0c})Y5NqDA+$&e!nGB??FMuxi9maSahwi4`ee&eVXRo7; zpB_!?_TX7v0q?(UP(S6qsrOwvfF*O6TEPcbZcnAaUX&Z*bk(hg*-i)nr%>kj;BF3 z&16U`V>s4p%q~^l%5J+$fk?vFvE}1v+GWlh9hYI}>6icQLX@nzg2(e$?Y9~apbr#l z*_kLzAuK9-zIw(JxK){@y13V)v;$jdRl zc2WiaRK3*iQiwMn)GGV;bIjXvYji<7{>4HlS6KZ9LDP5t^?|D}RTw|*u~(?G2pFK9 zSqpH?t)eiS9?dYe98v?9C&kr?amcP-Q&S$7T}r$!5qh8H0iSF&LF$0OuagH+&l#5+ z>Sk(Y3Vev9K-Kxi4A#Uy$E>SYp^& zdZ|>p1KJil7UTO>OH|@jAz*|mDjL2t3K5Y3z3Yy%lJzp(aaiqu(Ub# zSnD-ieO-!{Onv?iQjMkcb;Zy`O>k_OA4v~gxuU$?eaFyxGxIz`Hq*$-BvVs@(0X;O z1Csv2A;ov*0M?nELCPGU~o_fw*DQBB1x8^~ujR5mX=X*MBRb#G<&4+d9Ix=)g> zwyCK1j8`48)VEbQ?%t4FD#8qJhCz2BYvQaB?e|t2kM)gb6D|7{=*`XZnUEC72v*b@ z)-W0BUPP}DWzw*es}V=5&vLJZV7ByO-IUqZ>#)R2N#~u-I5gIdd8}p_Z#2$0IEuaM zzxC^@r)wmfPn$LYqtT@{ygHoMU^>_F4-4|fu$u1~a%o7*w_+(A`SognT}SUj_3Qhac!QT}3Y~}Kd1iB8iJ0uneM&({R{sdySo~!n zcW1XM5cO*Jp&hnv=i-BQg1n4^&m4#Gxvq`Khtr?1d9>~`UH|<^xGZ{s5o%aBsq^Ou z)yCYctiMiAPuCZq|IKSNmp&da71VXiRq|38=bVgXQ-CiVPbd>oRZ=n>=ef1)hK2P* zDyvAXJOHZty@iVy=Rlfl3ubQm2q)cmY`?UGgbI)`3`tvk@8NgiKB>`F#ulu`e~UTj z7l`uydalVsIsTJ?-lJNP6zq<)w0LD}8Yc#kvw4w=SH((`e<@q^%HMO;Io0DuD7|~l z+I+QIK+BcJ?mNpR^7^;|Eo?G0sLaVjW#GarSEv=*?A)gyJ=UyYm~A ze_y1hEXAvHQVn^biTxf|WOZ|`>#yk7baXpkD>ULu2~Psuf6iA6igAAyv8YLyir~qA ze!23NPH%FQzU0`^P)tOx!)W%Y!6nzPzA7Gj^?B!C1(>2<`Ig7OZ0jV%#Cfe6p^?^} z;Hew&>Z-RM@iyjdp5<{==I0q%O1;7HL6L?EqJdX7K87}zBGT!3POs0uN-x!7`i$>k zU&C*08K1@I_ZN1yDETFD<6@bZgEFRBb3$PcQG-#_x1LA^Jt&My2w<%V5N zCH@nMf5}$?oA;pV6PXkZt7VvjV@fn+Dv1zN8h3*iFZZVN3769po`#6K6Ko){6((%C zwI;0SA_Ib+M7mHtmb&4jbZ6ZHMHPXu-tUl2((^$)M?AsPVY89E@RZuT1Lv9A!>NO+ zp*sUqVwU^p-~D7rT0h|-rPaakxT@5Nicm4?bdkl5ti{+lE1bqmggz(;*-#TXDPyX` zhoZJdEjSy8Jz3-=a|)Z&8`!7NKE~U`ps41qG;25Ikhv z%Et{H4w{L5&ngocE21+lsPE}%IinqHlfw{wF6&0coVO4%XcuQ4kANxn{JWuBUW}LT zjY*9tN;v*n@f_H7ODfLdxhZJRs@=-`+nui`5CcK|cstS5+L~) z>m_o`FZAAded}U&DS0Yzd2?r!EnPa4#>(?4 zvy!P`=a7#Oz>E@?y0^!-m6^LNxN6?$;K=@UfG6O4amOwX-DJlZc6CUerQ!889Q@UH zSSm&-CFYcgrY~2lkJqfz1NB$c@eOehp}L(LFGLs>uYY7KlSv2`W)aTHCcZb=HGA~n zW##D48I+U3_9o}Pe@^Lj!wWTLd+A0Crop){@()o{A2a zr$ozAtBzpDMPsg`M+w*7%t$%TsL(gIl~XThRcu_wN2TNquERD(Dn2JL6)z__ffdG{`Mp;3>NuC^!GK`J6Kn&t`3fo(%iu< zN*BL=(DcGc(EaizdQiqf zirBM@s&PY0>9C;lileWDp$VNLsd8}aP+|cE=A_3O8Xe`xoJTjRdED)R{RWsN z=FZtBMs`tgCWU_e`c*B-fD-;Uk&mbA+abdSCKzy(|1#yS{Q_AsSv*7p#o|Da+4tcBs`Who|p{rb*#wJ$yw|J&Mlo>?7E6VnZow{yN zbAq{cl1WpoT3TOe9-=(CJ;qteK={>Oi2rFuW-zVt&m4Q73#w&&Ba&^ekQ=k=iHXE3 z6E4h`F4bc>#ds+OmT=J#wr!(wTWBA47 zb$aCYh-AF+qDMAKG8+>}ZJs>fV~FQ;b`;>__av;@{`FLha($L)bxqeMFX?eclDz$2 zcs6wXh9U8KzI{Q=H8E4KBOatNMo#KK+z)EzUKf4Ps6bV8d|TIE;Ox_L&l%6>K7IIU z9wDpuw~J+mo+u~(tR8!Y>eC5rQxwtCids=+M z?C>m>1luDqn_JT-3skh9l`ZFpJ`S)?3Mh>!4IOc9P>JhhlSJFh$g*tJmCf&7$ln$- zL&-+IKDaJ*fp&oBe!k14jltb6N9B>y#;GXpj&-JPiz)*-j&d%2eWyTFfoYmuf&biB zf$`n;>XmaFX{G($0t zpS|ciO`VOMUAI-;#kRPk#;0$p4Lb2I(6xk>3<-&7JozIT^QaOAL_AO^GwvfofR+fu z6@&r416)OXmCJvDC`0Cbyxq_VTC*h(9XxQ>;AOXSZvD z3a4%DtHNqyHCU}!Mbel(<}Xir=SK0(%73+UdW>E9c<4c1v1MARd9p^GlMrrb<<0XX zR|bdl7DET867MX$zUVaCKVqdvbBe=^@H4hNMs%3nyhNNwzUNvc9H%)JIN^4#7s%=PEtb9K&lAA4;a`1Xa50U)=+qag5orQzYw-=+! z{YwH!ry1B{q!r>zO?m(F^Bel&R27CZpH(eog!5zKoear`(#f(>Q-%CNnert!ugFG+ z&Y^VwAs?HN)koNFY`zaZpQD%R+RDg?aN#JdU36qcO@@ZJCsmg4AeZ(L_!qk1moU|`X%6db|2`DFis8ZH)Lxo#iZ z06*I$hJ+^9>zKU6F>Xs`N>Rf+M`zy0lkuX|u^M;G@;bjtcad)W++JYgbs}SXr0Q@D zVe@3PMvnktqWtDHhL2ZWo&GO_$E*fQ7jjiAO*EZw5ILk7bSA&(DE;zduX2cpj}iXlqCi!5F!*^$ zg7U(|Omu9WgtL(3(D+#I-1-I;=d-l0$tmQ$vsfq+dAifmmuxD@kEv(ocilR1|MEE> zZqmTeMMXxAgC8UN>1CHcAKT+@@eq9a7hlQhdvSFQXt`cav&m|_{Y)=;yQ^V0P=Y_D zw|JOu&}ifP*Pi4n_sC4lZ6YKrP03VIAyr|LM)#iNWBWajP4#}S@;s>N@u5NcQY)9< z03%nnsMXgS55KZS=GA^l_9=n^@nNPrx|<(&bYhsg2{O8K(|frY@U&V zt?f=wT<1dCJi#6aR^2vy0T^zq|I9$YRqHn#MSDN{#v#lSU;Co#Mzs40J`9jad#Ukzc*=B={^TlqMx1Rvr|yGX{p3Iq z9p>`^Hv8=4W{FOp0t-B+n$+`LG7-4)_@P>lNXWL2T%&&|+;|lhLgD3SW%7*ng1`%8NnI=pOQ3k}B-&%ny{i@Q8{F#X?eOS8qg}$P2=> zib7)jWBHanRT;o8Nze$F8y~$#4I(KqF^m@z2OWF{hZdF;?O< z;4#AAlm{x62Nu^QYH1pJ4c{q~Cl zv{}}G>|V{uQoKfuo#ElkcaVID1l`6qi@4CK5L@lO6x& zYHbw+mE=3?Ywgq727WH--@V(sePq8f@azU?{N>X(t;?%r_L1D9FU7?isxNnMi8>iO!I7ctLTY1(r;bOI2H*8Y zXNu#qIt21OPBMAY>Mjb_S7Y~QgACo+p9(6}QIOn03Ruzv&whx6^-hIN6B`)IeovHt z*IL-e#a;1dyhVRs$O8ug2IDE}JX>o(YOe6Te^d8-RZVP5#>`HfuV#H$MHxbooy#oA zFe>5vT&zM6My`-eG57cfrgVpBC_QIvZq9sj80-whH03VN*0r9YNU0C?m(u*NzB}+4 zoWr|z7>98EoGlg|xvUQQ;H)SnGV$2xNXIxC*;vb=Iy?wfX^qUzStkp|yc1r7EI&~q zEqnicM$$Bz;dsxcY0o?#RlsGPY{Qs-PBVwmS2B<>>j*P&=gRP_@i^+o8x`3Qwouf? z@2&}SgPu*d7Y-qAjwPg0bQiU-OW9(mc{+Aq> zuW7uDNCfQTP52m2M*gLPv$H;lzGKS`_*h`i;#~9R+uEQ}vP`R7k8+~Yk_;fQ_;o`$ z)Lad;`7OZyDuCjlx^ChX`qO;dzB=vXW8>FPH$abM@dcQSK$JL)Q_nl7YcA0H1pJ-CN$Ol3Pd`luI;X9PC{VS0rEML2 zsW`nyFN6K5P1L|x{~J<{T>{fzPMXNCv+YeXIev2Jez<(lEC*AyP;7&o&(Ay0Fkd9S zg&3FA?HJ6o)+ABAZC?q=>d(s;YOc1HRR}D|VBe|xpfTUBm{85(lVPVB+$YNNwKh4E z<7WO&EcI6fzqY8&uZDXnN?KZiOHB@1Y&SapoV-;y^!V{c0Qu}Gxo73*7$M1%Ti*59 z3P@uztJ}u030wLdTdi|fyqw%L2z+uIXmSZ!=JHQM0EdIcU1ufDpc z_dx~tkO%(Fo1iiZv=YX{gdVmePO;l{CiR0VuNcdS(V3ZKVl@9l&@49r4f6H%EdVwA zk{uKg(~7DRH*b`L;HN#bFmw8{N_s~fbR0S#V`Nh`g-Qp95e42C##H*$#KWiXwvAd~ z;=>@*A5|5lTWsSJ)#hm#VqZc+_K81yZorF7MeXF#k9wpf}H=jK`J(HJLhEV`G6KC zf;$&`vH_(++j@rfezBdz7KxbMH4338%C??b$9einm&yKy)%G`Yk7|z4sDuxyk_kT} zi7neSH2V(YhW6nS9Iu4jDf?RwqVL_TIKcD!#L$_aNAnM~eU8%ssLUEL`Je_QFTv_h z*>+N3-%h-}WO)DXBTQ0`8F4XjJNG$|S^g7|d~PtQf3ZL(no5^_fvg#_hUesb14VoW zRABSywj1I@K*0;hgGa#X4SOB~*NZUe^>@uJgr|{^OwIh<`os4Mi}Cf|*8R>K-D^4U zUk$R`*+o{u7};bmVy68Yo^qCRA5z!>K2_PpX4j9SZA0~7IQk}emLp`Z`c>kab*nhH z8v(g_@IDpwxMAGYL&yy$chAL$)M!ifpM?JRI^KqVI~+pAkUR*nnRUvvp45Uh?8~dX z%dU#q$F-{8N+7$i67_U;!y80wvESxU)5X%ccY_S-WvZYKGA~u%Bu|TP#E&VStmrB8 z3q{5l@qBY0d_rYhV)Uh`aR*7B^of;Bd+n~&vZd-%=jLR5bf%tz)6b6FB7MMxN|4_m zUi|FetsUI{wQ4Hn-lQCt;-$z7lz%W(EeNsY?@5(a{M!1H!vl^$6Di^jJ{-A2rvb~1 zvE_r92xt0<1U?Sp#3xj&Z=#=%j`TS|EXxQg49gaYp2m%=Gn3tt@dhMQ!)vj>_RX4( zhKA-55z$VtwTJk}6#Jj`c(*>ciY?3By_-@{5R_k3%W!rKCP0XYUaTr+3n3Ii*+9LS z7(~aB2+X(OEbS?m;hMmXH83l!m z(#E|m+1H0tH9h?By(mlP%idPF7PUZJPX4sS7w=f%ar)d8+an&CPc0Y0cg*8CQX`(x zhK*u+;}O`Cyi}iQ-m0ByeiJmBc(7r$Nm5qvV`Aiue$T5LG7R3wcDnnge`=n=Je`p2 z3Y82GtWs+nsm>00?7iH#<}8kHEv`P59@F+`k*q{^@()fKNCV#wn#g!OKzX|^_y)KD?yQu{YrP1c=qB=fet zDpo0o2vPT3VK9`uw{4l}p5?XzxIooxc(6)ZV)Q7BUf0yak73`wm~?qiPJ)}hcmb#8 z6|r8baluMOsCz!8GaMRgj2XT6IB^C0!P*9m$lB5E_gx~BD9+?g7FP7sOz1={`aNb? z>izrp9;#6;1$-sy7T#X|u4En$|AEi0bx&%YVYEpubN4>gvt1{(T{`9w5I|&jfHJ4~ zN|e?0C%v%HvM7ejaPQJjmSvvA>U0wC|*F zw%P0BRm=_VZ*IPEG-XdPxMDLM3#RsH6k&4xRMaxaZc{)LAv$lZeJjFgo`4pArYdN9?Ow<*7n1yi?yW@xnXo&M(50gcXIhhQ)s%d8 zn=kU?3y^URr!TI#d#B-N>vT|JZn3havJ_iQjEycKCutT9X~&k$T(Nj}>08=DxlA%T z{@Agy-mkpXiKLtqhu<8xGIM)Ekg+v9@(~-k2bj6}^oH-Jw|AwJV=$&G_o41hSc&ohOR z&*l@T6pQ*-$&tcIztFzk zO&ZAXP_a3$pby$s{3aq`+Tl%}iP@BdvWci47D0s8v!dz^nY_HO)`n+JU+*Ht+P3^w z`KJ{7A6~>ZE3&UwO^e$j6&MmezRq7_xqHWnfmHCD3fEwDzW*rQ>FV}`;$d+>Pjzi$ z*mT_*CsBx9O|DtavKiwWss4|r1Y6lx9}qq5hT1w+5ju5bIV9Mcgf zmhexxz&<0(8RHFkh(B-QRo9{JIUf@8GRx^#r$zS7wm>xGi(B0%&14?h9p_k%zcO_f zqzDtiW%P~e<$vNt2enpk>3f*rSr@FNMGP|vFnFF+$ffUmc5f8(UiGuNk_W4T5x$1R zpR(Ps@X!jAsJd^o;nec_)wRKW{$sjeitCO3YATPLmD|M+t<32NIi)pdCzMU?=MEss z51BegDbj^WsT$l}KkdHZ9jumSF#Z1P0;44)zdWIP&Fp-O{jp7vw)J1|!ERLBeY2uK zyM{w+WZ40??N^;5-oVTZu(M*7ChZgSPY1g z2{B%q#iA2M7hPPup-?YE1zmn*?yY_=ZII+1@>bo$sxd$70SJbTiB zrL6gp14ao9tzbg6HX>J5yi|_xtH0rAOOvZE7C~Ut<>Y#v`{LD2e?~6qG5Eo({%h|z zlJ}2}?AHscmV})_F;uB3GV9(ESuOA7fH;A?IeHtm?GBhtL(MZpIT&>k`;bmyLD+fL zm)H&@*bsvOlBhCc0x&-2u~iirsM7;QTF0OqwG9;U>R(sd+NVDs_zq@1V&mYrf=(DP z8aQ@+v6nO(>2Dgxq}!N)!&3dBD29_61k`QYM@Uf4T!`-=0Qy`qv$DQ|JhKLLdV)Q& z$m357RvFbJK*w$Xv-JLq`0-<4@@$+KZw7aTpdg=7&a~nnXEiNnb(aq6g@NY$v1L&r z*l^5PkDTmZK2q5A2%4G*hU?YauQqQo8V4C!>Icm?FWRzQ{7A*~>+#XAz1@3ot{mGn z+sb+SVc#%cS;JJN7%r8_x3PAH$JGZ0hEK! zZsC_UtN4FC;hP1^7A|=(?44(y2zQA|n7 z%e&O!C3@}H2+=E#%X!gDAJFAyv%An$0}cQ0zx(BF4_+k!5{R}53Upv-(U0{-rk9m9 z&`-ZS-fL=t=7#!KkX&j5<@g9NvXXsF_AhqjdWkjIfMIS0w-0Wt@U>W(*sG^u55T)| zT8JRp>|;IudqZLgD=_~G0RFW}8aKd`{p;|b|Nme4ON)r<;=L}!gtp&*uOj#b%RyYzG^nZOrPSF6lP^oOr_RmB9>nIEZtlIzo%YRnj|1%5H%mZweYaM;l z{;jR!p|2bBmv6#Ft=Hn(i2efq*Mjuxb;{EL)DL*ZkM5(QR><5!A~9=vwaGnSC$iDs z@%5hPczXWS{Y?%*Md%mjYXdzA0^DPaP?CTR9<==`#zZHEEF!*b6m_V@VMBl}f#y9KqE6{|Ph(T+EZNk7Htk}aHxUNF12!l! zy3!Nb>)g&*gAwZsS`U6f=~lYAqUXn{!oPTqf+6o`)-ER%E%g0Y2xq4GIzh(LP+iys z^%!i=pFXr~09I;;r+aFkak%p^?9SC*vX`(QdQWne_1f#(g24 zXx*Qh{dO!&mG&NN?NmYYLL=^9VnT3x4|d-ee0_O$pXbkKN0!EmD1uTWRj>jL2cz@_ z5!QOTZj^zgCVY zr@uZ^^4YJ<@t7puC7v*G_@7O`q>oqjQvJJYZw#{N@0K@TnD!ZRS$S>$Xh|~mGT-&` z+7Ubyb&eEgrI;TX^JDx{pbl*YkIK-^I=4mueLWF3R}X^}zFcUr*6tD}INGfe+ge|(^5vD70#nIp7g1f#DpI%9??napz!!&<;U2QjvK)V%d ztY%l_Hj6g2+1VQX%MZPG>uR3LtDP*j%IHA-Z{KKObv#y-a?*71fHCn9X?4_Jmv`(( zMX`V)5N^v=Ha7kIoMZmc9nEH^i>|Y37IlHO6J2t)<3sWOKRwI3l+H5{D479x;)$!N zcUu?eGHu%v8LPUM{<<0dsY9c|=f`F`{KR#LWwNV3`vv4}uZPcC^M`pVjj2M37QR&vrt}7e2g~7zI&E( zld*mJ>fD?X_ekEg{-U2E^Dx@UX;`}>+3RrHm1bT90;Bh#n^}lw4&#I#p;|sg&5g0v z3yk%AckNy*-#cKf=iRPJYJ^l@#w&go3X2>4vGd~g`N&0+fns&2wb$b9`YH#E8#9w< zxNy9B+Ya-`|Cr+kVJC(o0k1E&%&Fqu-!=I)%D_748R2!hld7Q}`>nS!_iD7K-WgUL zdHP`F4OD=mxwGkT8;N}r&vm^}`MfO@e|J@DlHW|z6+Yr+!Hj}?j+J*l4l9RyxKZ>3 zMjKF3$tD?eZXrzlKG{(OG<8%qxg}6JHokQp{v8%F{v?$Cul0Jq*FPq5LN%y*N{&Xgj7pd^&= zD`cVP@@J;KCPj+>z8yO&&5AUeVd3mthEi1Z#~#f_w?DXB?pw3ENuK_wlg81i24AueZA=Iuz$N&fGl+MF^{g znO1LAfb7!V1Idh zL0smtlZLc*AszYb3`EWj|GjxJhCwG?x1_4fX~&hDTL-x2=|kzuwM*S4VMt|`i;5P< zgV=-~HP(Lj^WBnHmw$Hs`89+8>%@U9UdtGq90)DgG@aQf);;W;bdG3^g65GD#<<>#Q?;kb-+9gfu~}!BNs4wjxYy=;e8E5JCP; zeyV$$qG<0#=|mz@*X?FZ0h6BVAR+o~Lwgv6*>kUM%;fAucAqZXxI8PDbfTz-kB3*) zT}@Zz=bEa-L?=x?xhtHtgc%_?^WtLeQwy20hbS?#OcjrZS8QPENV~Sj$7jnZ%LKj? z+NE_m_7IKpwUd}tx5HmgAe;;UM?@1d$L_naGO>Jstzv7pJB4V`PkLSs{g|(}e{&zH zYC&}*lt|(cp(}i~8%zH6ukHQyL%aQYbJHYN&!}-ykv|o$nwW2#?|8u+LLeL)_9HQN zCF>rSV?doxcX%Zmwiqg}ZTnfWpiDKR2o@vxA@FS?J5uK3N=tKTI2(^1kGq`wXfI=r zkVHoe7xry+8D^{v9FVERS>$Ybk0rbv44N&Y}Gn@I(oyS zE?D&BShEs(pa9m>;gsSNP~MEqW!Ax6Yd=~FQVqzQLH{Pih)VQo$lT&2ursS-Nw4$$ zWwJS|@wzJ7BCxWgA#gZ8+vKW!ySlC-X6Ewp;GNdFV;fc}ktxDJ{yTp7d5rn!&JIB# z;%gwS9g}OgmuqQq6M+PK@9M>~Fn5LIAnM~e9Z@p-x=_n~rK^%2mn%c!QWNhRdyw^R z*Yg;!l#&|vN%J@cl zSE{(Emw3#H%D@StZ~al(esH;kg>~$@9VXq!K2$gcUk>PjC{&}{1BrK5>|s%p#aOMku2G%ALou zVJ#83*59+q^=wA>O+?ho^1fMLPGB<3)M0-b!$kikV9gdJY-n>7fq4BPEV}$njdo;Lv8wN7%k0$aTKHJ@B|yY9{JviXdraIclr}e#sF572)~y zLUDiZBvd;NW_31_iNwAII~UJC>FIAW?xy-_F5Gjnlx+E1HhFgkI718|WdfNOaJQ@W zshv!`YRDr6(QiiP}6#!=1M1@Yd>G}R)`Rl0shzCy6!!uCcU4z@fvW{ij)TYWMo*_LShtB3RJaAwR7a)nUBp^u3N-q1b(BDPL%lm9>`q^*2^w}R z5ty>ukbgYa$vQ976i+o(5qm0_yfD_}>ZmZv*akM^`@-3PJE(M~cUXILjttF)1RK|G zU5)t+TYAz3atc2mD`3zQpYRoe+1M3Y0}U%X>!JE(&dxJre%spSc;q1ywESC?f;&_; z=~+H2gWk5TPM0&~*5dXRjX-VpGHVvCKTzFM4Km9;5S1e#SLmezf1YWgu_8km6Q}u-jaF59tSd(3%0LE=KhHdgi z&64_0XP2enlUkF;!V8YaQ4d{1V^}nLr9^D*i6T@|__fdi+_h_yzb@eqRiy>FU$t(u z&fRLX^+{G#3%S(sx;Q3t5V8MZdSu{7&5l>U5Sb>T=Iq zc*Nq$E1AS`D{CDYFH^nVaYHsHLFCur(zi8-z^B`!f{qL@mQIf8Zo|LvMfP6ca>y?5 zu)_1UwdozW1(I2euFu;Eybk9QdUfWU{`}sA%)KnP1Q%R`m%uN+Jk$Pz z-JjttrqKC*>#Rrg`EUDRx5B;HwsZ64!1FU!&rb8(CyN841q^d9sH(qgUiaBkP^i{a z+8!rKZ$AtEe&?>K!(ECn^t+#1Hw8QGEOPEjU2I^qdw-iw*K0!;e}4M3;Vs?%D11oT(UP8sFa7MI_aZHtq>Md_A1HIYaa%NYckhah={6i>%?i9nBCr z%~>s9bALceHgxU4`Y1*as!^oCQ){L|H|->Cd{R!2uXp0gzve{%&3SOdWEsifTFE2X zaL{}|cx$X^3ihBgyxio3y%6nMsm)QPl~UJ1us>EY@4a{eQ5<+M+jzR+|DbkfqT-+^ zha)396rIHVGfh|n`dM1HFlZR7iF`EHUL(p1m0B2aX>Urb!<`pVP#BQxNBPQf{~}?q z_T=P%sFFROo-zFuy!Rzl-05C3Kl6lxCfSQQ2LTaf->l~onq(uwIl-6QwGl<6BVB2h z>VB09wezJcZaZb)1o|^+D=CGt&u>Lo$fzp2t<*v%?>`tbh{~c~4c^9I0iPc+b(pp5 zV=*1EF%RF{ajhKcu9a^eQIY1MpHV*6UqAY3It%x!aMkt5ycz4;L>ZQypSV?@mT#5x z$jsBz`&@f}YvbAJSVaE14*zPv1B!zoo!dPXL4iTiV~67R0s{JqU4+qpdNl(NWITUI zs+XRWZ)p{0LhWz;dlp4b;lTr2nf~soY9|PBlcm+9s9NWV{$o`18PJx%gt9?C< zVY)NW8Nc}MP2oc{KCFhLbkbF}ohU%${NS62mXn+_6s^ixv_=c&#rh-$k22bCd7Z}K z+%#NzWU`g*o|ka+If7omhC{;o%0}s`rXX;uz94YJqHtL7r}*~e(QA1xPgvseF!O*8 zl@OPTQzqi#@*#b#@g;3yKu>|wnX+xH+kOMZsmbcQ24VAW-WNL5L`SRI`^R_XT}>ns zQB%Us?xKPB2a@!q-Rx!&*gb=bL_f;c-=;ZHNDl{Wvb(vD-nVCy4lg33DsX;GRlxI9 zjmk9kM6-zwF~@&+xEi|K8D0r@y-C2d+E?GA592qpnoh^PC5pYY}+7xqHJDF^*wPRT0orq1US#QMygrnBJ>se^s*#9SoPx&fk!HA8)S}9he@Rg}a&Zu>m%MK)yP` zpp|GhS~;>bF4xlvl2awGqRDSOx`!~QEOJ^~S+`(Ut7X+yo>a@?(l+^IUO|t%f})gf z*G1jq0B6l4fERGwQPE7zeM@!e_6C`xsa!;eKvo@cL)Pi@y@**Iw|*Nzp%ube9nVsR zcCqEIpRaa)G1$#>kg{-+Qh6OV{Bz;irsKq)kjMHZ(i3sJzXM471>wyZyp4h>JyaTo zMML)GkDdkmyB6RT0hO?u{oXJss-YL}(vu?dD?3flG0`I#2^)pnrHUsq za(J6Hiq0{NQDfW#I&K8*kzNh6RG5j6@6S9nIoA%CsMnY+3_%@LbZly~*PVzK0 zXZWGfqbBVH2)c(@SSypZuk1?UwO<1i$*^<;S>CoWy!^^;Y4P1tm+c)8w}R)&VTY2m zj4bq87qu>?z}RRWoKgqQQ4$|oOJDE6T8|;_%#BEvEktw$ zKNP2yzB*e~D)i=v<;PfjEoP~0!M%Lwsd+To9>-mnoj`8k@Y^6Dt>4hhhSwS_^HbQ> z6p3pc#3K=2xm;P^B|fZqVgyz8bp>3AzM#R}7ggz? za>s1eySv_W4@a&~&1n5kt_m;^24|2c{Pe+;r=rB0{AxSIy`PGpwJ;guz>>`PbjKNU zt+mMdK)&b>3Z!+};M)(z*O41KZm$!8jFI|LXtD(JX&|!}6k6S~d5Wzk0iZ z*>UUSN0?5E;IidVmAz!VxTZLGf+kk{{C8b7gpEldV5T)RJiuL9WVdPabSd;<3D+$^1f3^guO?Pcf-)AboptAkbMuE#I!RYBVv%d9X0%i>dgVglH>~ zLc9mI0g4FI;S;W}DCm^ZHq2ue#jYbFq$KQvddpxH?~KeCFhku`<4dO3S=iouDSc{j zVk>+xSfmzziSchUc7^MTL3^>h7<{^$8@5_WOec`}J~H-Fj^7Kwz6P#UWWS!*d{+;BF7a9fF3kLMZWXXG-Z|^O+4u zKhT86gP_at2l_1OYHDYd(NU2h64@gs)xnz`{;773r3FR%1A-`rU5ia|F&aW;dq-q~ z)@HdX?HqeA5JepAOI zNXV&YpR{m|jj>N3!M_C~h2N!ilD@f9y0brHH9$)3+J2Bu!%q>!{<$@ACmqR?BoDH! zK5umcFSvT#YgBhRMJPu>Mh#TZZ)QS`CFi-cAU@q%9Gx0(cZm+UW%=*M7R?%A$)l#r z>~_b)m1DU+7soQSCfl&D2ZvE*K8~4VeX=+>Hc^Ga@9IKnRVVE7vl?~n-;1v|K5rL?-NMPjxK=j8rw?h5Q%Apgxddudff`VF%I-)Hc$A|N^FAFD#w6Q>5Uxz(6m;b zoSZgh_7=M-qQF5CkdMnKw`$BsEQ?XwWD2Wox}h%_tHcO& zW_qS3Xr9qX=@tYH3yP9ksJ`<5O85sd8}eni8;%^S`u^ImetNUwLdl!bWxgLf&@zEP zCbOY4f{1c0b>Pry(viAk66RJ*q&pKTYxQHjkyiPgFL3OQ&?mVda3H1JGJkL*t{G0`_fK zMWM*>J8+?Stp`>KBxWV`?9UYh&HuC@zn6CRau+mc`Cw>}4oLuCH+$-wl9%(=ZT{>w zUgg!bgaChKrn;Hc5E>!D+FkDvA#%KE&DMVh)aamg?1U$B4!|8#DJQ;BTqohMYxv0@SQC2DWCzG#~ zzdC(aId8KZIV53*5|6COOlBG{t{YfP#m5Xh?6Nyu?XLoH z+>TdT%-!=K-~3#upj(HvM|oDHs2N4xevRy(<-1WDnzww0Uq%J%UDY;vw0*hXushO- zIpgKH#4?%g-P%nxR>EnDO>mHNNUHC@lym98QCW=>(o|*0n^Bvf1+Im+IidzkN_WNW z{9iGQA?8cm)7QAsTa3>uvcbkuU#IR+0k3dlhw*fvq=G#TMH+Q%vN|Z42$4`|H!^uk zK()6!4RJztG}x+oD)IQ)-acoJ9^3XWgvb^LFoD1W?eW`t4RYSoE6knm?On=#p2`3EF-FB1Spbo z0kR#CO_s_53(>K^hb%^0j=abTE(nT>#6Fe%o*d|%v!y&0dPSB5@PaJg&tV{hAoV6E5dU;ub?R};ZXD)U~V6hk?U zn+{_{I^4E4pFAgQWVG-TkXtYO<=?+DJsQlr5^G!_wVJr~B8vW=@5wM5pNjG&I)rqj zD)II0sfCRXg^@u*iLzaTv&y+k0k7~41A>MZrw;LVz7LuVv_#O`*_P)HPK9)4Fbb6~ zNpNa&&ZX9NQOKoH1l3xam7 z!%p7QsqRxt+48IqJPy{Q^^M$XcbY9Sl?yaG-a{m6b!MbT&-G-K6VEd!LzC7S%lW88 z9jco5Moat@w*Dk=U=U*(W=4JoI2M1*SaCbIBJvILz8-w;^Kc6$z$QGhWs-(_HYh3_ zj*my`&-O@p=sI@6F`v!4y) zJm39bp&Wu9=^%BEa;ptTMt$ySUK*EsqHSbiiL`mGv3pSkC=+}v6e-+AtR$GYp2Yp1?gh9BTbZb#YjVhVYtIl*c-!T9++$y z0Cm^+f)@9@ZcYIJD$fK#HLza$>sd(6D#1#PHbP5b@?I)6noA*@qFAH7D!`#IMTc?^ z@iVw@)y42zsgg1Zj519k&X9h z&4`LhaxPhq0%?}#UzE|%dNQ1uUMJve6A@ols7+yMU}>nLX7!n)bk~vgne5lb4psZNts@A1%qUn?C+fVViqFB{Mdn191Q^3VyCS>>Y5chMy=oc|p?5Jo-mm zzN_xm2tYFo17jLK?#Cudyw-RGM~d`#kp)_qZGOG+uoS3{z5;{g%=%O*&`az^ZDU zd|#B>#nTmxkRXy7Cvzeq3|sL*II_5EHpbNO1SU+rux1cDn*TCr5ZyVU$6uSY8NW7v zIaaySE{GK=d;1W3N9mdnu+z7u$yhK!rQWeb6T_L$<{i)F+#>qm4WWj`41!fkbb4`H z$3(VH#Vkkq&jD6Ka5ELEkvZ{1r-qa+r_&q6oHWCWh#>aeeT>6jzwudq`-a?0-g>9* z4$%=PNC(Ol?j9?{50t=dJ2kb|aLWyR!#w&#U|hqrHRXm5dwn{l!$EYR{K2y%;Gqr^ z-;PGZb~GmgG!yc#E&eHTw?2yo(|Je%gHA*_x>f5x~ws<8vqBhPQvHt3A# zyy~tj%YY3}d5R$G zb{+_w%tx>hV{I+kOa`q_y$*n8IeQ6ZghrDW+FYci#StgwbkzuZE^WhLds1x<-%b7R z-m0*n>(62oW}HdWR@+u0xG0&oi0IE${9!m#-<#lV_lic^j{f1}JWH*-uaPmw*GxlC=qh+5!aN4G*o))I{?Je@7lqiq?<&?X3b)z*<* zkF;Zeytq*%WLh}boH6zb4sp;+Jvds!L#YZnq;XARjjDNJ#a_dTldaEjT;{G3(KVbT z8P~P}gz1a#vgTABEi8l9$d+;&KPJ_#2NZEs6jPS}Tc~f~WkvvZajqSAUOkU_S_R$} z4>Xc`bs%@x?kMxpF}QaIB~90_hPE{T5UN7N3J9)&~Sv~>PldLK)z8nk?SipbJ?KK*DjlhZYDX`g9oUB3< z6qFr2vQEFay#$g4RIdW`$Cr^I+=)tl2xv{8{)<)=x9oirgBhpCJ%R*uYA#`D z@P@jiQX)uPTUNu)WH~Q1@m$-X>-!-oat5w_mQM&AX|0(-N)hRkoQ-|{uHHqR`%xajW7e?CzY4NR!o z9aA|vy`h6sXRLkjSy(m7ekSbU@G7*Dba-0pb0cDL)Va89$goXtt#p>6!puD=NxNFv z_+d{>WPW}E2bG1P7M$B}16#x*U60dDm9VG?;TQ0hc>?jmACRX;%x)fEBn(qzLA!VO z)9(=t6^(9gk+qn$@ttXadfX*;KUmM|J`1GHT3S=l&Z?y3Gp4k6t{gf3d>Ln}$_vL{YHZ-%+mV{&}Gvqt~mvfuAuwN#%7 z%IfG?I!HrY34u0V$Aaop5G8eT=skjiVUP|852(}6dE0HiG@#^R7m_8~q>wBmpsjdW z7mDe8GzjopV$m#hTh^HNl6Rhl8S*ku6IvEEs!Tf0 z`#7#Iuo*5t?k@U_*aVKBd)51pRCGW$begiA-?3oL@AW$+6GR|2eFEQMyy^IiXIj^v6^mj^kbl{8}TxY&tbc zh#!}p*aUmSmaG4{V{XAPgU$kpN*hq{Q$-*ilv&aO0=KwsAXaO9HC3GF`uryj}?dV4v@N{6Sl>2K|=lO zJ~w-F-;be%SO`;OqYK{ZYNgLpTQ;A4hISDHTdqd!XFEcczu98eYwe(kdjfZUBf?-XKX_@&Bm^>DMYb9>{l0= zVD;q7gcIAVi#nIp#X3xrRxvLkY0{xKDFFA%hRiqRO}BRpboPFl_0_qj(BkfneR*{` z>GfQK4w02#T>KVb;Wdi6XJqE-;mE!H;nu{*Ugu4$92&{YqDAX;cg$Docib*e7n8)X zOmtY_#p)|rJ$_i-GpKi0Np;XYW8C-szjL_0PmCsa$UepzhB0;IyJqZ7cQ|ewogDyjsQHDep-p#4}2ZJ|06J(LeSbr z3~L`BrEGeZ`I z!H>^GK&nWQc`7#w)#HqGy{NkYNrHkvmb(KW)XPsPev86SQl4`irdd>Xh%0h&h$>UWgT0YJ5I&j%@yy|aC?*r82MR<$_=P}$?2y{1X2f8N59LMh{HaY9E? zR{(gQa!$`7ULSg?O_TDq9sx<2wJs@C2Fn|Iom_R^4ksuirP?8{$k)Y(PBqd{3 zf*?VX5(FfJL|5(-L2cB(FT7V1PEbnBdH9%+E0VMv!B+J1PVvy}7mgRI4UU#obCMzG`Dv$ zL|?GH5Yl>!O_e(bq)z8nb_;1OzUgmIJIR(y@pl{!e_{^KzJGh)8IDn_T#h2ZYvY}YB6o2#L6eZC2X$O?XDp_{SCqq%b^X27&w#_*WctVjw@l* z+?JoVSw;AbZf2QTn~uKd*rYH2E;`F>k=QZK3!_%gzFBF6e&QKE)uBz}w78U)3VK}1 zMZoLaw!d~$oM7IoJgZXUPNCi$?vRKl=^weWE^2Y?Kb+igRbJzLc-Pwxq8jowRlKTl zE{jrqQmhP7zB@yLG)Bk4Xm+@Z7u7hYaUD=?bJRNkts6Mcxu-PA^6{y-JE41IKMB~* zMmV;-{ZYTZp06Wea?t-tgZ8DUPqp0!_1!&&*GqC!8y<L? zRX}^&{nn#NHlA31(}7UBBl%RUJR(=NQBBRe*u3;y%a^Qq&R_sMO8`;YZM1D^c8%ZX z3Us~u=XRT#?5b*yUpV-&v)ka{QhpQAH;c{rH5tG%Jl+0&VY?%hmEEOX+Qu|ANk3~0 z4+l3oXsDjE+Vc0BNM@`R^LFjAsmZsbyt-J{M+2sbaGN=k78pboCv)k<)4jr z&@7HVsx20%S#%>mDP@#kO!_%E@Vz?J>eY%#`|)lEd2`30kKOH>uM9hqPNfZf(`8}U z{ylA-V8q!o^0l9}bj?aHJ@Y+tL8w&@CV?<5)ivqLo?q1+xob}WB!mL%N(+;PCjGSH zQ&%thg0GG`SyiUlY0|%QsHykSNEUZ-ROPC>tx9J1UTYlOBMDtk&*oT07U;z1f7Y!y zFZr=>Wpp&Dl3nJG3cK_<{hGVVv!ZKTC1f)0`IOnl@UJ^2@yMHit;~1C07ebcNPM}tHj#ibrRP5`8k{0*^{t0n@SqB!)atm) zV86b=%joNe^_sg{62ykX!#`P;i-pWWf)UIOw4Y^Z32Cqh3Mua`D$f7BOtX<9?1uZF zQ-1w1@KJo7Eg2~>1P@i>)JAe-NbR_>7GBP1`1_gI>){vj`)6Z94i!v0eQl+CVL{YK z$S;gMle*mY*WC#)Md&pZj+JSS>tD%Fn35kx|1t^-+R8y+4ISQzj9dS13yzV?>!Z#$L z=?zFW_L5g`+C^9}Eu4&w$iyeqym&tFu`WA&d+r?vgifeKM&99~^?Vs6=^|`RP@CHV z=vwoyy=TZ0v$hJP*?90A)FOjiE`}E(%-t^yi{TN;2SZr#jVGjBz}80fu%3E7_}R7z zmJGBR&K;6GCk(U0H+o5Uc-rfKEl>X980>pSgRe(Kdah8Dz`1KNdtQJ<87ZiL@;xWI zyzb#RBt#xBFaL=*#cynEndgkjS+#G{+&O9om(w*K7j)duO9-eKEnzR*n?F{mE99@P zx1S;_>Uw>g+jv4wkyxkD{La5tMw)wWsddOqWFqyo(q2g%PIl6888g~+ePkS zKO@m;-s5O0?APBb6r0t%mHYSC&d#0Tp|;0`AkP-BMNJg+geONolXP=>{b^=C_S4xqVJ+~okfe(ajp+w)7-@|!mE=%ux{ z>kjv%zp-qw4ng?~a=X8P)|)(8ATj%{c^~7i`_I*8TWZp7OH-RtdSUSivbp6?xLwZj zez)=0aSk^Vqc+iAZK(|08V)(A==bGm=MQ01n|TJe?;GKK<0fhU*Q%1j7OhN8ibn4% z|A3b%Jtc)aOA?^FC7sy}LNscw&q}t^T-X2llw-r$z%5N}KfkA4`pXMY@85_Lz;pTp z!?kPq4dC%C{!AOskXLT^|FAN@w)QZ>N!i_@;CxJ7N|X3JveeVS>w5lprX#ha7t5R~#QTKdq=9yR@+IaLmlKer8r?JH)5gttG#ZXrFQPerQXiZ0 zzT2Hl$#9jx#?bh^pN*lq z7d!T_BR^k?E|_jvXTO}9EY+3N#b2Kt8=epo(R0?jR7!Swf+^)VM!L3)wqQRteWJ1K z$MdQ*)jv8>TPr+#Q+PF_Fj&ijdVg8b^({fk(fUQ#py@rlz0Rp_=se@EQI|?9aBS1L zkk2Qj1k^8&TlaL-;x41v?^^un%CQ<8j(bZPvTw21#m`xEv8Cj>w&yd&LUENZTU*_R zvnX;4c-J&WP3$xE*zdP+&ip-Tj!mAaotnWw%0{U-QzW%wbi~VcoAj@AQR-Wa;}!%i zGzlB%KJoGrL)@zV+vYOAa8ysig9LUsG$=Ts>+R|GPMzAOy7SLE-=tc{xhGwIL?~*v z?d>nRX?m3mEG|w~YFKbJg1;4f#gfa9)K~_5yaKZI$qG|uRfJOoyIHMKkVnVK6s@Z) z0mGBoNOW8oPo}>7JVWk#W!(SiMDFJN8~UMG{C4qHxSL`ng)S`}2$`*8<;eFKjdU1q zQOJ8$(D<6d3mx}$KTR`P*~T5LW9qtQD_`VI3&8@_)n_&>(a{!cxIF{#_p`{j;Mdh# zgqFYe{tkxd(9C9k@gk8w;^(EgX@Ur$?V88enrn8nm5l+t@$ZILc#qc|BB1Fc99$nr? zLYtsgX}b$MPxkQ|Q`^4f&)w`a_%=Y0t1|*b&pM8a&6(;fMc@%KU4I=QynB_#ji%h}x3FmIdS=DY4L`zdiWTIwjbvc#YFTRnx%{r8Od_GSYr=iivnE}1Pqk++NiRJ|B_Gv6ZWo?E@#`&TyywEzZH3UR1lsTGv!g8tSgTY^zcM9izN=&dVNXi zvzT};fxa-6CfZ!Sy;y5)c=Uj(L(>I9t_G%J1uQ)BZEk!C1}VyY&bD z)nIk?)F0U01YydJs-S@o6{_=?L>)vm&_zO04=M<|0D~r)1`WtajuG)P@JrE^!kTA%g3{dk46?{-A(vg%IpkrOD`mfbYU;b z$nh><2}zVTG%xX(m+s&7FFPHKIGptl0~{ZXvm}RQ0&~UT6*PCg9XtdIn!q7S!WtISVk?9W3d&JK6Sob`nA8r zYt6{-I9d~Z{TEXz4^d3-7F;j5v6W6XX{3ibdUh^jf9_(s!lRPRFi4#7Owa`3p%lF) zq(7{)h)4A#JNY&Qh`bxm6e|XYz{y+Ko8*H2?;l`@(z}Xy7syq4!z`6`FEsdZa<-Q2 z2z*+Mzd(PZKef2qskD12n?v&3sl~rXU#glfsU%vAgrxV68Sy~KWZEJ)*>PbJ!ey070X+fhTE?QeN5<)Q!BEd{Y-q=i9Zm4nfSYnAmRzbciALlF`H>p?p) zanReoa#I^0SMd2tb1TqOnH}2_1jXuGMa5P1Aj`UqmF(5cAB(Vy*!|p(W_?v%dtr?& zp$x-)SZctaGsz|F?YIH8vi7h0{JShw_(Xis%>hn*5)qjRUG zl-(BnO2}>+iFi!UQP_^AvFK#z88zOMxJI_C+lZ2&l<>ki94&o|Sp5i$nohGr=LcLa zYl!R&OM@KM2>m21_;K5f5bK+SI05ktl50biWGQoFUZ&gq8%GYkYw1$R=11Nl47cO= zcjVhBI+fhEs`toOgt=v8g1cB#JM{=~fAoBX_3#sm%x^9)8jrPQ9el`qea*i3+LZ?{ z4EM0x&rfN@E9_*DU!R~h1A1rWNLQ*D{#K2Q7m1NFNTVGJH!{my(&^Zd;$cdG!x zX_6JYTkVIrJd}ghvmb{CX_ND3rORoi{?2@)s9PZWy_M?ZiIP^rm>2iu?tEMu!iZX;Z90~Kb zDmMx$zHXI(G~3)$se>ZH&%nS5x&yL2!Pmh26=wMLWs9*WS#-@=iNp1EM=k7*)OTeS zYCm6ekc-(Wn>6(9;ZDIE*j8{Ump=W++x-kBB z53%>xi&;l1$--`{DyLbxUCj~R^1O!AhI>0iL7{1EbNaM6s|7nEN$hL)5j3!=@0s%I0=h8lgW%yT$pg^8)^B zBd3V3d{tw+jKSppF20rd{D+6ZiL!o-)h7JaZEacx1_ln-t~KCv#{!e;?Knl`!nO@+ zX6J8WX@uqlxNs~<7mc-{i9^UfVJ@LFpg2HO-@6K;0DfcZl4sXhYJHC~wbSl;eom>b z#n<*YZK2do?juLjrl-5<&sUg&x-H-HCcftvCzI=-hAbzj>-8!xhR|LQ#QbBlviAmK zM-`Iv^yc3#x!QJFS2zCe6_ZlLZb_2_&{9-Pt+Hpm``ej{kBkJe(SJSdKlUsA%ib<# zk22gmpx2vlPix0YyX-+xIvHNUb@_k*!Edai<- zODN$~;NSWL{wg!;DYoz8!s1<8gj5eosI^C9QsSg~p%CqKYYDu7=;kWlUIL_3jFlCr zD*eabm2Nt)f$HfXp<3~=s6>a~pP6Y8uJ?aZ_R6?q&VBUoWw!;g0i$s&uh@%{$JMhP zeE+yoi+xl#eHg$0xL#;Uz+4A##kzAfRNdE|uNR57H(MFPkwv`jKrUl()AP57xz5#a z%rv9v2pqj7Exq|M z!DG$jbnwa)H1ZE|d9U}w9oFNJ*?>x+>*y5s0gfrp1mSnNQx?(rWpK&B8{2IwFyaQaP7^>kF?5Q##ARA%r z1J|W2eEAi`PF)*(GmNa{aJk9O+ zOY{#^{~2*4Ha}GrSy@-EH!bSVZcA%wYBGj!F$qU14cKm=_{WYWk-WM0(s1c7COf&m zWZz5~M&+ZxZpI(^`BkvOsqOpOhzt1ZSKNWam*Z-XucS=BYRwz?2)pxsmv5 z|MfWfHFi>Q=`o}@?M``N#X!X+7T*}=Q`7U;cm3;s)iVxJsgpHzG~%MtuF$8FSKQB*Cjl_J`TgYEIdk@_eYdcRx)n z-4`oU?eRO99_Fq54QuqI|9BE zgk@5yx3B%jW$xtG?@u0E<1Q9dpii+`NPey$P37~?uksnu*tsDs<+SR*o^tLl-&@kA zYjpqoM4TDdW~vr;szWXD2UO*EpGy;8K6B(hLMG*s>Hb(>u5~Ty0k@@1=~TCG;!4lG z_RsGid8hMkQP;yQsgr#eG**XKeE05 zE2#hP^g}s#`w}nmbikSB@O(0rMxa}W<2_p)qDBEkCoZQM=ABz2l)6@n3$NHI~X(1 zIA_*OTzZkjb>zrb<3NcQ7(bp=l-xLSn1cg{EA}*2 zJwDiyr7xzVrQ-pbTa7c^Y$ooONVL z9C^Zgq&f8>*_4A(>7gkTVF!C8>;E$~^?x3KjkUje$`GKEb)91(& zv-nX$HLL%VNK}P+*f*G%njW^c9^GUg85xNK0C7~DZqn%P0G@$(%9DXRckUb_2Fc^V zxQ4EamMxO23&u#+!!hm?4dmHTQ)}yVNl$WBYpW*at2O&Go!H6DoE9jx`no82le}C) zPUECrNOfXL%8`nS3XS4NVPP7MQg_U*EiYV?z}d{?#lhHUcP@*hg)fw=?F%udbl(0u z>8(a)M7vW83cAnP)Wt}=`LIO94{^U)ZzdX_ia0WR@*02gZ+I^2*PO1EEhoiD$_K$I z8ztdhI8YypIce)9razx3?th}!H#lf+z#%HCJ6X0?YT!0}SUFZwA8+bMNqKvn_|nmc z196ka#>NI>-zQU5`RAKs5|y+D(mf3%|Hz0mlJQ}Nhe-NXf3eT$}}j^&C1Gh8;CT|$M{_KD9*o22q}MyI#qCJcz7~qmYi06 za`b|UN#dTpdj-ut@0P&m3I}Iro>!}Qe6v`8YaAsQCGP4_v?OfTm4d^&E@3$I1vj^1 zadGkHgtK(|F72kwVlFnB1BF+AoW`Ns$~cZVZO@)PID$2CzSr9j8%{$>$=}1nL%^!} z2(h}QrKK7Z-0bXfh8}Q4q~&Y; z8E1@LO1YSPzCcteNmfp7q?}Hw8K-bMPjrchh>3BZJgL2dUFmC!mLZRr*c+?)9IF;C z9^L$NINMUg%d3<;H=eGOXQr{FHH@Gp|EXjxxbf%8UNILXYHI3DTedX!Rfh;VkEpkI zcIsuUVNfRbfdi-OC6_W*V@sB{`u((8qgn0N*N&p5+9{I}w_DNX;irgi0lqw~7B<@S ziZ&PIGa7a)`t#5j`w4zGo(#;X*rzyF^63`s=3BH$V|WYr&9rg%hY!3zjZ0%ke-=9- z6P!3P_*CT0U=NeMz5Q+Ha6Ush85t_<{okuglj}$^;;y$YB*?|%Se*@9w+eN5-?(wo zpv3Ji=fxM&nVQ_DxoAD!%0y z{}>pcA)Ry?+l}1fA0y%ZT;}0+nqlKBSB~Mahw|z(dy;34>wVJ7Hi*a0!Ly|xiM!2g zz__a#GLCRh(9XFcv^TooQy^;~a)r@{I~%WJ#(nezVmd;=ayyrLiqF@tstL1&`HvSC zZpg^WUPcCf@aWM!&2(95X%eP7-ZQI(L<$~LLy7zK zEv%AzaIu2XF7+`I+NB;M=VK)U@Ldawi}4t@Gt^V^reei3pANsydU%NA+f4bTJoPRW zScNre-nw;*o|)NKA&iTHgn9K3Fw^VG(AW4Q+Arg(J@_4IXJ%KLRHS6zxQvH-F!Jc$ z>3(zl7q$=>_EQ)GdEDYFTM})Fd|_dv|6JMJp##J%O>`9*e>E>N;2^H!!GjGlXV0!X zS3)WuVkIUVUwr)Z=>R|f_Rd%Km6>|4zK@OhACUDu z;#}Lc@Eym(5cgDQ+j$Qsv9cXMzHM=O@NA}T!PiVZ;l3}=I{RFH{P>}o-l7n@I@PZz zBPaJ0)o9_TAD?Q8oAd3N$kc;mM}tgV!F>DPo}YhIVkP$u*2h-jGqeVZDdx4WdDB0M zXS+vF=(x$t%Rlh-{m@ZheeKsL99#W{7<)E^J1+i}HuI^2$#(PH9+l+5j}Ld?p;B+% zD|%-=-M)8qb+o26q3^LtAF4>LG_#G*jd$ia^eg05T5?Tdo5jnAuv>h48Q)@>JA2~Y z=*;{R{D1_FbWM^EYUO1l^Ve5@P&$e3RR}$D6Sw*N)NLBZ>FwKaqA=^X*Vhgb(-QGC zZ@9TV$5R?=&5W*gTPpTkn!EhxXT?d!fi1xyAs6y3F67&FGuK54-qy|hl%yDb%(P}_ zzD;|hO?1KF$wB0X-NJTzxU{nTgM#Q2W>1)XeupE%==bf*I;w}&CGG|E*O~Md=ESyF z_wn%rY%r3|oB9ZcA0Mbc$4IawpMQ4R#^xyHx^>$a8Sm*9Sm}6nSyoh58vpok7u#gL zUC-N%XV0D`f({X8(U$eBVKBDsRb5rVZb7S^6TM}D8+WirluQmuc(3lcO+$Mchr243 zx`?0fELqdS0mAw zB07=!cVPQJd|UV8{4*|+3C<7JOsWs(izU%-dyIpB&*7G+eO?z8J;X`zBzltC+Z)$h ze}BK(FjuxpPA3H+7cm`GIe-2MuYU0c(w~``P+XegxpNPw)~{DYvZC@)&(zhh>w0~8 zHmAU{Nsd&73TTSSmBC`y?I_q#B6r~GFQm6nN;~w|9G)Jm7mlpFy`JunfPgycl`LX8 zfLSonaqvrHuBl@GCG|9Qd16x)?uiz%4Swr7y@_-oRsH9$UkAOsyeOsfbu)2eXJus4 zw6b~a?CjX5Z_Erm7O?G5CjtHVHK%DP;&C0;NK@YyAa_tVQ&Y}=_kPi5Uq+@AgsoeT zHdqxrZ?Q^3nAQAY;8c?#Jt!+HTSkdwuOI*NOsu~l;jG#l7u)_DZ{NO^NmApS{h3|1 z%Kv8ag!z}MrOC4FW|ozL27ANTS1-30IVQgsLgC#;;yrQmV)h>*mcb(6(2vILq4YRp`xNXhZLBE@}`y`M|;i1g)vOw zuzs=A<2!e#tW|RA#!(!So2pYTB*>(@5Zo zdvPtASP6Ibn3$NK!^4~;8I+T? zc|1@&jgJ0r85eS{$WpKYuroG|cfZjho%3Vl@ozPK5irD~U#yM=2_0R+N-5&tYixzH zq;oh-ynkl6iAnSYmS+QrQ#~c<5C@03MJLAT5x*e?<(bzrX9hle_!tFMDK%tbVnQuN zb^kRdC-tm;+>$>z>hs(W%g#@u2(Ckb2wF8ifBe{gck?brpgRgSWTWtpA7z*XtwKpb zWoxUQCX$gQG{|VXNR5CkIL`R(jhw#EkrzqlzC0D7?XbJMiJ=cUR8xPQ;v-fmUQ*w$ zK&irrFZ*oSPpoA3puBAPQa9Szb5IG{?=hbDX3`>gG@G`y#DD`QZXdwP1aoWgQm~yr ze_p{bn9oqsZ&1GeiI7b-x{Z(JKvx z08eBiyZM~0$$76YZ4bNoN4mTzLE3!Q~fQbMo5|Lbgj*M`T5)od(fO0mDNc9aC z0#o=t9cKeEry--~Wn>6)3uc2z@}!M6VS{W}{TzkuE&^ZFRhHb$S<#l;Gb56Fg2>nABN6uHl5 zjdc}WBvmEKhbRpgPhNX;J~;%_1g>4b9*zgek{K)MS)8KIRpc}r{2*~o5SzR)QGQ3r zVheV1vsJ;R5;qMUvszDf+a(1gAx!S{RY=-ipv%+K(^IpX+D9o`sBYv}tJu}=K2t@1 z01f}O?l^=#>Ga)A&(%^t*45S7ltvaYVp2u`>7};T4AGfVu!V4_2x;3X#%4;z;$FfK zvBMn&>HJ%XxDEdDgxr&DC`G{rkfl7odzN2~!)BO!X5|#pnygG8s^2zb|7%yT24OF< z_;X@i`cWv^YpoSa_W%1lD6()vtQ7Oo#L zZt^aYF#oa#$+7XRtD}hXNNDaV!fXmdXSsHCq39i}F~*tiL_jkM+dUQcTK;C#jYi7k zYuqVHX;ep>soFXqAYX(u9>C&AdUhXbVNEeUqksa4SguBas-vNlaGN=YdcB`3OyNU$ zdB8|>U9@l#ian(?f-FN)>c9a&gPnLL*umlM^Ak*&y|3(J)l*bYb-c2-e|gE&6TiuW zlP6C;&`b|gjuzq^B{Hm}q@)@MhmceB<@f1!nVXxtBK<#jK>RRC^3cJM%HCpU>jbuV zphpBsu!!TpZv7@83ML7+{Jxs7+Bn{%%2tsZ&Fep;^I<>G*Uuft*y?NsTDg} zQm_eHw}v9=n2LG6RKXKb8qh!Wvp@$N zBzl`xwA`V%@z0NoMlrrTcXmd6p!3U)#%PLq0^RaxC^Zi1zW5aIdzYu zhqliA!XINI>4V=ngH~m9%X-Ro(SbZu@n=2Gmc6AVsG3!1_3h}#4jyn=TlGweq1`9` z%}5`Wlv=v@rpL8w*D!`5*seF~NoFj?=Z0Rr(`U{ksU;~8Fao@Q!ZAw)1z!SlD#V!q zScVMC3bsd&9!;TD*Y@mEi4ot%%F2qA zDZKmk@XB<()D)(noO`(au>Y+@es`WM{Wt7Z1-j_2g6tO4)KjngW>Wk(Cn;vjriv0y z)Fdp7Dd2L=w~wvlm`G_h3G0zNJf5;0(s9741a9)*Bcg^S3l%_Qg%vxGZX*4en&M{` z`=)09*O{ZMw!1f&++6i*!t?+I;J<28ARhC^AaZ_4+d7)h%I9}-YbuFLNCcEFtBlU_ zy>Cj0ef`y{fYF=cm2IaGfY;BVA&X<}M}tLELwfi;G1!QYWHR1SKvQdMY#g@nC!#F6 z+Y4y4Cd5gJnsT^Id<8SK>jvVRhC>ZSqn88=ImyWt5pKGVdVuErW1QlpUYXWD2?MHR z@*L(2Cdk)eR*#e2<93IU}RE77EQ+@6{sGF_HGm0Z7f8NR~Zsi{3k|g!mwU z>&{!P;@J}jX?1ng0SVI7l}HRB*9xp!wv!r5J>5gb5kY8BevXf4_WdE7yv}TsmJ+#G zXrqG_;P)gug>;U_s=c5~$-66fQ@XH_NpH#U@#poFumNyV@V~g_BQwTIWH6iRQqLve zLt@icaOiK@eM}l`kO}r9O>Gkmb@X#O@zLJ0vW8-h#VPqxkHti%;l{>7TRlvy54*su zH~K(=@+N;L$2ZY|>JjOWZ{Az#$v$bG?f2jTJt^0s;eg+8V{ZQmpTlH#zl4MYFda2E5(vT|r1>a`(i!sO zb?dhRfof$vZ4h1Au@80I)n-c;n-hI@UetLck%~4ctljOeIU+OmAEntg&lo;!P1C6T$!$4Pc25$Z;k|=n z$PVTJIRK3lm%J2bcI=9ej~{;V?AYa7q##_p=?y8MvhAepjErV4m+!NB0Z?L_I!!Nt z&{8o59wqa^1pP?ww=k%>ZNSrq8r=KG8~!$~4~6uHhr z?CidQfq^qa4QD{rBw~OO`*hZYgnIx15gw=SiVQ2Kb^Q9)Xl#uV()mC#{!j5EQ@Q)Q=JL}YNuSgq|EfnX@UgN|Pw5S=s()7G@2z25>)fyeP)6mmJSeqx zT-zX3?J#yRW4$AuUqyL&IdAq=rP?lYlH$xfBkC_Gzq|+`Uf%PrqCKOrsTmhuC^1nO z(c8?7wV(L&`!{`o?z4%DZr~=e-)@@tpZ)M)xz~Kd#l=_Tcebmn138&ClOBVk=`)#z;=)0vN6xb0Hf=9$F!8@b*T$c+m;lcj{)NwEsRpx1sED!A)taWk2PJV-(B* zpT@|@;}j&|!pxfb`g%H0j1?eBE{9JgwIH;dnr6m3cVR0oVC1qNQl|NlH6I@m=^e7< zmM7WTIh3ShCRIUB)4N5Tj({U*n5wEeN0Qdo)-HBM)>?;-`aQ_Dmw2#FP3xoq{YWHS z3H`S8LV0Td;;Lxj?DpA#k@p}?DM+ZqD%V-j7T*gA*#S{I=;_lfq~Cx3oWdsi4Q=Y@ z^5V2y=gdSm3&F18Hw^?@cZ`1e)E^5Mhp(rZEyqoeURpM>U&08W?p#xKvyM6tURUQQ z^ue4YAaOEI&(F=t1@4mwiimjduPqY|{u7<%70k-55ovaGa*~;!=>F4bUxuo<8Qk2f z3#GV$3e@|r&t*6F?`gj+@rWlK9lH39-y~x278IlVDw2zbx@Umdee&{7;NmlCqz)gZ zCLL`(tcV;=dKbrgRKIv9>1&y{_en@5U6S@aZ&g#(X==yX?~g8hfhzK@rKROchuiE( zJkXF_?YJu~T3dnv&g(2LDth1B%gSe1Ds$=5rQ)UByAmD#nJe~YZ{21$p)IIHs1x6; z6v=^5PzZ$5{+r`u_9hlw6HTz$ON+xT`-tFgAfeWkHj>?zi{&!4v&&T&G{; z+APhD-&kHaKGK#Qh=i%z)zjJ8+4uTbdZh^IHzb8qNoqgP?j6_F!fx__Ot=7T?R#I} z9gqhsN$6#^VYm1~EvXstG?OX6M|&a9OgV4#1X*YILYa^#)Qv-j4rvzzNMy-gy?ShU zWn~)!gQ-IqYR(6YnNmez_LylnTjSt9*N(yQuWm?YUQR15<7ph_M(OcGyy$)|uc(ks zttT&02NnHYCS;zhq_4XP-Ef`XsDuP81AGQ=UviZZtY(s0Jlg&goji80)kX8C;;xOn zAuixEhF<^`p8}N}*ED?f_xDo?v%uZp(Wu8s*Y|f6BxzMudf>&z75BB3d5U*^$0Lw9x2mY9__GLaMW^=> zjY*FCydA=#CT;x0MLOhwn;-_uYil6J(_`ZC33;=rlsZ*ycItzIqQ#?)GxbGsrV<}qS z^=z}79jpZ`zLH2UuTL77M#2<{mA(q3l%bRN$s!uC4&TfKWX;aOh;cBa#Ph$~L;k&o z(0FYSeYUl~CM++ld&Ef;$@>Qc6U|vrZ2jvM@9%C7eaktBEqE7fkMVG0(rfp5UgWh3 zvU-t&X-MsVZWGO3y0%QcwzQdH>dhrzS__Q=|2Vm=t}fXtA-Mvwo<%!<41K23Gf@Tv z{KZ>_hHEwrU+NXBTkra#a$*-eMsi%?Q{tgOuq5w=fYTCedzI}(HY~mss7q>VtcQE zvHdYI@d#0-T~OwqJ8yoOt$}qh zauQ8%d}ZCX6);cs+_?>evf#BsCPbp&Q&XqW*%MRl(x+=OKon6NdwR*6Ji{sKG~@%l z`RAL-(lbs@0>Fw7lT~7`0QC$tr|uwHtI)QDvw_$`s&Ud32^{7oA5kR`Ml$X4Qg1Wd93F>G!Valvm$xRQr+lx>{z$$ zCTQrE#UbzEh`HC2Fa>xl{J4){7so-cUkUO8eRNJq=}vffc(tJ__Uya%_V&KSub`%V zv1|#rHSIhzTA;~0s1t+;H`MtmoBw7ogVHlTPtW{0k4RB1(pRv>uQ8x-%TqFXoge-E zcl-KGZW~5WrrH{Tr%ch#d0x$t{q2K6<&!Y}CONDu7gtT1%jl0EHz53_p=y z<91x3Qj#0y*fG0<-?Db>*RPON@p06S+Th2MA1>|Fai%p0Z*Vs-Yws`{YgyAB1tDwE zoU#qw?=95$A2ngz5kj`Q_oj31mP|Sp7BXymkL3RtQazdoYAiRzz`N&@%OQOnyYg`Z z!6CG($d&M{SecRUWbB*%#+6>5xwx!ljoyA?F- z2ZVl(%eZcHrrxfVrFr2ZqVl-SjXeZiwL9SQ_U+s085r)O#>K0rsxgT^`s_vXQrK}2 zBx%4A-TWiBZr{#9=L$+2DVRE(SN{V9YywpwB5RJ6ttGjmPw;$ppSoz;Pr`11c({$d?j2oDcoRgURYYT(LOi(>#NTE z!DA<8|DFqS)bX6uM$?bTNP!Rz52EfP`YXWHU@^B68wrh(Y$U(wOSf68{)UdZx#dMi zlB$7h2yTLgmiasKU4*zRKh|g?sI}X+5b7Xbn$HwddF~^NpWp`7L{c;4Ojwm5!lV zpgG)5B{tiZeJfIq14_h0YDw3sM2B_Ub;_iF_Ne)nr|%(+(Qn^QiN+~p$-3+Hab{sV z|6P0rMp*c71=hO??Ry_FoiH={fr9)WB z;l4>E6hZA`Cr-5Gk5E~zK#s@G4$1Ath5QCkej`PD#FoicqA=r0gV1yPR}j*WJkH&l zGp)O$0qk%b1|eb{56byhsjeP)zT6>Z8~r8n1cy&^^_G>g6Ey~&H#$~NoXFOo%w1(R z*`?R%FR^53?KIi5cYd$wT z8#Znvwghd==cMacQz92cy0vt5HfNjVtK8UOyid<$wy2=(TSKt$@qyZ*YoI(g$9ha{ z6kw($RBiOc%+w7WhYlGvr(A$W9b7H`;ll@P4XN)0l(|9q8HpK$QtXdpiuNg{cRfna z>cOwZqunBc@TKdt8KnLWi#OONaj>0Wp~K%hxHsnsI|pVOmPz{V;(G*`YqaqDM@`d3 zkURHk!}*K>KP_6)7$AqU3 z2Y|zFP?l3}D(?Dzz|aYhj)@`Hkb>@Doz{`EE*0Iv4n8O#&}`wc@PceZw9@WPo)u7) zNV{Jp__wnBHG3h~|E9E#OhUsE6?Z1_8^`uZxZS~M`702GESg@>!fh3Gcu4}b2A}4( zGZd-WfgNSuQlPSr8@(fibf&aeg&x&uv~WcY{4qM}2WILQsxA}RK_C+#?I-X?ifa6= zmTcdbvPMR1geVLX0ZJmu+WK`gTL?kqH<-GJr!PMr0g(xw_ZK)O&GmbSvR%O{yr04z zGXDMjJ(x6U$Q^NNshI64zvtvt5_~nX0JO(p+BvHIl4R(;BIvW`9u^^ZlLx+^6s_!i z_@es|=zm~EhB^wkfq?I#UR?%$W|COm(&W9(8h@46H7@hH`6t`QBDdE**fmz@jnnp>ls- z0Uh0@O&{>|uOeG1N#(GmXP7xCY#;{oC_>P{L2#$nY za*PJ_>Zd2KQQoIx{i5z(o07piT_PECz8(qb_wOHPF!r{6Y~?e!@+)4Dj3CwTh0V+d zVxpd_Z4=V#chonms_D>fo5d|g_AkB+et&=a$IqX)&{;;&TA@V~a;3d}>lP`owf=Ld z(5P~^u?80d_}$x}$gTh_5;)YSImZ$OM>YBUUZ;sJCWzdX5yy>*J^^{0Ab%~8yL@+Y z2Ai6??|55M(g2ZyurQE_Bzfn~9ixvAw%x#nXn1|i_>F-dKyHRX2{WelmcwVafvte{ z;e!V2_dddH=ACN2c^%Oc+`v*)@1{H}qW;kn{An?=e~_HaVOAd#Km;yQ=?#qHzE{{L zweletGS?5F^54IIOG73lNxM?3BN}+@tS25%!nO5v*l7Xzr?GntSy=h}i{Y{qKVM%3 zVLErB55?9cdfc}+{!l{TDNro6DqyB%7LZm`3$AW+DX|-E&3x@T&0Z7EM+c23fq!nO zVIA`HN1$?w#MMo&L8KEH0Jk1yxXEt=V9hNM=X;U0|>e8 zhW%&d7F5z8Tah5$3wLdNy0ZN%fcn8gu9R;WZ-{|+Q(W;i{~ZaN^DoUMnJwDMt(hx5Q+ zUVt4O{P|^I4ELi(1N@(xFNlxyta~a!*05fx1F!xAQOLxbP$aoutWvzSYQ+7CWH+3L zjmq2yUSm|8#-eU{RAEp%aK6o6`_bX0PkkaK)*awavI;mwJl%(ix zNlwn{v4l~SCO?8!0m>bg^fUseV$oeJh|n}YuCJ@(+QZWz^~@Y8>$T@nVY?I5mJ5`- zXz2FY@GEO;@6OldAyO$Qx`SL?n+T_y^H}#AVWK#JP`UzU=EmxBQG4}G6okaYMD3&Q z_#>qFF*nJhoEM%`5r_rC$Ki$Yrv&N;W4#Jg&vge3^u^3892cNF%v4c7jlVuaJ>&TH z`mfK{RYCiSG6P>j+|fL9!$#yO*d6FW4ihu4kG@#>ai8_`T!W4$ZSHL_KfpHIaHts=^0{{d~Na}~MaJbH}STJLb-L?s|#Ac=oj_n37p zRm9pBqX0N;fXlkCu;v2gXIv`6`G;9V*X`4+MG_Ge{fXsc99=}a2i9<3LO=Lo8KgM^ z!E9j`sJgBzk&!AGGq90XEMm zD0~2(xB#UYRweH8r5d|-i2?Og^$oPNvPw!@glxX~(6R`zv9o{bYx42QSbMtZn?Y|= zjqlQ}60$E5N7|K7VYP-=j~Yz_jmmUQR{iu}Ua-mh|EFHCbHd$ihTc3R6YLS1TJM!v zEef^-xd62%Fo)`F+IfTx5g-)Zi=52^8G=hQ!$LzuR;DB0@*pV@5kkWR? z5^%x;>MZ{H0klqXmM&x8_Cw%YUS96|m(AiDFwdX)`CVFCS|Z-7Z`&P%ThUA$_Fi2k z6l-|}1^!5OAt6mdmId=Qg(qfOwAuxD*Yr~oE6hep1n`m@Md~?3N(5)&FgKXa={G(ocaJF7VzJ@F-iCtlR!>x zr>AEF1`h)=XUXt}{SG8pwGYKQeD)mDSEl5bHfVGYVSRxys>pftNv^o9Sl(bxWUh4^ z{7M8}@2YQJ7j+m<2N3))DG|QC8d1Ft1e`BniX)wa?OLg|2t7a3F(V&R5MZ{+&}$hP z5Oe!c$yLb_Fj6W&1wR!9?p+>k@`Z&3=%RR-{qS|LPdCjA^78U-2Y;C_dHnbV+%mNf z2;3SZWSNhJl3kZNzZKd>1585;<%cmPVJ;Rf256l-fr$xa?td&?Yyp{V-;ppVrQzVS zn|nQjU^+rNBq}P}o&SU|ERd=yS-ow90{%rTPeKFOPg3fcmuW0J+g0qW2;h4VP6N5Y z&zGKkEA@Os3gS1d*}ccHW3|tjFfKHc>8r+Z*gx#8-{IkDg7Z7vn;$a^T5TW=!$aIqjJ=k6sVFz}$c5A7`AI$! z>chbrH$5`pTo`UqR_wXw-iizn#!n>KuBREP%0qUT38vum-owZ zTWwo^a;z8hxjlQ15^k5#SSfEj0HMJV&| z+`<;4N2@(*VEu?Sgme%+c7}*yJo23+-22Yk&ae_~C-GnVDHE~;FZB}`XE_JQW(#j% zE5QQDNNNOs>WU(DVIQ|L=+0b@J0m3dz93+&7}Sw zA-tO5x7h9wd%UGo$(1~lN(w^s>s-5&I+%xWZv-NI7!V*B{Q`{yr8KU}=w+8d+vzot zI8e}yai`WncM3vXi%_<=j52>MK%y3h%{Y8j?{TvSuv7V= zF(fRNKBz)`KnUJM(kZlw%sBparHH}zx1Ow3an*2wr$%Fqf-zVpz|>GndN_$5&Q`pz z@@S8Qn>r-l!yvN5vHA}|)M0l^6D9;mTi^Xe9yf1{he)76dVntmPe7LjmD~U%cRTEYz>fBnmcyZPJy3f?>J>GNNu^dNjMtH!m;GLV($_ zJvZs-rPr!+lf8TpT7t3u=YW1?;WR^pv^AyvE>;g77dh_@$@w25_tuH2queE-3>Ryi3p4!PNoVR&tW0gy#* z{EkCmK1(PgXae#{K`=ly_Jyyuf?f?p%szxIgA@dtz&X5>l8EQi zZ*3j>I*BV#TWc1T#TM zxbZO}wH5)91l}84JXC%zKjc2FKs#VD#xv&!3nK!v;WBJCxp*hWvNa(|5;msaZ@(kM18sT1#gTxNOiz0rpv9S;zYw$3_NKr^7Og8pb8MfKS4b3W> zo@6P)Ezo#h6MBAYhR#96MF^I?>cO^yAA5TZ(PQ#q`!bLSgL#qLY+AKrcyRCm_^&kP zOs&LCdGw^#MTE@tIINJJH*VS#On7V14Vs{3=LgTSIMbvOc1;_QG=TC0uff|R5Ta^c zU&jwoVA;5N^A2HQVdRel&@s|Q_e&?x&jf>-PAZ)rZaRz2$WG*EP}qKm6nGZSuq#KI z@YA2`tMhl9!MkNC9x=smvc50In=71`UcV&K<3*H^o643*qSa~Aad_KD!NMZNL1h^E z129=(E34#DA{dZC<^SafC*EVQaCbNGLqd6|o5=`UC3r{0S7U`U?X6E$^hTGEEU0~^ z7PG+R5@ydA?w1a0Q@O)(QN#vuntE0jmGEb3IDj70XDnv<|_v^COy6<&A z&-453fA-$Tv5({DIPM!ueftd8^&Zamd7hUC#RT`H0(hEGn>5i|S#hL8LFCwX22I7E zKMy889HUM2e+~p>}>-{GbPw{XQ`HG41psrtSnt15Slx&FL0Ks{d8?`o=Vy*WP zRjN@)GDp|+rQ=XIFts#h!{(~e<#YQ%)f4-Dh4MWM+J7}#0YMmBANvtVe42t+6xlj- z#-9UK)7c)7pu9@0<_CL&^Mei*u~X-^Nt zSGRT_mPM{PvixZ29dO~po+A{h4Cga}NbLD`1@S_OyZ~&Xib{5J4KSGLyy!(X>#uSv z(-}|rL@$K31;Ji3?UK%zG1Ifdj5;L5|J4NK9QoOu)aVBo=?gKV{ef6hu z1pUGk+L6O!;hKX@P6by}Qnb<#JKD$b$E+h1sV5&+ku52U%@ zQJ=ngZe9@biJl=8Fp|dd*WZ_&ARfL0nDz4YodV`<9J}n{j1#xHIw_+4Z7L(0fey=S z*s<%rywDQ!brqEd7p`^f+I1a3^jI`X$T<<&dGdOuR=&U6j@>u`@IJkmr=8?j+>s~r zwydn(k!dX@;DoR`8KK^y@E?4%kU0~8lwx1~E#BnKU@{T^T+(-fE8{gW5h7W2CX9gz zL7=%b+S2ZI%4S(wtqIenwQbvDuoq}{$|d(8$I2q3SE=s3Au@O#J0>gUr`+O-jh7A_ zKD+}E`|Z2iyP2L&f%M7@E%5c-SfqZN8O@0KF}#+?VUNqx8K^J9MhdneV=gM8Vn~{~Vd{qfLN(<#Y3qZ+30&alrNKP|MWz zGUJ#`Akk@`yRS8!PQbfVz5ez$PYPMcbQTSZqB$>*I73_hR3)7W%7Oky!c>$&UD z-uO0aF1-Y{Y{^ko-JiAXg9XQ%nMfBgkmHdZE~J_OYH4d_ZT+secsIU1;9!+|bTnvUZ+y zvy=|v!NPL1f@)F{mcpB1@Yfpp&D|4)3{&<7NhK4dyTHMh^*S;0 z_fRSE&6WwQ8ye=SUDFLG{`fiCy>^6v3aQKPuMQ-nHAjlgX>?u5?@iLvp&mG#;dL~Z zKu3;CR&r2Bch~Q#n0Z$y)bMMtuli{(J;du*bX)8k5T4(1cU#+^zERPT{E?MXo zNms-)ZdYD>H+rMs9NX`J#7iia#0Wr8H&Akjc$B|*wW4C0G@P|Nyy&&OZ^32RN!;MQ z1-!oNY6se9MHwwVRp>n_LC#PDsVs<9diDDCy7B^DfzPtmC(fDE1;U;WTY|{6=U-2` zpr^D{N+C!wok8%tm2YkbQ3P(I{j;LY7SxP+k@J^c)KgH9fGkZQO)+0OWOP~u)2k%sA=Z!(oNur+b%So?>7Y#OVd50iMt z#Hb%tx9q5_d~Ws7BQ8v1XrJ?IcgTaa@EPrd=9TdFT@VT)H$wcP1k^xQz~dMYG|ljD zz;NPW-MON_V(LjD8%%S87~nQdj0~g{D8399r6mWDcdZ^eD5XOe@&%XzOsGzP?*b2n zupM`GKC42D6-8EhMQq=*XU~IU>ixvD>-AklUb-idi}?DEX&7xlMM+=)lGc5cj&E5? zVjRU5hIIe?gZ{oS=c*qiCXyR`JzSf&A3g}`G<8TqrX*E?Tm?WaF*Ta7x)FopEP6w1{o%}ph`mgjVBa^xC-4{1K zy?_1v?>{VW-F)l6-t6ChC}`Hc#lP0^-+ypzHLUaBU+}NrKgr)PQ26^R{{B5=qvZd5 z=)WG(Uw`;N&-8z>q+-(vjvDqaF0)(@9wakZ0~JwI%=^8j|M?gn*mlfcEU_~>K1znc zgI!o+6IKAjmfmVH=BSD_(DHY9XM(>8vA`+e$On4?6On6!J(?Qx7k5kZWFpmHN2eDv zz-?ErZg!Sco-PK3MBE8tnhlZp^U#ie?~6ZwKWN&x@?`7K%vEoJFDlAK^~ZQg(A2bj z%ul534rJojZ_BS{1fU1G>pSP$GCYO9(yz0u?6KFA{uW36wJ$6nNXc7Z<$oF&xB=sB1w~aD zJNDJvwh5#N2u88L|yDrda8JEh1Hh>I#qvy9~NGAL%a5G?Z zy^sF%1N{JWcXh}|d+L^#a{LB^ER^RBe!h5ef{6w? z@rRmPJK(S>)F_$I;Ge&I8ML9Et*J)Aw2ne|+4AMW+2z-#^%aqL*C|L0CytwY#+M9d zJ*TD^8Gi>+W>7h!R9tFjw-31VG!(4X?c47-d-m+jSc<^$%!heTVh%|scN#q569o8P zBUT0bS?U&4JSoOi7aTyy+u-x8-qdxI8%q9xik|4qQ@IOl9Q9)7Zwg+ z1a&kra_||K?5wOiOx%7Wttv;Rr8kXX9)@skLn(ZFp%-tafOVtzmV|@^DT8ipcM5P> zgrV^ntM;MoqXlfH;BdVm0o{lh#nb?&(q}R|$N!ZXq zMIW4prb98;Dt>~+7B&s%6F(DHTmCh-Vm7bl?CdOMfPs~`U=s(RX(e6V6a)J)jz!+U zg>!zp5&&Gi z0RdvLv7)c!0KD`^1f;635zqsq4EVq0myOt{C=0QoN+}T|6IAM}ewKXwI+Q2XW9RtO zqgOJV%vL?ucRK;3f+4$2X2?!SXTY#0Po4x;@USZw=J`L}{DNLg5ljqGl(=G4%?ivf z{J?(x^c3M@%ML$EOFKkNwtKQQK0cn7joFe0n2)MhM0(kcO@^W?IoB^C{lfc|M|Lvv1j~^e1*;0=lJwoOV5{mOKJ$tGECO^B3 zEc%J?L@-H6DsK6A*7*H<=Jg{wTZDxI??OeGkT7qjs69y6B8I3+_*OMK#z@xz>3;{O z7>7FveDT|0okFxv%Mt=rX+EkSL@D06GIDZzXpyWD84VjbGWGl+AD<2a8UewRctY0V z&m)@X^kR;9@FlRuq!%q-EYr6yAb^r^3c}+FLhX3E9Eh;nP=qL|sXhAmVWyGMBoK&$ zygwKU??L$mg8;86y24%H1R=0Xe!XdG#EE!=O1HKmLgRVSx?Q{M@EEec3S0}s`w|Id z_#KF_ox61l^{b|1fbXvl95EX&5Wkn#;1vq~GAZ^3P0>1})&iqRT=V)CPj#EOcYE@7 zYaqg`g?gh#^-OWC+J@!`2yF+XUn{l;6WTFf3sMB34dksWl)8I-j?o&~Z;|>zBW$*@ z-p(*~5yUfr^9bf8ox=RsWo-rz8KS{B)eWd{a#^76W^F)afjbDQ9}`sOH52E~?Zze( zK66Y(WzV|{MyN~z!@PnBqY!|jgA9bp~yxa}{LnJ53T0S9t zR3il0_=;$_y)4WLwzh*(YfIIHt_sY1;`s4Wf&|H(35xWpr@_sb>l+7KYvwS_$c$W| zx#-G>Y-RYkAY6=Owb=1c&Y{FW-THD!OsTP&!WgT8s9S@<8M!feST4g<1V7NruZ54J6o= zV9pEFGCVw7x-NWF(SO-ucIDSED;@|63Zn2a5#gE9W6r}$6jyB|HI$3qU)6^Vn|*lN z+1x?BY92m#fG<(1o6B|=*6awiJUY->4ks^P9wA0nk^{nP=~@%UV$Br9C?K$$H5Ax1 z)6h_6%$PAu<#K{H!c`V*5`M}N77-8q;Hy`QPPic>k}`k@b}nA`diSjarxiOD-C-Cq z$=rim9FJy(+7L|c9;c@Ze#aqy|5X?F0|t9VMIqJs)os<0vqYs;^Fkgze*7$`n90na z9umZ?r_)Sg+-R)TR;*YN3&ktN>3qgQcF2r1L0%82eU$q5zrDm2_6U9{!l?pjhE&et z>s#DUm@cc(A+pamH{VMf6a>B{x_Gi=Mb50MPjboZzLngg^+63<^pYBqy0J<(;hYqu zeg1xMOiYX*dzAN_W@MBTxoO$wQKv>Sd~K${+8XJvtgE|tWqc6TP+N%$R+jDem#~Fx zo(6Ayo}d4aMXB{N=R*|xQ6!L*4@0!HOhNU|GE3kmT3@s$fC$<9rPx?OCbc=6eo7y? z3zM`ei+0aIBZf*s5s{g{+_%}{Kg;okh3h6M=<))Pgq9yb}w;g8D{@t1i=eutG-O>Tq`*&Ui+J_v=^rPq@s0sf?*l^$K^n7)E^T*?SDR&S-b>Kl;8&jkg&P=e zYES1uvWdL;1MvcFR4V4sJ(!+FAJK+ov25i^Yl;|t^sxEDkWE|~MkR7gsD_0v23nX% z>;)zl$_iAcpVEuJeDPtAOC$^`A~()B0jh;f;SB=(kK9a#8~yMG&@MH@U5&kxzOA@SlLF<1kJgfw~COQ&=!Q4>$znZJv!hX-;O{#RI z)92?hP#h<~;Cb@ArDt7rxi#!v*ZT*eqJ~`ASl&@G3PJfpd(GuT%@;1D&^51YBA^Og z4~&p1BHxO~$>6pvH}JE0}dk1O@l`}y;yh)Wb+ zAzI}k)G<)+!W>hm8-M&f_X1Ld_ym{??=kGiHB^sw8TTI@*^euAvsy|u%h=ZG@U({A zUogXCL%k)*KZl=FFqU99X~l|x-21%HFMGYc?=WQ465b~$BB z;qY)|h9GUfeJiZ${=j=rBE*UGhQCq9-XotRc65@=-?S;o@Jrhc9d>#xp_8~6AFmZy zol;#e0o-vNG%^t~lwU)#Q1(()@7=pM45|0PTolE_!`;KMzm)b=bk{Ni>lY*h3ize) z-zHbGAt)MJ-iUKCJq%LYO5#6iomHxfPs@)&!pAgHI@>PiLQBcORv()+jg<9i*+e%H0ccBZFsl=U zNQB{Cd4DyzLe%2b8dJ#_zn{bZTQQXHF|_k}8s5p-_kDV|lDIavlq^AzrUHo?dmqct zFFGg~CBY1%1{PvEGeq)farl%|(6578C<5<)S5mSE{gD+dao}6I3Bs3;TePM;fa@PU z^UA4H{bJ+d1p1v4aai=u9XoauWOyUnl@`0U$yLNAB<$jA);l_CMZ`k2=|;0~-ZY{I z{Njp+V?jatNLZo(8rX70x5DHK;=Oszq<&7bCykRzdWL(9x^VP^-ZTl|RRflkAcCS6 z*cA{UCsCk~zERZ+HiZm?=3pA>fhQ>W_31GD?q5=!V`8#Sj6%eG;KE#&(^m)=D@VLW z&th=177@q8wd>d4Viy}TV1y0O92npZ6o(E+YbXwzjV+6j6$w1$rk#zA%`YetFuj^h zpFZ8M$cQ3C)NbSw$)%KpbLnHZy1dF-{PnGrc#z~tDM zzNKDQu}r--@C&Q@21$At)JOjyS^K=#7=B9LmXz4c*-~{uky+}%LUqc$Elmv@2Loo< zo^_v|@%R0={q&i3c3VV*+L|}1K1A1^?k57m zpB2A(T2{4p&eA7Flp$ib3DFE&{|1`;j&JkrQUa+d8Qlfb#$Sw!%Ra37)p|~z2ct!1 zi9OCox-N<+Lvy4AZ)d^Vik7DSssA2M2uRBHHG^MY)C5aeDuTkET2s_J{U<01J!pHm z;h_(z7mykyVKHk?Z;|)Ca$J=yC)2Ilj^JR0zX;-p|8CG!gWipBt0_DtDnQur7fhqs zALkb(4=1+>uSYhg)Qz~jfW@Q`q80u99U|uCS~bdONS@@Zfr*!foh)xxwO6@3wQi_% z$3F9eugqvOKW%gLG9VyXw(*d(-W=%-QA zC#!r}>T?H~9=tqG-oP&~&|Imidn=k*sJLB0M(zMu#239Ma&H3?Spp0tR5G6L^#@iR zr*jml$98iQSSRLA5K208InfUb+x6P?pDT3YE}mT{CX5I&tceezli_5B1A&2ixph$} znn$$geuU`UTq0^|0>sB4{ec6eC4e6$=Npofk_301sqPqw(5c;|nf(rB;9dI2H_u$F z0>+=df&60_3?3vsauiZh-#*7%;(Rk6xKaqY1cO^3c)XHzG*_bJrR~l$A8>vYw9-Bj z(b7l^_=XWScV#Y{La1Dnw6>YZ+(e?v^rn#F3&Bt!_Rto5E=YO#w(L=4RFqbO>EVj~ z)+UQUX6OOM8$6uWwAtjej*7~4vo+z{BP-TBJMV%P7xvXm_bH2@6%J(}Lp@_-V=ux* z^zNtM7ji|C^Os(b3`bb&aL44Zp%vQa>!5-PUEI*QPXn*`u-}Frbz#Ex&tEkrMW+g{ zPYIuEMO}cF=MRE(Cl-2`NVTLs*++UgY91hve`soIzNx1ek$fAxDqQ8VZBAPVdCet) zi=gaIWg~`JJ%*UKkcindeCpE+z9{2L3r*(^fuxy)pFYXiS(_bi@=2TKdGwpHVuKU6 z-+uaZenCJeC5RaMgTXL-S@@};cgWXDAhN=sYOVv2$aCk;mUP1@iVpkq;E&5nL@=FP z+5NuS5h~}M0_GEYoIq8Pe%-BRz2wS=B&JakPmF?l4iP-V6ZUO)O2HF&@bKYH^1G3J zt=dht345XE@MW#Dva>}!C&{Rta(ea>!sjNa3kS>1Uau4g9HPq8rLz;+4nBOl>iZsD z{-dQosET*h4OUdVlqH4gey&DAK_PhlPcu9U@yhKhT3Uk0ni1t$XQ$%}<`K+A4@|s& z*i38ms8JHnq8v*XevUw=@#E893yvvVGyrA-a}0%`3o^e*U7P@ddUM>LVS449x*rSZ zWuZwr4AWIs7On-IWrQY{o*?itWkLUuBV|F$PiMM&wcgcHelPpazt6R&q*Xw(rQFQ( zxRt({*Fm_|hCrLz2`0O?13}Qn>F2dIimrQ-4F`{yrjgg(u9f;~s9>MT$TMy`LbJLrva+iI(}2CyQYF$rk} zStoOKM%@i}kYyFq3*AID%vxHc>@|MkMa-dEv}`FB3Xo!!>xn~uP#&zxj~yVMCq91L zUEpE0mC*k0EEr3%w~Igmi}xZ+P|)Mbx{v3rP!hM+YxrRTi)bl3ttKJe|Bnf~g27N+ z%~a46j0Xtr*k_a{8S))Gq|9mk*x|?#Xmhr*=1MwLa0bCmvf&P5=?6Ohfu~+}88B_t zyx2DF+q0o}%oN?K084;4rU3S72(yyXp>0cZoSrosoiTmZtoyJ-#cW!l@~y3A>D$9x zs%?Uao{6=bW zs(kTMIN&f#h7Q-%6pXFG3lrLVG&PJADpdLvsrVsK3m6>Sxw!Q9Q+mr0tDko+PpR$; zFKR7(jMXnLx1kI?KmU@VFvN1n$??v#PykvIB}|z%sA>1jV<-R z=WaOI3o-<7&^A^$?{W!IMX2Ef@*cnU@YSnh0Dwf(D&*Z1mj*Og#(+=4M;~189@QK2 zzKcxz#;5FE!z&Ot8)3?rR6-;=P1?JdkRWWyJHsV`KNAd-S3nySCh=*-_M#gX0&-fa zo0JP80|OlkaF@zM#A_Pm#&*><7Tn{gP2a=-$|SVvKl53Goq+p^7|RIQ>r0=h3T8W+ zut_)|3`WpGYXoqtS}_RO)=9|$(n`f|y-(xcc zLa}gFPR18$UMkT+7>Y8$va68lY-eXD2+Nr9#?P+P2S1>9G+}jJE^Vnm*gnGhn@7Rp zoqOrG$2E0*R!}2_TWd*x=wrWVY?%35eIWc+Cr)G$4j~t1+s1Ixmzd805!-F(M}8Ih z7$T6)eVj(!+jQ!bk$B=BGpxxpn(Cx6bEm6UuA~Wh(AuxZ^*t;kQ<<|>zTWNn7-`U> zkIqP>glOu{@o7ec$2PkYy zqLhaZpCj1crky0=_^7yXyhQ~BmJ`D>e8)`?jXqY9tvYE3s>d8Z-Y1`lqWH1EjZcyy zO(TwyAbJiy4d{U#p42d*-Pl>XsHn%K^Uq z^tH`}5KGv_P^M?uSo1E?QJFg=%bt)`o_V~pWVpyO`~CizbiF>k883gmE6*8H1cmzwaQf9L|qRiHHpSNbsPza0O3@Ldlh{%Mu)VA@b zH@&;EZ#+=qrKPu}@lg@8=fE!{elfUa;}}!7OZh&8xF-e>ic-*=Xv)JLyf}X7&^Chl zA0RnEgy-j+-D?2f4wQdoLSr!-HiACcWeyN4Dk4OF+*jFXi@8* z@!-J?KIhDY*kjkM1It zjVC8zVWEC?^nd%Z$pP0tOJB1^OY!?a4PK(4YhsgOOlCj!dhmZ_bn%xnJzM`cj`CU1 zS|py35PQQxQ%|1Mq&w(HTk4J3gOZoP`}mJv2gCWMKBNoq@SXsSr)&$Yw<#Ou=fpLkt){}Zpv zqWS+s7W-d+=(qU=GymoS{FjRf`G4dG{GSi~=M(t<(=+v4fWwG>VqDw=!X%}hCwK*z zrMw6~fI4t^+DI;5zU=nUXn<>cpRt?71`sV0#EA`Aw{P9Lh^Z(hZ@^9O2V6eT=tBn} ztR6%VrO5NhPd{z;fO(LxLX&vz-hF?%o$x67ju!kh!*cbg4nImi#6M0lTdsF~2C-t) zhEJWTlusOcec0o%u$6++ylK;>U}WQy<|yCqA~&a-_3fu)3#*U6Um9r%2Y4_0QjzN= zFg;aW*eCCpS(_NAzavP-vK1?&BpjU6L1rt%3F55)M=^nYPu6+x;K8rz$ksooB5pi- z6!EkP$CwYt+*|($tSLEnY8cg=5DPohQXYuEKs>3xJ>-l>9En9>F4XO=`9`PB9#c*2 zhg4uqSW=IdXO4CY1)GI!@4a(?JAmf)igIiD$inyv%haO*!^13&)U19ix+maNgeTpn zH;B#&{tycF8JXe3x zWUO~p8BbSSAJb7|hy3?Rsr4oz{ZT}U`M7jt{jq;PkDcFR+O(j=-%edp;K3`V)*gA_ z&>^c~zH@3~M$cst*Y2jZ|9}$n9__WIv&ko|?^nFT!C~I<--ad_1m~rby}pCGe_#l! zepR(e?z3Y^-fdpC_>b0F^yhOZTcyiQZmb z=YPeo%9KKM1hLjV-{=p;kn!S>8$lAF&O7$Ho1!1{cWUkr%SUdXaigr=-*LOJirW#_ ztX}#3`&M7yj7Mu=-*#t&=<}3D?%3=0ihfRCUQ{g~xpl^!e|+2B>g9ib#J_$|k#5vf zlQN=B0UhPJOGyx$w7`u61;sdCt>_j6aU3w^4+ad!9o&JH?(iryAVY#k%AOwrb}dL5 zqQ3#A7sPPUHi|>Hdb<@0kp#28{elGzcr5XRh%QJ}0?+KLsn}`{b;px&Ao{X-RvUyQtPZnQbZ*L6uTA2O-2eM_K zrCmqVEVP%xqZ!GLArAT7c+6t(Cb)A87cLZEP2HNUlgpe|;G00jf^OMIUOqG2L|M!- zi;8M@U-eqTBM^KCaR?Px&RFT)iH!v}X%J?I&pA83U-dqfRi_G_O0otBtPmhylpE0c z#Vm$CL^y`()Z~1K;Lkmg%B^@w6TG&u-bJ)Pg2_`qdh}?rC6z=A(XCToi(OCkh$-zz zNMn_{sg!0+`D}}}rljbK^ALZO=1h0!U6~M^Gr|E%&dBos$1aEzU3IG&j@O^Y+P4PRYKnp+o@h5`&|^ZF*nutMOm`;H_n7JkXA|ZC zM*1yVv;aLcIM;-XeOqFIYdgtWw5G6B#eq&jE(L=}XdAFim$cn^>#YU~qa`c_Mw8W_QoqdVJH({;X{Pp zR+JN#u!ubOvI@iuh30b-KzHWVjSf+E^$b@!L$?AtladIo4{?m6icKSS0b|=%Tqt+& zaet%oN%wfTwnKq8D3lnVw6rK3z~?fV6QotfO&w@<=VCO>HpM*7=jQs1HyO=ufO}sg z+zXzMxNCU2jF%S&m&>&*an!0BD{_*6T8PfV;uaM9Q+}K>9m9{W({-ElG3pgd3*x0f z+lgvh*)HhIe$z-XtSi{`p@W}qGnK|VY4^6SCj#(bguM;$a!5)(DA4sYFup7h^)_Z= z{A6MD$vEcb^k#HBgIX z_HLK%c`4g8c15dC8r?~xXmA}d+oNStA#xU($D~f_tzp#y{gVcBQMZ?Fppr!R4}f=) zlkT|@by<%ex2IyC{OJ0iQ$aVHsw%-#mk=RYPk*2U5-}5=@jI+8VSx%tll1lJ7X-M- zLl#u8wHy=T9~5+keoKrVAtkK&wy{Gzgf|g#83NrEQ+@y%fC)u_Ds+4jPg;55$nzVV zbZy+TdBR^M-Jr?;UocYrUIqjOsSyNZ;WkR{q@_(mY;5V2}&f1W6Qh*W< zfX60H6h~WFtz4-rx%1@7Od8-3_o0=`8_t?FGI_D0B4V_IyfO~-TD!J0?Y0mo3l1_h z&>xaekEX_!Iu`NtE%-%r;U^M`4kOW<${GkoFezm~i@jW+VatERDj%6Ru178e~+iR)oUt-bGQ>4nfRupq+p|Iq3OUe@yl`Ha(&bzv|k6~JmIg&!C;&+1P#ZF zN(v&WAxUsVRn4zo4@ebNx#W`aN&6Xqn*DDgJ5Q5(q6@`T_ocPhBsqU2I00jNAk4-Ff z+-EpDL%9i=aeT#vL_rJ&C;Q0ky&KP2A~?=vJ&B)7FE;2m{P0`hrrNEoI2wx-VSDc` zQFG!%NT8D`FMi}2KhH=8xZun(kn9bmV>$6ja)8-%dIA^~=*+%?j7RDyk|pAVlMa0& zyr!C)2T}^`@$>VObUr&Lyv74x0PIGl9_$mO3LEPqrx|yV2s;W;UO!^RbSf*cwgsKK z*NCaZhY#P7mipK(RwKjm5l{^tIdtAxy^g_;IRX@sQg!V@o{D?h;bE}OKYv~=&f1uC zdbZb`@NN+Q(~Cz*0>mi6J@r#f-Z@BC?>~MFwb_nAM^R5!RKa<$ zA2jvUzOi-tgHzR81t(9L4Yv1wR^}=4=5diweY)|iM@8!C zi+KUpDo3cBq!x=K){g)0Xya$xLo@b0t|PyJOPP+i|K(36cCL5J&6_vpu1v=2imSYcYwREXCGK^9(tfph=$$btfRYwsB<}DcmY89TmLf=C_hQpPZ zwJ0iz1FW`JSKf7UnEF?9GHJs99ZcDjY!ECS1(I-aHlF}*M{oFaAT%s&+KLrnz=M-1 zy23+I>LG3M`cy$OFO= zr35qXT<5AzHo^%FQKjI>gSf8BVgZiOU&}aSF`@Y`Fr%=$VXl+tHMXvq9f*|`$979L zYtvG%mk=!#Pa+x$M!lF`+tXTPJe??&`u zQU;aQ>n*59M8-Fqmy2;%bF1;fs3s8`6HJS7ZW2r-nbB`xmYD*lL}WGE%xdYX}_ z%g5Y}vF!dKbqKiT#G;dAjDCtgI{%O#;gYkk2%GKL2&?ulRaPT1uP9=>>8sfi00n!7?0bvv;nX)6;^f3WJP-2zSZEa%fG`Zf6Z9u=qUV+!WYDa ziS`^R)djy|4y*4Xsh}e1`PvfqE+UxUyz1HQ+O&~*n{PRxSMALaYk|b2`m1sv;wv@fdRA`0>Havay>|8anjJN7o$vL8Wz%OyiNE zoaomlM?W;>`@P;Mbz(MZo%-!EM`^Z~6Q*V`{tZps;&j6+wVzUlhL&;W1R{y32}(k{ zn<>m*TDO{}Kk#}Nx5nKQ;{Q!sx6%DP+c$=97RTZJ*dO!k*<5i(u^?ZxT&}CGs%mKa z?ED|_nMHjZbs3&YJ4p$Cs+qf$(9&~`ERIQ0U+(I5VvyVaMqG|+d))`nlVWi|H~ns)@8Zc9jPQo?eq3T>xNkDK4%nvdEM|oaNzj4;AA- z41Zt{_e&`r%TckC2XFyKylgwB)m~e-lm|6I=-4C&u#hbcWwlNx#4p33QV{Kj{d&jZ z5ZRM*JnO|tONH6=5_f4f$}i|BHem|UYJ;92SB^!kF?Rd?1Ssc1;nl8PyOd5HEq*vg z1C;Oren@-p@iR3Cip;2?shQn&-kg`r9&Z}xPMFc=#imSa%_2Igfh_|+x=Yk6Y!~_Y z7-yWL9o&n$;pX)%O;r3XJcV3K`HP4==M=UY@aEYt!QGz*nh{A`db(BRm_hh|Utg?z z9sj8M@-xq>1w}vG(4xH@N+r9dHaA$FTKD?FtSxP^)WuMSDy^UjBS@G7C6@U{>QhkZ#}7_wn@JPp4E$E9c2DsM`0Ba zu5~iUI+;3FD9%#UV!Pc<8NW_is=ISvK%LnnOjHzd_1B1H2SImiYLiAa-)fPQVdSJA zF?Y}zwJwu529)s2YZ~qR*?*on$u~1+%fvrjRF%*N*=;VUt6|pGYw&emsW|l-?Pm3s z)KTU5fB*h!;dn$I^A z9>jU}Y1OI~pJm?3>{+L0k_SLk9gfbLKD{f9L6YV0niyjvEtFQYd3iA-lf9`iBnME1 zbz5aw+Aj;vV*CBq*>366q{JCDzYff9*uD-^yLQi{<3|>3no!;;R#YGUdYD}GpbEWo z@#2H(oB?npb@UU8A&gPRca;#(B)af-LX z`Tlq-F|#Jf((VU#cWe(lXF1}-P=|)FAJ$tcau2?-8x99hD<;jgF(#_=YEk#Q-}m>@ zng-q6xQzBn%Ao7z)9N>r5Us!=4yArGf7wp6)m~S(?mz2+BWA%(xs#DG%i&6Gjv$qE zMbMPe%pCGkvg82#kyZ8?>YZDAl1UyddHJl<0s$JvFK&>$IJ{fC^je1gD3!e#$&gEW zU%SWHLY(K?zMtNr3-h7|LB@WzaHD9Q=!wcp`|tWFd)c_#{T1G|PD7!cYbB>E#@y4& z?`cwO;^ua(sF}4zOoi4U{g!Q7NCj7G?Y1p-L2w-$-!LiTy6TKJEz)M;en;aHj$P%< zz*!>yZE$g_bm2~oNhEv$pwPM zKHbirOdDR!t&USYWkYYIJ*v1Oj-IR82FvO?VDWa}R-4AwpEuj&+PEb(=^tCbzgO$f zJ06b(&^xzOe>H>&UcZ>M-yy>OC|Ur>&k#k}r1(`shTa39B+e`&d}s&eagqzb-xRVJ zhIGMxU*Txcz4spMU~SzT{~R$@pzs`+nAr^;%5QS2|Dt=a6eOMd^l2}n`b|$@d2I9& zqqx}EZ5Xvke#<~EUVIvq0Zoh~kwh_Y`bDtbS0KtByq|7i84z9sEH9*#f2*}przs5ZrXLJ;5azcgvY%05S=l~H1G#i-AUZ0A<`TSu z&X4pxZD(QJr<|&eF}h$;o*4eWk;#}kwzu6G(0tP9REv-G$ycxTA2zHr%A)(^Q>QFW zM-amTF`$^RtNqq#XS1dWNRkFx9IgN#zuT%eWFkS8>kwuJ8B8Mdg;8J7)=Ei4(OmP@ zy8hR99ee4$MUK(HWZ;l}U~M7>SRFN7&{sLs4-1{G@JSR%rRNG*E`q=+tjdvU2bEv) zzo4RjyUIAx3DPpiGXlz(EUkQh0^>Wt5^evl2#dHLMWREQYr`PRGkbCN{PL8xZ+nTL zmPmxRuwC80lT99bnTt^GdKZj&5~!v2#uZ4Qg+X0h^hL+}J*$c{{*)IPD>)UNJOA}v zMc`=1fx^3o!=08=9M?QKT|9sRCR}21cA!9ZM$qI6;~~k|x|5+92$p>;j&*R?OHpy! zOd}QOP=E;JR#sLQz)_u3=5Bed?+X=HdKi41yDvrWz?D`9`F7-rAmGI%NF=3Bg~ZaeAp zu*zYmoP;|8p?D{R*Pc<9r)R%Kx}tt4p;sl9Y2f-MJs9_+MvW3D_)VQLWAN;TU0eK& z-(*DStNREm&8mWoCX?!2e>LqtGJa*Wl*);*e6y;S%aItAPv|ef0k$P0A0IlaplccI zzUC6z7HiZg+g}kMOG0ZHPy@}Za;fsw-s$2grq4_17R6f^vJ{?=6-Gm&+zsmOUMZY6?tC`RX$F$iAFMH3MisW4O-<|#B@o(C z;pn(jgvR?lKG?8--}63k;-Kh5P$8p6*UuvDaTC9=Ffm%R0N`{(=A0yxsg4*imu~Bl#rBLKS_#nO99)!IKeBf0aHqJYdtOEi zgUds!^`~&enIc97J9q7R;kHL+%U}qP(M(E5Uw%zpIQeQpuGV)7TlvxJCki)Wjq5)K zOS0!ZUG8>#mZ*6vE3%LP|BTUy76KJ)cJ$mzK;$%UT*w7obxg>qZ6H0zyDC_ zI}1*_IEDHLLzfFomBi0QQ54TSl?HP$AXTQ`K7=iOK4{}<*B?IC2^i0`lgGMUwNoBQ zD>$2eE1q#l;X}VE5JEE<%E)gqF7x_jdwVCdj~&pO2a{KZK!Tf>5l6AFHhAz1MsAnY zzMY424a1uSF*K54e-3KN>I#k$qHw31^ODBie`GW_UUp~)&TVnQY^?0(^BhK6 zUCuR3f8gvieqXxNCNvNW2KQj%pB`;@qo7=U-N9Fk^!dP&XwSIj|<5Vfh+J}GN4a^GF6jVEDL zECeB#gD=-*q|Ys-r3aB1u54+zB1DD|zFziHD)eGWmo+t(H~oO^tEQwhku$Ys)A4*P zDG6urV~b}Y?w8Il2xd4h} z&hZuqWX`cC!m&&&1&d;8>)X1-^4{k48&;nPdRWuaG@7_)PJwsun#uI0d7+Bz5 zz1YRYMQp=fx~?0p`F55&WuHW$VgobXm4n)sUz#7;Y~cR&KWfo!m;j-6$58^+`Iu`d z&)qiec}V5F-22kzexbi?UKXYYnH{n|(|dr^)j#xnJ$}{T8M*#y`7H2JW6Y5Wht_%8 zR&|eOoG&-bdQ_+T-X&Alp-=MuL+0zZtkKKJO;N<0gLh%vSYM-s+658a0|0;_WC$jC^Yc_k$9HHZ*0#Z`(b}(WaOQG9k4Wn2Nd$^#JKA)O zd{m5O4JSVL+N+Upna_d{~iGp&2*xtlNAb|Iu|qg@5O(N$DP9Shxg)cp@-BnC=``ch%1tcP9FEoyF_pxV%LA->)6{4tAY+^ee?Zl-!`rvw z+qbtTS5L5dbLP+-H@C*`@3^Bp-rzHy3OnRU(FTFm8?!gxFTe8Q{K<{`7mfJ|(Zr0w zy@-eehbfyHQ8dh8dXS4`;&b4dw7%bSb_udP){X<=G7xNx1dE+X8exC16HvnG*gh%c zh8fZ0m~91Rrz`Dz{`GdHi*^5m<<|y(+2z0E%_(+kBt_1c!+8f2BKzmLkN22$=ulI2 z!}Gl{&Q^1#56ws~PTACvlKleZoDRFb`t6I!P)$z!bE$e- zw{8)88Zcqd{ENXzL4si+48q8WxR?tfH#c$3;(>sH-xTbAOKr(HmED@N{091P)Jnf%d!pA=p3od9A>F!k31PZkim=HTE`<}N ze31IVF4LGV9~o%Wi;bq5_QcV_p?qSL-;keuIE!Jgp{w&((J+3uXa%%FU{Ga%+|TXX zxJaF-+hzV(%kJJ@(q#f;*(&hPGLkbT$r|sHu5~&-X$XL=Onra7uw)upg^qv~m%H(e z`#G|gq3h507dQs=0+_B|?Wg|koEE{E9EY*tbYc(MKfgGRH=L^$bFIsV1o>p?Lyu}` zZz5Pkb|@E1!Sw|3@y91)R^}}53^UMlU<;KY%snWkj{LZ;I=#RX=KgnCgk@|y{{^$dia2zU{;h{Rv{*-uT|JlATUZ-#y})UIg2`f#42 z`NbvU4)^bjgXM#-sz*W`QLRF$pNScZaYFv*WamDG%$fidsgI`}Vq71_;&D$B-J6fAh z{raZbIs!4>p+>Ve$4u96T9f+e?&iC^dol3$mL+VhM3BSITuqnN@7rS-LQ#S-{F6E#EQFl{_l~P^o%d0q3iNOJ} z(h|q2x!%`WtVlrH>^?X+F~Ovl4f=<}9y*iTlblQ+p@eHL}`;>AtT zOJD7@bl}3hHNLQ#;%BovN$LoYGH~NSiA= z2ao?;s_V%9Hb@C4Bs#oFm{~l6YLx2YUg=%a8F>clM_-47m4mGoUS89h8p=He==NSJ z*cjA5hY}MLox0(8hqLr$h*l!;P{Yi8c4e3T8Sq+J>le(+p4Z2(bJHuPaXZTfLGQS{ zZTt3zH73&;&tns_a-t||)hNtFyj8M+_*n}@^ch9>rZ%HC8PCzby|0^U2;^6bLzl@? zhOhiA4m?<<`xk)%o%9Vb`mV265B|u4mz*1A@QotK|#9NyM*{3*gAgw zA}hU-*XzDs?U~K#=yTZ8b7-R?`**w>KP!w_OKp_vsHOvu5SM>)*4Mu(;#!`-Z4foNQ zjGAn1((28-rc^VcP%7IXzvm{yH5RZqGs0WLIP5A#3*}39`vsYWi7OlSSvfwoa4GCg z04U{c_8Pls?PV9UDD$&~OEWQxnoxyv*eOsXEw^850XfxQTn0WdWshwg*`Ndjv8>kI{4QCxIr!(?W&Oui3H1GQ++QJP8F|Hw+TTxh}NSp1hpl(+dXt zFrA)pR`~8T-;4%^)hQw{iyLIO$$s@J&=YyGndsog4jrpv5JO$(4XDIa>vc< zh}79NIYlf%0_{9dG#U7N%>N_@xyV8^qZ1m&wWu5?b*TW*F7%VfUU`X(OQeD z&i(sc*+ZeiG3?6NguIy>4u!n#Woe(pO;0xeDfmz*Vsy6DCxKEpY-I9v{29t^x-&o* zBbdC#VS*AMjvyv-T%f~tcIdCM!}qu*(BxuHx=q`F^f~VDL>ylE{r(b>Nl8{;~)XF{f4Y*a+%d~*X$c~@w+)DmVRe)ghEXJ(jMFpJa zNN8fCMjV;%me@U{uJO~SjgOMV5(!;dymG_My#zO(b#MIUSm};Lks3w$J0Pu!$0`D- zw?-)~eN}Bjb@CPD06~xRYd&_xO{NU&{walH$m4!^)fHYo_b|o2_3sGYXM)1)ZdvDM z#R$bOW7WVh8>8`qJWqpYKE}3>mV51n`Weg2ip=sQz^$>s)D)uKoBKW%hd>X#{cpNbJgtX!K&M(C=$|_*~&& zd2Eu5_3OU@1+8Db;)a+Patl{DT2t_5UMD-=UvY&4Ds1@%iq&H%S^Gz}i}`@MF!H+p zmP|5&C_I=O+^Kcl*8xgNnfeRr$7p7nQ>HlrZ#sQ?I*vF!myJMpNNN!=i{Y~tW?Vi! zHEtDY0n?0+cX(rw6=&&v&L}ANbj63w9vnq7fTGBq(T6BQP(Air`n&;l*D9hMUB`hn z^x5w3eun%?5~a_PAq%w$4YurWQ6xFpMyw@D&LtOUajrNA{F>09XX43lEZ8YloDtLu zmLXvBdG5%L6?ZV}6~|%FndL#Qs49(!88l+Vh^&1{zucarR6ZF)cXA3tjBr}32m&%s z{*aS9du`dJ`6Cz@LAW-?=OAwMw(Yuf-{Qi>qQ157eX(Vi0UtHpc%GsPAwzUu9{5d0 zp}@6lNZIhO4-FlCV|VKo&s}u)esMp)Z^u5pGnqXtm?KNGP5o>1QGKuRpVb-#NRW-G&6Ut3^7}Eu|!{7@4yCsWdU)m`T>alMU znQk6I+zBK`C3}bOoocIqg#E{U41SteIvECz_8eS-F7%yYDI+uHZYv9qrgki4BE-!X(dDv%MJe4ej(J9GYg zf0XADVC!W>eP?~k_qC6&VU>j1CtM6K(u$d%^DlP1c-F|N#n}%*{$8}rl+XL-v`4pe zCbw;h?~uHn+kBL{36LoIsHQXN3g^YYJf4u&_g!9vQ0>1UZccB=pHL6NwcCe>7 z6Rd_s{Fo+t24nzlr4R4kEoI8nS+$%Wvs@{FX6}B{2|lftVG#-==bSRC=G?JjBtxB{ zDW;S8yB`Vud^MOA!o8Rtf=BIL?iCnNRIz?MJk;4<1M2V}3dbP-m>zh#Ye zZ<+#Wd4rIG_cmMsP9Rf}uqyM`)Zt(OUe3L#Lp2Ver&t+cWX55b{U1W9UU-a%mxe`H zFT*f$#tMqGBBYor@Dd9nl?|lz3Ije^K_4~w5MbQ09m9#>_DXWJpxL-iW`pQdf}SnR ztE;JzGrR}6e#57yH!t&JBhBLn-P|9baSxT$D`vj;rw+%MridO-g9s|*i5um=0(ucyrI(D;E9jBJSTVU} zBY~HSXqeVru$+7A(I<|65-0va=o%?bv;-On|NTaJCQ+x(LSq%D0j011oKk#uxrgO5 z4j8mcLGmKMbTM1zA>oQwwLEPZ^}~`l?_bxXyHwQ2=27CVQCd*0sa{LQjx58(Ox7Na zLi+GSj{(`gm^X$1ww6^EPa+SB;xqS(@Z!QSHEqTTog8tLGFlgZrj3DgkO83na)v9w z`VXeU}ZlA6%I(+_@W?c!H^vd@WMS1gqiHy=*1 z(mD73!xbO;NF6b_KDZ2ip*=i2Bjj%0K+v2d6t8j5A9Prb4?*nKOVk>190?uAR5A{z zGCS0;t9a!Eb{pu1tCRw$5GSkX;&*{f+LyA+8mW#5I6y(UXhlzj;k$xgCneO{-TuKWJo$MZX$`#GNHcl`dj z9M{a%i0}9FeJ|(odcDr`3=;3Gl$@K^p^FAr`xahQM{M24>6sY?v~EbOqgJX z6WfoCG@MC52SOv%5t>53b&&`#@%3;(MhJn|ZcEPVG}mY%0}f@TTIg*uG2M;n@%m^n z=wapI-TMVFQSDe3V99T&8hQg3@h$xW-+md<|66)P>N3O`00Vn0CviPWlpX*_!Q#X1 zN8#W`VJql~YY)7h$@(^Jw)vn5HTU8N4)hBQu^=f6s2w$cXLp}Vsd{e>yf%xo#(I3I zkc7?C119?!5uP6Q;WGqd{J>TA1L)QRJRSuIy11xlhf?d!B5gk4j;R?|aEHcN8XXXv z2FPu+fp1?1*`NdP!=y4w!I1v3xX@N9NSzWq5!M|oSvl_^gm#KKU8Y6F0>PCC=)v93 zn?wXpWC|-T+UjB2I}Xod0WJ4e4uC?*d%$gfv^lcY)xK>KBB}S0dR`#YxQy(I^#A0T?}aGE^J}D&_Tq&bhZBa=;KFOm z$G#MhrK*sa+FNR`?XVPo)%W`mYzoIFLozEgX$+QkcbVCzko8S7j*1h@vw)n`Ye+(d zu>JMOV5?-Kd0RWHOxJK3^G9Aq1W#=G%{Uot&ikV?EnZ;^7njVX@hd0lXt^c{G(#@uKccq~IFCoMj=3*}>tb`^InA$>4K z&d1!n@Y>KiV&u^!p$wEu-lZJs5S^!@-p1rvR#e)`rs&(F^`IkZJA_&ag;t`eyAez==yzXm*D%}iWHAFrchx`6jZvk7l%6MaBXyFhePKcpwQx>E&2$p z`E?82m@bw>M{~=WDM3MFA^VC*#1Q8y=3=~}_aV&_fZ^rGu6dpYpK$pMaAc;=m+q@Y zR=s-gz}xm2l7@4OvO?zefbk0e&(oK3E;dc)tf0D4rH zce~g0#F0!kEtZFew%X@+0!a=;Z1w=%>yL>HK)vw?hVt1y9d(n_NS=a!Xu#dyQ7MkV zW?BzKlh4hSo+)!0f;&x&e}CZBi?)8Aw{IW6Wq)a6yy+H(<$iAH6ozG&8J`9L-#mGK z7Jbl;nTxI3?J$KD^U3{(m}fqW?>$7PWgYpi&L;WSf}AJ2cb!4S0aFJOgGSV=HbN!- zR&OJGsUB>XPdN=FLSVe5*H#?usJ3&JZtX{n?hCsuKhBkba>C<#kPqQ2mSSVNB;VKc z$Kr+aEX|!SeJd856WNEh|FEoGymuU>#3y??bdGVn3FE0~w8@wdchBz09@hd)J9OP1k?E%z_b=DB;5N z;g_E$k%D(2cm%8J|FX)gsN(^Ih~0>Ave8usdk~JGbq`$5N@K~LKxr!BBu9Z%f`n5C z8jqU4d(GbfW6`4{BvqG#Ed%i$1(v4Rki8wna5A87&w}WpgqB0vjkD3$k(ZVPlUzW- z5#9x4TA(G?L1VSGTuPjk)fO;-cV`d!{kHG*sPOt= zdT4~gRKxaky!Y0JOt`*ognM=qUmn9g0sS7j;ypb4Y}YQyv5+%E+mb?^m4Qy85Nlt@ zn}Dj%wk96$@u98IXp>07i!W~aRQ`U-3Z2Q<^=BX&djyV+#`WP1yeV$B5pOr|uh&jF zN5j{ek%J;#LvViAIFjVIyB^JCX$A=h)4EFr5p8<-_m^~JkB^Vn(VigUyq0(Q5BC%5+p^myfnw6nk{}^E`f_ef9dljs zg*t>sKnQq%(!9=gz@x=sKs8L+V|-IYBdJK6J_L>_t7)f`_Ijni}#kebJVAL@|u`N2kCX*vvg0-$jn(b;s`vQ4pW zU~|8I{hBJguXFgWebXxPqSu|n5z@+5qN6BsbzcyD#Lz$lKyW`wUlSnjbUF0s3i?-{ zPtN`7MrVl{c=b5UU%d!^KyFrxcr4^qdLf(_Dk}vAuDm-0jo{M&IQ}c>Z4dJ025M?J zB_#`_l6K6$ri^^7_Q|h<)K4o>D^Cp}F}jy!RzoC)Y?#w3{qHwk{T4j$+6^0GV7sp1 zt|4Lw0Pye#ezyl_oOnId-|U1%0P{p+u}}1H&+VbN$Di*ZP@xNrG@={Tcc{(GVqs;C z1H@nm$4G)9JW~YTm1sU$P2>5uymOstvE2*gu#teLW$)6P;k`M{Jm>$`bsthobI_Y{ z$_~cG1^194V_HojVhcm84rtyCt7T8VjFNkxa&pLRxPLSZd`ctFQ9gFLGlI=B2Qn;@ z8-U7=K_04)PsLoj9`^z}SVKHHVX%t({-)2h&Hfu!8E!qaP(@)A08Ro(i53R(T#DA5 zvGMbJ%eWIkh5`89Yw+GcVN`JW5piWlB(2l>0*w(Vd5|vM0nmpkO;`O$^RI-%3id%5olDQ7Yt*k&kJjq~>&42*_89!VZ=7uOE{~7=4r=sq zMAEXbk0{v$L&pt{L{@X{-zzP3*W`ot-#`D)zlZ)fwDmuKW9tuFSN#ot{_|a#1x$+< z{^y@iVl2Gzpa1(h%k_W1#6Ju2@3r`klkxAh`1e}S3jE)&7uS_#H5V{kO`$e`TuaTj zH#j($IAA#Nc;tHsjARQNVZRG8-_Cvn16Gb@wV?JKZbTWeFEMi}3Fr8j4dKdH*^G1} zhVb>8WoNjE9$UO{cAif|fIwm$D zk9+{3J@IbJXndfIRBN=UK%7=8_~2rXoR>1fj&EIc{R%u4Nkyv>&?4^0 zh)6nl_Z(sk_*-9Y6>cJFW8)Vw7;T5a4Am4kJ0nuk2fQMy87!5FX0SjmP5>o7i*x{8 zNCejMXq*EcR|yE$R(1*F(6TS4gH_+qU6vvyk_Avu3dI0q&Bje;@HKXXZvSF z6|+ES0nCZRXWNMf!HbFoLc%uj=YlW0j=mRJb8I0$G!YF0XNr`jkP@f}~vqB)_kyjfrd}qGTXo zI~0ON1WL^zK8Z$--i0)WNDhGZBS3@WkZs#__^EDc=|sK|i~pL$)j(g$D4gh6{Pr@; z%OY+J`tCS1$DG9fKLvMqyA1c_^@$^6-JEq}<=9fFso5y>fI!f$-SeRDK~pVIh{uT` z#|?xaS_CQUDFBxi&m5qx&E>o_M=TE&<|S(8oW-a-NPV0z#8{^SdE4_4B+Q zNI!%>M)$$R%v}LE*O+IIyfHfx8DS6b+B4vwkmW}{+j6TD{iBreHvZ^YME%~>KBwLYr{02$7U`OtTV*g=HkXOWe3KyZtb6o=B2NwgpeW4E(I>dvi|`wSRK zG{9+sap-*|W+!wgTSDQ7Kj+(k{l}>e{w+Tp9%RPxfO$zSfZFdc2s0>?hA{gK0+j0X!oS0}8M!Sj@Ka zaq0rbp|AH&&p;^>qzI8k4P}O4JaG)_kTa%(8m2C<7)hguk&48qBme0F9N<&>eDsZhec`kGYczhbl4IU0in%sU$P11K!l zkpNKcXYoxIXq8ao6ze=UOBe%ZH};t}H`}^D4qX#>_o6O{ot6jIs1`QgoC zAlhqJ+M#%26djGp?Lo4N!sfl$k+(_nTkgARMij?E2`L!p>lHOgn(DL_cx|5UhAU-g zxaUV17?{6qTj{7Zbk0fGi5Geb!^PD9xc*$WWh|wA zaES(R$!6TkpO<+e?RXD4lUlw*7H2H3cWnp2Z$<1U;R!OfU|L2|WDpO!V-m=8HCSzu zHD)`(`m&t;X0rOYLj#Q9Y$3wc41XJCZPzR+U_053Z1x)#VrHyx$F<}ET zqT}!#1RRf|AzlnBX!r&!h$2SbNxXTvCl4&3!@l#WQc8t_<>;9o0fb>UwBJ6JIZy|| zmy4jg1uS$JPDu|27^f!{fcze<8@BlTMiJ}BfdUfA0*Vlz*^2{IReERJZ*T2L&;by# z5_ver`en-W4u5(bPWm>O-6|YQtdH7#0p2sSiz7oy=G*S1N^ zyY}|G@br^V8bhTLex*tPGqy;63}L7C-Zd~(rbEpI+huX=>+p2d*;a;*P)9R6-3sB; zIR^Am9^X9+cbJ%_p4&x-2IilxH>L=SDLqkyx1?HIT=G-oJRxo%opte~5Vhn-wT=qh z>S)pW3#*tGPnYotY`A`f%q&SBu%{}Be0t4+r#@sq_7O8!ACbSujcmmH+FMqT7Wm9d z{nIu+-!4l{`;hrBW7&PtVg}`rR+v5Oh+$%i_qT}~-XS?G+Dq2rtcN$L!~>8ht*i6j zx)pBt3E&a~gd?zYXF&EOmT78e7+J3t=M|d)s=={06e<9;egs9DCc|44f|DXj=N-1& zr?wyM#Yl7ul*=feWqBurmWX5kEEu6T_5*YqU^NbAXO`Guh}fnrQ69%&Vs+T5PTebm zpofobyw1Yoz{07%ofEs^fBeYEAPp};7d*=Up`Q$5I((>N4>);L2FBsuA5)`7%AT9W z)$k^@Kx()Dus}Q+*TMh;?Z8)uAv%>(?~H+@pc|)L6~~^ik47N|^7Yxbq=UgIz=zIM zfdxZ_TgHpR#@>gf`K}p{wNF5Ov_qBvBc2?bK8*KGfB$6_vLp|YFJtGPa?hBy*sV*GQaX2-vrw(|BY)B0W zEhA|8oIiSYz1k3tzid>WVWPLB0e_%g`Ia17Fk!QG)2fN}Y!VLFJi;+h)#oT_a-r1u z)nW$2{2t>n^g{Gt2V9RrO;Sd}|C^hc`HUo3aDPDKCOAKeWwE>^=Sm=A;U zUIZ1SLBZ}2dV4{h^n-(bS-qUi6r&LsU+b)Y9|wMynFFzlQ_sg61O6G zIYufVUfGq$^_sZb5q=4>oqL}mAhjK5;XH|L5vDY1bbkE!7`Pk$d{(e&J0cz`m4g7r zcgKl!bXo~?2bn<84)FV4xI>?>&H0Y%f8+7i6YIw-mYa6wVpUgmxEr%|VlLBr7>#rc zQbbYMSr8fTVMvW1(;nD`5rrrTu65z*=+lqkj7NGJvV_aiUY zq)o(xqjyJV=PqOoIm5z@E#F`YM=jG^dTz{urOW^J+eBLJTU> zaJb&X2~qMQ!+r=Mex@b!bXw_!-AWZS*-hMJHN1-9n z7VtHPX^Zl6gG-VgN`UaDxo;bXz3G*!UN z6j$J~a3c{VO&y+X7gTGvOL6IC+jaY^d{!spq~QEfjn^mgBlNX>9EL3pnh+}dgAH39eaM)>_4AEGj7@^5EJDWF1^QPB ze6CRx@!V9)p>K<`yh9dU7d=MD@^W)Op^ywM7D#}`SN?t(gK^QDydWaK_lSH(U+)U7 zmv2X72^1hmtC8Cxs)2%5++%jT*wI}4MK`V$RdtOb)GLYecz|gW@qnxepQd0APG=9s z$o-hQkCK_fNZ4?LL9t|%gQ3hMlxQI|Fja?)SQV-30aT|W*OPpa2@%+8RSkUd%Y!MD zG{8<4+bKW#l4^kx0jR=?;yk*LJ;ox9BT5U==(=9(jn{q4gk$$0He4eiX&`UmskZmN zOc@2hpgpOGk?w@fhg$F^+xJ(3hk$mlAH^xQ5B-|UO6#qVf;sKv22 znhnecV}2Lb*1zQ3F{2GSaB2Gyo-0v|39tR*!i9{#E_`Zz*J7&(7D@&E6w}e55q7Z# z!N8~X_HZa|uOPN?RYEd&=UQ81i#}Q{aDv9S8cjAEW2v zn71F3I#1)qAkNy{A(r$J3X3=jP=T+!kHXQKGZ}ko#;K1GM9|+ErS%k(ufO2%7z~_L zfF!Cc!LmHbN`gTECiET*k@lv;RB-JFSr6J2up4K068C|!5-JTMJ#)_R0-!+F_kPN~eQx>%>lo_+EzucZ2VUk^ivJtRUiQXQaMpvXTZ(~)$@?0+ zBL~ulQ2?goQeDi2L>TqJ3BZCdN9ic;k*n_h?@d8BBeG6%m67>>4tE$3#i}3 zu4pG{ppE_ploWz|Ysm8kDt4dq=5+>R!r#p>w7l$HOUiM?BXD|xL~DT>^Q@yRq0-H8 z&MQ7X9_3zJp&p z{?rSkdQ)H}2uO%S(VW6?v}3ZB$V`=i^gVRO3Gm}gyim}R{RUuN($@tMKgHh7UdYgr zzzKPWkdPi-1xO1lB#D?ipgDzAH-xbP-vYn*5Gcy|w;|%{uxcsgyn`?)K+$4xsR%2e zv>Hnh18;vf0$G*;&NB?RAF_~0k|yYh;{+#xrc^*U09lSAjJPra+(_Ab$0$jIlX{9~ zAb#lLN1p%^q2{T2gxk%}%wA4XEdysP44|A}PeWoF&i|VoKLZ<6!V`V__DvtrfE^kW zQBedm(r4lKMC?XlC?=#rBoJE4a86d3;zCCq$Fr6n6Cq<^G!>?t#|A`8<9duXeX+kB zvvMnw#{sTCneN9ty6L)`yLgGV^kMQ)C*q7feN9TV@DY88Wt9IZF;CA99!B^tJCT@?uode@W)+2t8)4?)PLG6CbUv~ zW z!O6luT3cgdfDt`_q5~r|x55%B^>-{{2!x9i+rZ=(puxK`z0XOBZ=WU#=B5g|KzKt| z%7OpBcMYC}W+4yx7fkO+${TC!yH++%Ktc$r4296unr7Yeq3za0Lxs~iX=!Ob2v8n~ z*_xwYIlsi*^zcOcmbnes1&80qOzG3%Oe9(dcuP#~o}H{KIELpB!*yV0Ry=+Bv}-t% zQ6J~R1%6Z{b`2R!dyqxBE7IX2Aaxq^zCg=oeUTl=hZ8-J3V}%aJ#M0`YICpjKk46(K;ZascD`AEvmD zDK%%+i;%ms?Fw};x3rS5Rt}vm&+~L{>kHjuMzupBd=l9%HmeeyAUQf#}N-_H!Ai8zt` zHO!b1_oyBN9op}n;Bm#4h$Vp|c5%UX52FL@ZbU-skj<$Xi(A+KdK<$`)uzWX3p}yP zyF#wDx%TA(pO6M<-v(^V8>xEUpHqVPT}vu~T7ggNc-F4t_FbAWO>gJ&EjeT>l3p3UB!tJlOwT+)G>VWiu#?i8(!+o{wcV|$^9eDa$D=%tj(KX(SwLyw=|jL7#jilQ)zu|E{3aV_U`b~ zA~F;>-Qyw+OHS`c^--CN3*Bd5UtcN6gu~$6F!JpsEXFahv3ebpI9-@Hw)K$##vUs+7>e6r143$Gn=i|`}x;?D}Dh> z?>lv74I(yc=)uE|I0iu;1jMq5)qfEq#-oR|s^QM0DB2{@5Q-Av&Y(3Y5ckG$rRv_N zmHY_Oy@B~2$NAio^en8jX)!}kqedV?5j6;qB=Fx5O578A33cF5bgaM90Vt7v7> z*i_`C*ihj_UBT?yXt)Hs#Py6PLzoh5x9RHh1vKzeg=ZK>s#rfdn2OgtVe|CFYfau# z1yaFu2d@sKI?3H}3;|AP`9gtqmd!f^urrvNw*mf~CPnO`y;-#6Cv>WV-Kf2)azjH= zNoh5%k=+ODCS%2O=QbQ?w^Bx1K5_6WItV0&P&rxxoJ|Mu#d{RWVvd1PH5AZM@hccl zj$ydt&s4iIxbh?(e`x8VSIk-O}PjSiz;Ynr-@>v9eClcHRa z51`2h5Lmb2AmjA5UZhmfBfgC_|?iS&CQ6EX0ys6E*aP4+5?W{og8@t4h5 zbD^$BzZqngKHu4fxq}#j0*51wzF_160XnWjHUZp3uTaNZd>yIdrM5o$EcW%)c0PxR zFEqIwckNPiXGe!LqMEjZv~oApyw_d?f5~kMYh%`IRaZ1I)J{%x&)Z(WGHBT<=}k5Q zm-@m{fyIm%)){uj);b^@yiVgetwmU*c5o5u`dVNb+Q8Cyx$|W2&S*47K&_^8&FEEiXKwMd0cFvpx-QMYC*y(rF>o12?KHaCM&gWN-e zOgLdv3aURaE(X5?>}9SAVL06#>Vi_GvLNP3ZXiO}f4)vzt-kU7&s&$u{7X4=ebZLv zf5~dhuY0Q7$tPM+ZYU$j$yXU`)e?19N5y~Mzh(AC+!dFU> zMf!jKKaEoQK^lf61fZ{mYO;fvvvyg{}WAzj%Bfs3YhI&i1?uj_#+?;W?lBajWX zG&H^@1~5Z_Gcp~tRM}joX`^X`ppg&r=L1PE^!HbS1)CB1I4-n=ItTruxzZG&R5f&bes8MyW?Nu?YEt?0RA;F**kSOzCb4$OrOy-(P*d zZ~&8XPfWO%8wjvn^xDo-O|1smA_8rGs#>lf(WH>#Xrs5afF}F*->UVY4{p^DIRNz^ zEJk|KhQcc?{TA>Z%*I^co=(n6## z;aH>;l%5o099I}nBo2;~;-l5|W+m+HsI}zH^nfs>5dF6|p>fhxYBsNkVPr@vT@k<} z+$cHIeJUI}+xcJ^$g#G+rnM{Zs}jfY=Joh*w>784%+e)yS-%yiD@2^OzD~nJA$Ow9 zoic;M<-ED8I)f}uB1_`Zvg?j?ae3CC(bNV}6doK6fVW#Cauvezw#7z=xB(S91`4M= zZ@k4F0jfAc1#M_a{2E&U8lLCEUHE6n%!+4{U@kLGgoCo#qh8hoW$A37Wa) z4$+z@$fMQB3f_YwdWL7%lUsmurbRjT5E$YTw0vPlX6epuUH|yc-tU*-iCJlP=#o7M z*NN?sl0vkZT18m!L9n13P<^;3?IeJKc3$UiCy!@+E!#r?Ldvat4@mU^Fj_{-kXlg)zw3gbC`{2uXLT$A?RY5P0MfI*h>+O$xj zH2%Tj)HL!K586&t^=u4~k5cNe!9nEUfIiDFI0J}%@FSp5C?5oUPbaq5I%bgD5>hCXb)UYT}0woTqnKI#{{dfM#E$%I0jgI z>tQqatBAzG_0^*i1T?H*0|2R^Bb?KhdIHGk4lU=I(XNKHPF8<#2=iYTtJ2=@T-c8r z@*dC@f7Si~c_L7(kunHDofVD;)V=?0ykL$U?1`7ZmK_(Q94w-PxfYb0Kmo#ziVisq zoC30g{JoSxaD>T8=BTI@BTH2_347OrT43_(v8yP59k6Az8CTf zG)`83q4xcjKJPI$cRfUToQn(DUB9vj-!=dRTsB(W6+Xf6DFjs{r+UoIju)5}tyN7( z^*|}q20|fF4bJe%Y`7tws?z= zo$E^}*=+Xl_w~oX=uj8kp+A@N7Q#@l(*ol_93Ts`flpg12#uIiptC(LC58MAQ$QtF z3V*tD4Zj+Oy)lE`mPWX}or8?$@%daA=&4X|LRuSAYM#u^xZ3Vi^FK?L4uwXWE(e(% zBT=s+@WE>+^VI`RZocRw*0=+ytbm4f06! zc%APy;`tw!@10l-9jO+@0%qmHoiqTk4Ia9pob(4jv5Ooi7wJtPTu6NU!+!Lt*aUP% zE7pUY9c<)!xGS9x4#RKxaFI8F>5-BmsuEh-e1dp#adqPp2!i_WgTWYSbe5h*H|i9~ zp2)A?Pr)np04ORVfE*sfrw;?HnS!>w6F^CIkYX!hFE;#g@sN}h;D#rE#H-B^ib7W6 z5`REFEH#Zv)V&X7uPlJni|HM2Lc~SUbZQG^O*EnOQZ%^{UM#(d@B7s;FGj?&k(rrjySsPqqJ^6@snf_Op;4(z$!7b#aH8%C zgKRhQlR@IVN1bpDPg)e`BNrF?9C%@%a5GCnASF&p@c@jxd+%P2b_|{T`|ETF(){Pe zpZ{Ppalx+JdzP&QBv~JXoHrQu>^lRaoQ}f^;h4BcWYAmf7r2@bHc?+b; zE^T-`FC31(5vyh%Z*XE{sbGZc)BW@K>LPbi*fI;RQ-V9N0W7wbeuxt*TMkhY#+l9Q z&=yUWvM6LLaaUA~Rjpp73;wDjJ}!PD(K%jJ^=#d7g7!ba!4UOVo`jKcgj%AYp2HI#^}j>&l!=OnF;X{O;KM5T;0z5 zJHFMpvflh{+~kj0g5_xvxYfs{3Xx-QM6yr=2CV1a`M_q~UKi9A@DjA{2_upOu_z|^ zI)d~|jfziweGTb^4xWZwK&_>Uiwp66XrRN2KpUTY2DiEhTB3GD8A)TQ2RSMFBa==k zp>{oxQj1_esdYYZ4 z`uWfhhX(7O4a`q!>L}yM*^BqgK3STSup*X6pgX%a$sI6oF-%X{8};UIPm%`T8#eI{ zBC>u8omdNUBr7FeK^{m?UFqi(4mKn3|=c=#p8^~bGblY4j-ab;1YzZNTOQi76j z@7E6()Ys}CG?+YZaHdZ(X+Yz==9XU(5YUrc>w0{<_P9V@*UjZTF3WkIJ&KA?c^?~V zUlf;QB`C%=^{l^VKqn!1yO$6LLGKh))-?$lriNy08;j*O)G6?Ky{|W}K>1VWcP&6g zMr^Kqn0Br1g({({KQ61x+*+Xnip*-P-6?OsoZQu7=qnj5}vM_NS!8s#LAL z__7WSREUo11CJq~xi)6qlIo^;R$|~@hHgtvZ_B9H zb{|b`4z#nb_}#kFLi|bW_ap7eHygN}*+qc+yOCa^{1EbpV^HN9X0tL3bu}}~$a9J8 z$w?KA$To@@sj9E1ZnET?0+W^`*s%3x4W2icX*yT2Htx8B<7|>u{ls3aTp`@}wUXan zpZX5{7i-!yuSGOCAku2BAd%B~M6^3=bA5F}S-u|6)8$#k8=T)ZbUCs9H19vI56<6R z^mwxKgA>cLZ}EZRyCOa~K-|Cd8wB z7$ws}i41r}36Oo>E-nv5tPG~nw8#tfvxSrh``rh#uL#UyX9%L+38dEHgzF<$7V3NQ zvhB&sl|&erXIfAciGaP`ZBG&`B>Gzvp@Nwe3QJd1Y8{}>fr8Zy@8lFYN{Pt9RtF1` z4id9V6al(JaZ*f~E^#(;>I3K=ip&GLql2y0`jD*>>hZJq$Z4_ZFE58)EZri7+F^>% zoQB*l6nZ<2gx8o5pKFF(xfr!Q6wDI6fw8kX#9~pBPKlRXnK#=(9+DzV;8SjfWaWZ! z1I3~wZwCM&nQ*}Is7P_^IBJOs*=;^BQ@%vTAF9_?w>O!~Y_ji5QH(!Z#M?ml4Y5-& z{V9-g5+m9NJ8cGS#&N`_aT*nv$h~y{mWRS*ZMXyQ!0LrbIRmVq(x(jyiboJ_Q`+$C zbD$vyM;mOF7j$YR$dcC49$^Sue5I8wSw;lMe7J@az$E6=Szrp=R*LpLsRyT8y4Sgc z-KG%iA8Wy6O|tew;|y0si#wgZm0c(XCCtI0jZWxh2%`1;p?n$+M<(ugN<233akRj&lFyv(Ixgu3vzRm#ue--SnLBR@1iBr7h;Y{1U=rP2T;Q<;={b{X zhSctni^SM$QsufLVVl=P(1!_~>AO4xQOL6+QxoJlDFa0dC~p))NkIhL{(RBT8Xb0$ zxvG@M;YRvwkaTjO{?l}3kUtnwLPT_)%KbA9!y{9K+n|GnGa7gaP-v}glBGM+*RbCU zB{4N7Y1PQ2nCVu)^z0->OAL|Cx1QodC!@W zQVok5vjX0{&x9Zz1Biok2>F$J0b2MfDl0#&%-DnOf4W2Oj{aN(_=_F7OD7O-$5EuE zO+pu76os&C`HiDA)QnOPI_zXAuK*<@i)e=2Enz76d978B1I|=2Y_~Rw;&eY_XvOXU zBt-KP7-Z#cq!J)D6rJ2$q5RSHHnl}Z)y)K5kst^;emjIbo+!(a1_IS~Yt6~s;|~(! zcxtRPk2#DtmD_wUJ5CS;tq;KLpZv!AuHpaBOxQd4CO473ZNmXj_s}lMJf{<6SBp z8}%L%qylU0Ocq}CZqbu^}ucn4U~+Bz+J zV?=w`{6>Qi9BJ4zTTyEVA?&?s)`!NY4Uu(2Kxb1!%LrA3{(BzUoR`d?tq6L9{X+ct zt4sVHIAE9KO5^03MjdOccpn*wq16{~ln~ytzkSlUzMKJ)YR35gXT&JLibSoj19VEUba} z)f3t&=5+r_;dQ z3ckHHJ)6^dN^D4qFbK0Zd?lAEyj5y`)%4C$F8p6%^V}NcCwTK%Xn!fRBI`l&GyoZX zAzRAM_~lDkjjcy7D3v*tv(aaJ|5?le_T4W83F)% ztBiXp;uqwmRxr0}-k!fI0GSDOmx9oUVh8SVHLWV4it*4jLueypo%jNv7Mlq* zMzbxR94*MZpqwiv(1&bJb)3qcu@4p%&;Gi({H&c;f?K+=d%RB2;8fh?$_U`Nq;R-~ z;@FYhA4&O7W{jCTJr;yzY$c@H$Wpqu|7F|=cjf=0y;3;9^sCC-p?AVf1 zS2H~R`+BVnsOoY%!IQ1ytkZf#0%{%heQ^Uix+NhT8~`m?$hQ*& z2Ev7ffD9nI!Y4(#BPdA-Fiwa|KF{9Xv{rvTw|&8dCYzmWRs6;id*g#O*U#MAqV~`% zq{pr}zSQ1(g&G88mAGG(h*B#7`Beci4h6*HPbtm;Q0 zZ}=6eCqTvaj8QXGCVhP(v={_sm0seL|hFW1pKE3wN4xfyb!E*dhujuXJ<6%n)?Cy+t}NcfDPGFm57^*GQg>7Sly=xWg=W; zAnui=wrQlNJtGwXRLfVr7^GH};&FDr#JZm)y#akhpk&8CX8^pPlGG*d6Sk0&R3gPr z?VzG6)Z9r>&5E=XK5Tcyy_0feBC>k@wM@ApM?lv^p~PIb*A5AVO3yVal$*ibtZ*`+ zV2oOx_aF%$dp7fFm!vFQh?;&Lg!d6Hue3TL29(7mq;|b;L((GWTCvC@l_z*r;m<>|Qj^cm!^asJ)3P4hgmkFXE*K7Jhd{Bx> zk$}!CLbgM_t>0Il!WB6v;a}Ms27elh(3cD49@0`Y)WQx1QuTaYdX}mtVxK*ldthl_ zZB9lC7gkwfs6cyk0I@}1K9oI@v=$hQbEzT}4#3i{AJb0SmEd9ATzt_Oh~zwdo$So| z72@OaL`r4#I?ZVjC?1KZP0!nqJgD&@oT@5{IQV;$`)vc26O49r1Z_@vmpAQ^T9{@RLU*j)EsN6>X)WFKiI9k=^U5Ux{003|v7^nMd*mB%sRlfBlzdu-pzR# zGhe}gY?qb_m`UszRblUxR%v?ZhU!)6$$;Lc~_`peDKQh1a@*}_BA3aNe8I+Ja>E7($rn}_Elkn%m_TKAM{rX1HQ zW}gBD%WX4B=TAwl8*)PhLR`)sBRhvii^su<_Usf=#Sda6Kj z>T#4M2bvpq@8Q1xCnHrtYr}_-CMFjecy&=GTOnrpG5cfb2^TtX>k@i zB5TH((MGkPGHc{$jny0*Qh|&)-`AIvu*XU;>1mF+#A`(QDj|X7-o5+W%a)`TFu+v+ zdws=|Xmv4+Tm}Fi9*knJ1CXa%BG|q^m36j6LK0y`EL3jN4hL7(<1SeOv5NvM5Jipf z5Xf6XQ|ha3qMQ8I_w3v^)oP3clgzDkj^Uo^ifid4xh)Gbbv`rvFy1;lmdV9Y>hW9R zpqak_7y&!7_z#0^018ckAEQ7zj)f86Ce_0#xF=M7S71_LAH;-H7`0d^-h9tN*2 zNs|aVYJWAJTCLL0o75w5cJjk47B6{df*nTz_Dd3ti2b5~x%KJ;!IWY4K?o88)af44 z#eHegNLH#s5%idsC3FcLQJEa8>4ts-zK?Rsk@r!ubm22zw*G12-P@w(ogog?2IWjB1c^XM6xBp*vL_Ipc+I zNk)z|=iERL3p%F}+WE7ri;RE*1R~?~^E#u_)Yh}1b5Cf3Z) z$9?svVCzOMD#a&jOjeras=;U{T5f_9@YTY1Rqm(d7l$DCxJQcrzFfo((fEl-IEu?t zG^%gU{&lHw`Fd6!rpd9I=N?Wu>b3?bD_iB7YF_B?%kJ6bd-6gP;*o3f@kpRjV1Wff zi)i@3XjFzpK`s)76kwk?Dj~WrOHQ5d0nE_|Qjo~rK3UrB2m(q)5vk3XW+OyX0-LM^ zL3Jf~`?Gp8gS!^8BgZA98tx^+?YRYjN-F8+S%#XI*P>1{S(&shG>6RqX(Rm;2v8@W z-&ZRaa^HE=>aoB4RY)PoYJFsn4Y%LYLy?d-79X@5pu`*N&yb4-l5V1JQ4f-yXJ<={ z6xiQW{y-Kz7J`v(B)}CbO;D-NNl0pgdnZIR+!krhfL)cq5u#a#;UpNoQllwYdKog% zfGIx6RmJaTzH(Hkm@Crq#SiN*iFSeccLZmuXx&1g8o^NWy%C@SVo{u3{u-Srqw#xu z(o&P4=YvQ~9z2fW&r!t6h%N`mtsgMDr*h*S_R}QfXGPkau>d^{Z0!KVq^;;eKy?p# zn6iWmflMPv$f607#@NH1Gar9;mO)R;lW-NfkzNfH+Oja~E-97k-ETM2g~oovBhivG z`jNKrJ(p;bdBg3nxJeMQzSKK{Dj}XiVc_?fIzx0LSvtY&gI`npoIT<65@^voWmJMv zX-Qw+H2@|0XbRr2C6>|~L(p>J$ z8!BdtMGZwmxwLKF)$TlPl+wjg4-9geDDr$$`zww({a1W0Pu-YUFyzpvMzx?I3iU zQl4lR8Tu8?{l8682VkIVi6(2-j|f0{e| zgv0o})lVCg)5Z7Zd7(#bFgY#Eeru-CPPbwhK1Hw@Qn`l9_qI5lHJp-HQLK4y9jPo{ z@rv1pZWHL4hltXBu^T?YbGX&fAZSG)jqpXwc&seMLvdQaArd1a`&+1?j%LUdi9YD4 z;Nf|zYI%{RYeH5*!?N@NhwgbBFEfuv^vJwBf1!!1xq_4^6fBG)bU+$o*zgUt7H`I4 zXs4=;zn%Mtk$c(D;M$CoMw5gJ84G|A>d!S7xx%ySDyDOiV7l1g)D zTU#6DKu?jsBpql`>Op#X3Q(5-_u5q$d8MLSgW_p@b zqRHJxVJA$o9Ae%J0TQ2aani=)V7?08WJk`p5RWw4UA2pZOw9l}8uA;U&Z|O3n);&= z>L+C=f|1izj^tIWnQcQBOxeAg%Sil%8H4l^6ZDp#B6qr+x?{0G?`U1Sk&|%W^AJWq z*{3)&(egXbnB=JXnBD5>QdRb+bQ7-3uRC-T3LoIuOw)C0Yu=Bat4f>7-sGI@CH1IB z(r9bieKfVCSaxa_zqQ zHJ;+E0=24Z6jF8s)@v`nzdNNw^}x_&_mrZR(`)RH8Zo&rEnJw>Ili>wOkP6V2oU}Kg6~Gm+nL7)`F$)100 z=q3s@4w+{KQ9s{GsjVp%oR4KX(p=wvJ5n1`SUmLhagKuc+~?Idz+fHq^71-h`}LBa zH43KXP|?KsXzNGM6Zt$IS=y)IHyys7k&?P4_eMxm^dX{w^)1#A+9^h^aCAMS-PV-d zck`ShFK78BCZ&YTz_Rkd(o?J0I+;aF)}#&mDtnIO&XUx$G~3${GdfqRdF^-Gym_;M z`%giusrCh(rR3fUtywE{*4o-yncB@PzWyg#AN-DCZ#02<-@^*DSwUX*s;No6_vC&U z+cwd}%*=zv7^R~l%)?ey|B1`dD@KDS8Xx?M=1;ORGLLYs)-a$)3n=9)Uw~#_=8&iefsOKM|{s?PVb(`Ohp?X zS@bhzZT;!ht5<)mxcdHwja-&~!mDq<<{v-wVx?T;r#I#0)LzX8O{?TqcLL^r{o=)q zpr9bjfp>rIXrobTZ_Peg{$5ZZi5qs?#&S80@=Hxm-yte0>c=U;(LTkMdGQ%Kxg?JI z%I%o@+=K^K@uF$TmvnTFVn0M$SwC9mW17bO(!nD^YAO7IqRdoTNae+OI%l>twupTE zYf~Ezehhp2!e=-k)%E@^%UWcG5b^ARa zxebs%#>~vjt#i7L^YEKzVkpaheTko1<(#kH^V4M;;f)>&i|-z(Q?uuIhm32}QA zP8?ofGN5e9{H|Wu?{vfyO{KR!H*T^!rjIV=2t(GxeEQ204LLctQoa!B#G9HtI5Wia4fxpt?xcrcp(ylQFDGCufo zx%Zc$p~uKq^&J}sS;{TnEn@RaMySk3UV|!~hK2@Z^tGcTeWU27b-R~Osczi35#0)9 z&1{SMT2|8h38nX117XdKnic+HYY*BS z)ScE$2=PrV0FUa8CWvunb?m<%d9mx$+TasC?!!P>Nx^&|WE`Oer+?Wu&F$Ei#35bv zatXA#VH;Ii?sFjHoSRT+y}+G6(NeuUDp2U!m#qy=O~azjEXS6qa~5rqWm5WPq-~X- zpT3K$ZQ}F0=BN;7x`-M)b=k9TNPjpy9QNjoyr0fzH*qsNTZHmzO}1bDTHuG!ec_@- z-RQ&7w3>6^yB1)2aB}sH!otk-h99^_^01aliT@81w%@w>W#tp8tt+mUCKGa1X5L^5 zmw)zK@R=iwrzZWyE7mF8dlhyyM*u~fM>=ehhMmE&srAm{Npkl>Csn6rf&hFm%cZW3 zzeyZ_3NNF!=+8|cBsz9Q{=Q;sri@}egXwUb)K(cTk3m?I;pEPtFSmE^OuNCITS3@J!()2t_2bH?G&+zg` zM@Qew$q{|sVeTh?Q6VBSGFIV_XTJ+OHjQzyECWrqW5FYIJc-}bK4}DPo7I5z^L@+K zYUb{b3N^nsj1;tI-$Ngt!{`ox{z1Zif1ShAY!wf9_%Qyx>-)}XxozQDYi^(k5SOs< z`9a%4AZ$nY13c)Yd=<5+z%2Oq``1tV;tmX{UtkSn;wdUpl$bNR_h=oi%&iE>#crtey~aq9A$+Sw$-*U z-Iz*1#{}KQj;z<41Ri~H@^EdeU@2#_s`AiLUd+Z=Vn4{CqIlLmpR;FqtmH;3sF&CRAwl{^k}4DVRDv1$AiTEE-O#;v%|G$Q$|cVu+5hILIDMscmrLP+tr zX6)*ZTW4oy?K<9*c`*C&=@AFcq=XdLL&*EdcB0#pnxtVN^Oh|Y1)~OTQd_s-9-ZjV z+8`=e#B-I+aQjnFE3WA)DRw7IrM8|a(Tup&q^W~SMR*#gTjAm1T9Q;Nzk`j9jhaTC zKX4!_RHlQsr&0&8CMV-5hO{SkCY_01X?yKj%p1e3#c#lp9~-p7wAK*DX;kZ~IMuB` zey23~&O#HdsBY=sr>7lg!aB`)4}K~0(Wdud&O`oLp0lUq8ZH2V3^yBBTUlO5NJ{D8 zWSbbn(rF>}M_+usufN}FGUh|{N#q8JGaTt#{r0V6>%6DE;?{|+My>gIS{t9GMq!z? zy*L+hIS6uD=I2Xo{pXGcIj@;HWxA|E!MDlp$(QUfL?tl4yB=LUxW`dcYS)e(8>jVu z;TtkGwm!VfkynM|PIYhM=O<}VBWpZ7hgZ3Vwr|WC_*MVb&V>zsiEHCJGOnXL{}EGC zD?ESkVgY)R9fqfF90H}VO-xLqfBe&@OPeGdHo#&M5j~QzAM+xGL`1Z4>RG+fhfc+? z8Af#h;}ZWy$VC#;H6RUMz<>&-YL7RxLLYBGNl&jiPyL3Vwb-te@8AkkFkIljM-`RR z+C|G&`N)2%x*a(^gTRAX;X#oa4id4|tawK4j0W|U= z6XujD$1AlXoptf>kb*a{ygxcNR*V+52oBtFISuz>c8NoMy~~-y=o|CQc}@be$hP)~ z-4Db30mk)Pw-$SrjE?@8cK$caXuYLJ) z(aM!8r{}6FE5AU`_p+*L4W+v0>xzq)pf%3oFOuqtzR;T=;qf;VUpg+Pm3!^+*BrhX zOL%X_BUKZ|RVyo!rww5gM39i#LdG3m-&;WW9+SilgXhX8&9gQka%bNAP?=xtChbL8 zS=pz4OuqT^<;$bSMuYV!ix|IPMi5pL(;qQNz>x0Y6cz$QR~j;3@aq$KGw@=U4hd zLrgqPPBcw$W5DiwpaBu2ipy1R`2*8Vh`lWBSF*7@S@#0oTdgvJ;6tZfHJLi zve9A1neteQGJ5~SM)ry?J$Sk8)6xj`-#$OD&)>2NWr_7rvZ34F6?5SeA~+X+An+^J zL6E*1R1f1K>aNs`PvH$P<9lfOn}vIkxcq|4rZjV>Yo93kj@CCdu{GBsempF-0eHBU zWEf61noQhyZ!EjuV4d^y1mE1l$l@qp!6OEejjTqwTV2GvZs z3on8Gei`dmPj7E*W2$XaMSoyzGzP&GfrZ2?S%0XlT?f?gD5hy8XQuyJ%BSBwk;4-) zz#EibcT3P&YYPY-=sQwchJmX;99KB7?ek_e_kH)ZS9}68_5%amL{6C61JdV%Vq563 zz{T=wJ}eRsW3BS5%^c43m{=t0k6~o0>Bgj=EzEv=?vS#J=X1Q_=E9Hd?K)qC_@y1x z*Jl!S-%KC=Hlk&$DoJZ(NIx3yYXzxn4p@-sQ{8fHQNa{@wdZg!Rs!KY#NR zAIszA+kAX{D5Ak;{0>%fAp;cBAMj(pLYGyaZnz#%`E5+Sq#0~6KdjSvG9r#Nj)P^{ z4>TghCS}R>TE;Yt`3eT>F2_KerTxHkZUd|fLxqc78Joo{ocl^li>|(+@f5-tRP##! zrSiZ}ZQr~1C&;>vLvepP$J+RwP*?F6bQtMt%KRUUeF-#{ZQJfcNQN>KDik4e#wK%# z$W*VS$WS6lqB56x773Mku80sSG#DC112PYpicqEy`?z|)?_Ybbwf9>4U+Y`{_r728 zJokNF=Wrayd7SI8FyblZmJCq{&j0?M4zP3b*RNG+RXwQU4mviipSN5&0}~>HTpg2@ z>*oI?g@HR;MM1~xc&-bekVd+p077QW9_;LsM2vSKp27|IJ$Fj>44ZMgaYc;gg8!g0 zJoi3uS1MjUMYLilB!nIbW}{XBzHRfGi|s7iGKFI_CeD!)2Y=$HxJWUvvD7Hc=NA?- zVDU%K$mm~Hwfn<|52oMF{i(z=yV~AV-g}2x*8K=yb8|CDCtBE}U4ebeZ^6liCHAwF9r+H^}B;6qSL+AyLYg=5QadUcac3GEZ? zn)tnkxZLH9=99wKm(&Yn@0M?Al^MLP%g`ZQCdCo^)B=uZmpnZOFw&!b@}vlQT;YE& zy(LI9tWRXXz1jzI6j~i#gRcgqPLG6fQ&w)p5spwYAtfbhZ0wBsFCWLP zN=n>QQ&R}FpYJ~QyP75D%}Db|*?U3Wk9y@0ef>hS#;Z4PUI1rzS(rWzgGUauL6b8x z+UL&6ph12moyM8sf7IcO?&-~0vzZ0Y>Tk*Yux7%%)l*m{pIce>#>IW!(6AbSkv4+= z{A^j7;52P2mUmjAHcxCV~vb^*b`126&B($KitZWbCEN|kmqCOIi7 z6vKb3!OfgIcaFvO7Y3jFkUn~GI~?}E`!_r+0Xfmp)qM^&ytLjIE>}@#d8|ii8&2+;)6R z{QHv*$S`m9YknuDk0htcgz&TLmuqpE4qGcj>k1izuy)753O*s7wko>By#E&mc%%PJ3A zba2lG$HxM8?re~US$;UIBrY=)xnwacX=R6$!6GbLAJOGLYGz* zF(u)liUy0+zJ*)G=jIOCZ&E7ty|u7Z-&Eu43vO{0`J0HN=f>J(DYScuLNO#NYOks3 z^;c|y7Z6IWfK9SOvYnis)&k9Kh??8h*0vYd9RbvWZ$Hvyx_#T?!*xNP z_EY2IM=L1giEEIR0%FE}H@6M&ZCbL!E$# zxetZx6vjRUMMXpI+eG=~tvj~xo+Y)(EG)dRjH@<6TC?f1^xJeL?1}To7osmbmDhbe zBl>7&PcEZgSJKh7Kj0h0w~SI(&#e$YRZEe0F1a!f|;HQeJCR z>GoZZ6jpL}PQoXDe#*w5+d1OMs-jXvgE|HZt#bo3^_Gq*o}QjQvL-!^s~*YJC6;DM zD*WTyClhb5yU(R}(=oZ~y>lsI1 zTjgS>^H8C@D?!lN(PhJZNH{Q(7ed9xb>`Ng*k*TCZ*Ol|tgV7~$~t(D)gfrP;HYA; zEeq^`o&)_a2BAbGr#DzSzMh-Y9Gg8KxL6Sr;iW+|q)sCUH@OqgamXA5tXsLSyg(awr*8 z%8{uhk38q3@apf)p1fkZa9o_}^GDRZWLk+h-w2^stvmkyrUD~00+L7rb-q_W^Z#k$ zdHb9HzbCjj(ZrdoZEm_1%pXK2$}s0*v*(Z5Jb%m3+>y;K*6Z{Ya$_}4nd@?&JbCiY z?H3j{P39qCVH&2U91k8mm;~=T073RVkaEnQo`+tSANX1=YJ=`KE^k<(EB~1Pc=r)C zNv6{+4wA89?J5YiEdW8}SI0272<`*CeflgZVqwDdIi`xw+lRIb2jYrP?p#Y&aezu# z_sQMkWn&|$PBB%d(LBys7R?_t%kKI+9A!Z;T;Q+@FdF_~zZmCmEH(G;4QkKrQudq} z9Subg;Q4eIOd4%M8C{JK;wRK6dr>(HCcL>87nfOf1_NF26AXmA>(8BHvTs{0b*Wpd z!|MvKa8$3=vo2JL6>CWeu=-ZEwUAkJVBUE2tfToy36J~l>{1yTnkCAvtrB>0|H!TC zQ!YvaO+yV~bxr>{fnUeR$(newZLr9?znYJimsh+Z`MI;e$l~$Y#d;uKRBFR>cQiFM zS$TQGfa3~CORs~Pdpm?_A+SCgfM8(hYD|vP4TWpT$xa_8F6dH~bMlqPrzHOBeB{Q6 z#EJGSv->AT9%%%g_`062Z)o_wB=x9xm^-|nK$64*a6LBYYjyPX>!A0a#7o+Yu4!=R z)0`o2(bA-pgMjq}m_*(;ZEbCNBaE&l78f|T4ugh+zTVgW8`qB#4G24_P`nr-Nyb&N z3YDfFzI&J%m6sZMtiEBHGJzAf@=*mD-rL`!>buMj7)S$sYB9Kyf{w|cpdg3NYHZPX z9TFW)Ld?4yJ~zQyDaRM6^YQA{A@8G5$fd)fo&-ro%6*)$t8ktG?KWR*C&`!(r5deO z`_wZdiwgw`0`6X++7VT^DcbuQiEQcYN{X%X)}I)bQ(N5Dhx3z4%d|M;;Mt=cZnSthI(l>Hr*02bgmdTkdtt{XXpe*O)y z`<1vjcCx?ocsWNMp#PYZvQKRsHk;p$?)!fA7p>lFo>b^Xjg5_q;6+`K8jMav&Y?Re z6mnatrt$JMqg#i5au1$Y!Q@gH0#_e&)=L=p!$Q$?QX0 z&esHcb{W`=C)=UnWnp3Q!yX+gaMVkuG`cUo{fsj`^suhI-wQ=Y#qVcm!nNz})V2$` zzPpz7^UHyPU+*{@lmdU;IKS*93K`uqTuv-YJ2`thFzWG^qs!=>FQHRI&AA$H>Df5kcG-#b zF7bQ)eL>yD3Y?RnD94UBa1%Iz{7msfU9CPG|7MT`FIm`f+1lCVdric>*>O-ur|B|D z%18dRbfCc0L=rd$Q!)PC9;VK}k1nlt?>r-a?0W+f+?ab$u>DIhFdcgD%G;v5x)W#h)elH0AKvopM zmE%q?i3olxU(UD+UU&kaU@c(YvIY0Boz^p!eRY?-cU}IeWvW5PT|SRHI(Cb`!9LA}!k;)5t29GzGCE!I9_44&=wk*9K?*Hwu8{fMEI}TD^pyHcQ!ST#> zi3l *W@J-&c}kK74Cil(R#Zr2F!*MC3<(=OhSKIq?em`udh~d*0fmR+xpv6x%Zy zHXs#?>Li=CCSQD-Edoa3Zk3BVf#uI2K0`VO3vL@(C1JXx@Tpt zBetsNn-YhM)+13NGQcNbJy&A3TIl|<$3bWkMkF9K>FEWkPvC;r7efNic-B{?3xHne zsVJCUw_!(?Ng*O8x4qUh(kL45Ru+zDUY7|L{@w}gcU_Ek&nfFdm zzQ|d_h>Fr<-%$g;v)c_^gTi{xvyncj`7G9_fR1F% zuuBg;2!14!eNZBPJl2@oAY~VJ%y?kE6$bLTDW>h)TX{<5A$Ilfo&{#9E)tjI7DdA` z!iBSK@#GTg>C>lq-vB9aTq=E_@X$to=*ctMOv^qxwVWw}E{GV3=wZ`1Fv_&?^T-UcdoH{>Jc7I$)H&9v+VjzQFn9DrprU zSljW2v+jdW9U^iJq66?qhVEutm}FA?kjUdlDznoQGi$EXygeQ6R`)y0Y}NXm?h=&0 zZ}PVU64(WwhkExU<^DNyoFP?TH~IelmBejP(t$q|TW@~Cw{t7BsewYkmn%>;?zGfm zZJh>$A4L}@jwjnedlYtX&u^{oBCBu8XnS?soc^=OagqIMvCBrar6(=stx4JaRk}3L zM z8{FMj7QYQbE|1b?`|Vwq*@#Q|{4VI?@$Ghy{vYGcYQUF_&O1DB^Ko!?j>hNq3u%IV zeu1+w5+<2WeU7vDDRuz~dUosxE)gxxufq&N7GWlU>uWfjNcMb)czSsK_s&Z(8hZt8 z8gEW}110Sp91O%g=tsQdeRF$<8w2Ey1LfY5yQ(+v^A`b2#&8$`y~xsoxEb^zWCBYD z-va|WQ7i9QBFf&h}N@qwhucdGdGRH2xkd7grEgV5H$dB8Z!Ab48JfoEEYik;(Ds#$r%a`cALWkIks1 zG_hXp(3q`|yVw3JJf1f8#26YF*9|gZ!-*pDUHh*xqKb_Zde!gqmhA5h3 zvPNCJL-;d)rA8n_h5I-!QFghw^dWI$^mhaJN0_egU;@u9>G}o3Q8zRp1HS0m`Sv z*vfV>Da6YPoA&8gvp@ept^oHRW&qT9$W0Y5T;Lq%G4~@90Y4L01-Orr1J#?)pW|0d z4+Tz&q%(30|&vw=I4NUo#~*xGKvACYfwKp;y;l+iITAbZ+B?~!zfYGdbS1OuoJ zE?MDWTtY%HN*gj$+*WcbT0ONtZbvnGc&@J9UU*_*x7h_oM?H7q7yVk_E zZ;ykPXdlHMnMQo3V00rpYj#$aA!dcvP*is8Fvf}ZhKVz#RWxAACj>Gcb4qE5bg_5u zZi7amy~eku{j%bjHlnhl7@}t%!Mu3}OahvK=lpgogrvR;n}IU<@jA9r(2fZ6s+`{f z%qtX2Fy3!M1{U&7foANcoE?KCRL&5as>3Wnfbw;0>;S@T^Ccg_xnuM|a=tF^1JHXK z%PcQIP5lV`1*qO=sJORdt&bq`AK4b7+ch#`Ppt;I>!F>_0EFo&P=+>x!4s2{i$yvi z)gRp}2#k5ECzjAmA()c}hKKxWjLztQ@508`^;p0qhzH(Y?Y+}-4wsY059-y-l1Rc} zduVavaMJieBAexY;9em%w^OJDC>*S;>KMLa#k#;G$O&I0^i9tq4$X8bj9b+BBtv(z zhJsP)W>g;JJIH%4T)^nvS}FlRo90-0YTku1!lAuXj4BQ9@*|@5D1vwvssK#a(@3u% znkzh%EPZbPYk7*{nKKeAw-SAHwTMC7`E%z4DlH5)?~Nc4z8POp47wyFI9-6-2n^Z9 z((IhOdT>9f)lfuaV4l1QD54tr6b14okc6qyP`;ZSKc1r7b^SWWc{ev<3Z_;hdF5>B z6`Z?oL#82^AE8ly+symE<6FMhs338IfPAqd=7i(yXrk)CkyS*O+XdZK%Hcwb{R9G` zN<)8nC)oy<65(zi1xrtTzXPNLM zA05Jjd=oD38gA{66<>Aq^alR0pw#(>iVN%PVlc+8gRHw1bv3!D;LPr8~0Z+-jNOf*Rp4F7m#7KVSEfIeG3?>NpqJ>^)9&#}Ra#RGa_ zK7#e#^x5b55H@p=BR=4bjN%MVV@5Xyoz|E3_78B5`TUJxhBYKa(YgD;>@0*lm=fI& zL2Vi!ie|(bF=gdMAT?yC5(mN>Wd!4s4#Of)?JG1BU%!6U!j`VSKUYyH#p1_MrJ<>5f(MKI@$f`h9j$2$1qG*; z5UFKGW+wQxaFqWinszH3>aj%fKfH_H*D_M7jUy+>ZiG0AVCOJ^lL4 zn|IFd5v;CitNeu1_j?#%_cja!36gE9m`C(Q)Xf0M+k_W13jOxrV3F2NjX(PubGoWL z|2b8Os6m}3+nBZPn72kk^dxqD?oosnq#g+{n9t7t#C>-K#4+Y#(s1+_P*{;oxWuX* z+l@r9jCcn$g>IuC0x3;!b~rJ)yBGZsUC&{JjlV$*4D1I~jxTWpFmr2wx!R#&T5WIU z;#My-YS{84K!NODZO8eq^!LB-i{#bD8ee(TL+wQ;Ryq5sL~OVfG!l>zQq20O-p@?c zT%2!WeEeNU9iS^B)%@Lt-My~Euf=JH`K!_!uJqu+xIgF2I!}6Nm*7O zz?!Zs)I6~WBV<~Gge__{C}zc7b~Hwlo{sD+p%|jNBqNulXcNeY4OzkI)dkWlzf`&< zf#o~VJOvtwa^U}Jzn9^$et&XbH#-)~Ra~jn5c=djXU~vmNZysTjSak93~2mNU+u$p zKYUmE)7p@!ZCH_VfHHz;w4+0m;naPIcbpC3Pl%eFl@dS0CRU%7SoyeZ{xQ$)S0@UW ze*#Kkr!2tZz|@DEZMd0MNhvxswE0NXEj_4tCU(3T)qr{%`#iV!FmKtmEj*gBNW;f67S&ykB({a0}c!qlA^vEo)8+r;BYO*>VTm02hb zZAF44l#y?TWTY=bq?Yzxc3Zwt6IdiqDC{@e> zkxXP3M+-9n@pEeAP626pG9|wB4b?D?@UNdbM=K#aT;aCFWs{!@3+LgA`8TL-@E=Kumobk*AD7+8b2D z&FwTA)+hcJ^Mvo4M&vnNu!!^XYwb=7wvtMaD2qQN9B1@0k^SyO_5m8$ykS54p?hXV z`YSVIU*a&^y-7&C;v&+o__MOVT7FzB9kdAIiY2&?OSL07i$r9M9aG|NL^@tN_Ztuh zIqkpeqM!RB22TU&x+{F0a|ortrwnbzG8aQAB+&3*+q+1G%@20{AFGfo@WJUe(S1x? z6*_hprm}BP^|>uQ2c+rR0g;b4JI~zP%@IehwdJgV9liA#?%+0+^B9T=2^m2mB=MK? z51k*DjcQ;^Dg9PfHuuA7WtoxGeSa^TAxI~&^wV9$S&S~**&$k@a1 zX6@$T4n5ffY=~TazoZhD|EgrMhTX}NKj)so!4p5#`kH%~o=}X`rYj-#NI<9~@5$|D zcq0(M+)?Se6{Wl0I|DexT~ATV4G$mSu49HOFzv zXiTA}!o?riH2Xs}E*{eB2fVw`kP)2JuUKxz6)pc?J^BdWD(fZt{4-0ab@Ran@-B8k zRvVHhP|*Y71@+T8ZB1KDM6j?nBWjK!xE(Go?o1@~BnES$frj?XVdv=cR>|A+TBb76 zQad(o*s$R=yj;v}j#_)KkzLN%v->cQ)aC600&0>{>5=&1#wdwD52fQ6k%|NWVnMw} zP%Uf3%r=Y^kcwT+_d~D<8cLGIa1Sr{To}TP-r9{-IvO6qaw#OwZSF2no&mZmyoXIiH&q9v8^E=9d zTF<~BYJXv~VU-6qX2W?Qx;@eT;zcqg)P!UG=^OointoeZ`D#fmADfxo*CrL%(-S?a z%9OX@M27zgNgfD2HdjQW!G6UStO*`#H27~J08fOWLO6f~1#mX&h7HV=lfMu63tw7Z zQh_#*9xxe(1oo@0F-Z(wx2YePp@5L-9n&=^p%nJ-9J0mx=h^KcPg=E~%r6iqIv-zL z2h|S2(t5E&bi@lybp^O@uxM7!&e9cUfqNBN)~tob0~0ix@t_M1oIP9kwdaVEFz9yD z+yWo)^7aPXdS~``C?rVA%E}|13_s9UR=5tYh1d!|I2cR_eftgrkOs1{tf11NHwwhn zFp~nag%Vi<-)YybU544ZoR}x#b1!CtEF%nGL1_2x4QJ1u%{yFhQ?zOZ*et5%%}_Pu z9rQg1D6b#M_|oF6ym) zP$+3*4=4*EybHxH zaEjDXsIC=)_T6a!+49owpTgveW1p~k>UM?e&=MR^SWQctKb;C}q#weRip#%5hz@^- zpCDIZhDT@d_yI(%#vlm&nl;T8PHyh*iZ$7lidjWp>aE9azh=pLaLoAaHN@<2@fjHO2}1!RxA%4I_41$ zMQw}M#oMv}yskb%zc}&r-o%g5Eq{R@WB>^EHe(6sfSC^>jJa>=-s3eskwnr4Q8B(V zJyt1ii%Uvc1GQq+u&$1dnuZ27x@{v2v#GmLT>fZ9)Yy+%>=T9drWR2PaK7Dx%XyVv zo)7Uun_0}oW{5?w0EBNCv^Vx2L#G)H-2$*~?;_}`G zjklaVLo$bZ_#T`Ty57%!F^)~vWn;1HuHx?-hqi3qyo$oY$H$m$yau5VTDfQM-Z9Tj z^fUkgo`eVgletherh(?1nDtC_nKDE?ftqaNu1i*@jd&v1m`mQ|{Dr`A8)P7X0-4kL zpXY;k0se{?DvrrUh-MuAT5m-1N>$hG#-r_!Sr9ej00;EDaN( zrbU`?=j}YtS#HwX{vO}T!$jwAl(B}MUd_Vdc6J^9I8zERmR=0xemp7#{Ugv_8VYpl zA3s^k^2AO;NQH)ZEy7jHQFp*d8}B59{ZH(INex*y4?D9p z1$GeI6M@nTOcj7PP|CdU_ctX5gRIpHH|)3aktbiCDLt#LAD}U+KfQ4LGY?acy3We8 zV}G9vKGln`B&Zw6IfE463ew^cY}tbvg$a!t(a7Rvwn23r8y81(+Q6XA%x&p3Wk47b z;W&tlC^w(!k46{uSF?$Zt+TVU2Emi7a|it~hkp+ali>9&MAviG#C1RXg?AB4gqBDSEZxiH?&iDH4!-?(C!MxX&xgZx49L$MsFZTI&) z;G1O)qjR}5JGLIrmvHaswJRPyGB=l?(QVybc02YJ;$O33X%#YslZXPv<}7Gl1XJ)MOYC z6l8ABL8o~hMSkzZ#5#O#z3}Jch|pyQ{O6_o`zwkJ!d9xi{{7A59scJh{h$9&m|FJ# z`M;4rDNJ>PzV`1=|G)qJXI9rKXK=xm;&0vJLxD*RJr*LRz_x9SL`4gn1IW!93Z%V7 zMR~&Hk`smovL1DmA2Z91GMmQM%kb2(E4u3`5>6PQgwSrtzpp>^n{AMll~um{a|_(; z98Md35-ogh@OF2V&z~I+&vr3TME@zg{V7BCEmMg!Q-1NuWXT(`UQSG1kb`Z4!b9Wm zVJ>mgyfpXQGt6`^Jj4o@AC(oIAJnyg6a_s7A=WMdBw_5nu?x|DS^+d_T7hYgD6Q z56D0UK%ixizftM-or?%$z<2io3-<6mmAGz}i6^2zv@E&{lUG(4p0NLXhZ8^p?PnFZ zr~)>>0{SEa_=d=hrbnY4<$OphBmY0f>+fc+tbjX-@0uDqAcTG0a zVORw{N9c5!`F7|dLxX6sOsdv)Y)XELe>a6W9slp$I9gDU)uEQs7g+CaBqzFdKr3Qn z(P7=IjY@wX5Bb5z0a}G(gy;mI*?DLuddJ5jA>B!b+8BiO3!pCWtv1BU=;k}#%ygMs zjQPFtVtd)QcRPommRdtJU1MWorUV*53f;`V;{rW?sWzY&){PsZ;39Lx{0!ZTevV)> z4*wGdV-k{27Z1Q9l@+NOvN=QpQEE>`roB_OHyeJS!C>L$4n~L~*8-aJdXOLzl3bZI zL_>@M`lvZmWWFir3{CKaKhyD$88fL0CD)l8v$7hB+d5-Uh)y`(OA)3% z5`&ukMDNopH@N)Msb>l}2vXv-6apjJh?+OYO8+DOTEVt!( zy~um_R4Sbf3DhrY!9w(bp4tm43$BUL;Ms^2d#C#tKK%b4x6Nq5*T6qZ6=O8AWSVO5 zEwZ@$&84TAVN$pQTGEUMOnlalpjawWfl?($LVLP@oPV!3Hy;5m2F7??*3AIG_QfdfOtQCmbro;NnG6%-T%YrGA$$Euw>XHE!w z{erIvQ>YUNi4_+oHlorts`k1}bP%AMKDVz-&!hv`xqBV$Ndx&&P$H5a)!n@jP^Jdz z6{4mTxc0wc!`fj zMnIKSREQD5NY`T}RO49~lH64NXZC2dG?BDJ&cdyssd>3eIJ=vc;o)R=>1p<5K&?-_ zezT#QR|halj$*RSWpI&2#l_EH6+uM-)J@7@spC&Va9lD#!Fes#R`|Qsfc7b^p}@Y<6{ZE%sh?$E)u{ z)GI14Cj=}>isb82CV@{5K#OZuYR_tUQ1=#9$j75Wa6o0Pt*`G#0szsii3R}+hqfet z>4LrjMZoH{oAyM&zD5u&3tpl&ns@R-%AAH3TtK^?>3YP83sQ$pweS1)aGU~bXqYfD zd9`~1A?G=6;}oI@!FdQ^fj~9yX&YgX1S8-NA3u^3o3i3rsNu!7*5*tOi?TOSqW$t_ zjcMG-BloaUaT5?DN}`IZ2#S9Sg^Unj;n3RzNsoiLD^X}O1OV2ksjK$>$VX8JDE?XN z;Fvd*p-t#86q4$?9UIpXfN;?TxCGI5Oi%P!8mhL?Y@I_Jh&A6EP!LG%3=)PTaRR?QXv25A(HY7YC{UOw z%AjHt&vu4DA^`zt25=S9HN19J*n8M}R-2(JBOCW?$%);}G!oa09hZqGCX#k^jfb+G<0fokd)6*uRv9%U( zbP;k?sl#UmNM)Li`rx^cN`dIhO$*EqO_YuDIzlsf)q9id>LF%UVSp#kEPi2@I2k%*{^;NGcFRkynps-kb+s}_)w0^{Q1 z!c^a$7~?k?*;TV;CjU9nydcp$#r?eolm+ny+z>Zj&px!aZY>HYee4StpYCqO0BJh@ zL-E7K?Z<>|9ljd$lO$P_@)BK>*KVQbaNmnUuqz?)~X) z8oJM2?Hp8Z7)hqIz*)h5q?u)~iJwzYDGF5>FmGByPE0=Af?}hs|`F+2dTvC_Cm~YfNf4M1*Q5J&@Lu z9lDn-&3)`3ErZuHoCk7nNl!@z(y)sP=I9Z}-bjQ&=}N|_T!#$^u4rIjK%PESr9n{h zJKW2ZKJ2VBR%V7_x&JTi5XNzd>!MD&AsLq-+8VT}q9E&mqOGA&rQw>A9enaB19-ti z6+$7{yU^y%#OV*tv!@9AOo8ZplM(b5=3UUTvQolAL(`u;*+qy_9g#Rz3d7p9IlxQc zr1aGeYLmVdOd;(jjw$cmKm<~&VJg<>bmqtek=sFrgGMbAAcF}kKIXqOF*9e+&tFnd z!8jN_B`_dhq$-yTZc(KnTHoDpw8}#PelkQ3fQ4yI5Sbi6NtXe+HVcJ;i75+apnA@H zHw&F%P!Hw6>3?~_m+%3B8i7!;H5ZZawg?Gj8-t_N7oxz&<`vj$JOz3R$kZkTn$PX~ z4Gf48V~mB=R`f%VNDU1B6+nF|I-%(?JC<}9+CaW2K#0NMk6x&*Mpe&1Pv5(!flE1x zXv+Kj+jq@CVru|ikCk%AqEZfwQ!=!TWKkQ%5Y_uAo-c0)1Tsv&=jTD;c2>wT^DD>T z-|oX*-wKfd2zf$X$i$6gQAvLKA5AS}zS|Fw7DK6Z)+0O~F< zMdF9=y|fI5gN*Mn^n@8exP-(n4FQ&-@zYI^(#J>gs)Wn09|uFA(VQH3A858;&UqrN zid$AcdHox@SIq*COVGkCxjrl_%f>i2=dm^@BRrPoiyIfu!I+EuD){VPzdwgVG&Pvj z^jK@tsCcrZ zfs2!q@g~n>s%;_ESN)#;xV+MvwC2r^vBn=~{5#+Onq0keuJLxI>qI5I)`kq8DWl(2 zM3cZufz~JuM};tpR7A&tI6B<%M6^?Rvk;Nz#EY2()y$#@57GJ6rZAM)M3!}chrWjK z{ue8Fzyj22$nb}bo z$M{(Ip0B=lA(;PidVm>+Y*%ilk3cnIb91*=K6><1k^Z07*4BUWrIdOQH;;~9)GVFB z0nSH1P2-0oB6_ zD4UgQb#K3*$ZBM6&P%pkE){3AVw{QflhW-**uw70&dD)GSu;Ou3`W_PTpR^-$}19XnPZTCG#H@7T1TBGAGS7!iJTN{5R**?FghktT8h;e3RBt{OO4 zx-((l5}wz9kYQyd`xS_a&bi^aYx3jAk3U$Xhc~urq0J(SM1(j|RaHxyBT&47dO%~T zjS*pPH|Lx6H>Dm%U;q8Wv{g_pd14z~vB#0Hf)ZG#3wNa((7Ad0=cTFYr|e3)S5Rj_Gp`?twN#tW{!MA zL`Y)&bvz2``0lv0@sg%V*{V4UAngVK%|3yYI)1ouxNqnhux1vcD^4E~EU49xb9CK( ztgO<^J!@GMi>rUF4vwjk5)Qhvu9M%{&Q2R$U2LOp!kbZuCx!6i(V}G_j+vkpAiad?4n=fhSaVNkq^jbA+VLi5iiuTZ2hI z6Fv7BHrRO_H4YzhB8@vUMT0_eA$=geTO)c=Cwp#Us}I zS{=L1!U|)Bf7rdlZ8k>~m0Ppxww zgOUA?w|;w$KtoUQh5^5B4PXCqWM$#&6ZW@Wn*G@?VLYAo>GHvjg%XuNYiw#aTtEeo zAf)RPqG&)+U;X)i{AqlcV$O-cicV-n^#G9XMO7PxCD#NBB=6&dS;a!y$N zx0%o?b83s_MnIJIpvg)>1`wGVypNl4n@(HUx{Uo{TCGxWgiC?I1Fe|V)f=1A* z5~Okb6-y4;zs{sW`}XaFgyBZ)H8^ zSXtT3&dRy7;u=wSKxIW_co)X-Ghwl`g_`WPHO;>(meh;$x76Q&EhX1e76GvlZ++sF z2r`a?ojudo^30|MC>MTvq8PaSK?S6nQ`e(-xbeK|>Pqe(7>JLm@m{<^Tq}W=Ia$}^ zDdwSaC(^U>Tr;$5`QRdH{Lt}^LK5q>XlG~F4Br!?z~$iOB|9)SKb;I!L-;mDkRrxw z5N96F?nY!36Aas7*eJ{EQ`v^U-!FOH=eQZ4ZWraavXA$ zJjQxGkRW`=@Hm&QlAT_oa4=y#vsy}L1WIM>ou}P^LDJK2`7|cjST{)k{Ncwrj9fP| zG(7wf_SmXEMvozu_u9!3#F%37=t3y4AEMNrMr3S4y(kJjW=KFop)7iLJidSJ9Y^PY z`BJM9Uly}ey}WHt)J(1e;QYDwEHcF?u-~O(XtBvk6H=cE2?<5OGEUn$^vd@V&lKg{e?$u7gZ}kNt0bH%MZCi|o4#@Is zW7T=xcDAi3-B{+(1`Vgzk{VoVyE(OAR>riqpq~BO->(7g8T6b;ypPXRzxJIYB_hxg zMS5u7>cq;c4aBOD91Y)<#ZA7+sDvSr-mQAj2g%G~kR!7MSc5@dmGb{5PAhnO}OwsaR0bZ^`BeP%~EY21cro z@rH&&U%u3dU-)nS%FM{f0|Y_z`9#k?aZA-}J|fuAt4McxouSzDgUuyqLe zCa*M5kh^L+Sv6qHO-$C*yN~M)TGNC0`X0%e>4uZlhY)>H$nVo_*uH)HX}lL(Bs#n^ z2b&(ug!RU;V^%kvW62k`0L(lxex!+ltH8t-zWnMdVzyuFp8+W$rH?6e0PUEO=^+&V zD2CX*gzNw{#B+U9X5u^utYaJ2qoe>YK8+&nNn~nD zA6+{EpYT%AhB9c|I0TtpZ$+M4?ah9L*earJL;$!xwpFvUMy%x!^J(_=C90w7cQ#(% zF%i0-MlM(N#JvjtM6>H+3l9X@ue|L_sQfLlXHN ztf(*qv>o3a8y*(+L3}f7{xPPHd+}b@P|!aZoEyFY&Wp5@7wP5dqtrB#()j^}ZlSvl!nNdkieepk!&0#aO|`hmT0 zBKrDl4tm0BlI|GcAx+Z|E;#)I@B;F908~kV?F%3c zu@-DE6@rf2I%kjN zm=;BeJoRNVP`38A;Gw_a9T$mwo3hqdFid9W_!Pyu#%L1+Rd7R-@R%X-K@GZe$GJJs(>%(*yp-B!v(#_j5B-viW zoJ7yT#-`EI(t`CJ=gVd)WdV(O$J?v~YNa6uQLBN&Yc?|wrP5FKnZiI7L^>qHA%oxX z-uVN_gRPU3KBT_lj9EcCG#C7ks0%D> zQYOmbgIVRfk^&(1&0=DG8>>!Ow3y;y)7S-$a(0a01X%U1Ad;Crx^Nmz`YwF`h?Qe^ zeC_YJ_og@ki9kW3Hhy*wL|4$KznQSYSID^D`SRJ!CM6}M_{&{};m3`K)(LtZ(`7nj z2_9oUnZD}D6Z@ZEU%}x_<=JJ;4Hh4WFhxP?06e{~QJN6t;(dHE?AjxZeH-Ft_^RdyY|=YELUf-HDIA7{*m!|9cOd|l0zLuP$ELduO!b{5KJHuMZVJs5i2 zW_A|ngI6VRT!tG15657Fm)!W^+)-h!t{n$QzMR|Z0?w*5<<^@A{22cKFk!vGl6(EL z{&VfV2b}OZtXok8Jz6lHvko>5Tafq>DtXztLl_6e#qU6qr|2t=V}W z*YmQsW7ugkT7xpiEG^np%THYNAGxghy4kip8oZnHpdL1}cgkxG+j>88*lyhEey{tN zFGQ)R!2mrTUPxx_EI;$b_`3>dg_m%jhaxJMt96Xc1JLuk^QUe{vS*jYk9A9NG(`2}#2BK{AFqi8Ms>EBUl(y>VwiP-kMm^&@y88mB`)KB^HRi)!|ZXXBHG%IX#fR6h%wpRwM-ih{^?m+-fEUwqW<}dXnTxx zxvPy%SD~f$5fF4#v^(!}Y|?>uT1&MNUwRCezJ& zZlz#13>_COgYIaIUZ=m@3NDUbw5|D}jIoopSas?iRG|I+(SgGrCSP6~xBjPoIsJmg z!|>aattbC{>D+TiwtsCYykvl%D?f`aPfQ@CI0IO{u7|KSGX z-UMHeNIOX02-i({iVBFy;}6udR1~CSS|PcSN~)*uvjd#RwhP>c8%0e`je;X7Y*vUr zK=Fem&vyy`hr<@|=Xpq>U<5V2Yz$*}Cm z?LfSf0S*oL4y1IU$&A45EEr~agI?mV?<_ws--6;XtVQv|Utd4gzVLK+4-#2f0|v$d zAymlUJ=ELl2Sk-Z!LAAls>iay*9p?=@KT>#n$pO1IX^#ng6JJl@M!~QlfU71@nSHr z`xRdRVrw_DBNC2PK{3#cOPB92uS`H`8e0~g@=ms!9WDFk4I){50 zLyN>G$2I0g?{0eZB)XiU2OpdkIuh+%2oXsSv*LnaTL?dN8jVH-KQ)&dFn60 z{d*G}XOFiw2MA8zkUDTvehmWP)rRk%@>fw{AsE^?44OXx)!XYQPiIa$*{r1i-<1Kq zM7%d~Lun~ngoXRyh(NUEkec5ut_Ix-4*$Z9uC|dKr*2ZaMmpJS{?tM|F5=@kQ5uz| zWTLo$y^SofXac`YDR;%40Porv5r^{qo>?=ic+ z-Bdrxj>erxFtBEV2f&{iAdkM0kq|&QWZk!Y_Y)Na-C%%KyufL7-J+ok$Ezl+>N!`} zj~)g1I9SE2-}zEtuIMb5oPuFF(q&X zLLfoV%?SI0zDl;c%5ZzIr?tw;Tg=-ctgBH_#C;Z&JoHl=uvv5kF4K3;cS6fXK)IuI zYTh-nhsNq-6a(85vx{W{eAxddB3akBVyJ;8+QsImNZe`uP4zb&BS#n4^EUpFtG}6| zC~@Lg{EORvUd4Dcnf*#Zf$_A$Wp#d0^}W})#g~ue?Z5HdySd3R33SirZ@#!RJV2S| z!3tc9jm;>Quv%`rTU;z#PFXO%WMmP7()~F;6fp&ctiKna>V+jdG9uDMrVc^Jhxd?% zCJaQvo|;LcPe~G9XKgYio3Caf-~5&7`5*U1goniq@HNJwQ|~w8w67*_>{H&gyxCUB zpz^HP=nP|)AVct7Dy|O{Eldtb`HWuPAH*yfy&%d`%!dL$V_{>XMwuJw#ux_|9Docj z;5%n}H5?QZG3NtbL*^UAsie~Pkg-r`bpYAyo4%?Gza6-x(+FKXAfgHNL=oX;;eY}X za3AoUCIDuH9?n>d-yvmDL7@;Ez`UP8WjrkPm~d8=v8Dw7gCA}zaxW=lAVnq;n#;p` zM}A{!*<#>#=-H=~hFF)j?z z1_JB)w2}Mn`{~b*v4e26AN7C^6ApL-3bSy$pnQen)6F%gUv3Hr5gje`qBM9!1w<65e3@XUUH(p-}-u>lIDoyF}#}U`T?{Rlz;{wd^(uD z1OPZAqBAgX=)klg1Z0744l1X3t4_$5E?3rd4j@ib(yX39ddmx3jgA#IGjB7vRhbn| z-DGf$aMDb7JbLQn$$kWSEu;`&4%#y>5ZC)439mq3igy1_oR_sz6{e=iNQp8SG4voA z=Ph(jec!GG)Nc)L;|qv9^UCkRjGePFRrUUC1;^s?O;ticP&rrwcE*L-4Qq_1D$k2R z9r@Ad?cF~n0nUXU8BXCw-_<%agIuaVnDmhjWQaud*kdlJ6X@5i+Xqgl8HOZqI@R5A z5&2Gjqjcww`ZN$;(0j;{O%Yzd2NT5qI00TI(HHucd%r66`}B_T=KMrg^l91HX@j@e z={-653+0uI*ExJ!Vn|u@%&>TsX2c069>?VvHqCeq_^ty74F<=4C4_iO^Y3(L!d)SD zl(MH9`C%Zo3Kg9uxLm5GyYC@+64p({;*M2MYg|6#{=nL76<&jR2fOH{YX>^61}I*b zVSX!^*_Ln!+9rRD76>RRa$%~KE;?6te4ze8hf3|d2w+&^VFWkyaG;{`wB3Ns9lVcF zH+fs!6nD4Lx%Hgm*PY@4f%Y@fuHVJ;&vWekHvd7s=e(;EI3qIn^X&Y8u@H_3H2^OXyoc>I3^(ZWWtW)U&$ea%>eGTA$~JNiw?bRAI?{W*KaxSqB*mXtMme0 zFT};hGI?~9Qi3RQ$$$Xl2|&D7t6gbsgI5vJ#32UoZeC>J-PlzxC zoy&9VB7o#!FQiB@@IeOjbONeKor4FtB@bdmEhNO*S@zsc&XJ#IQ1YOJ!g{YpXAA5u zq{FR%RV1<9FLoK&OXPSkt`-JNM1=~1Xk*Z0KLhR$1IVg4v7*5M!G+(AAj1Dx8{e6>)LFobL-2j7c*e*gbtO=+BH3?D4>{l?EkY*@qh;&;blE9=Z&M zJ1R=qMajy@%5JD+loSma;deY;*L6Sc`}g?XkNdCd^C_Lq^L)Qv&v87D<9HI+oLs-r z@RP)3%K8{CAXQbcTUS2Hd{>F@@mrJ$4XB$aaN&jaoqsieXG)|=)UhHR2d!<&Bi%0> zCINc*VfIr_*E@4OOnl;ixV%SN`E`*%^UOX8PmwY`t2O*6YZ3S_fnhi(U;xhpH%>FeS4D+s^_NIUm1K-m7*d3X~(Sg^lh{J zeQr~4}+w6<4le^HmxX$bX0SiZDR(N0r z3Sjbqf{eJZvb&i?KMcM0p%%~&8C5?vF{FINDG(+5)kwnb)KloCRh4%4$ynfGIX+7r8w&uBjM+JhYAP$ar1sx2 z5YNlY69n-J;E$q+6wk8Io>IN@)osL)8v$8Z4u%j?CV8AlpAuH|!Et?3pQIPR?Sdw8jDsKPs_cqk@Qbt)jZo|>kc>j&}0`>ck@ZMZp`t{o( z-~3{}p8-6D!q-6}VW41Gi@^q5JN(H{9@P#!lID|Y0&uJ)(&pcsGLBcTKzt!9ebjp+ zXk1Rf2A@cA#3V;uLk`ch)MaL_ec(&TL?2kc6u=_+ZQ_Et2oHwF#+F!AX&n}9ZbQe` zLVWm`=AfLeruplAtq~HaAAva#(6KSX zQ#+@3?1s{<)@D}mqKj#Vn=U6f+U+UZlWjixu_^Db!tDT{3^Es=YUe39#O}yB4YxC- z99;Riwf{_jjpK*3LFJ0knLo{}+PUmfK_BC0Nwe;$pwlVcV^rO=-XURS#X)T+;d;y= zhF}Sa=Ec8rrUMS$4o%HsjQCk|g-$y;HI2Qr)c%OVp5cMn?~kXB#>f2FQ~cI1!kow- ze}Z;{aBiaHfwYB-Hh(iVGp1iWB14%6TsBK8?E(W0jLX5dn6i%N14rWnY7p@I{O6rE zg=L(_k4Fs}=20jlMGJ0<;;$PX9oa=&Wf){+&w=_APpcHghT!?5g%}+R!gm<$Ojl=Z z!z}yPX{XqJzr+B!q@jTeVCjN49~)o4ew{FOcz0g!5(phINB&|E@%rO;q~L_At>=HS zf!st>t%gVYnm@mN{=;tUrqp(jC>U?cgEIK+bl9#&M*1Rk6+@?jD#|G6I_b!W5(X!o z0C-#b76qf4gf@$WgGnhVUnVpcrJeGT`*l739AvfbBOhjw6Bvfsq3?5oL7Le6Sl0?{ za!2@}P{M%Ik6&%;>digUb1iG4EUqdp=P7GL?A7n+Kp~A<8&H%g;CX3lxvw~wjJQVw zCdkLooXjEvX!Ot7*Ef{DiMxMKWk<7QfrY(&5M>z*q^N8m>OT2PV~S52K!-B|CG#Jw zllr|ZHYSEtz$Eg6cKsPT6cU}ljdB)}gW;32nU#m-STGRKKz~8Tj+Fe6YRJc$5;~d{ z%^$OpEc!-E-n3@2(CL28+6eT(2UGffw`G}i63}L=CH;7u=2~;D@pj(i0$$$R!>{6Q zJW!jee`9F(RBWDH6F$!h2-UIXU;}jr=;Q};vS6=&a54>(5-7!KI}JMDCYztJJe|)B z)_hTIP{>aEn07-p`>o7OH#hG8?c~=guw72>L+xVtaYX;JfpMnT^)KVnW<^UF2FIk* z{y0cPKhw7tHWiGxMJXYfvh$a1t~U~ehuoE@lhe_By}8z7Q=PA5^-G*| z0>6HKOV=L@O0(F|^HAKWctMM=l=^Uy8nq4iCZLXxSQ>hM zDn(%Jbvy3QT8{Oe*S*BM=3Q@z_}#p*j8*l%m4D`T*n~TR28$z?h)Z0+Zo(4ZcGNMU zO_W((Lxb!LE>*xg+Yi)GhFF_Xpr=d!dm?Mx(^iAD=;^jkVb6h&jg(0Wp~~~Y*`#(K zvobx!eVA0@P#}Zp+nWkw#}qfq);+@3cV)o*Vz3sU)mEuFHFNf&e5VfqtBV-ZE0`>& zTwut6P&_N{{Yw?oD9nDrg#oEEHFF7UxGbt%EcCgu(4voi{cR2{XO`Z2=b5xk5VAEet6y1Z%(v&uBZ%EC(H-KZs9^Awst8$x+T+s$Au%!celkztT{1Cf zUW`sa!cb=Y`n_E(b^5&=X()MoV|l5cl^=WqJeGxp1s1qk{TWKwe6$U06^tM+h)pPg zEYD!=g2DT)2a^yzQMU?Bib|I=hj%812|J?Zdwe`{cZYpHD&Jy68^BiN3tWCm$~cE( z#rEK)RNi&;>>)+pWf=u5fgU%2FeXfpoE4!Wnjqx}ly$WHOrRP8WDzEsu&8{{!PDzs;gfqMu44(@N>XxUgKr( zL7%;P6*|BC*qb~qd?!5Fp%HRd6)zZeI7=~MV6dd%Ndq4bj~Aj)7rMPj3|Pw_qR#Ag zOGxlNw-1w|Qhe2Wl_t!!mOo1RC7$sVQid+f`2?zWMy+8*b}j?Yl40m`!NwMuMRq%f zGoTi>xpUQz9lMwMgVGBbX@Dj?8R~BGq#I=wy0+x0DHx=!@fPqQYvGxT3u~a}?4a@oS@!^ZS;QeIc!Le9Aa6^pK z+ceJ-?An1H1&-RDlP9vIJ9v6f>z1R(AVebjB;3^e%$iKG;kqjKTb@g-oTZOe&KWd6 zsP|~O-Q?PJ-kn7*pjJcTeF<0<`@9-3A;I=oispj!Q)-O-F+~n1X!kF5_PIhEf{LZWVd?Gf3i9$O z`#r%UCC_c_9!zyxd=jt?Ec3-^u&_A#!qXlFj8x#i%ZEN#6{}1;+}+VVP{jq|8Fl0^ zq!X#Ud;cA)2Y^gycbAa_4@8{Ag#Es3WCDgFVg{xf`1&gk-I5DkBZ~3LMHB{oPK7Ag zx**Obr(dw<#R`^1Y|e&;E4g!H*QM9BAzi367#>%Y#@GM|m7;X0Cl{>XDf}}sG={xH zv0!M}#u*_gxjLkd`vB7f{N0=)P4~&a=bZXmf~G#Hn!g29eHpmy#c5Ax$RO`-+3xDP z8A5FjK&|0ktQkQ-DI37`#8e`!=_v$~N~52+W45@o9Aa8vFYotnSW2or^QC+rY>raj zvgH*ZE$?YO((!e3n!PFZL&Hy&8br=tAbbtjBBXevmjU@7&7DEA=A~jkdmU0pva{JYv_Vq%0@7r`C;87P)u9lXUr$BWDDs)fOpi_?xVvnd^t1qLV)Pk!mI19jl^^XZsAQ&gsHX3g!0)gfnv1rie?1 z(X&(f0_0!M3X#7MIi`qg+@=Un&XwQP5cE?FB?rL`B;~DyUo2$2M3j@W?^qYk8>fJa z3?MxaZ!Fv4-9ZR}NU(}CwHw>uAe#H3xi#gNoVM1jk7EIt_(1*k@;j$tBsjr@SJDe* z0s=^`r@@PG^@KW~1s_6DL}$nE zxjI6Y=0F?C%OLgbkSN*$q(~gO#d-h$!Xu1y7VcX3yzR7$IsV88N%^i@r6fF}Nf!=e z1ExhDutw18{i(e)!pHZm&7*h@^F2Gtu5}4|XY!beV2ModYVjSJ3z;U|o`N?n2-I0@ zQwb**s3K&yf~UR|Z^aO?tK$z80v$`l6y3z(mafgO-7<7Z&kv_E;;j}hP~2$<{b)X;xw{eJZ55m{6I9Ri?+ zqNKGC0QfqbFJjDi`}mL_Gdlxh!Ul}jM#m65;i3w^$@GVaeUXe1gdtMzKy?c%=$*fQ zbZZL>kHK}1odFkDleA@j#xdNpMQFsH=Uvdl#-n0vL?=M{q+i&4#>oKBn$$kot-CZe zg&>t+R>p831?9mj`Y~YApZfc?L4g8&Srtcb1p~X4UgoxneR&e9jC#CT zq9qeWotV5#L=^lo$m0F|u^4ULWsoU!P&bfAkk#Slt@RW=)eQh$53Ov`raFPit%wDL z=-gtIpyxpwkbnuSK6vJppfP~eA+A-9Zb3lKf@Rv-dG`GIx6zVbr%oI0Y4ag;SipcY z!BVTkhf|w)UtfmxmAI5tAVUvGr7aLBp2dr`Q3)oa5&^QEJu(boR!@KTr%z-S%p?e6 zp8$N%2HGE8CL#ttZ6d0{Mm)S7j6O0A67%Go7ClW9Xmw8Y)Wie2e?@MmU~glRw+%fB zQL34hL50!ZxE+b&9RDhvNM%eExCr*PC7GD-Y`g?{r;0!$! zW7F=nyu8~{9<0Nt0@Ak>xK%d-2*)OGSn+-C0LUuLaKg69pg*IKGjTBrE=(1bpTzeq z%CNhYD-X(sI^NqV^2}C7iGxC5%@{E2QOD!(dISLWNb4;CJh|zb zU^kA-=n?W8&Td`wdY=Ao8G=PFWB~Pg1+2^#^9d{(T}RYbChP)OMQ+v_8`s4j|Ek5$ zjT%w}(zT#gso8&YkPlP$Y=PtiUN?daC)i_7{=qpJtb2%DyAHA@P*Vhga0XUmNLRM? z6x2aq-W6_=Hp=ov;8y`qE=qzSJZ9in4|8%vf$)X*Ye%hB_|DKKLY(_V3Z@0^5gK8DCri0&Q%^_E&rj*3>!%*ybuYXX1;ek?D5u?8R{Svj_7NEtROK_N;Z808Z&U z2P28hcWuDgBl}nk02h#rFUZFvK*Op33=M;pv-enRTjoz#LUS_kt>|w|(e3T8!a)J) ze(1b{xVWa}xwJo`<-VVqUtK5j`)%(XheNaZ^Bo^R4@PgDDGtxO z9w*ZlCy0Ddr?s<6gpFtS%I)2}9&(IUNi4s8yEAFC57~r+tp- zCTT1lm~n|IDIM%yV&N3s%!EZ3t--+8?44dq=1KO54~g`Ixtb?bKCYs zY;(t^wS)1DI8dHY^A(P$^F#im##(&!d4Q+#HfB9smd`M>5U}#Sa^*H2jo91UiHR#f z$@W6$t)|90#}?0aCF2)78H+MZWNstL?18uMi2CI73-GXyN9CM8pvSXEcO4cH(BlHP zN9!cw_bZeQ;vyp6zLUCk;>Sw;uVQ=O#9wC14^LqyK=lsf)7ihBKC7a_f?0vY9sOkg zDredS09cy)9-_83E@h8rl=l?89JL`%iLDK&@%9T2-Z#7Egqtfsq9-L8;#{;?q6stm zaQC+vrkluG-0T~L5%4r0DmwuvcMn{Y(FrpFD!aJ2L_|fe!TJI9ka%-;lA2%w^DNiK zBu&T}lbyDbS25-e&@*x0BNJoVg#(4BL~}NDftVz+&phPow2MW!(d_$4xYGG!B%HoR z24=BoShyuo%r3OitA5?--~8MKGi5f;kOMneZF?_VqF-i=8 zpR#*lVIxCAQ)sK=oR(4b0n0#z_PxT2iCt_?NcwQfUvw^;#VJmG&9img@w zxXy0XjOKtqepR;ZD-GM)%$%GQFe2ZrdKJcot7U_-SK{PlFE6n|!(!G?q@^)1^S_c7 zaLY`8jHd!emelJK1K)ajG)M^uj^mt`=GLuJetydO&Nski^-U_%`whOf1YaF`jwF<2 zKZ-{a#!|6znFM}An^DzcLa(O8lsFi(eA%*{kWe&9RHM90Lk71Sm|L4eV{p7(Y;^K; zD%hnuI4lJ$Ym{B4@tyS4E8kbG=i1R%2itJW z=rn)`B%weXQpyocdiOM~Wv{L|ca#JSi!W>$G1F!dUZeBo;tm(7Dg(CzUm_oc6&>?k z&o5kZ&ngAV=i|p^+^{iEqW{plckd`W6i4ROKMGyovVN5X42U6ens!Qry%EMpG`T{l z0}1mXAhL+qOe23DpX({du48yvXc-?y_#mboE*|liK!8K2<&X|Kw zfBVNdIofzm9%sP($b19@6JX}I{}e`ELsbcAqYF`S@Xw#^_zQ!ahMKA>Bo5Dm#=6+D z!VEQ}kBQ87Wo3^~b*tHne>)1R5J3gEYxi#e)-;-i0vzCXnB@L>sJ`XfPEVq#A*7rL zRzRS{f2R|=iNZM#BABW4;RO09XbL^yDS|HPUY4oCb^vMs0-CD+!tRLNHbC=9HAuTw z)vJVG0#V6(pk+flgRTGs!JEAb14`&$VJ|ZS#IuC{PJB2t^p_!)!wVjJFtBoN+L?`L zp9ti_j^}4!4nn~w>Y`D;jJy0JR3-#vgF5>D!v`V5oiY(!AS{z%G}*tR%9s4S837zh zq7@<{>Vr!FRL^t!eLYi%7HBTU^Ber}gT4iWvE_f#l)!)}{t2%4JWwIkL9WHi>H*sc z>TVta;p;srKhdKr2oUPkv45x;HUHPr*W^)*ja&F_iI0|{52AO2GThnyw2xgs`50q3 zi_RG?j!V!WNNC)L@;`INw?*AlZ(+RJOdg={r_8G zxizfY3FX{}FJJsI@sC6LIB%x`vp7&xJn@ApC@Rt>LPdvxTNpb+<)yG`(+V-M9c3Bsm5!#?y>Srh zd=|N8k%*8G6Yx0DoK)bCS6lbaV5lj9ulhLlmTo}z?FaS=sC|J`6F>*1y$A;eu-W}s z{rW|!LE3JJMfPIPWQVxjGCwKo*o}eJXUWUre=Sr6oA zj>jXUA4bG$O6yKYXOFm|N5Y+t^kidPrT;8|4)CM8V@T-pwIHT|Le#8{b@27 z7IPo>T+0_|vEAA_C0`wusNOFsD=(VJL_FCmJnfCD4?xo=H#aw*EQrfEdo0)dA1}jJ zavJ`{d>WqPrw7q%)kv{>7QY9pxC9Sd7M;nde_dShT74|NmhOncSb^vrm2Ccxo$J3Q ztPgbjO@%|qQ5OJ>G~OR4X+hE9&ow--aMRurF_u@4MFIc{B;v#1j7@(FhM)|}!x!pu zP*AtS5<4p^Ruq42?d?&-_{l{x{`0;y z48= znzvz#3L_3$cI)dt@scPTXgMHJ1%VAl8ZRk?7f?C=6-J1Gc==NSCG}h>+u>??F(hOC zFO%m^m#lW{A7k}7?{)LO(9LmtKjd=-{YEiu-J8Ip$AR@ha>ZC&q;rO6vDoN?eBWZ( z)nxUFkfZn1-7UG(yXU+(-^UmL^CbXa0s7OzXwMgAvP)E89s$AoG!+{dC-yz_plCt& zrFidN+omS^-t@{$`ZLNOgz|B?i3R7+5(z>+WjsSgzfBDYGVS5UQ6!6g`1h`Wm}`LT za3v*TELwVoaP?cM0`C$AQnt!zNkTn0F$TQ?dG!)(Tk3{(rJtPlaEkc%=!BZyUJ31y z7ykAyxL7@l)E5A01DmK6b_*}1XJh|NASfj7u`@=obpYKO4Wm%V@o!sG4Y-#r@$B=l z%eJqTceDzemuX1i_TS|5fLAw2&ffcD+cJ^4@x4cVdndsp5L~ln0rG_2m>ZY~^zr~? ze<|hWSHd+DbG-+!p*aX z`9y@q%f=1g#~Fh~g%G|JAI!nX7r$pwtKf;@i}hxZk_oz3URZRb}TdS1LuL=?JC$sQ{R*zXOmGElcaX<}2?Gk-(FuE9{_)iEPQCBfS~MyVGE6x@D%`_nt=|f zB*M(y4?(X6?wYf`pU1Ug`(LLVzMku1{@3JWj@3vrO7iX*WzR+l+p|b@72<|B)HX2c zk2L1-Sw^cT;B5+m{rX%nkzm;3BtXTJ2M7!g-s-rcl)&`O4~p+ykisoB$67M%Sm3BD z0Kfp?4OFwt+`7TDc*LQ&M|ft*8o6?ly05c*IDsD1en_%p1|^i?0W~<7>&L7s`O4$) z*g-rD>97PWriyii(?05$(UW^CG9*D^+}gH=)bT;8q&Xl5&rys|50N7@)cF+iKw`RK zs4_G0tVM?Ne(P6ZuBcOKh)dLDl$aGbF0^;T043OlHtgEMe=lQ{M_5MRtJ_yJyQL5_ zruG^N>#_HOJheWTO>qzK8w-cSQxT5N&guXhUP^2DmA14jqB%aOZC-c>%2?`byfVQ1 zGZ%idWnaG6XO`+q?XyJ|TPk(pc_aX3*VyJ@VEM%D)ePDr4zBu*~5lsuc8R9MC ztA}^(diaNcka+y~P~asT3K(?I6D7VZ>K;m9aBH?d-oVEZP=T;llOjG!5(27v@eOmq zmoFy}(U$Z}So%ggi2K?f-S$hCx=Ek1?RGJ8eqtn6ZTfk5Fvz(S31CbS6!LNv1W95JC2?it2(TWbD(V0|&X)Sx4;2syCy9uue zy#^7#0)zIs!p6HP8(`ci43Z}m_Sj^Bi49reW*vWPbl>IU&D~(%kew)FO6dxwOEVZC z_tahxNCSO@#2}3KIE18A1JX#w%t7|2pa~?dI=X!9T8-S<`aw__$%X|0#dDldv;gxk zUm(gRg1RcEPV1}Uf{2|4Y9zcjo`LcN-{i}5D4;L_273u8Q^)zSs^2)iAJ8`$Vm%|& zCPS!5K?P<4g{K&S<3m@M=OSq%GHyqEvd1MD4I^>A@u5oqPc~n_THTFQt$|yJl^7oQ zwy2lHq=>kmtltAdzd!z7t`cHRqt-Br-8)Yi{ zee&kz`Cs2eZ9G-IvG=A+&phIG0Xas4F%#3g3UuSa_#?aY*NA%`@&C$^8%XJh0-P0| zn?$kK(aqnRSoHefQkZEGo0;ev=nxX2bCGbnwz?+r*sGMez0nVdIgRdB4&zIMRK1H6 zrd7kVnHo3n1Z2VFecaf%0ASfR+_ie_s61$|&m(uigiRLa(X$cKJoEE6qW!CF30JJR!XH6KP26H!9~lPl{7^u3{wb;{9Ur$9p7T^}#2k zvps>ENKge}6;KZZDAE8`jdhmxgqti_v?Qa1eXtO=9w8WP2VhICq@+(vdy+FOJ$G{L za& z|L$1-h_p!*bFSsf=c67W#tg=TYWVII?pKWD)5XNtn|37NcH#Oh>w|rdl(cks)!LuD zXa*S|C0mWlFrX?_Pk$S5`5+R>^z-61kEGaqn9gUL(Vs#&; zRyc2I!#BQ=@iuk!xY#N(5s*jD!75z6A6K z+ziIVh@rkpJjyfm)=%{DXK0CSA5=|t0};hey>;R5_` z(ssagYYvJ|?9!D0z}J8P1M)JinK_ODs7CiS3WW{omR6hzMTLrSDjHI{5|I8J&@?LgT>6#dQ%; z39{cAn5tk#Jp-_ZP`{JVUt=G4Tq9XSx{ZCl&Ef(2VJfJUFqu=s5J8Ze zn|sZM4Y#2M+P!Vt#j1QHR1roNR4rB2)rnxqUegf;3k2?**J(7t6o*F3HoP0skZIGe z#FI7fey6RxYHH-BhCt1%ylBxP08^#!S}|}(@U6Ic2GoUtc!GV$*>>uHj+;lLBIUsjIC7yMtVc}# zucf775j1X1X76eY8>J(nqTol1pN?@}3*s2FGJ4;ZQ6)7sFe1oaDd#)RO9MKuG*I2h zkhiHRjO3m>H?G6hJY5XtS2EzUYHC^u0Ns8upiUSE8f@GZXac&*3I?ntH82ENi9csn z24qW?dsu_c;z1)XT)2HMLAYGgl$6+xE*Q8OpiyI1CeKNH62RoNEP6N>b;{B3?}+qa zF)=#eV2LsgTUe;zr;a_w@Db%uM0o*R{N#;WYH9)jueQ1O!$$^F#$O-@bJ8R^A}iRN zNNLQ<;LC^#Cm@VG>iUVmYE+j_+p^jFH; z8v%AZ;{|Zlv@MbHyKi6464JQB`8hYJHQji7PfyR`QFhST?}5x0EZ_xCBl zyblo&2n(n1xyhn<-~!giu7gA4G<(X}n45uE$k*N7ofcEwI;j<3;`K|jXhPLLvm{r> zN&Vijf)}9yJ30fN&1~c@)97zLcP4urHuusy~ z)&^^ePA5L}*Nq(=x$8#iIsmDyL&LvDPELqHUl(xSuWm;{3PL-V!o5nwgk$7CUx1yd zBT;H6U3F=x7b?f*Ws+iIw00TyZx!RPt*s`28tdQraOXricm){6* z3FH#d_@?`SSR8g!#v}mku*JA7YTByN8y&eL-@!b$u*W#Sv(b6{*XP93G8KWjAk&IZ zD8WX4pLKklOJBVZ(ZmkiYJxR2s)u&P>($+~X*)IBk%M+Bkn5h?yzhDkh$4#z#*4aewX?HoDx2T1S6+rg ze3K{V(lW&HXWno@rk4l6_wweJXu#B%2EnuYaDVhwTw8|stpCJoMY3X1TJA2GSQ8ZE;<$xS6Fd)gG&<556@ zkX$rcx$2f4*3_2wuM!d24Kj2amgWwVH5BT#drIu{=ku;}FAdanD}R{Bx%l#m1rAfm zAr}J>6EmH~Ln~hZQ3KWXMMn#mLtI>RoZ8#kQe#kGuC<&3Tl~Y5sSqJmHU^xmRr}ZT z!~LgiRE`0{QVQ5{50t8I-*VRiKQ#;KG2QYdXTi>UOBY_^a})J`Vlf^niflyTuUQjZ zFgv#;<@*41`1<-%AQHJ1?w9RH$#ewV7~fRcp8Xg-F)M?~Cj|I)*d6?|6pXjB>v%vH zgL5_{iIV$+F$Jor-Hv)m7n5?BAn#=Kp-|LwS(@p%Dx*NS@&1+MU{G=H25mYq1QG{U zO@Dj*Jr4O=8j z_nUyh$`psX>7cVAk6h+)xe1l8CO3Cn_^Do`sB$M#6Ekw%8|(a{?H&eLC=7%i@7xxiPyH%0r@1hps;xf%Y=?xg{ zS<5Tf>G-8h=X7 z;1^K`qUbZl0kqWLx9@uSskv9#R;Fy>Gu6ik&Iku5IXOAAViLPrhO=0Z21)jfjrn1+UuHpPcq5<`B|0c`KP)|iPt4uz8-ZUdYXZv(*) zUwWk63N<8!ZZhiyiS1Z4CbWvE={7a|LWV+?TgX3i{xThOxVMpb?nrsT_W6+;Zk4!1 z?~lx<`k!Ux+^*fdup^c&=_PN&Lh-{ZK4#2N@@>w(aZD3t0?2LG0PJ^oHvo9p1E_;s zd4HiR9zKIXyx-?DDg#PfTRUMLtxMms(St)5uiX?89vl2HgRHa}A$ZcY#Vx3WLh;A| zJ*LK>4Kt>F-7u%#S9$AwD4W5x$w%_^CK;60vLFu;*#a|r$2-QkGUQ-QYP6R9*CbNc zBPWBjE3r2Lqy5Y|?l@b-{d>sN2>kPra|N&U6M(~d0A5}^e|`yXR2}H7ngO4lF=!Ku z^`we?pRM8|+8y?oL*MO=NK#R?45t%C+dp1v!qH0H7l~v`q~7&*O}?a%Y}xg)swx5R z{lUd9Xlw5*U4;VYtIA8%=3&1eo2at|o^#mFP7Bq86W(|D&r>H)ven<@G}6<1Hl_j2 zN*umC$)!jv2@XZ0K1c)2_sz_#GNhX3e^{}YS48A7=Th~RO5dKbhO(_Y{ne1}819$k z7L+8psVM)B4FV)ND$&YmeB1T!Rg^fWy_)hIEo+b1Ax<4IGLje#(SJD=>BWlPa_r09 z`+aDkkGZk`p8G3`ZRNUy!Ypo>5-N6pkPBYl{iYPijSh#3BGRXx4!#~1RyxyQ0_2_! z5mfVI@w^XD5uW@tb64L@#!b3l0sbvO~mcXk=B z^~&JB`_o(4sb+`JeVz%wIVkV5C#6&y%3k33ax+kA^OJ}4@i%$f@aVBVylC$_E*nVH zSUe!thzoP2xzj#}JN=&c&a8M3(Pvul0antsz$l4=Os?EW#Kv7~wYkoGyd&v0ZukWo zREb^8tPC=s{+Ox1^NP${FKK6 z{kZ)eajQ*1!?=BWC}3OQM}9=5Ly}Jb#xJ}kW{Vu!D7Knv1^iV!N~k#nK5Ytvh`Vea zMo+`Hz2f5(@NCe~EDQBbIBWVgAiVq?64ni=@F5CoYdO%4wT8V1`vw3~IW64b%7KDHmm}-l7OK8ZHo6Eu`u=3LCDsT)d-@J*bsi_GQ zjZnKW;|}VFPv5@nM2|epGwML_X8d-FGM0 zH2S1T$nNb0#~v^_yNA~G4ZF=BUdcH&fU;O0RC0VuljN;~*-!QRWaHhgy?EfKY~ma* znGBQF*`{|ZuY(!k$-rEpI;%?W%`7=J;gEXwRW09s4yA*hvGL6KXDnS~io^GKRC<3H zs13}@0B@R%GS0f35Md6_n!4vlF=`vL?qdblk->|YPCplY)VG4m2E73bkEp#}V=rd5 z_io7o&{?+Y&+3}9wn#ed*t@o*B2ZWI=HJS2HX>DnK;4}8_!HQ2butz_+i&?Pqjuz3 zvgDql`%jp)(6MKV!;=?ZT3uOber9id%B@INX{052KI2~kCfmeBi|<{SnluU>h8#xi zU())V->OMFSR~lnz2Raz~`v!<$MSjX4QMeEk0&?%mv<>5gyNZ53C7U+Vo47!2SrTx;Py5wHRgN}VvC*4}A| zN7(w|p<-s{*=II4B-LT8m5QM&F)G6qVk6baU?H>X;4AF|r~qLHxPdwDr*`>2!6+b` zTh04-4}97oI!Hzbn)wGt_(v)i_;nq@9DHrKuSuTh8fGzUw}xW&|6m@+{lL-?}C#D;933 z8QaOSU`4c_A3J=aRF9mS)b>+$P2GQg8B;x9((YN@U%R=_8blO|QDlLZsryMe{8QM( zYMx2?r+7&G+*b`ViH-N&Ak1J^M)zjded@%CdPOD+j%GNpg}EQeQ8U4U%iA0}gZeLw zPpCcbILLiN)B&Iug(5~DI>`Ml8K8A~<&cTixsAg}0*aevfe<(%m=qNCK2WCkc*2G8 z!~)Zk{v}V&Jp|W(c!Racjp*o8N@wtejEhF)u;++IriWrHTH>!wX5-bfWR{9%?OMPu z4?E$45F>fvAxpLCKp?v<37}i-;Wht-0PXORlRyrc*E!5j4+ikDKrip*6PbT+eK020 z4~!QbHRcl$MlZUQ_E`L0TQ)NrkF#x8xoz~b1q;X6(FLMauZ=ofpl2=EBNjB6ZdL;bC7@oWpo<&-qMm4}@Oj&=KCb z`>}+2?2q5uaU$3mK}$F7v*fqtSkzppUps{y0uHwNK)#CG3^!3`_Miy1i&2uZCnRMy zaqG1XTX63FprV3>#%zp%w~r$xCLon&;VBZS$zEX!Uy7ZZxU}TtfAa%64!p7=e1fWa;672X?;Lb6?Hf-H z5px%T<`X6!Qdce=r0D6gns}a5qW#AyJ{gb z*|KUqj!N}x|Df@9t@gq*jr;cd3}!Y7t>a3Ki}TRY(Lsb#`Ftj`UqioUXFgcxWDHx>3Bh%ZXuEG;ca?&G!S{V^7^`bYC^3rkTT zG$QzWm~qgkz;?@4X=&YoUITAY=Cbl~fR>4vT4z3fZSxVHc`K$}&13(XXQ&Cfm6w)v zuqRyTPe*qsz`cL&KNpsAbkOpx2S10}AS0590X)ImK$cDp%gJPwUBv6M2Nl~SuCz2) zn+j4B+^B>}mN0_>t!Rvuy}dmbjHsa1F`;cIw3rH;Ok66h3@XsgnS&`dbQVX6!NAd3 z6Ft?M9fzf?K`*-$?ElO$!D+ zSRkAfB)Rtv3&Ze{^;}=y){U5-DL}*rp;XW=rBSa(e~;X9n~4KKmKfcJNV>a$1Elx9 zZf`e-2!Jt}{kY&+Q#H_t=4BDjCr>sPhA16az}Ltt$1~QFUBlObHJ!M!ES0INy@ofb zwz(;t2r_k+t#d(3f$^2L#4g*Px4;iL1K(F>n)3nu&%U0WlcNEV_b=fJ)KNpIK*;n0 z6_Qc4;-*bqkn*X5&I|zH?$1J^t09%zZkEZKOJZEOogUr%?b9bO2&#lJ`$nCmXll$s zMKVrn)^&`}x1qQsXNON`>@iPg48GjZdE(s>G>;fX(tHo9%sS&D%sPbEub!yT@CG4wU!Jh(SP+I-FjDgvi&xTD@(Sw4t~oKf0thGwqZN3erjB-+${WD>Vo5lN&aO`JL6oA;Plvx^b*+I4RMJ!F~ylLO7ScXrJmnxe@eI z_V;E>+5Yyo(&E~?OJ{kY5>SO!%3VXe+}hUHiham2DQ9YI@DZBDSq!*tC?07i6A9Fw zf3h!LcX;d(QLn0 zAiwyh<}()>7eXP3O^^qg*5~yY14<-4eECm%?5GDn8nzjdqc3z!anF{avNf{mdy~Hw zczyDZ$6=1E?47N4EZ3HRZSE)cM?yXGIKZC4zOn2MLIMxL9~0J^UOJ*BKp2SDJ8Y6U zP}bLu?=1mTd80bm6qG}o*|d!N?vc6OlKw%?+U={oYP;vknT4s`vg^X|{Vb-pkOX*w zkzgl%)WKo?oH=tUzZH^=D;LBFY|t;HTWxaw!h(HgGy%iQ`5a!;Cn+kE9Lw;4^`weS z>&=^bjl)SRCsw1@yLYfqfQG!tAY`fpP9V9Ak`^3WuGui!z#NwC;02xqvwBpPJAS;f zanU{_S!r7)rw{0484Sp84{rMarVE3C`3|wvooXs7wx4HOPa^*Gil|!S1=}R!A4-FY z0iZ`6J^g$5b^vitMDLF?Qnd48%#~Q^5@|XHDpVQzaB~X_X8dNfnF*M3d{tWqCSL1r zL`g>wi7|+00_r6tmp`IFnhY9KLAB`%a#DJ&)xLd;$S(Wr*|X13N4AdGW8Qi}x2~WhXLK`&3kA3f?9UN&h%XBuoF>ri0 z$L9dP*=f%9j-U-*#>XbJ0lI1^>By1L6$`ZNc(XYCLflt{zwNEY4W{?@7pk2XFJ5@y zhyzdB{nXtpub_arUiUWI+=Ynt^g-cPh9~TcKoXB9fvw3rB1df(SKtw_>ZL9pjXT=e zQw<1t1&$l-a>tDVEy?SrD^45++zX&msX(o-!0W^xnSTOP-gBcfFb&jBZeO3eabK?1fWt+&-YT)%(G zcCAfJg8_aKSzE+4rvi$xyc@)W=QvLco+2K+s4X_PU|k$HEQ;ok2{-!Gy8}PhAi(B7&d;dT zvpG6n&du~z-`yY#go8k5T}*@?#GWDWRhh*&OyFC+2=F_f!U;j-!jhXMP0a`v>#Q4& ze#9Zdn7rx0PF>4!{0ly4j1l1U;3|)q8Ye_7WX_a{&h#% z(PsFS2jN#8LMEcgH*|49=(D%UL=eM>t_4`qGw08rU--t1LnLhu_9n>zE(GTJ3|4?> zG}V%|!b75>{6K30X3c{#aiP-y?neUXx^#B|=9d;Z66Fz9f+e847>5IMitD=~hqjlB zD)@OfRKxz@N!41*-OGOpx#euLZFyB@e|Xw0_DnS6IZ$9;fJ0?4c{+D%|F2~#e>ug) zG~2!VQX3bY!5U!-Fz7_Dg2xR&e~13<0=j2#Vw#WAU0;)>BhPUKhM{D6IlMu&c1kPJ zVKB2?+bLTP$SDyxzyKJ6mc-D==u30%Rf}Wp9QKK|GX**(`|U2HI0xDK)TypFrn@*0 zi)cAHOr~K#+VkKk^o8?WhQDqD{@A|ZZGMQwI}0(>BQ~*SJVKTl_n!EC*`=RQH@a_k z)=P2cA@u;u)Vw{mKQr@25bv1CXW-wff=8q`puHXNE^X)r$C}o8X3vSYc&%MkB(6~> zP_>_@YX*OTna#tWBJ0hGZXlSsD!( zT3(mPUsrrAvogDX#@f?hAY{^S`qlva*!=lI&#SxN4p$c(>Qn5g2J}SEP^ja%kYLJ@ z+UK5j5b_=9A5-hJ{|c%TtRN48CQsTP{N-h&+%5pkBe)eblPAh03iw%r-$!6Uu@L;w z_*aEk+vRk9zTVaxa4m)~oP1VV%7Q9S6(3~p!%+a`oXeI4!w_pufrIT*GmViI;Tg?7 z-rlVE++-gOVTHOa2Qb^kfbC0=#Ln5@HfiKj;l)C>M-KcDTJumJ+8&e~7so)zc%rmB zkydz$VlcSh{pk)%6&im0L>`V@d0E?(YQ zkn%8|A?i88i~)NTBv@Z^Y?+b_Dk`qvTg`Q+4q2yd>85}&dHq@X$pX<+^X)Bd#vOb& zG8h=AEJk2xL;Vkub^E7Kyr>{d^IC8F@h63}>lM`2D?U{y2J#tk;=d~^xIFx7DZ6De3{mcyS z&Kze)$A-@ZFnu9cYErOWzn=1_p*{l9{axVuv3C+bP0+d^7$5Re*r4;^Mmv;tJ{gup zkvDEwU`l7xkp&Y1eVvNQ}QZ!6Vn;Pk4C zf6hz{Y7~q%D7d~F4JH}q0Xt{BM;l%O7c*IupYQ@0C!4Nz@^-idD0cVw zTRZDOEEVKNkdQrQ7JO7$*&n|;CMY2SU2+b!}xHXCMQm{QcD2N)!3sYSt#sdUJ&Z||o&uX2V z+~48q*~qi{LqclMhZ$W@vFARMoxf%Tb2swz6A9n-C37@0N7puM3L}5A1P6KrL(tUR zx7*NIlY=#43i%Qri*rZE45QH&Te-x(Csv@}U-~2$mLbU=dw*Whe?i>*#prcKRG{QH z1*2xRcjwCV9B()FSlX^Y1B;o855~G~vuDcnYoPQwLBgb(NVyqgWebuU)d$&DrCAZV zxf?uGq77WPYZmpX*7^TlxL!!K#nfm_-H~IxnUsH9q-MiuoTs=?KWvFDh*(vEaNLlr z&0G6p`JN{!D_d4&nX|d*8~t5v58`=AXXkQM3RIOd!k(DvndR6$d6!p-4Ra{AeIK4wF}U$b^T$f-!wl%3!l2 zx{_<|tzq$~^+{-qvB$YtH|B2B%*h0khypZl1}qL+43L0%(7{w)U0n!97foBJyuo~; z_9W8r3`Vj;&zjERp7Y#VHicosLuGo6mfII6Z<7~yO6P-0BM{BP3=Uuo&x6wWAJn<%zYkUZ!cr2V+T|n_!vYq#?Qz68AZ+l=RdoB{}A%v(Y zZWUEn+a8a;Qas74TlGO$PHy*!Yi_`{5DQ*UQBw*d$Q3JBdYNwiq>46}NTGO~pzof# zzJG(mKUbt~mae77>~nLQZzaX8>@{Z8!ySV0_lp(^2ne3{jha^Fh01e$w)C@thXg?< z;OX3XXq+ACyh8Qm(h*rSm`xd`i=i{nmkekdCQ2H9{ps)TULFm6SKzGOjing}Ox@IV zef^vxQrzR&-D-IQgypTDx5XjjA2nUxG%K*PtYZF7SSKS*0QKAVg?j~4NjrNH-}9Sc zVN>A%k@lPu6$)-YmzFfKz@E*IJEG-mV@2uqaJF?|FQf4$@FylJ8zfF;1WkRSRLlun42@9 zFkZQGW$H^sYtW|4P+d3|O(Mo%)d-2I)9391TL(-_S)6p#M_LlCz*PnT@gLosp(iE_ z-Z&?himK{4w@1O}BNUeeeOvxbk5SI0R8#x}}C8=Bson>KN!QSS&i8)hScrg5_DD*JIo z6jqr7LG{)VU7NR6Y(2mNFLEc@6-Cy<>$*Jtsht&|7NtBCjM#Gc;>B z3UEWFWntechosa!rdKNulMyQVl;CAs{1JtP;f`drL2#z(OX@N7Zgh!s(B%d(LQhZ6 z1ICab?;VwLK@yQND_Vm2QzQ&T#y72XhvR=BC=ND-ov3T&U`Y1P?}L8e%PZOTN;AjF zJL$#YHBtv2vOq41Et9xifTlTJmqSeBG|;h->RP-B_|?7mvdWY~CLwN^{+_J*|JZxe zxSrSV?faW~CUY`IRE9)`LW(kEj3}fiZA025AxdFW=BZF*D5X$DA(B#xMhTf^YLKZ3 z6}sQc{{61|-uwT$9$XLZ*Xw?8dtz_&9nQ~ru5+zp9mla+wP~{%%r1?wA-NpM%o6K6ej^0mK%*H{cmyDb;(+9tk0QXmcLv1V0 zc5}RO$a3}K!gj$4Q(CGHoWB&^$vMf|!@tQecd?7yS)w{u1qU!XvtJ-whCa7Hqd~fb z*t;jWd_v`@rHd0dlo`ux^{KsYrbHrSLHD6c)@A&gg7M7|lFARTnA{5z+{1NoV3gsviykl7(eP%u(6 z|DOS2XQ*H7Kyj9I(gNzlld=(&yLi^#?^#&+{d-qEJry)%Gv~aNtxhFnXbfT&cW=ll zmFKB_nzd%mq$-*a!~s|1Tuv-|p4zV8FuTymG7^}?++2&G2y-v<3nh`!Pg{~ukF&A!kRi&rdNrbz9+3P1 z-@CgIa-!n~2qbQ39Q$N+qwnAS85ZCPyBYFiNKQ1~J`L%{{J@_~+?Gw}VKvl+XMr4Y zpzfdUpNfkc!cNWkQj@8R>ppT z?yp*X7cn3jgjcMzw0O86>-KH2dGlsT$pDQ~NJ!zUE;Kq8Y8`1?S8`)|6EqP*-M791 ziILBNxtmgGX5A)jid&v3YtyJM|L<%4_0_0!p<8sT-fvm1_ww~7a?|y{DiM%eLC4x)2)yDtr^bF&LwaNAq%t>yJF1YM7T;v?6gmt zYk&5*^~^|%ta&p{LY8&&B;)ye08ln`gx(@&nah72H{{4xxzKW6FrJ$3sn zadgc1WGPSv|+BZ>dnbtOd9<>`MG_QFXuYHy7*K} zF?fpsR~DY6wUC=;7Y-o@I?ktBgQqhcwXH~Pl=dWRo8`9iylHIgSlD~A)wIa|hClSj zhs86CnN-+>pA*bJn|@Cr)uv1l&nD5=#Ow~Lcc^Y8Y50Zn=Rqe1ia{f{!*p~!oebO# zF^}jr5I5_`lXBK7Ag~@#OkJ~PXn{L+#DjY9%Jj)tt-@e zZip&KvCfSx3}c5RUf8S{UqiKfA6;?o@gd;8*1|)Y`RyOztsTmy&tKF zWiov&5zYqE{k;qExscB-Y|N_H+qG{qOn;1@ZQ5Qzs(s%bijEMr&ijofoP9S ziaK+@){(I@dfhVi3AZs5MomD~E z(o!Mcf^1bEq!Ef>4g$eYs?xt5c)`D6cKc3Ig)hJaT(*g?9ekn?*8k$irz}Agw(yG> z5GF3FI2nptC*&7dbkd`h%;CE8{t*HSp!mQUzh0*w(c7=M%Ps19Y(M^UVic*=RnfXj zmvhtddHe{B8YOR7CMvSnDhRSG~ zX|^uK?5qb5eSdosi-jXiTb}ziv3q2IPatd8QUSi&f)rXKV9rV_1J}~OKoo?~XHflN zpx7GGUDUidtkukPRd|+0VBzx%fwh8p;cyZ_CF}>B$v1!cIuYV3_X0!DVdMQsom6eLXc*6rJie?^R+C$PWPQtOQ@ZbR#sU z0KiIJ!P8&N(1a-4Ta83*5lRjsglqPzkFT!@S#S@9E`|}l4&1%xU1%*1@*iN|DBLP$ zAJ*?im^Gp*VoEz`uKvjGFDs{!f3B+uT(rc-@uPLe)|(C?#!dh3PO6N`YCH9H#i!?og~9vVzOioIy)fpA zSGPHKZd>^DkoDh_$7~xwN&(ed78C}_?6mjme)UQoayMju()W50A?Z`p@x;qAG zZj~#lxc)``r=YW}I`_u)Bng5?CgD#o}xEv^<6Bzx0R$;GDd*$N`FX zOSTJiH2Jp>5<@+oi20$G2ipf6J9u!cA{3&}?9XPcbp#4DzE|F>AC2*b3h99^*8Hj|KWAp5#Q&?b7HtndroHq5D8a!SjV7WVlbpvw2@ zhX>z)6f&I>#j;a#Pojn~bkT=vC;iRUiaN2~gAs}eyDCIU)UjQ0EB4%B(dlHWC-3eu zMJ%tmaQ5xq-Q3UL{~qyYF@dy$ecRIuZ++iJ@Wz{3RW)svmx*$#;7MZRGa2|6`je9Yzyzi?BMlI09<-U+h21@N;N7};`(|KCkq}-QJs{ZyXM=L! z&**}pmLJw)h9H}NP^JPmV>4oX5sbd2G1_t8H*)V`FFU8mO|$1CE-U*@JrtpE93*#0 z&B`i>jTo$wlzITUEBSX2?1tVCnon)tl~H!ro_MxACbv6eT?D>KM;%~nqX;@ho2s|( zH8?$kz~;vHgVochVZ-^IDk&M|`zxJp9PTDotTh_yv-|&)8NDm9B~Vjiq^gi!$zb1{ zb#Q@a;*Z}$__P!vO0fEb19!=s%`=s|TR3^W0(!z?VPLQWT8w*=41hT;vCp>)ML=Xi zQZmi8AIaNnDhXoo*I&Zw`ZH_mFRHCQCg-3T^0d6rl$OgUQM|1?VHv&l#B&B_%@Z2pe(k z`<01Prknzi(5kDizzw9GiLvpbSP!VIO*yA@vwSko;EOI^(O^hIaSXo}xZghRtA%N& zkcN)#`_2U@4_x*Ae%)3{ckMUKX!LkxSnYmEg|i(m_24>2`kmEtXPcj*d;3X+rj^h- zLaw(x;|@Jv7!jUv8M8#OJ7)2xUyZnUap0sw{WpM+Gi8FtQCCHWO(pLouXP6+`>^0_ z;V~Eh6cdrT3-2yeYjLbfdZx21EvH&qw*OqvCzXjrCIsz2dOhD!qsm<;d}g(K{te90 zV+f+=mqHq7quJnA9bH}ZKEWqX-lfMq zWLCEbGob2Pt=Yf-)G&9(e8CKu`9{sm436vLc`LF(Yx)U*%#SdZMq`TUu&(*G7dr&<;sq5_D+`N0CakiO>a);G`)GkJM+*SIU0?5ZCR|&do1(5G;5dZ@*!SMqAY2 zXSUDtX3X4Gt1hKFMH)Dv_}|%OUS=yGO*uo5hr+vsMbiI%$I@`wzvg2Fk<%Z+6Y2S@^;cC`JfsBMLVq50L^XHGtaTH$yP#&!U zQ|0>9_y&jFZhyZ;?YnTd!;-(_t8t%+r-`reLzKtmlW>Te0;~_NFLCW8E$ptT*^qqv z!{98Fkw#Pf#eYvMy~v=44jp=&d=yd5!Sc>fZAans@gM)q=%;NFr9ePxiNEH(b+tD? zZDoKb3$KIu=Ek?V?Iy5V;(-J(E&g11Exi7qZF`KWuQoM+ICSz#gAQzm6G1F}#hezB z@5p0KHB$e>tNLz0voDcyRi=_rJ!!d{*4J=*NPu z2!fMLAceTWLT*Ms*CB$#Dg*HWqZ1{7PQJH@qw4 z0f3DYt0p*(j=J6rW)?&L2BXv5PK!(0Tv|`tw{6`zkB_w^WslEr*U~zC%G%1}BDVH{ ztNMsIUI442+S1FV_!PrGSZ}V!=;G`KUbA*_fi@`JImCCT2{*C)QpT<-1%SNsb7hSktwkNxD{<3AeDWVRneL30& z%WFZG*q5=z^C)eFRt;xCcu^N_oC*$pMNYv;yG@ycJ1C@sfK-u29L*gKcYUwUgsV*CF7R3f0@SrYt`X&ZjQ*8mn#APJzpMQLg)by?Xmmm zR+Yo*%4z%d(Qxb4qemXJX>mb9J3GU6S^C166H;yZkQFu)=OkL;LMBBwq-7sHosWdhDWqsva}(`w}uovMkAR4a7Kd%0&_{=Sdx`d*8KSKT8JlutNHGL?;6AUro) z{Zo(DqtAXUY!&u!XHt5nCR-nUC8J4!q5cKZlX-;ItUDf(RI{Lw46*-OcE-QO>4m{x z+f;U?JH78`;K_pRo-1`)k%A|yhqF%CRyq2hk1hK(Ey-lyfB}LeA_Ro8DIV~_zj8ia z9e%mnhdMS%g}p{6%}Wx-sKgMCwaoN%ad|f=E~!eLG$fwS0LfiZzkdCIcMmO&T<1h{AsgS-L1U*ldUp5*jxX=Rt@KadNFWJ3nsp!}m>+7n^?{D9XnXa~H@4Yk% z)8%x4u(FCdX~Lh6+zO`@P`#qda6NRP6lW zk1qFc+s8QQ)X7`@`2gcdjsQo^m%O|Hg7o)$^1+u#XC*#9eqY-}?<4`t$ak-J)EF#$ zOd8aUrJcw1B3PHoTc@5AR9 zrzz|KwzzuVEy~?%#!s9yscBm)Y_|v8c9#$RpHGp!1(9@U)@oJF>tHAKWx6`)v1htIsYNh2_b!Be6Mr&ztu-v8&{{&L``=D{gr7~K%?%WTjk+Kjc4 zW^JH26^lE%W5OlYpc}zz{za|i6ZL4!ujc&+4iqbjyVq7P`)l*&`4pZq)Qo#VY<5v* zHWJ!0A%8Eva^O4jFlSNkd+F~tFFkhiP=f`0zP6yTmX?-={f7M6_K&379<)uH@$KKt z8T9)h%hr(g-fN&e!o7OmUCMnS`M~U`6%vvh7O9*#fAQjm+iN13GG=D=@n!stYppfg zp7su%r=)XWk?lcayRE*9I#1}M(-7xblg@Km?o`JwuvPD`ExWdDy)(I1q;b=kAN*6c z)NLGCD=;vs`e)+mf|Q$W=e08`{b|)MH+Z1)ADJLu1?hh47IMG5UyAXOS;M=bX5BlE zT;EZo`k17iHAb#8_q^SZ-no1J%a2u{WHD5fJ)e*JNe}Ap@3wy8xwtrbpl6fC0t%N&w!a^?^85@_MOZZ&F zg8cKBucFC6e*E{#XeqTvDEzNq=C%5_7`K}yxi|)*w{@MopZ*-3Vmp%M&4&j5_XGU* z_rPcE8=MsBNDGj14(U6+Nqm1OTUa1I8S>%zOkM-=QA}i;#j-`rc5)rk-hj{XWVi8}y)Pvf)@g2*iMi-{bb)B?}0x-_OyU<{IzjgfEoO1kvP zSV1lqL&B7l#GIT~w7{5^Fyv74|L(Z|{665^!B0C4x%Sx`B!xX^)FZjdR8 zadB}F_cpvJ2Z;lT?afknQNq0zuWG#efGtWM&RHg{mNn&tduNq)Xxp|P0KpE`AUctSbMpd+`Se~3&&M#hue=3M(owi`qpAOV~P zxD$isF+h@#q6|S7$r-fVEwm{ zGRktmQ1!;O8N%6@Cl2Rc@lEtEw}RqAiZvfZe(ISAvH)yGZh>aUAp~G>mrN2BeGh(4 zTWMVG+<6O_Ox(C>c6LEbA@{6YB0_AS!}HsMla%XvwJUv~Sg22Q#p<)Emdm%`W>g)# z)R6uOflUUS7EV${lU}De6?sb`BEZ;i0%5eevfQZQBbC8R4?X@m5*ZEe%zAEo@iR5< z7f<}He;jR{AACQBCvy3CE@-&3N%Y{vt5PV;UEIDX8Pxo6R?nbUfC_dH?bkL0Bw=t1 z;e7QA*ZRczpzPRx#e=<-vE~~Lg^CL4A7SYZ@!=C`5>G!8lvAv5rEiY>QO38jZ3bCX z@qJf*c%;mB+H&etufal6vwWZVSqixffS{gy)sHIE$kU4+BMC~}QWf{9hhcSxY z<>lp8MWo%^sZC|h^Y^#=r?gO2-454Ev|Lga^qhFelT0s&jY=TA{VfiMkVHnC&>2W( zoT#*D!;kMqgmD7L4WV~}FnzgE^RqdRDxThw6ZZ~1+&nh?nm0R#EXQag+@*{D%HO`T zlvPgXv1uLKQc;UOL1GxOE%CvFHlTYsewT$h!P^lLFhd_H#hTUiwQWFe;%V6C!AKX! zV8kccD&8*isId8d1%4^P&xxlgdj|73N&Ru+l=PS|Ek>eu*X;m0`;s~A^E{Z*?HTta z>Jh3vIaat8d(I9|W3A>8->Q6v~m}_dIMas+o%_d;BYwIBL)6ioJIm1e)7N*8FI-EVg7!M5UYsDz2_- znEJX!R7!h*wvd9lv?GJOfeicg>3hthQ^u1g9pokedga^nNB>Z(po|DE23j)MTQ)g| zu%3dH>Nr}E@3@I53=8JWqUW%YqY$5xQlEye5j+l`EJM&T$$f9PZz5*q?}})tJ3i1PqM%Lq2{i8Y|mAwCX!E+ovV^vDm;0? z`Q&v3E)z_DVLL?KJ8iC2{_$x$kb^OVeTJ!?sQ4p@@QztbW13zw9{SCtk0&v%&+Mpi z3t#Ysyx6p_2#lEOVBtSkv;8)(XGRuU$Xv{s<OyWVZ|7O^^3c=GmQC2NU+fOrSV!Ba3c!iy)>3;=p8m?`JULgU|$ zKk%9LX~V7xh+-EKDuJC%sHmOT#=OT^KM0GhSiY`L^oia3Y2m>kXjf5FoF1jxC5&eNw)WpMZM<;&y6ewE8W zqilWUyLMuVOQUWL7VZ`KaHS#yKmoZtF)ge#+5>ufJnPzg zi@ASba~i{MlGoc*6maASHps_oEqjS(5I?WYFC>W%O1L`b|dXauo7tr)cWXwR4I7)V(6u36z|q)^bJ9I!0^ziI4$ejj)4 z;D8nyBSv)c_)$`y9@cJ=%+#xA%S2>h!H^QvhiIk9dRgnF6JFv9LlVZ)sGXE9ZHIaw zGTOXz=gtKCBLM+Qiwb03p2CxR{O#gl{)YSMFDNPCn|-07@*5|^T{W&Oz=Cg=t@o1x z`Zkpchmg@u3(B=Q^yErn(BHCr0GnXwuwiz%X@$->)3)c7qdR_gt_{*#WGuYDqX-6& zg6&#carBrM%#%b)6`;4P+2xS5B!j`&*@-i4RmL-2(%(I1#XE&z@lIpUqUvSMXj9xD zHl^&qDS(Na2#r6lpcGO>r49L4nb0QUV80fNxO~K}TAnn6H~_ukvF85|F&S?3c6NnT z5i=kZKVGU@Z1d00nE{NJs+;k2{towF6Gvavrdm_{TGpk)ecIXci!XKQ(4o=Tu_?oU z1|ZSG;$8GpiacKn>jcW15-t!mo&@}`QB(wCgU{pb{x^%WXTbwfulSlyWguzZ;@|%KX{=pVvy@&Ha~8RozM==rCy6LVVs~;!igi=`)uM z7#LB~r$v)6kFKo%nf-3EAlgvZHNEmcdw1RH!0}?dsL;4zxR=VIwn8L3o}Qj=!O@p5 zTm1S6AOkrO$Sq8Gg%Ue?ErEz0#W?qpSj{zYfAYIFjLh ziuk8bRTcb*sJ;J_E2S3rS^IEtY1TAr(nL2+AJe*5A3yFyo7J7gi!>Xg%~?-C)hx+^{!AQ>Low@U>zN4(1@L4VpAb;=+abA7_;&xdtX# z^>X*q6@VC|Fy!$nDX1*P7J}P`oOwsSJ@0U3{ZD6gkA4;0mkc-X8> zBHqBCcvW!q-(M{BV9ypzWSb^v1A($>T=rXFoA2~HR!sWFI5ZMQ5qM@9RHx@%5&=EA z_u(T2KV(QUEqO@sO_5pM$-BTsAw}&gMD8@+HF7ZRtQ$RhC&qTFO&X1#GR2E5mXKxl zaLQK9VA^tmzJK~hhw zD>{6;;}g5!*Ql5WMS}V;E*ux*3*~G_>RUpMCbMew$ z53(wzS6=(Y`f5i8gf>!q`S5sP*(Yyh+TxqJvW4o!iZtZl&n`2m!=K)g0u^&`K$hOs zjTJnNWDI$B(sPKdcsOV1`X6f|9DyPs<#m~JX{pi5l`D@LZ1S}L#~Fj?ht$;IW`%CU zrm$~BWlA$TkC2Tghe9FM9>#_7piRynFORXcRRbQADfBX`Jog9rxh*#7zY|MmOry85 zp!3AfBPvP;T14fOYZSMqr6&_^Wa>S5bZ!;>q-|s#ugQsJd>~z$GPk8WbnI*9L@yD1 z4{lIvN{yI%KUv&Gn4z-~O5ied@7p(goPqKskV;m@v>;ObpMgp($Fi+Uy;3v~DuQq% zGv)<~MRz#Y;D@8>V2PVK`zr{L1P}h9qS;tmzKG{xH2yP{Cdoh`_n>8*n;!C;ZDcEn zZUJYTosd5}1^l4|E`g{YpeqwAvuh)>(L^dY4EPGJ&tPD5YKmlpX8%R*5hjt$B6*C5gT2zT*4-i76 zh+Mj_K7ZbgTRa{YwWJbd7CeLFv#~NDwHOsV&F|wQzYC(&YY%E7wV(9p*m82v1pFn` z3&Wf=HIc0#cMEjpdE5n*P)8n@9&1On^$0ZqZL;s9E>HMJ`ej_c?8~&ewP2BpBqTs+_yKm zctrNoyX?%2Gh0x7zJl+%IXXJ}aoK0CVVptg)UR)cp)Pyx%EKQl92u>69c24|V#!HP zWXXl*z5YkZSeg`z`%VYlfF9NkK=Q%0pHjDw@koKm7TSVmlpXO$ z+tP9#l_Z9pt%PKbnXOT8%Ty!*0PRV{m#7y>3z~&|x{=>^9K;91MTt=^ToQ)BNY9M3xd+c1L5}w zri1-)S0oNbjb!7ftz|Y|mm}Mh> z%_$}5i_41cl_^(=V0jcNYxs8@wmS5{F2>zSJ_H=dC;}s6Y2uonwbYqX#1{Nrt%GvI zBNNz3Mu9m$hJctG$IQ}KO5?|Ym% z8&_nS0#OAAo>;48by6c}14^m(qH;;}lST16V4QII%vEqQlS642k+DXqF zu(_nC#=l~u*6jSBm;QNG$^W%!Sg+Rq_|yMA+^)VcI9Q!RtnP#fX@QxI{`He)d*|J+ z@5aVI{zV&=IOTsO3f|uT8%R9fuWYoh7I){HPO@4-5#k2wBDq7Z6VqVXMHrR7*eM3O!Pdl8pOJ%J^;i z!#2ORAGW$?i*sPfvM0F*AJc14mhxXRXXS$YcjQkSxdTpsP>@J#z5n3Tpz29+J2PuL zTif$^LyBsg5OB8m1=l6Vg|WwVkd$1E7&g-S(xrjLoeFStU0h^R!5o7C*U4Pz&8Efb#ML} zRZ@E4V6W7}`<{HgyWPSnZJ%Cg@UmFXPz^>}v=dnrh@Tm3_Q1?$5?utW58#@R*iLlqfw zPcBjzpn%b9%^vF>rkdri=6`w?V-nyyD(Lew`vnW;@%O;AW0c=byxh)ZGPRoD=i&-F z+Cv;V|7!Z~+?8wOHiA`H2MB1;sL@SoWt(}KrU&53%R7_%^?85Rr~TiH4V7C4 zmSV`4_MsRIt2^z%7Oh&@eRV1DI2vq=jNY^~6Jbb6ABU;4I*d`{yS8;{ zn-S4J?aB6eyH=E6=u+G6S5wCi+-W5g6nR|ZM(A4vvX>-F?03ip7y^1a+RdpbsNh}a z&m=fZKf2pE{lRv#XQ}o8Ni@}^T7<)XHuR$1OfugDzVkMH)w(k~RyXb-#$Y52Jcmj4 zdEu})Wa=2$@6`K`d$-nJ=NcHR8Rj^}$;_&%oAxNDz7z6qAB-#6c+kX2+sjpD!pUc% zyypvpoQ8&89JTp_{d((h#v#4Wt}11@q^{(*jH}jK9keHP-Gj>ta(|a!BOqr%!4>{i zMZch#H*~L^&c#`*+jfI5yz;22?jngEnMP}uRiTHj(H4B+ z{%tP!|9p}udX%2L0c$N-n&@>I=u(KL{m&P%v+h4u53~)rQa-xyW%!kYqj#ydR7qYp zKG5Ux%_Y51>N$OUGKd1;u*-FG-9Fp(Yr9fRY3%4Q$h07q^CyB&9&#cyIqT(_>BY2c%x4R=jWb*fr0&@GA?}*)ldS8xw(1dosnkN zKKCzqS;xMfePEkI-0vGV{atXwI#rjEQEobR%*JeC;s=HUZRh;n2)$?)YWhB=cSAYG zJ!nZVB6_vi!c7`eEUhzwu0#dEXZStAnWplGXECj4c&A0nh)Jo;NLb%Mmq-R;6>JR9 zxwX+Q&1#6pVh+PkdW74EPp`}raF|sEM`|G0h>pe9Z7vhMdYo{(Hb*)IJIs*&(I3g*lF1_4BmFAR=}hX*%>hnLLSnZ>zP zs-^0g{raC@fAhhiG;Y`89bsz^G%h0J%d{JpUE7b1HuHPnHAew#J z9Cd{Pt@#MPtvDts;%OHMQA}Y-T*(F!Q^a#Y>cBhVgsQk#-{Fbvps#EPWWyA=zyUIa zSjswr1zd>6ig=bXUp8ad* z)o%(l>ShF8KQLHjA?gui#_;cd!jPiW?|#r21U9!O0czP&Ndb{)z>EuVm${Eea5-dmQcJcFUoXb*9glaz;zPS{O~vdRFWB-(lnyv1zs@bTQ`cT@h>f*Ss4i0 znYxO($y+J4U&Ex4`Ra5c#8nPTiK>+ijcqZ>qYL_mqt34FXzgAx15!kNxETZek0HLX zqfnNiqfm$OvkHtF>F-F>BSl=)U^mP>?*6c2%Kw)7QZHvAw-Ue!NmmL44jBe-V`IZJ zv#hL>2Yhgzj)+7Tyeqb4R|!DE!gjb7KdF}wEYQ3q2GWAcY1Ffef{ z5M~Y;>mb(}&w`()A$?+9Fk#uOj4-G>$^2H9{ADgY2pJnL?L+Pq;W{gs9s$%+@<-+n0W*`tTJ zzOjhOL_vuX(!gcSb4^!^%Lo2`axuWZf~XE_r-6q@&G3R*iIxE~_QaixsQOMn6Yxf9 z@-c&*G-tn8RlOz!nDJg|C(H{0KZGWGbhztA_!ep~O>K^OZ-Xl$JzHFa6k?ncUDZb~ zgN$}b^wqmng_VvurE7QBAFe$bt`+k9`4JUwFE0x@5%Z@^l7bT3mZP1>enA}Ok;m_n z!O9H>Y`Q2qSO(A&4LIX+*$>s%ml4#UgqBA?>*<#JPH_H~v12Qo0U#TM#0v=*0(wYy z4mAnw?Pk);2`>NvlaNJUTbNnwd{rTRsU;*=Cima z>FtK!jJ&HGBAjEV^dDNi)4Y+pNiX^0wm|D@uu36=Nl+wYb4rfRtReK&f)tYFYvH^@ zeF1|RchYn?GTgN#Ee;$Rx$e90Qp;9$oYckLakpN|mvYB%CSMOXdU7Le)(b@*j3P^f zslr$ROF7OK70W_7;95nEo;26Vy;HY23zl$Ym{uGTM&U9H&s>p&6_uo5PF1J2WFf0z&ig_=QVrn9@f>XSE(`~ z{mkFZ*?Mw^F|w7SDLdBHxrxdEQx~Gjb<)_TuSu_$4wLbM1wANk zYO^Z@Yvf7eT_-d*gUYx2ty~9<<@ilcneUvMb-l-z70(B@b$NOEc-EHfiC3nq%5Og* z{qw~OAGVcR$3Gev@xx&Ez~JTwa#sz%@iY78qF!b1O&&BhahWpDwAyN^%cp0vYSpf7 z&sDMlbF;_SR-eOqGL8Gr9tmP8_5-fpzno~jkUO-cVgP{f^)wo6TVc$3dv_eV+>i-C z8q9sf1;@(Rm=s_EOs?03g&JDErgZqV34HrW;A{Y~)DD$FJDf($wCm zS84Rb*0)$ zAC#4mF^TdXcR#3bzMS*M3e6d(eZ;TtDMM@ac>JmyTTq2pfw;-p&Y#~+k@V!rY+fW7 zeQ+&9fb@5e#x4*NmAaBvXPb^h7q8Tn^nCDDZHSMrKYTdy`^E?Le>YsIMfB|OA20b5 zbiEd>oRbW|d7Hg`D>c=WeHBb$Qpz~-@i63)_+W~0Wc}}G!N%OnAKr^aX#+$U85PwU zpGc<_E2gDJUcP)8&(1(Y*QMEkn=>yQweTMh!|YK#YQq(M8E!Y3PkM_FtQRNqmN5KM zeV%)SG$@$lEz8__HdFl!tRZGy?V1q)&x=RP; zbwNR|CDF5acJ>r#vx{Fu+Ii8a@11K4_0z{8o^R_gD$Fm! zDP$MM+`9o2wU!~A=pmV{aW>s0ZldG4oxT>M>1}9yjxF1D!4YUYYyEAPCv%oT}z@IJF8A{{ht`9?cM!O%fx^kf#g}3s&Er>DmtdRM z@84_Dw954xyv}CG@ZnaEFL5ME#I#(i;g9*~LI-LC>cqKY*#e`QD&Bf^S>J!{*%kLJ z7WxHg>n*t50&9|e+Hv1UnQQs-u)WWmIdiXH=z}G*F8>+e?ahAFEO^G*KvQKBKC`#` zUnFt)uE((G(n85MEy7CA-u-d)6aSGJRfF7(oxf!_eiHJoqVp7EALqT(jjI0W;9r~% z*06&5Eeu`My#q^jX)2glv==DP-1um&AF2ei(ld`oD(*qTy~F&d+{he@ei;uQ7Cb=0 zP}g(m(@T^5EA%GZ_9RhsLYb8?6v4j}GDz^Tfp0R2`$f z79`{E){DK5nwsshW!mCTo;%<4#zg04i8pWdz*H-9u$^}apWe^A%}xHwRW|>K{L>7 zu{M`n5>eFjV83vm-N?T+b1(MG*O*fGdgpYVqZMk!(e!sFkSF-sr}=1hC(ihy6=Tmq zhok)WGBJD(jGUT7G~ZO{^-fHWh0ZUzGa$ZTjboeIM8Tq6X)4+ZZV`u zjTD5h`yIwAb%nB{pB5PBws=>7=9{`5>UQ$TK5`BBlC9pixq6~gJ(ey#dts^3`wi`M z{%}myxt(QcYmM21_qlWDR{TJ~cM{|^aON44;AwZLyfoR>u$x;2d^{WTe(CgNOI=!z z$E{TLQkuHEyT2pPS^+CtY2|L!ZQdRASB@j(hrN~3QjNEzT=$GzXyxkOdEqVtOY0{k8_UOLJfEE3T16%7awk`_iksVGL(;Pi z+SQ%(Ba=#f0Wj1B9P%DtUw4@UH z?s#M4x8yJPuz%jv>5<&-i+3EvFsn&DN}W{hD>0jw!Igd^)?HF)f9>WIGJ3ITS6_n( z2m0)V0G7&?sg6md!wW=X3+{)S)iT5^X5X3lnd>JD`!O;)+82;!(I6{!?0!0+nnT84 zjc9C_-lhTh*2t|vK|y%n8vgqJrg^ZFu-}E|S@et>Ix#OU9}5|6Hh3Gwy-SXB^q_?e z(8d-?98*_5+_Z6H)II-!EpAVJUQT91+&-$<14ep>%^iG_IJlRNp;kZ)nVYJ?as5T9 z5r4GE;=*9LG_eud11;D4c3I|fFo9q=Y_p%{LbbR8U~fVI8(?@OAYWx76xQ zW!IA&2;h-BN^=E13-&MQD*JfFQd_S;Dev~tZQDQ>2-<%6JgTsmuSR(JGlPa2Fx~eTZ1U8dOSlZ*p;1qbrK0j1?s`G?#nn|G zwE&3jx_&&o_H4RSTza;3J6)mq%?)cuP_ic>Nlh$*$$W>-WD?472@o&czXiN-?_c5H zzik8YOR|rDo7jBh{r9zzI8KL{(fz=I0}?@~kurP@xU$?G3xJ+_C>8)w3OQTwAT0uBH|p--MMZpzqPwEW<1=Xnd#o&xzi?SET+`tl7n3! zrL-CnisWG$T1Kv#*_-Nh@Q?chj>DCa#=iHB8$Elre;-`0RMMYu#-u-vdT9ZZ3{q>C zaJ8iYk*LR)Dc${X$))OjALnv)FJ{jZ=n38D9;|2N_V{`8jw|-Cb4^#QxPa_#RL4%8 z?9s-TV(qM~9D|qAfV_g@;=`Z4e3R>49n?J1x!(4}LA(Fl_4VbW5l6j0)t?daHA6Qy z14@>hPcr20q?zK&qw?N@+)Ao3d76s$ZsSf(u&%YC(UXS- zGx#QC-{aXn(Wx)UbdvZXn!)qWPehAt(8V&LEItJTr*{T}u@$9o^ijNLB^-Q5PmdU> zyqChGx6z@|Tbg7y+I5|AZsHh6N(SmTYFXZvFndeqW@IvbVW=M?Pkn$%TIW^P zK61q9jBAnCp|Te-8r4gZS@^Y0On!Zii)6PAz%DBMlBgF`OPKz4dq%VJcWE8p)Kv@F zd1HZx=TQ7Nl#Y&^ItOpWj>A?>tW@3}R$(}Q*R1V_4C?tFj5M~xQ7dG)#z&kAphZpg zTaDKan$*8Y!S7H9G#=FA_I;hU%6r-U4ZaNDvzEhyAKKaUr&MLoTSgrT2(X7bv$i-7 zpvyZvJRF3ba&Su2CnK_YU&HR?A0#5W#ZGJXy4<79Mnu=#u>5iD3|vIiF(|HONL&ix zs&7zT{U#NM zlt~|V`v(QwSLZ_5JXbq5)FHLwM`yG7U8gpKrvExWzbCFsdl6OLCZ@0KxA22wOaBeG zK}+8Hp9=H5y83g(H;Z>jV8|Iyn;*C}s6{B18h6BFt4=-}2efT)a_jKVtV*U`J5|-* zl5s3v9QNQ&8|7J1i}tR_3H+R)AnDo9<=0y|NnO2#M)&TCh38c9mFTKK5i!c)YW@+5 zwsA0a--31P=Pb0hzeBbe`t65`U4&s*3a27@`60i&hc}-}8>^+F6ob-583WCK>1JmT zP#z9DCagKu_ zU4B5*uEK8R$|%Jim{$e<3r)M;1^Ec(Ua*A&{blD;e^n8j7C6i^oo+yp*^4h&3QSUL z^(QCU^i)fle9+;`{$E|C(%MxPwSiLvx*6Xs||BZkD)-u@p^za>r^_)XqR5)~QuQzn)+p7&T z!4Ykq&Z0nY!d!h$!FKP58B2|>SAV)z_w zIHb4B2tKT+(&_z{Kg?3gs^6FFvM*`x>`iHEHMzMiE-nwM8~cFMS%w`X%eSZ6(?6I~ zKBshDMEQeR`Gpf6hD{$!su%1$PlpAl98>}8>m>P_e*JONr%fw=csaSXeb+trlbmM$ zmkSW)=szx@_6FmL#fKM190m|H1;TW>R4gvgiai7hQ(A3u^XOj=iW!^vxwehn2E&l3 z3fDHIuHXDofB&V}gXW@m(nxAUrK2}o#@N(okwWmJJ-N%XI}9E0u4>(vybUWdeq*Lp z$V0rTd^p5KO`i3SZsL$RpF>LPUrWFE2?f%2vb54M{?KV9v#T&+XUB4Z@Vu4(%r)bTmryq+VN#x0hRMLTHN;0 ziH%))`F!=H{KA)uQ|C~tCSj_&@Fz6Ru-MJr3N~$uEgzlk^4aRX`yf^YFpavQ9R)PN zf4!F>CtL?6pbRPX(RSX^?vVbkK)uy~;lG0y1&r>y zS+ksC+V%gsqqla}oAd|u2j1UxIB4W-pTEPF_upa5mayeNIdjgk>%N~Y4lKl1ZiG~+ z#l>d^&CQudu9#go=@TkM9}Ckqx#(*y-~t>}e5W^SqDachnzC%qrrR~-Z<(Knc0LxD zRhB$6K03B$vGvHA(`s!fRihYI+~#sSJ7})+WW}2sFWgJtZf)7{$jiL`bj|a(q~1N2 z@9V}^SU}ru$NEd}2>!K(d-OK?YSXBww+HRVHhHe*aVIYHDjnY8>Uo2ve}w+2Po_z@ zmkTsgsq6!MR87T6lHx3Yv_dJBC_cj@aFLU8K^mk+; zz2FGT>ff2#bx%lQQ1O^yy)w?d7vkx}oY<|Q?DW)g%gY}F>a3V}@v?LN(3v4ewVk7L z>o%;z81~50ZI3_P(7OMQeo*SugDX}|%W#_1zEPcf&pyzF$S5>e9QdAXe0tD`-?`x_ zT$qSts?X!XbkA+=TUekC$inA zx{mI!YRf~OM>`x`ks-Cw=M|jymU)#=%}Nt}vQ+YewJRZ=yq|Q=b#zAsrk2^)j^sOg z!aA%>wJ{@82%6MNr*8`l?eYpzww;F$AAV8&Q$$C{qgm{=)oElG?G)SsN6*EoG_Iqy zXwI=N*m2TWQ;osbA;OhGCc71Tka&(=_ypCLCVf!3-eGDt{j(Q0;LF<8YE|b(W^{G1 z-gr(oEuWAvRweVri-k4OizY9Ns|;B&Wl`u^2kYLyXi`pbxO&2=rCoWa#2-&E%sW~= zwrbJ(4Tpc8@Co}kk1^V%dZKsVR757(n=?w59bR!fvE#ct_y3L(v(9lpnNpmfD6^(b zIIsUPL|IeU2QT^LHN$_MKgF8rMD5bpW$(GcLBQ@+2aTKCq;9P?E1PJKeA+jC{eHcw z)&8aVe3363Jo8)iWOF?5|MP4Y+fVBX0zaIQ6)4nkD-OS0YVHvd99;B6d2585pF?c? z{gQ(p3MSjsJn#5B13J96iSa~__%PSTqeTc5yL3K}(r$-ISy3!krRrR-{6_^#b16@b z6kHly{dAx%8Ke0lmuXyrbv>!UZ_P8fs6FTZKKTo*TfZA&=TtQ3-R8K3iE6j(o~7K6 zG@gExNh<4Mj#)hW)wg*CMlewc32Oytntzmj zQz#I*?i%38PYdCn)P57p>-JVRF!2<6Y}taZ>eJwup5j6s*9NXc2OfmO)f25RB@G)4|hTHqL>%uo}B_w zOR@6PIwQX~9S;YcRhj;*dS1SMJ-S8+a@!AIb3WT~Fq$WBH|gOq!sm@uSqkE~A>kp% z&cFbteSAF)`{4Qt@x=(L)M;nueun~4*v4yf9KMDV66>WInSD5{nf^GW4HIQ9vVj8G z$od6Xorz}L^VKg_)fbBeJ>ibj?7m*MWBco>s_)B+CK+whZKG;=-r;<2t*srBI@~&H z3Ag8w-H^!SZQCMMN1spb7kTSZ;PF83{ACGk6Y7OFXfW>ah^)p({m%dSQsvR+XP*la z8?XA5ekA7GQRl1?-_kp&wd_}36ZF~gTwnNy(hEf8R+}Z<{04H8Co&o-OrmPKU_wHf zCme&*Gs91RwI-&Z>$pE_%#5m(N_#2vlO3Re!2TcgYPC)^W79@*KFp7%J>Ee6TIO!5 zVluzJ?&JQB%I^m%Ox_H^^00%pO`I{NJY+bbm(DV!I}U%sxB2y6^UMfn_d?R(TAVA>C#kIQgm=PQNRLAgxgjEeL^()x+>*cUlolq ztD0n6wHgA@2AUaTX1Rpd*Kv%BtX@)ee?A?15{LT0u~O=OtjNg7VBBk{Zy(#F#!22c zmeYbb^WjbMy!z(d{^-=;)o&$%Xe8_&V_bjw_UpJ&c6|t~iS$Et-w*K8s=jk8;nYOG zz>*Gl8FWZ1oM86kB+z?Dy%lwYmqTu(n>qmh3ddUy8`@rGc%j<#$QTGHn8yA+=!~RR%aq_QEJ^M$zfB-oxe_Gha61`L8!81 zxAT}GOfRkZ2xm*-i4jEjr}-Z$BD7`DmNc#@J!uFfGWL%GPPh!uo;_12z@1F99=x6B zw0yiipvu}iY?f)n6615uN{c>rMB(|G9-ZtUu!_@{`kcBEgU*yzaXW@`|ZoIY9 zQ6w=U#D^35-s33TEO)z}!yfqB%lzR#DSgaMf$VK{TXzljkOI*`u<{E0BUf5eJsbkJxUGEQ> zo~zBk;jEW0ZR}!bP%l`x&|zZxhi%Na@doJQ46s;0GGzsaEN7Fr1* z>mC9fT=etKq5Ov?i*t9}s(Dp@nM87S(J~rxO05f*85(+O3@B`sn6o*s^l;MG&)ZIS zPKwG-{&c2jx)&=`S2=;tdAIS6F5Qzmj@t3Pu@@+Q>cLt&6PksNO4q-8FgA9$6>KJg zjj4@!b$c#kv+9;!?R5^2+l&jI#@NGoZ-Xd3n?Arta zsvLas3ZNd*_{-Rf^6?iVvX;R{7h)#tQgoiR0XL0($NF`8U6l=y=YGE)?oD#XJgaq0-@GshZ$(qIt6IR57>y5;VbY26 z5*k`ZJR?|Mc9pXHfJIi^5+`VQx8PyNQB^^a-$z=x7r)=scH!_-8Yy+VIa(h1 z6`-XObwc;iqR6SayKJ9!)G25&>b3UOXDRJJ8ah4LppRi}Q=UCftnK)XyDxbw+bLhP zx!`nlP5*kG^7?<(3yO^L+rzXy&D4^a>6U>8s{(sGZa=BDSM!6c;+m@z_%nK zt*m$yBoYviEmI6CWnPZORc92+jkx<0wI6LadR35nfXeXyV(UG?x$fKd@i$45$}F^y ztWZkPxFtkZAwo-KWF$qJRv8hBjErP!CnHiJg+fY*LRLgWGPB}$UOnUc9LN9vJ&xyl zKgazPpU?aK8rOAR=Yap2%%{u(sn*QL0KSvn@77#+EzES`=NXcg5IwKNXN`N)dA#7k zwT2^i?&-{N|E|NuwQgVFvEHP*neOQpBYQH4DoC~xw~R01H2#bMp0djqE{gCa0Rx~| zWiX5ieKSWj(ZmVY5L&4 zQsJ9dmO0icyfFf{b)hQT+B-gPeo2pRx#l5#d$3{ zuNodGh-k_hzS?DOm#I+F<{iQBnXPE4=OD6Wwl3S4CmCR(&`-vF{^7Cfo${XFV4Or0 zjCOwh?2R*=2#w%E%iAA|NUD%Lt)u&#H+SSD`}cmg-F*__J~D+SW=&w~FkntT z2f2Womp3Up2zH)RaT|6+1@%@mVQAbIIlwnG^s?C2QeiAcBIxhg z1+<-yiiNYagf_Tgo^3;Y(>aCOE;u={gt`ZLJKw4x-1&A_>aezevk%7=_c z;wne+&^cURRCh`W`Elx!;b#>Pz&-#3)7-b9kZV0iR3WzJL5$TlWXQ{nh7Y_+v8VvI?_I^12D2S^AoI zhv!e&a0~0U9uxxQrFx7{Gl*5^qNi!K<8i|sAHMhp2==imw6ADrerfiv;|+}LR(wVD z-3U}QF}QM#J629JDD_vwlMS5SFfQ+wc}eP{kgx+%o1wwG`aaYMir0;J3sGdMU-`K>wq7 z5r5cBrd?G)_}q?%ov0O)2G9B~<2jO)1*%s^M~AKKTX&a1%j|nkAkYx3?BWE6g`EML zKCZzzro$bW($2TpU^@LZL3kK$um^-Hj$6jJbM#PZqA;A!>~e2k2B`%@Nxk`2)j2Il z@7**#B&uCDMQVr*`VVxl*8;G zyF5atj{u#vlZmd&*!>o!W0uSnpm82&l- zLIN9+(XoGaeNvagQAiaX26VotNLn$SIAftJ7D_f$4ClNrweBh@*iUqOURtv066{Tc z5hpd9X~i@oWMC0GATqYY$oJtBJ<2q~P}XE*Z_wI#$?0~_{~ouhVxbB6+$ertLhGMh za8i4-tVMs}MbVdv>SH#k=SW|VL~8WLHBoGA3>ijX9?l~mux!3r=h!p6DaD^Mg9>Ux zy%=%KNQkpQI>hSKA|uOR6+Zhp7Sv@O+D;D`-Gy0}O>nt0ZvY!`-b+j{vYE9-_1zqD9%!z>VjQXo!MGBIsLEK zIJg(n(tqr6#K+Ki;>ndG$$`T1rQq}58A`gb)}Lnu_tMFv*`;V*`2r}Og~S%%ruG7x zI#qs8D*W9W=dP?eq{!Z))BQiEddw`U1&k)%RqJV+P2-sr$uT%}^y5AP2^*YoBDWW| zm_}holcE4L6`lF6oLTnoWj4Bv7&w`mpn{(r6%{3d;}(=-9TFi+e_Hh+#0G?P2^gr1(9zvCIbNCdT902X4=DbEvd<l=ksH;bKLe`pkKrCas+_2Ca|aK$0ubR~oy!CjXG6C{7OP)s7&?-bX~w05VwQ^pI1v#t0Y zGU@R!Od*s^>Qu#6z3h*XHGmFPH@63KlW`clv3OyhwFO18$(VuaIatA;{;L2-7u1Hy z$Ct1U&K($QBLfmzIL)uF{v2Ri7(BMVFX$+%X;I^oF~0xc`yzDM2M!)Q4^yz)`ux*4 zS#?O+1tdQ^vL?j8Q+Lu-p(Dy>Ys+0lI7|G?FKTD!GTxbmfwNA^|8iP#YUrB)CA16+ zQ=mOw?Wx^T##7)|h~Ve~nT@*I&QXxHQfDi&7wU2NJve|pi1WxNICwVcafK=TlYNi7g9)KF#6RT4Z|=3=YN%KjY5(HURVw z_RBH0Re^xJQaNz{k^$ za%Aj3OG8X0gZj3xxN5zD(U+jo*4;DrE?CR{FWhFizRS7x{vw_8n|3w)r>6h23BZFd zq+=LO-{=qS#KD<}@y*1})4uZ^oHS09=!o0rSE1dk+^Q1y zq=2w8a_H$VWF_(6$U2@LCGS|#^wU|I|F%JHbeM=Ht!ee z*Mm4+Il~GkCfvwg6$TFm(Z%h(y>lTqLP;g%9!Bp7%0E?@7YQpJ2|_U8y-nK@ugi|h z2f~sHp|IzraTUrK4m{Xd&o)_Ew-+uMB&jqCt`~5f##PsOl23-NXtMYN zVn&vH&bx0oJ3hc&p6bNn2wNiH?47GChu$e+qN1V>LR2$(d#ObONU;RE`XT?U5|E<@ zhy{!5O`Ze2C7EARA}8S2@JRT63W2Ix?6hq3m__@KdMwh8g@*du<{0dEA!ijpQc38b zbjHWAyM7_U2_{i<$#xGvGuuN&flM3#gi)?<>K_iND6=6bfpGNr;rwmN0K!g|I#?y7 zKL|w%`O!)I25xTdgy8}9rjrp7`8-M#pa)-DIxqnUhHsO{Gr_L%0pYwAP@S`LOl&M! zqTs48!rU+8^nlIu4I>D>AlDE4`yHcx`6z>Rjs?|!qmKjpfK&s(k7Z`JQXvm6w-7`H z5zV`~;tc9d>8*nGOg^4?(57P&W#ps*1~7Qaq&CH4fB$$6(r@5yIWlrn-vh;e5kAN} zka?hin#O>S48e_OezSiQOo$+GJ_;fPM$t2fjrL0tupBBXvU40Ll-6Zsom{kp-u16K zHv|Wec@R8w4nlLsTucit>2`=&d18rP(0X#31y80A1s;NJO;X=JL}f=ls4zkELJq{v zej(uux3Vi2*Qz|0C>E?ytn3RH^>Z4w=tRv+paM8nbU565y8uaeU@2v|bZyJqTlz@l z0mK^kK_*`>$>IZ+Vpww&E}K!&0&a18Z%)1+nO+^m=zVOMdR4w5?sk($VJ^s_&zOL*>i!`+&sjWajy4#(JCxo%l-H4giM(eBkAWPYK5my>XX;# zD}dfD0jt>ybJ_AdM_3f$uU`Ph;_Cpux(HSnt~+&O3!2Q|q~3tdO3wA>oL;`Tw1;^L$EqeeXv^q~)m|8`*zwB)K6d z42qNIhvMDSvfQSobLF!e9R~PZjRWH=Y-9Q7&)34?MX8xJ;M`EqRrvMm+o1HYdJTcn zMWzZczDXqb>dP4WbiA^~SGI~%BpgWaiJ+4`hBM0_)GoDX{E z#)u0Fg4L|5SO`g2k2`SQ>PN5gg`A?Ssp%TxnYaE8OLGYkHU)QWkB7$_gulT!Ox#!zu3IsUny`2nStTh zCNmkt;YC39tcS^(BGQ?WnRgpkc3*+itIASO*lID?k zNVUj)KZAfd*Y2uwOciRvjyI|)Hys6Kbf~qtQ1?^1c;o*;0(5+}e z@RLT9)_M|rA=ldC^FtNQy)B(283(%0%?P7Hj$7yAckm#M2-V@>BbE8^VJc3S8dMH5 z8O##3eokP<69#~nB>}BZHJDB}A^5}UsJLo)$PcFIpdt ze|8S4tXUI*Q*$OWIyPp6sWruhf+8vmN%$T642FG z;f5)zs0aj^zZ)|K%8z8aak3=UMVR$0JN~rJ=BaTB_T?=weDS5PuGkLvCk^Z89SXVA z(Gcb=$NQ6E5y2Q!M@Q$%6F-AEat?D+Dum#k;#1w>oHo&i%4iIJ1T&fF*w`Idc6MM6 zQ(_?0X-kkv#mB&Wj1T4^QhO{K#|&*eA+gws(@un;{6pFt*x8Y^m~jj%qB+28TZZE5 z;-yPp-UbE-FJma7RBqSiP)so>tn$?E@7>*7;l59s>l-Fv7^Fivhnz?{NKnU7-YdZh zNAJ<=#z2%M0nPk7OlqVR6~l8sVhn=uwKil`;!H<-yBaDFXB?V81K!mu9{8aWCFqL& z#ulS_HZLGlcKA`pF{(lf!|8kB0_xg04hAuGA+X=$x2m$a+vTL)uV1wpsTC`>w?#=T*}K5! z(p1CizVIQ@#DeIxlS|$e7EItMsEx#y5@s=2FL6`Nq>$g?u4yTh(?j15X=s33CdP0& znm?M0?lAz(hb{K5BAnAaRICpi*bMS{*oN)?lRP}ysYb#uU);19YxEMGO!UktAP$-q z%6Q}#5ZD5GgeU`hD_H=!)fXNv>IF$!o3X{IZ(ngNBN7Xv{LlT{g`Bt4qaR-|U2eUNDeE zH99wu{MbJ<)Y&D7(r>4Xy5XSY-obNQPi?%T+|z(lZsf5&m?1b6FRQ7mLl|+aqqS8P zTA(yQH3gNV7CSmSF@sGk3HN9inqMrv8r)jah!|Tk3lStbJ9qBv`0?Xz#qHzNMgZWUdkTV8jy7_|06ppeU(!imT5B^aIOFILg12A3U4)(f6%>&a91MtD=hhbI zr6DGa-085Q?*{0h^S)?U*{Siv_z9rSXIqu={!Q%_R`kD`j8hDOvaZKKcpj13TkC~y$$IM)9V{{`^)+HypFHdxM zQOf;WlvgrR%Ie--@z>L{hpYo%%;5WW*?#r56W{BCaRIJTaXO&9;jZkPoqJ9sK02-w z)c4Wg=;#LYA=&7{py6IZ8ye@ZEe-=k80ntR+n~#Kr3>%J7&_r*5mph9c7d$VCo4(~ ziNnjQg-U}C`86SHvSsl|Q_raoBXc6_P z#NT9gbdDoF<7vy}BRo11Vee4VKrg3r|0hw1l~x|(y9;!0*H1TB$N5W^yq$52#Q;sD zl(KS^QZw>tF$L1XFw!KLk)}f$_9(Z$?e9iZm@6a z3#@ITEId2>kTZ?;jx&0JLKvV2>ij8(--N^d|8g{OU*ijyDotDH~G@kpI*-iasLhV zNU=uWqmAq|Nim~X4)K)x#fMjjetsCDA(C`HM_9#8`C~&v`9GdGe<0L4@9&T7=Mk?W zT)zDGMKvUmPm0lgQ0`uAXUY!ub;c=^hT~UiFajjwY7`XOG7&QQ1^9VlN#K`IRx%p4 z?QaU4Gd?Rh6U5lTBXCN?ljCRzw6QO}*< z4keTUxR?q&JnkdE&Y@`1@#<%DQ223O&|ROe^oMtV`3y_}Qa}`t8q~&8-i3$2B=~Sh`>l0#K6-E?CdAb?YKdeKs+f2cNJmlhK8ijh28rUyDULHrf?0ji^HZN&R7Ss0*LF zVmh)A$~Z-YA^DCWgC-4iBrvSYiYj4df3!{ATe*4P${cxe0w(t!Ea|_LS7E(QE_4kv zQL~)65a_}U5~3zfg(D9QdPrU1cqZf5ZcFvxNso=4JSd)F`~3p{P*a{bZI@zYqz1e# z6gL}5$LTf*qx`Sp^Dl&)+I-;SU_fDa`z)TBS<|)%WPRZl_O9mFt@T57unRB)4q55$ zQIt8S3%BhR3o%=}yG3x87Q*7F1jmx@cyrR#H5FTC2mT$8fOw&j7F0No`;vd`6DnhW|5^!Fo|yx>%EkUKZmY%SS!u_t z7H-Jp&BV;+*pfL42Ls0LNAL(u?NPlt^r+peP^7wL$+GH=+cGsodXDRKj~wR6)@Qqd zcIyf%W$=7Bu^yhD{XGXR24sSQ$`=#>F2=c$i9F%YLDNF~Tht=tQ3Jf_RYY6P8YEU4 zoQ@-`7w=U>420h0hYPheh@dcadX6L9o3)VDhi}Z^(H^3cO5{m05Q2Fo$>|Q9#lrEs zc5Pu?ujkk5WssusfkqbIxUIpAAU$9<2kh-R5oeLt^Of)>GPVOaJaO{;rY|UA$z&h9 z3<)Y+sC|4_;i-pg6`!bcXy`}!HcrN5#4kGUZee)_Ao>`ZXHvS~aB%KNw<`)?6^vRC z&iGjEEMz3G{M50G%?IdA&Ng}y>ZoJj;dDB#lP3(@ct3Vs6fBOhXCvKW9q z?AHq*4@>>7c>P)f#wIuuXTiD?)+M*!yIex=B#Iddln^%|Ox{!Y`PG{@esEM3=M4}M zs;Q~rL4YJSKD1taEe3M(sNMQ7j{rN8GPz&`ab<&iSQ)O*8L7j_xEEDW;6eN(Jmsr) z`@tZi6~I3{1J%&I1|5lY!B`%UBqh<2IVybdr$)sbPmlI5!^ntCUGpZ7w>_Vp?bt}k z49@XVGOy9jAS;6Yx9PigMB!X$#RC=*Gfv;Pw`(o#p!UWr@GPBw+k>bD33(v8QVI-| zNf*`JJ2UlWse>cFPbp?vA=j_Z!QvqeNFpR^X{B#heY?YlHhrtM_PHldp6JB0N_Afb zrRJQm44EZf92z)_=`kIZV95AEO-8Y&C10-E96Ce*7p|EzzboMVx6yNQA*RCg^r}6K z!yR9X?zGr(L1BEq*C|(sxq@i;jAQ_UEnt$+n(?X1|Eq4KM(t?#V-YL88XR7nq6I?g zdjM`x{3+&P7-Z84Begr{Zi7p4bsqfq1nj9&ohl;N2IvkV_Vrep_&ihq5{D#7W3)rB>6bER*seXNYr&NBpfV}b?C8JMnW+2nj5@#I>4_N{?)Bwf)obQU$%B9GX?*wCl>;BvaPKX9 z^@?F&EdsJ$QDx<92>1~~$AxST9|R;2A4!(SKXEly9$5rEfTM|_}p|Dus}5=@h+GkQtd!n5Tr8DYPJ90c>ki$K*j2TbQ;Pd>i?wThs3(f*Z! zT$+Xnl?Mgz-vu{JMMOPZ8=x9g?Ti1<_4)khPA+zDL$90w)zn_sZJMD2c-G{S={GOA zmK+Qd@w@%z(O>n#rX~+c;fhZ1S3!PbyfD-dcxdJfl2ZbJYqa|XrJ1NN41L8* z5I_9yC;0mh9VuCxO8PwbjjIme*T*5}VKXl8*>Zj&&4r#$wmkf{Fjs7h&orf;mc^8CEr@W zNU@>*tbSHa&yNKF<#WI)WZYwXZdgHpSeJQpDYJWv%D~9sL+1Q^ReHBKCOMdDw+#_;S`Q` zXBU^YZ{IG$*IICw?EkL7e?3_Gz{$o}LPJ>?%;GK}dpI_B0o~xRQX$7YU>$@LH)6BV zYPEa;n>>JPARDdCmXd*r1&8+rY`58Rod2`B|LcM zps<;--+FTCr2!CNG{1SNTd7L;%N3yz>vO3*SD|u2ww(}8b~^Iwx}Yjph$lhu)i9#m z?ZYcP&+^n894{1~fzC`FOM14LcZN}e<7El(UCu$3OUC$kjehek6pg%1x-7q{@r_ia zp!ZaOj8|7Vy2%bEV;Z=;R+58_j}oImm!zs z7mofUoHJMlO4-WJ;fjCo0gHeTa-&GV;$EOP$F*SAfcAf$WKjE3C8ha)g$dj|I7s$e zT28~lPl3%PN-;@&i7SW=cAm=Q0;uH5ZDjSL!G`o7Rj-;{+T2>K@<{6qwoyxG4>aCz#d zVO#Rm)Iey-2rreE^9cOc)?K zKuidfb2yvS(KgXyra;rU4Y_8WRnsjmg@*em1pUtr399yrPMp5qUme&he(r2J&CtJL z3>PjWW698=^BO@{^C%()7%!KEH>i;q7vOBLUnvw6QGMj>-(@2efF;VtpdPh9xl9M1 z#-Jb&n}e*!FzrnJxx;45y2}SV1ieKse^`&fr$3;2%9p@fxd2p`NdWMi^hw>qEU5Uw z%JJQq2gZ_@$gVB@&!Y^NH4`(Crjdc)yu_`2fBjo?aq|dzp}b2(pU)nV2s|I2lnI-y zSMJn#(sSVN5hZ?*YcgytO#XRLVrrr)0ihsce-Y~h!uu3|`P z)bN3o&M$4%Qr5sw!Fe{Gx@+}32fa&5|GPD=OdnVLcSZ2`P~OvbY?pjg6|_h7R&^oIb|(@!yfnp zBIq$NtJs2@Spn8<;8ke${DUjw0a6!9nuFrvJhWPM+~G5ZaK;GV$7g z=*z?p;T4zSi-m-QFdz?twUq?Gyt}1v6UG=FBNJa+yIWQ0^ z0lkl?aZ%CHiI{Uot#`fsTsd{-wkho6>3Anp$fNix1%g3bR|+zux(~A~#Y+yv(je{` zx=nEjiRZ6hb726bP6odi^rsFRG-j9vjZL0<`ns%)e9=9o{+tA}dlQ*|W5lcgyaw)K z{ax0F4p{;ZqSt&~#r-0Dl`^ClrX0gLTl3@3dHWv)V}dGGFsRf}L4b!*b=Q0~ z+>7_zIoo|F@Nqx54M-{{+AS4J7!LD*97X#RlK0P}Y7P3Pi#{Thh@?*tB{2-u%b27w zWY$ap-ZD+FQEGGeOz^w;ze-bkT)~NNZzO^WWsrpEXt+iH*Nd4QBwebPbucAG|ArxMiR7V zl!b%DLRLP$l9Q*5D_P!)ewhdvcu!PQv`P5l!oZw0un7@seB)r~W`W1wuC9VUsay5^Vu7Xh z0SI+)l$^scjcqAx^7=U-$JiPJum-z zecOWgYzOR);P{Jyfyr>*t^s?*4n1%-_)9w5x8Fc=_$o!*Ys9j^W!0n5v?1pF@srvg@0JP0BhaB_0e2!xeb)X5-SEZ;MLW}nRqXTGY225JjQ94V}- zOgAnRw~xR#-p#jgD_WA3n=6SQ3*v?dLt_py8r&!Ci-om};VeW{2Oo0=?*;>^8W2b{ znOC*7;W(esLpSWJ`GVeXL#%*qJ32ulL0r?NOaPMDM7 zeytf<2m*o#2AaR%K*qzwY&Z!>3y*A4h{o|4Er7JHfxy_RQ!DfV>BIuv;b8FN4WN9T zEwsu9ZLS`wD>g5Jx63OkcAO3drSw-n4W)s5y?Xa9lrg~2TpAM<9I={=)XJ3xlB17u z&{D|aKS899hAHZ$OC6n^TLAXCoh3-!YE^W(!`D0W0dPVkw+evgLYmHDV;f@W_#JY`m^;P%GbB1vzgxY#HC0v1zX^R{mkz{!#T@WfVj1I`9k zRgA~GJa^cf_1PD;^+VR<$B&J`D)RT2l92Gj!BtwH4ss2C_rCPrPfug}J>!+f_34wltMFh}U|KMQ9_z^rlJA6-_^w29;)L>#S zj$(k8BWQFm3{CG2Tv5>1Eisp-mr`duZgWgyZo6Gcc zfx%wmmoIbNQFqX9KzCxC=WM<14+``&+~T*NMuwcIG1VgO43_xQZ2+MA9P2^g_Zo8HE#{b}jrISyi#9XfAV}woU)<-;$tKValY4 zVOIH@H+6aPoMBh5YB8^n7yR9Y_87zOCMr6Xda1qtb9kjCXG?t6W<2u_$5=4Bn@-ik zQZKdO>Fsq1>x*NS0QimX9mf#P7>48?8(CBVJYs_HBNnk)XzZKm0l?$xcrr^FI?{0K z+`tX81FSSUPEgO=0`0NyGWEN@iBBNzC->Jw;}d85_d zKKtNcE+A%_7pHFkzk_pN6!cS>K_&I#t^R|(rjN(uVyvQ8S#w6m#PBk-kgx<*3R-)5 z^ig~y0b}E1d`A`>dimnTi#5#^`28qG_&rPyd6x8Bl*I7$;+qtnY+K8y;*WN{g^BZu z^tnJ-pSFPZCu^RRabJa|VNdUw`i5lq+z zxG+%BiZXOXJ?w-n>So3k)E?);^xe6ayw0-`@>9MDTy(bwZ;Fb}!6dWe()@iv5FX1F z3XY)6tO40*v?B%g7^c1;wPB(|RHhLJT$EK%Jd9}ffI8)4d|_b>Fa3206Lg5Q1_e!L zqoSN#F#b&GifnSN-D8Q1RXlX-h}WSu-wyl%qD`}-aO|mZTl`S*^~xB5FNr& zt5=6j?Tyt)0CGY{Ki2!cLVO-AR1aO=i{M&7WB~eIjvq693t!^VkCddN>XO-O%w4?= z`@nJrO9J|&+j1|LS&og4mi@W^dYB_Wt?E$c`RgbomtmiSotq4l!2pwe9)avEsAP5W zD=I3IQQzdRPf zJ|UKb3&eoVeNdfYlO}UgR#Nf;@hq8}c$=K=7U*7HYY>E$GkxF-OR1L5vrKWN-T;^u&V<0QtU6(1LFN_VMXI{w~F2U4`(8f9LM|Ro?~>oiG@P#5X(Qd1FIXc4DrBMmmm5*v^icw z1nC&8s+h-jdGg)1_(rV=78+h0eKRPfE?&MYndI4%gAoTy0(@Id+Jt<>S!YHsaqi!> zdv^^Ok=~YNd5q>+uXM;&~7IJ+MpT`Us-za7KVJ^n)5fXB*2YE zDxyg6%iArtHjFhCvJ(+g=DB8ip(#ximo zhm%D{9ndH~T_PD))(y}n0jCeP#RD_t`!{qvAwMibZAGqfUAoRBuz}6)Qjky+>V}?u z`c7mnw9SS%>%U?tcKvC_^TyJT9f4_%g76VV|BPA=T?&f`Bwy`O@S4Bt7(Jk^++ zDAw&OQ11s~*1ZSHHVHrYZr=p{%enc+b5s=oWEY)2d$uB9;I;kpES--lK?7P|cyEc2ko3tP;MH2$*=ge?&&{>nQ{ZO)70Re^qW56De4h6l z5l@lVYM8g94$%0BRl?<#Gd#EFYorYK$ciQ5ncUIS;Jw0uk=Pm>&PGp`?r2lxYVU5RVwQR780Bm5>ls+y)az=HbzQ_CD?#aPguT{)W2i`T>P& zlOQ)sJ$=773WyV)$8;>fd0Z(T z_2&SK8OmM|Zf{nfJ$hoh>615dI}z_<+9N*=wz1%CB8MukWhf(1W6M$B|SaG=~oP(%sZKZQaU@1BR&w+#(qhplZ5gT4wVs@f zsm}&fkFPh^ z3aFK24N!>0B*Wk9d|a{d`yDu|fG}Qzgm0-*r0_-6MH)zuFMlJhdHK_TC7{EPf5CG)~rzR^clLX(J z`+4PY--58FGymW$7i?5kRk)hkPm^j$lIB5MZ1{D7?ZQ1PZE)*47yibv@mG|fSpFKVg~^gCk0k*z$GA6m_o$iW_ulTGpa#9O_EYS5%3D0PPLCDePH@hg zDVnhVq_hco-*_M{{HzkU4__{*=l^WJE*jlc>P{u)Mnh%u6)2Ee8m2(hwC|k)wCJ&W zI7yF}FT0LUPEGUtbaI$G)JG#IDg&P>$nfm@X5rPE zy2kHzIaaQCcrnTFB2p!6dkixi_#bKonQ8m@-2L4 zv*jy< z!`8c}4h^S)V%Rx<{FY~gWAL~Qr}}9P@tzs>F*8B{tUAWLTnF1qCIn}3>_R1%in9*I zx?xWFh)qGyuztMcUPwzGyn(D;@MO{&gJ3aj*(l zL{RrWJmc09c|AZCwv9%}!($Oahiw$uxZcy+c!T`C09Cv9$51)VgA4LH=Z-4#LuDEw zF5?$s0#=nua0EV$eueH$pG5>W&_nx$ver_bb`m%0&=OXzB>!z-qWxWO(}x}?E+33{ zj5~SQeAwKmC7}B)Uu3xZ7q>Hmj(*jRFa>2hHBfprdu#xcVTnRVz2dc&;&nQvk$P;P z)IRLb6SEA{(rC_JwkG~p<;?)qI{U(1S=*bk?RI#>;^v9ztqVb&mvNoWqJR#Um_F^w z4;mu6->+cGR~EhchO)A703*Nt%U@PE-je)euH$kS2f5G$OT6Z(Q;!%Y zk6%|Gf4XMKcg{=6>6PMOfWr<6m|UNzLXHKC2sFhHzMcNi4t72M&w5MRHa4Tri)x@p z08ZHk6uIt+2P)aEdU_bn`e**YyPyWh5E;@?G*zTnk}@1H#rp3s{#fZYax{M&WOG)r z^SA?^BXhP}L1nCaDX~DvObi^~2%BrNLnZSqL=Y3kUVl}_gp;8mfwegZ)0pUR!hj7) zgo>4xgWuj)^!pcB;?!ejFn`a8e%Z> zPB32BMi_fF+aJ^ZzR#iG z6gEy2AL!i}flx1ooF}Z!HJc>$Pv?OVo&O!?>*pX3OG0}9Dp!ViRGmsa&cX$i3&zUx zak(vp?;!fZmot{Q?H?RL;oXhyHKs4y7!4i5;0_+m|FV&$ayY<*nzmVttuldORCUvr zthXxO=xS+%p|NF4>T)-CYdibWZ~Gh;tlZBaj3V)594c_O|{;>QVEt z;33C#BJW5NN?`m}wKk z4zE-T*HqAv?-+z+BjfO(^ADIEVq$0Je>`-8t@;j*q>=W(6$CCHK&8IkTNEv`9|YgK zvTYM(5j`P@sqHTqibiid1sbt7jitnrT!TQ66uj2q0w)_lKc&I?>&Z0q=#LKy)~$_^ z07-3*=i7)#4yjV~1n7e_D?-+iT%{!jqh|BUWWT`~2Yv{1$zTw@5T^b!;1W+Ebm80F z_UyTq`3J~*DEO4B4ur*y_i!XZX%X?Z@jm*C!XZ402?nz=Ps3-qkZ zpWVVP!mWJ)wLV;&7h;C`ZkH#J07|LE{HGYDS{v-(Q2fzo6F7qAXPdh}AFg%S>x6{? z(Gi_JDUT^9m1*Y6j=eGo*lRYCtV|=LcgWlLpi`OvkTwFqhb)zVs1_l&62oP%1|%?U zX0dIV3VI!w7CD8vFk6Cq<-KDqin3)({hprcV}*8F6$e@yh)PBaQM9-({O1fmv{0ML zjHRjhT7Ppx-)#g+HM_sIi=Aqj`m+Reu~l`4x^AO@&?gTWqZAHe^Biqc3zs$Lg-UZX zmJ6jp#*N#^kxwV4fHh5c=qEU4&GNC{97ha5y@wSagMGfS4wFqssBe2mT_ELBT%w8ZJd!lE&5m?WRj!EcjzIxq00jsgh6 zl%zVzGUkQBlLq6oAVXMv^8kr01$3Z|QB)z!+VLChq_CETi0Q z>rW^FNFY!2)8XN%4G%#zp7z%>_h)W2O-aF%lW@EvX*a1hM)epZ9o4**wMi z<;#|BF;5G)dT%k8l`Aw7n&9<;jbnJ%OyTM8=ChbXzQ7f56pNG+K_Ts~{}~a?q-v*m!}Ef?t(NEm9S@?gKFIO#q9odDynk23}+#Xu9(5xZ z0e=Y(On9|_`_vC+Z?BZ=bzHP!cWz~+qbZxHt@VGn09H2RcGyS6v<0)vANn3?CwnRE z4!~`GsM2nX&hs98kejQ88INnEq=dvl9IoU*2957vK}MPIXoYa5+CQ;8u8*W&>N#C^ zK7L#SRxk7!L2*i5*H#v;oKkXSB30W3rQUYajce@W@BA$)U(1cJ%F?&JllfNotN!Xy z={psi*3LW2Ed9)q|HOp4x4*vKf=lOv%oNgigsHm1?8O@@vUZ#o?7zNLKEQw1M2SHe zxXFC}a;fRt;}&(kjbDPgw-n(2y|p}2%bPaQ-I8>-BQBPM?dj;@mjK0J6_d7x#}=dv z&?#z8=ig6LC%Fd505`syrA=Jfu09YrH8OH4%;R**X!bd2C(c(~F>jU32I^1s0u$!w zG%X~D1f27?2P$sk4#opCes1+Y^pkYO@9d@xdNuf3#Zhvz9Fe( z#U&8u2(l6JQO$;SunPlIdWKa*OnoR;+kk@8iNE&n2clS09@mFQ$CCRmo^Gv7e?UpJ zAXT)XN+t5ozikB%fI|}n!8SUx3n1j0{ZsJe)y@9zP`UddOcXo04J+1=c@e&4OeFKH`pI3C&dL@cXuJ6z*cL8|7SKmP&>Crjcs!P^9m z`++!-k^mzT6TxIm3X?bXO|xn+F29Q+9KACNxFyHycHh|}{$1PYI%{*sayX`T_BiF( zXirwB+d0tL|kVX&`g7>R{QNGd*-BB#>4LK zyUo>YTK>D#u5m!+u?`ZEMX)6+MokUdRA00)R3X4eJ?~ArlhG7w9w6?ufuc{2B#W(tLN9sYPY`DqG>cOg(^gt92C6ce z60$*S1921>_%_Yung%yW<)4&xzwiIEe=W*VOA*8KW z#s1;?PfoFCcAt3E9ODq8Ukf8NVAr;Y!ic z@l)FAcMT+Nys<=OuzJJ79Rp?%L1`3s9KH9>qmtA8;O;EVy-9i7h#m{Gmb>kDmubd~$*Yu{tq#iRG=_@!GVNYxECA6#T-ubL`KUE9iIjLwxt#7e^oa z*QK3#C1`xDPXrwE$QN$}NFu`&PV~sc51t|NBf7Yz(U(Nn3R*4G;9tS|%=jcQG!1f6nb^uEl9ocl|15z#Il5I1CWD1!C zi$V{W)tf=5$&jBKdFG&ovK~%w9R7{e{4IWY6Tt~yt2%s0DYF|dbSc?A~o>yNB*nzldIDuw> zfQDMu;PG$^@SB*^i0|N`#*zW?>{-VHef=67b8FY>xkRth6q+~BFFc$d-QQM+qz7_u zUsR84p+nUels|Jwk`*($#kdl5F2K{gL~75Y2SrMKK?~RMf?Y-|u6IY*Oe3l4w%@Iq z82Gosb{XW#1AqZEa~HvO9Pktrm)E{b%Y2P!7W#CIQ^BL0R+p-zl$wc?Jqwc>Sku14t(JuCFwP ze|`}@0oVP@moIDKE@EMDvAq{g$riVWat`)Vn${H4o4Y$qIz4oFaFFd++6$+jD(0It z!!4f0I=#a=AxPB$*x4{YWslJDMbj3&VCeXTXu~f1t%+*BWOR=1s1>-#>c@_lj!+=u z$xlzrehOuw9Ra*k-#Ui2hWw7i&f{+vfe`2QwX+yQDcOq_I4V)1)9FlXJJ8|lyK?{s zZN^gV19Igc_g2UH8ko#@cf_|%E==(NegZP=&8((fr{9q@&SbHfa3-u3e>6Oth10dW zIsZv!Q}uWx&uJ?V+bH${11yYegN|&#jt31y1U1yBm)cIJ<9YgI43pTT9sX)+fBPIHmqw^)}L^YYi;7bwzaWD=tLaoNg(bsF)UB@CA~S+e%Da` zit8<788>kL!GGQi^zGeb8ydM_EPaSCS-@Z@3mGwwDFl}#2vr*}7%&^3b5TV5`s3YR zC=`}gWa|6}@JMx3b3be{Y`#3-5xNz;g=4JkYj#r`6sLF=) zg+?`5D$stRNI{nTwSG;>9Uh-j6Td#SQ~Ah3+PrGc&%kW901d<_-^M5^#zNSRU9x!| ziaI2{w1T!#-e)um;yCo6$Dm{eHfGVgB9BC~KuXqOY{jajqqWGQVG&5Z7{lz`mpeY}THW*nx0l20$&?{gEdDqSE-uCO zZ9h?>5HQmWl%V5vG#^eHm=v>&4fi-4Rs9Ej=;_bu_{zbhqD!qcMpHpMKM!bvt{%ED zF*uI8Z)&t#`0qu6Q_c^VE4J)8ypFGNuXAD7N0zj>xR~P=vb(RI6}pGQ&K4=;%}OW9 znG9e(EY3Eeh4cqK!^r%Gv@R(2wht!YF319dB^FGRvOFuJ_ul^vmpIsrT!6QpR3V#t zBfbkMSfB>kvb-mDhrB&J>eN$>NL&kT-Sy0kuIAU8hXXJrrj{1@WR?)voyiUG_a_7_ z!s1+k`_#SA`TB+!5Wpf|7!-kr&59IbfnH}C1ILuP=<4H6#hh)q8>%(<(3>G+PX^2Y zGL$4u7*zIlzmzcuE5cqnirGWQo4DP*YwfhRpN==|!$^8D7{!3|_}!q1T|YNggAHt- z7dTH_TU)(QPQ(n(TS@N9F4^(rlyhIu$idIUiyz>N?;AUE#63eD$;)lz*NeHw;8j4P4X0*!N^QbR@ke`k0IVh$I=%{dgmVIj zQ3k%6KL=K_StWuq_s1Q#{^?!|YuP#1;^JU5rbu4`@jJV|he5Lf z6CWy`cZKEdn8nF?9?C(Ke7ACsjN@bk5q%o`Tv$Jy$?S;RDiNH9q{300f-RA95TQfTAB<3UB*yshxKPp-^)?>THDib7%U#+2Gm& z7=2-T%ISM`>MZi2MAz5dG=Mup@0v0X&LSU-mEKrw0KXWe2#mc=dmmPZXQ0EX-d%@Y zivxALQFDsror0sNbSd3~yuiWztTp!pU`n7h=@Zb3l49cCP~^1>%YHk-78Dw-17q8x z2o;jLgH;iY%0LTK4H-P^2p}7;z`USj^AJc$PEStcL7KiNGYM$5zfLMI$jB5a2^DN| zqt=!!+IZ(o2vA!}xn72tI9yRuIREqEIjFrZIt3aG2UCaejHayJgX`!<>K!`MqTU3-U*vhilOjcY@DTJkBgP3i{ZHj0&}t2I?w>Isy5^}-r*|+-wXeC7IVww zP9&vIW9N!OOU46+7+~C>J^5!$khCqrq@Y3HHNL{^fhzL~7Q3#`CtW&7 z0Fq3T@n@=0%8eFIjc*!-Syu|~OoW%FrThlOk>6%^Wd+p0l)4FWvK1OPXAr6m4ImQa)!}aw<$Y3aVR9sov49r1!%7|R|w$^S0&+*D8PY)ImU>a9p zpiqIQNfD2PB#i#ZdRq(`7Z@GlSOyvzI9QkAJmzEC+uB62s>0Euy#j>MiJy`QnC{k| zyi6tpK$~4jjlrbS!#!1S%G>)y_|p-T2q4s>ri*ipY`QTBG&T~IgN*eDlukiMoNoTe z5ZBXv`#xMbz@O?4R#hs!vVP)&T)}XJMdWmUM<{T#S0FcbppY~yr??0W)ZFq+G1MkE z=44vuU2OmYFx?Ak7oktv!sg~WHb#DV_-LVpZ#me+s9 z!M^?gMG-Jt3*1IKKspM?iY~+Uw#N210^IxpXG8;sSWF?gqSq+7(?8sipD1{=U zVP)pDLQ%=CM6$$lKG%sM3>st1fHw_V51Jj7s^4H zbSMGa+X+#_1c*syiN_uj2vPo^n<*iv(cU3@e?!K6iXISD7c(*hgiUuuOo|OCM?jT2 zy?LT~T1q*r46`r1xZ11;N8{7eQD@)Yeg}r`9DctZ5N;YCJPX7o>s=xaW3j##uFA^i zkdbK>)H+b%goB{qfCTHQ7S^J!;gZp$U>Qs>+35{TOB`o44C(#|k{G==CLVQx#hX+A zwD6bqm!^$NO7{X_)XU`Z-y|wTMqAOD9xj6i9=V1TCS+5*%e(IeZPZ@Ap-zPfP8;_Y z7{bUGH}Gy;TpU8(Q8))#f)@7$cccmP8gan?%wWnZ$b4up zGru*&VlOIW1^tLb`v)WLneX6?Oc&PwX>Nphn{?x6yej@Rm|>16JcVYA5AerRSkv-( zp{qE-A7Ed;c%0&ElmiJ!aScu|vHzaH>S{l%mj)7c5_?6qp`T=0h@bZ%2R0WS`M^iIf7vN-i48JnXrF?QttAELGKp}QuyD}xu)`js0 zgOaTMEG>KKvo}rw2|8-k%}@H3d6@6vG^+!Dsf1`|Foq01^75*#lvGiM$~~h(|M%eF zAU`fy80b9Tn%L3r_*Xvl@b_IEA9zlu{`bdFQKg?6!$uU0956C-16q2b}FPVx2`Ux0Vthio7mJ3q1dvwi%> z_wT9DyIxsZaE+*Tt<_|57}oJD*qghr*H7^>VE3GS*_6g-CvjSaix-` z2PGnYmx{=N6SfebG5ZAsgrlnw*f1jH1xzOl`bPhn*n_zoiKVW;(~q(j3Qgo-dO#=*fL$@DZH;nZ>lCy6rE_do*=r9MZd zszo{Rr|{Ws^8n?yR7VS&mzB}0*~E?jBaZN+kD0m%YAM{gIL}W3{h}mdcAPB^q-&1a z_87nG_S(0#vla?e=iAzW-)htO2Lu>+UP!dwKyr~Sm&OQ7An<+;?D(0%^6J!T)LeD= zex0Ty!o5Pn!YokU=z&2+4b@uo6WCrn%r^F!bbR??j*?Ohvd5GNXJ{`V89#;bjkCKR zV6e(6;w-ZI6$l(G7SV=&1HaQgTqgw^({-EoCSI6^gFA`LsIY8(?4bbT&pBR~tXcMl(s)@XeDalV?U69LKPN;vU`Km~X{6yQ4;VHVKuzCl5RVqoInScRIM zc*?(8F7t|yBRh{kcr!7x3LjqsZNzc;Drf-6s(5IX-(YnsV#kr+4*zWRm}Eu|7KlRF zP*yII%pVfi6hs-Tm@zv#%oFY0*eQh!sfepQj+%1hlRPZBP#!30YOaCuEEv~&wB*fR z*j!=m_W0@T7aqalx(~P@G3n0A%4#ph14#r~3De5!Y6;hlh(bF>?9|oM6j3YdAgjdL zAwSVT8-4REVTBRlRUku$6jB$7A+Cd^y1E*3sDhuyHADpkR}tkDa3Mk`0N78P-`G6x zZ8h_2+$Cl_1_*-inKcKuSeiSSoHNNF%9 zktpGlp8+w3vNWeDLknFr`m{<=6cPw5rSs+Bb8!F<<9RS{6uO1%KYSq!z6TNN7RUGJ z{RUsfX-;Zj4kUjLfX0Gu8slnjzhA|n>qB{Wb>iD9;->(y1GdYg z9e4mN#0=}%2<}RD!dkeZ)kjNn8^= zOP>80En13W07ygyHwaxpNN!W(DYq@{#a`r^D;w%UWI#EC{)l)@fE5OH7J{r{Tu#+g z_5Uv|fG0N;ebtC9zY^jZ!jEC;$QQ)3{k`RlBbppF^&m)0$B0IiNs6adS7WS=Y5qUB0N=v~gujIZ* zW9g`!2>gzxEnrfd-}dGch9t>x2U3VIy4_?RIdjWj`Vq82ugzuNrxD1(#P;+OlREMJ0w6asYzgTq?Vdf)$*nF;xzIM1=i?%ni-XS5Poy{CSAb|^ z+BmMWd0TCy2uH^=)@ph|;TiFumuXQ+OCxA$2sJ~tMM4ZwQ^8&qdvb-|@d;CosM>nx z^{@8d5jaqc+X*pp5XJ#e@tm~uaBiALJxlRM_jgE{NI?NoAdhc@qMC$k1mh{!?e78L z={(fgR*!`FEG3x_;Q_RN^d9^8V{c8cCWAN*A^Ya^qctQ;qyRvkz0`|3hzCpFp@Gh~ zc`y`+W|%D7eGP&~@_dy$Qp|Q2+RT5rk@w=M96zty^AAsh?4Um&$qyx8Y>75Z9m&6-qCkmP zSO`-z`1^eYEODPZLh~71%+bKDz+Sui+#74p5VKqmpCWVDP`t)eOGxELG4B;SQgzNC zq3!*PSV8mdffxyM)#Bg3(FEmeS+CDA^0*2cd!(eK^!p+Wv+v0nl1D5Sm}JPiyIb~^ z*Kfo1_qK6J48$=n4&(jc2U+p$w!Dm=T?)J)!7KoBn&c|991?KK_dRm{uwV=H{%6sP z!l3rz`NRG4w!na+VZH$RDYjF08*j460Mr5GzW~pU>C{beyl5&iDwmZDA%XkLne`(9>-4w*#YYQg1-TWLZ9Y? z59YLU8aD-NKMkxunt($$Rvf_o`@Glw(V9)AEhuNdARD2$5g;OD;L}Oy&hB%IQpj3* zK$SEQk7eCHfRcpB3!sZopDqKKP>uAUgVrRg%5TU-3ZMbD9a%a{`T9Oxd#b?W!WR>N zVG_4G;{mNSn`T{ebK}JpJye>7R@7j=KDWrPFL*5I@9*2P2dg;X>2pv&C~nL5$1KRG z5$^H#e{At?^7dW28$H%rvuVS1!W!ZDf|Mc`;1#aqvwCG7j5T0NxMAcA*v1W@F{EsJ zA&yDGr#>FU-25^V8m{}?^t{OzDv#T3J#{tet2)Uoop=8C%Wn?W;F`};?(FsAORzlu za^;ygrAgBY_vNYs%NOg=ml1tCk+Tvx3dVB!Q1MlR_mezeLw?c!^$*8DoY!{jnf^_o z06nIoAcvm;sdMthrESUtvk!y*u(TIjh-ju%=-?4}ha_J@EG&?hHC%}wN^ zr0sszglXej_*G}n1%sHZAdv*lA^-yZp%C*XsB$dk#mi=BAtj-wz{!&V=&CXbmu9TY zj(gJg_3IN@y%NPVF)2dv|9NaI7&4b6(2Z_=VY(eH1_KXn4sZ@Yxenb_PV+Apm@Hvb zI}uPb10y3X<-&(2G-RxS$iyfo5mF$yrJ)dg4XPc-H)^nx#-kG26xrASqXGB7Lu0nh zf8ySvB_y_c50HTn-vkVw?jWNkfV7lsdx?k-XSIT~ji9|D6xt>w)%vv~sv2(!Q$!Fg zv5~eB?$@M;#`#r6+(P=ZbnL~D1P7*nULzh8@)U21tcxB3!*^w{F~_AGkLwHyQ{qts z4Gfg`K1i9#(8iF3yUjB(Vb0XI5B3Wb039-eT9f=7CQ8WKa$wBKkR=eUO^=7vADsj_ z4@}=%P+sBnp@qFo-Zj~~1yucgk%J`x_H;50+};*l?ps0Bqxg+qaZ4__xcq$@n4Ts} z-G~;mFRs~j0udlu-b)UjE6aF~maH9;ISvn3Y2$E2NQgHYD>Iy7Vrou09_Vbz3=OUg z#TyO47qs*X?O!4v6A>gC5g^~$ z$tQ`Sr=?~^py5XIcw&z3_SgG8GEwObvfy_y4nm>eV&uU@h-7(UZi?3W7o4w>0XeBQ zz5O_638V}%8DdjH`HZ|tmi~eG^}}0B!vBoALDrwD1CjCsDjVaHtIUu`D1tXD=yHTK zqY6ki@gU5ZYC*Sp38#<<*)g8K;w>b9`^iE;3}s#9Fm!F#n z-hkjpd{m+QIe-D_fU13^c5E7BUtSti8+F4nfCyaEHcw4VkijLg5j?EB6f|W8UilJ` zQ(Q4J-gXth6_Ka`xu{7Wf4(D*#(ty(K&TlG6S>8hW`>j_J3O#zMB!BHp_qK^8rGr^ z0WAXXI*J0W;d?mS#CeDa_Uca)KAniN&>pUWSH3bdCvcAlfEFUvaOotqP`bca;<=c# z3Mvoc8GHdIkAU+I0Z_nD^GyuE5U&ULXa_Ve?tb?3T5NhfGW<(wHP|K*@)w9E8+{mU z;(^?08I8GK>reVheK%qz@&S@sm&Kg{Vhv?P=+U@!Cq3o=pO`LHyG~QyuP&p-b>;#6*Blalmxd9h5}pJ15UOgy5s@1GDdw1G5%!@s*2GyBgIjP^ zHk`0j@hemD?rWbyd`QFq=#^{GBn12%8yyt})WpPm4@|Nz;6nW0x?!yhDRe;PSWzRZ7OM>eVI19{1?cZ75RTMI*N(4HV z<@o*?DV@*l6MTJf))etARsuvL1lsW>upUr)YT4OB{>DY}V0H zW6YsOjP}B1Gj117@pfGNjg(N-xzMQCm?ZGtuhM#LNx5{_LjmQh)!;diMY#6IIRC`D>#A^KNG^09!-fK~xzEp_zqM)8$h7quOnHBq7+ug5JQv9RZ$vt6Hh32fPDv3LXgw^V6z!|SoYw-bI4IE znk4q^GbDaimoHsnDlihoK*4oFI&n%_@gTI}%UPN+_X`SY?>wRJN%qGpE2FOx19i*v zm-HB)oHS@8N^BN3wv0XNa3DkReF=9DfOkcEvIFd2^6{*GQ2ETv_i)cwQTD;vxqXRv z%0N-)hjoP*u~vr?g(N-LEgk6JPi&xIhh;yx8D!SEf2pbpF!G~YGTUqnAv*Id5v-Pn z#(;(g=nZ+yU?*r5(7JxZ;au_9#RwW5Q3%v%6(APx2TC7_O)`Xer-XoHszYx4^OLyg z@o|&&9tf#Bk@6!E@qym65IvS7OjdRfiOz&2Bs)Y)L2dzXRaylis=y6v-xtqkU2QPX zeu$SB)n5c^mQ@s-=X)pz)i9QnhWUF!|3gqG>HPg98ph_%6Jaj6{-U6>iR!O^OSwr9 z(5)faC1CB9Fc&~}P6J}E9)oqzPbeX@^o%uV9&_AGMBjx$hQfjygGiu5eVQJGg{IQO zp7%#k{pn!>lTQqvRu7On9t3#3Z{SpCIV(JewbSy*e*KoP1obH zmc2*(CWn@fAf@TO!T#5u`GD9OhVe=wZ zM@6t2%FZ_=oH;mO_1R(2mH^^5GBZ=CFg_|hdy+ap%`e(|@G1|W-B4(f7%6dXnrV9P z5ct-_-{JccJW%ZK3p-F{(1j7UWl)V-9MGt>(2(_*Gl-G0POcCJ#-{h;(%H*buCP$h zHEwX7o6LktS&uUGU=$i7amqK;hpNF2INLNlXl~k!E(T6iMs{fHkAb37gSccX-%%pe z0kY2*nAK)OR4zNfkn*q5a&3b*A2TzFVfiCb?Fl)HcEv#p%Yw-OnF4Uk*e+V%_@i-W5BH zgYzM<Yyrxm-qE)_xt{jm^mv8O-%#6U`*WqF7U;9s{*x9NVnW>q? zMB=6YmE=I7q=rwC3RIGXl{GcsEN0v_pmuVaY6vJ62h&NbU~ecoQ7$Qu(2WHkY2X}c zOV=#GT_o)laagx_~zN z-hgXoXXkLv>fSBE8ciPxi(oA(>iu)Z%t(ZLSyNLp93Eb27s++P@e}Nq`gMNIV@j7JU1p-r@UiLM8W>TKGtJUu$RA-jsLrR7Gf^j*;ZG`leR5_tdh&w5F4q z!?xX50@`)tp0_*Dm}l#bo$UIlCaa2@mXrDqivF|(YW};&CNFpL+Rtr6JlycP;dg4Q z>rQ-qkdHfkwI1RK5$zU5s}lkuhhxvh2N+++B}3FsJhqh$j1+QC`kpl!^B*|d**Cnz z4$p&Ee<|RUr&pBXOQ>~jw=z$QV9RMf+VF5PG7D1tkQFx9ZTVK>KTBQRH056f&wrUzoQP&u8Q(Eyqns8sxaah zBOP)8(5b~T#wo0GG}P4Y5!D2AXK2DnaaYhT54|Y*5hBR6?_0pvOhpqXsGEF?#gh3R z+Qn6rQtsPGErvx`(ufinChOT7wrWs=1Vu7$0z(lZRUYaP^vbRKmXKCcQPpyE9)7=^hI3w(*{`=*>@)~sL8h7tt2vv6>1Be%SORc2zi3$T`! zt?TicFfu7HEMnM#x-k5D9%KYH_>2)wgk*;qh(Brx;wR1mRwc60pwS@W5$KL`2;c@vu4*L}otLj(DeyHJsaUw7(7w2>?gb zKCvK0$|H*qVW&^qc(34KWWuorp}!7ShVH#Qa}AaBtsbC(1<}>c%+J>WWlF8!!#9DZ zFlSBt5SRP2)FtNGUhf)+s45@?0>3Vf<;-zFn2w;BQ>mD^(#Zl}2R$r2q2VE)A8$nX zk0V6>^|5=j(K{09=>+=Uksl?e_P?^Qo;4dC&B&aFsB$OyssTUNLP40DS`CJ-2FkF9 zYm}j~YdjPC2nDSqTuy0tNM*MGvpAw)RZ~}IxwohPEUpK=H}T*w`Y{Ro#}I~vlE3!i zB*(po>2}T=P)^J~S>0vE`<_3+otLr$6gnANvCxqc6jbwsn~22|K()oN^GbZ?b?#iM zBuz1q-u^L#a*4cD?H|UqYqdING3#4Hb=)~oo<9IRDN#g@SmKZ6)n)sKhcjDFH2Cf( z-iWkT+P7U}rE8~&oC%bB1@;aQEhmt5gP+s5)Tt=ZR*deoEwF15Iw6vy(L&_2L}`l> zZzS9UPjCX0;J&yx7*{xIYjVELWB5J;STf{%>Zr^g+36x@r#lUV{yBmKXCY2*Rd7g`Iq3_PM!n8KcjVwScXUY-Wsir)MhXI4)?dW=7<}8+$mNq^O;I4jo z+hd64Y|O7Ke$SMUp}oxDXUFBgjq7?vm3;q|ee(9J85k0ARDOG?Ch5Efm`Zjl^s%M* zk8F~_4|NHc__n>iJ;ErsAS?Lwo!$(unfo@AlZy4)54l-)cSM>6s&p84e~>W3Z(I|% zby$({<@WZmFB6AVRrSuC;W_qD=Q{8!R}-vXG3gPvZ%(G~9~{)jpR_&Hy$KrW&2!i0 zwZ#z5>)g{1Ymi9q)q{BhCyY||?cMwS)~XHRW*>kLkf9moU*~tPnC5?;d?b(g$fIcX z6XlQ)OhRbYjP@#`=P=_|jgFJySGI@b&Buxnqi8rLCj;x$vN$@vFzax7iMVq%h__d* z_H(@(q1)l!WsJ9MqVz;r&Nom2YL9I|zauF9NU!g(50i7x#cb*F;NbPdE;1@As%nES z;3QYRk^cU)r^CKC=h=F?SDc7_+vucd7nY7*ITYs5WJf0lulWT!Ufu|=n!WP>UR)Yzhf3-e182LdP1RTM?1QS@$n?wdMo#8i50KC z|4R#i13y9IdGSpR!GdVXNKi}h<^GHWPu{;Sc4?yzmL9^p4{M`s!?$CZ@A_Y*Yb|$N z`!iCxa@>+rLc)go-ul=qcLDlrRE>-Os1(-Ybhm{pQ~U z)6r01!?{yi)livnTC{=^JJ<>DYNXC%H!@YAX(UdpjHnd5k{a8_@#_oZGOWA)bUw(h6^2{)nE^+GES|ptLx+6_EF7rge;N3+ZkU@6!w?cL(A;cg5*`yqEMcX*<<`xy^ndcYF(E8o~@5t8i z=-6FIcQOjMl23y-GOKR^nxnyfogibzT@3Q&e$B{ywy$dH6#lHBeHC-_o?iF2-6hx; zkao>%@Pl4e1!Q$vVAl*rQ`Gy-hdJ-+U8IwA_G+m_=qZSoBp#_~;jjlFgExg$=Jb*J zQvm_WkuQ-7r0F!imG&~QVi4B(a!3lnmf2Pn9et1bD$p8TgzBqU^D@+Uxe}jHRIa-E zO!&D#%$j`}pM4y!IAw6N+injL)6>_-Io2h2^5^|zxip2A1JO3ynVvI9pbU&_+UK=& zkS39cVokhGjKuiDdccTI;oYjM(ElwD-%iHR(so!w%QqfvQRSi7$kSBhVG{;z&-X4b zE}WBF--r4q$p~egXrU(1NwAru)U4nZ$(;v0qFyGeaI>{He zQ@bxM*BD~Ex|bd5X7w z-kdiN%Q&0*Ci<%=pEDfe4g~2Z(2F8)sPw*LzZ?FsoNSF2-kX!Thjv&oHX&)PQuRZG z4mIgWpv7ufsR0SCtS9a9$(S;lQ-a^V(w;>E?YN(Cz~d5-CbxH;s1|4ylROI$Y2rC69 z;8>4B%t{MOIV_e^_aLcIeReLI`Oo!zKMm2P)W!M%2rssOZpf(jzi1_Db5p9J4|L)Y ze7D$|-MZqDKU~?EX%(d+cRRyR6Dw-23&P^bduku3v(I}A?525MNc1^+&Kd$ zRaL-j>UTpRY1;9*L7pOQS3!J`A}3qU=uJK&7S)N@X!gm=oAOaC8M%~G4_p#V^Rx#v z+3x)9oM5r*X`9~TVW;oCiL~j1(rdr@rjcD4KQ%{&#qCnh=A33i;6YADcRPH8J(K2pDMgiY@Qcb=zq^FoZ=Jr(6v@Uyf%7mTRR zW|knI7$~4C^@of1$C@*itJJLO`It^fLtzuP1J#j|J5hul0*E6tn>v*z6{x~%jhB2` zu14dMJcXHz@LY|veQ7hlvt&5@L|nFqB-t`V`o0fTIDYjoIj-33Nd|GJJTW$&aFh*} zRn)7G0rpWS*bxjho0aAX_&QQvL7M3(x1K@_2Px5eFDEzV1ERZ8D@6~j^d$!eVyz^V zE^*jn-0NmlZ4nOiRdBt?^=srpv%7+2OuYV}@5BBL>cA;ZmBYD66 z1MhHPl1$fo2^-DS5eJZK)nrT@4s-6a{ZYg(44faaIzhLJot{14u8{e43Yjd8n!`%!`@qrYS$u={j=Ok%6X#L4_YIBnmtJYj)_@54t4p{nYtJU%!a+hpi)YJ^9 z^?;LGV3`Mm)4mK)1Kh;SOZy;Mj|@=q4R~XcwI({&j+>-b=-G)JMstPrLLx&QNGk;v z#N+@2wG6Ni0-BvK*93JiA^oxV5Mr)I(?NGI%vGxDpFFh7J#SG2I&gey1&lQU zV|XN8j=gBWW+HMqx>u|^WV2WXX;IFPhmBQ7hX0lZU3yNJ3jY9jC;Mg-4?ZyVcD<0G z1Al-->7(0LnEbZ4v$N4$W2f!0>s-l^B$vwC#PuKqTkj8GEr~bAb;&wLtU&zdYM;_F z#$(9d=zTKT+1b0m1XGqfvbM4SL&uG2nR9S*YRl4e8gIhgAv@XdkpK^F%pY(eRo=yn zb(wbI`zuDy=npY&W9QV~Gg@R`J#k(pOYII)e zvm%CITpl!mbkE@2A@K5$bUc=ble1l!{$53KB=TLq=N!8{i)Pjb#fYtDHGLU2wm8)$VEZFfE8%b~MN89szo!+uQOuT?7Gc=Hi`4(+ z>sMM-q;NLkz^pr*v-EAh@6$9%sJgn+{9ahtO$bX?f-MGxSjsb)jZT~>5Rg_3WNc0< zny|65k{ju@ytoH;&tzpC*tu7j89xb)Dh6ZY{u&i z$-oZ3Lb<}jTXRm5h=}k`_PR|9z{Z~J=}SaCF@wFh`C{&k3G!QUEQsY0*?R`&HW7~* z{ZU~RJ%`|Y(Ef@po}*>>b&R2pp${l=2S=b=+yQ5U9M`*3qshdOXyv-iuRzN`!FU@{ zNZ=V;eSDEu_3A!ffSS3Uj*d5kB`~a93s|=8eh)Cw9UFw5*x#yh?N<%-3-`E)utwIv zVVp4-U<%pS4MBeU&`K`-T)66EF(?H0`tQ@%fnk!erqbb(y@EEwam5PCXVk+w0<6Tl zBk|0OVwuRUK}ls(wX9*VNX!xe0Vl|4;y=(WiCv+xk{AEt=KNZ76;Ln~?z6 zPxL`2j&;3R)KWMRSbcQAJU3}gvA^*|k*J#?cesPML|hWQ&z9W{KbagTO5_PM#Z;BE zXOp^o%#^yUQLlmG>}Q+WCtnV4jT^NgEP0D$*9Q+T9Xw zuLgx~@H6K#j3zr$FLFuS&>_f@DGj9CTi~FF24idjj{Gq9`*B!N;;@%~HHffF z;0rOw&xX~8SUjwX==ckRnB%tRRO)1W0@;L9(#-vA8L9^2J~HIvVbt_r`B?0vF{*%l z0?Jq#Lew#s>b@CoVZJ@v{{>1*MawRr$du3gKOetf^=hIu!?Qb-r1Kd~ zwr@ZHYw7NG_CJQK`Xx8nUlalqP3nQA^ghGKlU2F46k=>ad=o&wZG#;l@Z8&&GXW~+ zgS1KPTW$EIjAbvq6b}rHc41XVc?li+4ZJeu_KF2Wxm0QSi_Y z_J0p4b5l>Sv=Vv?Xdv;^y1RMuio4QIw;S9R{AX%}DaEwj&@1Nih<Y(C0 zYu_<58%;a&G*y3RNlVQ`*$Zap_V}!2xq-I&jtrN%W^cPep(BFqP;2G}43*!-9r?AK z{1_JpmstY#NfDJs8m*u7&icg} z{qXx~O5V7(ewVHO2LVCHCq+&^Os#axjSBJCP z{&>aWcu#Yu5RF{Arw$r7z3*_5S2V)V(U(R7)x3L0L-DMZ z>1c;_5wqj|m3P8l9!+~V_~wn`l4*%Xq{wRwI2+thV)UWKQQLi0x9h_tyJld>Yd9p8 zAD5`OeD3bMV2M50h$@8FaoB&F0XPvl{13{jl~5q;{&r;_mPYxa z*eB8r$8Ca% ztPt~tMEJgJxQ;+zx8_|!_{LuCDGZcx4B%XyId2S=CYh!C+`unmT5>gMn)!=fO=agM zkEJj5o!i77i={p>jr{DOX5n>9u6nau(Zin-sq*SR?2BfC&N%{eK^#HJefl-S8Zq%H zkH_A;U+?kfVX?E&NYn8AFiW2A4@)z5U0^}mqSeb+-+LWhmLq6q4J8M$^~7R$qA4fV za!Yfg;@L(8j1Y|}LQX{laAn-0x-J^8=XWiyn6%e6-|o{>pxhJLqQh-%XV;K${;iIR z=0eM6TT1#9UA^Hm8Z8?YL*B4SoG-s>YUWwIDitEEYf?3Y4hXIgcaf5q$4PIY5 zKKs0dMP>P8K0O1O%q}v(2WD3V+$;?R8i>~r2JeC|C>ryXP}l0dGq z-w_RsxA-GMETBFjb%go^XVw@XSWYi<$4yq3ldLx z57(#4+J0D2qog4wH@|45GJ0=yk+O}J0*w4mWbj)ScQNx1TeX@bqE6>RC`o*FA%XDQ ze_iKO25W25(J|jP@kpx0C%r|m3>36FOy~A*FcD4wqAYl8U?yOqBx!b_JB3v%A)$>siMohM# zz`qQ3F)+cv!O_v+K%=Jg`iK2H*kD>c$u=WX?2S@fG8eoR zlN1m`XFsdKRTu97CbTp~#uqP0w6S1E0)<$EHRdbd0@wP;xEu?bD2afijeehcbehuR zUfl_eKhzzn^HOJ^R(S%QFNG+}>HCS&5qd0Qmu-yQ*Vy1n3Fvh}?cO-sJUyePf7aIa zF07V#h|y_L5z1BiGaTmB50KccKv2gLjQuU~p#JP++3PmNbT{of7vQh*NNyS{A18l) z;-aUgC;D%q7AJ<;M2L^`V0ono?dE$pud<>=5)x9koI^rR3l4FR_1{qG zU%~(^Wapy1YV&Zq$z10oqILwNmex6mjNaNfw)gjPR?hZ@}0f(OdYqk za(=Y-0Weh4)YNf5{@HWmdD`W%=ZalMHh<4LWE>2qvj=wlTWY+N(frbFbVD=;JJ<*_ zOR1H6kk+KOrt;%&`=sIp^iU|TTVA?r{d>IA&jHBa-(pjba+>JdD9 zIlA`nER&g^_ZR0ukHdc}Y%i>SMnO!5+X28XI7v8M&<|wRpF3GKrLX0~?$vAXTSvcM zO{74!A@BB?3q6^EWT^`2UWwbsjAH_>`-_(^i7PQie3S0+u{MHUJY!+ugEh&jwui+9 z1Qd|3c3D$*q-@z<`{VR7s>J;C1E@xqxfL~({9PWNF5S<{NRJVdM^kdl#I8BH>xS(- zWW~b^x$_VOGH=-ugc6!#;h^~$d;9gLPMreQrZXykjY_5d1)fGh;}9=Dup;AFE@I_z z9PE6eik&&x1fCPLgu6Emw*(qWRq)m(Q#29>VLNjd)HRtpFiIdb7gED&BjuJm_%y^& z8<~w-bfz4KzaTdLR!|n|LUxf1!Dy^FXJz!!!}Ae)8FDKRht7;&X#4 zqr|LcvrEN?L_}(0PK^$sb#^QbB}g&^H)uffPfrZL(Hm|1NDP)J-sBNweLAA8-Qni` zP~t*T-r^bpiQjwF1kR6znDC-Xf4A~f+49mgSSqtZR@3_7XjS+q*67g^AZ-J*n(fi@ zXx}04rvEjNkUzHzpP8b7-7oElv+((rfC*TjMRfNdi>=qKGe=7go_R$friNsg0tWR` z>G}e!?BIo$7iXS-2?~{m?@yJajD1h`L=nA03Aq_2rEVJ`r)`UYU(vp+AjW~n=mMxO zt=$R_c9cxSZJEd=Y`ci%A~->I$#cHcH<3wm2AW)+R?uM^eftNmh{5YB9 zcXKQ5l0pQqkvCky-V~p-0Jo^n^TI{Q<(Z%w+=#O+iz(7iy?8 zvr_NQUEtz7zVg(gTqb|kGGBJnBWz=C_1XgI(PLf=dCIRYz5JbP&S=8Q%$#&g8#DL; z(^@@p3yR-2ceDP@Lnr0i^q9VmZD0m?l`$1BIFMv!!FnV7M`qJ-SmcZUT+5Hv3fQr5 zL;kP3AbJG_u_)rHT*ay_4kr9MG0>Nlaq=Ur2FvI0LB?MFP>z%HD6YM1j_k`W zVMd3h^Ud-<%P3%knm&iWMMetGwY0FHnepnDzxs*k_THGxMB7|do%Dj_L?T`@^fYcVZG4uhjBe{8OPR( z{G)H$#)0XY!Xh1?9Dah-@cc4wAy6Kn89rR zBh=Pp$2}m-vlYI~>Q6EG%8jOw49g>{;?qo4<1GTV zkpOwH@sl8KJhWHv@?yin!2SO;jNm)`y8Nj(LwjpM0<{r^7#wi&a8LpGoW-V@1zCx* zyU{Y?jN4?Kq43`{{_YnH{%8Q3lKCz|G<^}^E@$q+i- z%(i|MIbWq4I9Ag-Nta}7f9p00|Nt(7D1ein-~J) zqr$*IyA-en62*!~mZfC=qmnAAlaTk=)#l#IV&+$+8t}2n*k>Z$N;98^%2hiU`6y_i+h;gq`;_RYBoQ&i%1nDu(ol=6%fb#6)k34jw{5 zI`&KOQd)82(?(&B%|mHLj*B=5ew(=V(JCM?lEu|Vn8Fn`ei4FuuME?UsYlK(L4$3iz9_OzemMmMDhE9)bw-+w%BMAp=iV;!80qQ zTk->8_(V8X&8Q{>WMm>KgjY_>$PkVoq#>;W}y(!cX}& zJgf#%EE!|J7_A%>fKUqD6#fRz)+F2)Bc}6j6_+6%;ny=$I8kkI%esZ5ceTdw8taxV zN1;?BOGC*bOqxUlrbpqI;a3leehR04vJ_-rqST>DMCK40 zj!ec%@IbP)m+}xrL_T6JRt{$%sc~@P1hpbZurYGcDFdY2+3oIA~)%ts&3$1~I zhoXaS&I+_dK7iI302mQsCNWU9SR-!bgN~wA04%9rE06qDCZ1zj9uF+*2*B7xXnJ(; z<-BWY3Bz>02L5#i_#(pU_lz-Z*q}rq>LsHV6;)Lh%G^lSW5@P)-H4L*YzMtq5x4HnsI zBQTOp$MU!mhmh3c4vLe`w)&QSrRT7$-K#WKay zcZj+VV;6ry1Gme{#%&z~@_|*w>KI^xecUEpd~UMc8+#2EkOJtuadnT?GL1S||1P>a z0fQbU3h~+Qn%-5hbctbn-nU}dqH!JGgWjM+tAx{tfoBOwt6RuHT9^Y*gpxTFc#7mIf&l=Fl5{wwoaGe!bgrGFEv0=WJ~?C_^YZ(os>i z;AFVUHg>)zBRu^ZMqm0`E9rNB0Q+$dBxs{$NdrEZCS?fE>BjF%za^XsBYg$rKGZtsC$}^T+|{p9mQ(0^j4#j)GT{?w3ltzI4+NSc3+sb zToO(~GX?sgLH;F7E7Y4;~nxX|vQ?BGBb4lT=r!~Qdt zx+W%=QN_-uzgxdCQt=Qmh0Yrb4u_xvJ6@Y%r-=?Jj)LLd2rJBllLuXVZCcFBG&_*x zM$-P10l7?F@&(&e4jM9=DhG(C-gVhFz+Y+H&1x&6408n=&OyDL)mBQ7J{Oky3=B?A zV^}Rey>DQ_YhnBj)yc`ujo7*pGN7~rF~&`k2skY(TjGlE zee(_X#de+-+Nu$dpnk4+DLt^HU+$?2iMGc?c8hdg3J-QiM1wcv*(hl}?Uw!@j zl8}a@U4FhWg^q%(?vkDMAjak9sr zshMjKJBY3WuuBi`V3Eo2^;pSEyvF}3peN9Agrj~wtZdJ!iY&=MA+vpH0Z76V>!kNc z7(Txkr(TT5p^sy7tgEM~DHwv8$Ctk}>5a^xc%OX7pCIr~EbJY25uRt|=GIbH#-K+k z4zC{GXj>!}L2ANZ2#Fxu;3$-WGvoMMwmnaXg0;!kpLlX%q%j2rSegty(TFFZr}hD| z(msfRmlj+J*XsN8msd~31l$Q<=Y?T+>}`lgI*sUhgu;2@%`51E$k+63a4;kM1XROl z!)Lwur+-gOBx8+0C;(f(q2;^YD*UpM`OLmU4ay!MD1k)qrMb{3fZj|-A8b|6#m06R za;v_76jZ#(dLNXnr!CClghWO>@CT3+C(0yz$P?~F5a+v(0)cnMk_GR-$qBX%ubaFi>7zAE-|e2W#Y(hKi5*(?L3ChOJ*zNKEE!tg#m^1MXBcM70jipj=Ky~eb)P5lE(;bjHHEs z)xI+JUKLHQnA$2Mswz+Np1TELSC5ZBw9Cg{$ndbRxAJuz9Z{H$Ne(}8;hK%&qj6r6Ut6c;2ipq)U;g&n7j*m@PakYTK(&e;-uF(-< zlQb!_3*kCz+FqME`h+ZHuEoU3W-|}wys{86k$nUFZN{-RFKk6NSNS&^)vEIFzWv_# zvV_^UM#}T9ViGAhA0E8f9sL^wcVNG7VAv)013OjEac;eP{iA;H#+G0)1*F1q=T={di4&_IkGA6 z7i>Img=fvH{3q}$F+7&lu#8{@IO6rEPuytljru*77WN@p-T@7x*45LBKl%bx4BO=n zAvAx+e1)Sa6d_1NLUuagI8-}8$^nvvT{8?>PpGBjlxe*N#Yh}=pc+fYX@fN9#_3ti z31QBcOwnM@J{iTCdV;|&dTVQIvRuTM0Uu4M`Z)_T>hiS0a-5SsRBc2r4&K8L3boA5 z!qKs@e_d9&lXBKikM&mLrYI;A&lCJHpFo0Q(klRwh{kIGJ7JkbBIFtSt1lQCabku) zxV~QV1waD4?hU&v!MPxIE-d5GAjT=f!^6bS260mJ{8mW(i3rn1qH{3uOXC?T^y*Cz0qW_FA&ZPBgj0`(i@Tf$s>-a%0|Tv8;X#am`8bQ z@(OjhtEP6Z;ZBKpUmZXChUL3=-ZwW;zj$lw@t09;X1bdxFk*1gKR;iJn4J!9*aO5+ z5d{c9qZ^2q)}n;MRQeGt$DSO82IDTiC87~Xj`zUIT=Eq{5(e4LaVi%yWv?L)B_46D z*@pUdOE@rJ07n7!A#bkDvr#}?Ja~DBqHZcxT(7%;IP*ZE6D@7K33YXYDN4XN5wY%Q?reFvxHiy^Yqj9l1iU`6ra@bcLWFo3!NsYb$MuEG z)926cz^?ze$pygRsw=sYg+&^A!~T_#e>Dl59lk3#Fdxa;Awg%}8RxQ5aB&l?+~E8r z?6FB76Hvt;a1n94*e-OZ#+b*N1w_B84t=9tK!>pN3#nIOXIK*Ml)#Dq#om{P^}KfP zej5-X8KTl4Qz#l#3KgX&lF+CDO&ScPs6+{cP#S2al4#T@N)n}_G;5ToG)c3hI`^{o z`~H5v_nhlG=a2K}c3tng?H%9Y`8>~h*1Fey-zzaxEf_f~*i)9Gg_^t@Rh`oUEUJ!GwuWdqWFJaKTj>gu*3e3l@9& z+)(UW9xTl)PA`#Xa?(=Y$BbSse~H-hqg$$MS&!h~)^I-Kd^>Q<=C3!(`{@Q-$BiT3 zo2-xHucf9yVRjBxwOl0>eqT^Cu`*yBQ1bCeP9`q4Bgmsvnppq-ka>T<1pTAZWKvR! z`_J2oE!hHp3`9DKqErNvX<3I7?HX5k96pXZ^$O5#@YzhjFtk!oxDya?nV8uCqF#d7 zLj(oMoxjeT96jm*(DH7N6Er5PT)6O6{w&JB|8dST`G(@(?k2F}Utw zHSg;2&;tICcRj0c7!TpEca^7MCGMDUp?F{OuEE0TO4Cr##2Y^6LZ|#SFoR_9{w5cg zG)|zZI*eWY?Ne?p_e!&G`N;RtKWAGP$I(5z8b~l)%{*_+2{|wM=Y=(Ip@smIr?5%k zD!qHVdmY~waOD{&LhY~9fARUh-C7LfOXgew|NiXfyvULosns@=XE3AQ_vFY9?AW^o zBLCYLG!fek^@ucs?DY_9VR4Lx%%!-vb!4On@V^BM-J>k{@4t7r4%Ziaix{{$+PNYSAENpCDas%>}c!SKj)JQ_+ z|6X*i$6;UKb#oAbr!kN?s0<8<=8Xh1?->@}F~Re=Br-DcBu#gMQ638#EsmAHW5F-R;xA(gxsjInP%!uY`>v00$aJ4XFYXwm4njxG6D(Js;@PJ5eD9kt5(Q z_7eHea4}6ShWq1^U26viW7{WCTeg?>C=-qdIJ2#9^8f;6jurK%c%o zK7yC;_H985x($C17@n#BfK**G?iCurM!mZm1Bcdd3dO}Z`$wLiQ*DMD9ZuD(sDg&p z?ti<)=}vv0tI90nHn?HY=K!F!!ryz@!e#bLo+S5M$v1b5v3eZVpp*7zayX~=z<@Lp4Lxmq-%%roiA={7F9WF>Wke8CL+E0Kb z^XAQSL#=lol^SNizeKG>{3^@{WkVzu%Y4dS;8FzO_y=7vrgnvNX1^#Y!``3i_U+q4 zrQ=A=;cdb|QoVK*^~jaJ7vpnr0)4mdzT!^2CO8`KK`;JZ^qNNVO1%e)ZJE-3OYp>COnQHpw4_AZeqCKJ`d;8TN@NPN&lHO}@d^vk z$1B~=rD#kfZlWKc;`s@@52+r<$B)0Kq`cT*S*8o94=gBm07NbLGJTD{Ct-c2Vq_Ga z^~OX@`S8q%pHTU$qHKq4XFA8g*e{dgdhaLBT{(+@bQup8atyjv@{a(XmxBAuJ}{r7 z{7=lxs9m@umH)>5lDp^6DVV&N<#D(!S-jX}X9?038WKrP&iGV>6#0KguMhb-bxL;t z(TI<~H1%mC$^`0)Bi;IpybAYVB=S<&G=Ht6bOV>D3cT)#Mh(1zhTq-JG2VA~a$W%< z7+tUFqqxuinAahlqmjropa6Mk2qIPfMoZq=L{R|X1dGO55NS?BbH5PBrf&7S-7h`o zbBy_j|GkLI`>Is#;ZRUl9vvrI4!ZmUHcAAs)5HpD(xL0|s-|Wntbvu40ez1|CL8+| zOOg8mmu3$KTyJi`DhT3wM~aJu34x+LM8dU8(8%e%vt?1lwHU&fgR z4=!OZxpHIQbR~TpN!+6|FexJvCCb`S^xdwJ*(<6hRe1BmRCZbHA))O6bWZ_bpdP*2?guv*03P1Vm!+WdCpN@xcT}91+Dq1$6i^9T}0$8ie`TzJT5Y6wL9x?plJsC zR{`8O)M(DyaYU@y$-6BCk)dF`cys#7DI5Vt^U{P3i?E~KU{BB}62$$Ng@rTFTB0$O zWQ!a&21c$s{0xXlPSYmFRxP+>Oh$6?Cl(cZoNDN(@2Tj(c`G zZ8I=HG#?*W1Gn=dpdrI84aGY`;TL>J0%I^*0(*fK+ z1uFpcB*{;KjT`@S;fDMMP1g*0BfUxRA#T zO>SKDa6hh9Z$MOWdyalv!g|2Ak8WJ>lYxjZo&7R?#nY38fi#@Nx$;R1zgWQ|mL$%I z08H6q%8Iyh03((s87m}A6;!BdFB^VKhRw8V@u|QlQB_oAV1Q_nc*GLJn3)b{v$&W4 zs@k=Wy`N<`Y&Kn7cz-JDXevE}#EV{<0hrXK~EMg#qFh8c7}$ z&O3;{`*wUsCd<+8O(bXdjlLJ17w~_{kC|j32}ZS-77oUPvUU_NbxwdVD)gjDr*p$u z{p}$|OV{f`3%HNIC>itH-Y&NE*Dup6-nD>+$>4mGL)StiOH|6@ghztw1dU2k&E1PH z28C=-9<>M96TAQ6Ty%r6ymKi$A+~wKr5DzJx4=)ikNix(L?W$M_NiiIOf+o> z`uEXq!RJQmEO_2a zQScTo2Lj{`Y#A7bFn}9kK=L%ALWd2Lc@^|tpV3G{i+DTXqtN8h^mCMhR)cqoBP2ZE ze|RV#oxE=8l`dD;iS${zKxY#rdVfnE%hRl^`?#JVyYV(!eVC`BRI3uX)l!A? zO9_j^|5y=FK>uVTCLzu`F0Pqy{6ULg30gpFXXjq|Rjk$d0$?NU|4kS=4?Up*op=Cv zcf}50EG<*KYUuaj(y|P-oL8+&InaF-rF?DK0K1`9TURHqc%M`GQ22sHv+*;riiZ5CsMQWgn92SoH15-vbc# zMwE40!V7sy?#kM)f)miZKdb}Pfxaj+neGAafKhHHwbuV|35IW%fsMk5%`t+_vXBt5 zRB!}9RmjX-4P5h2^BcG<21D#ivPjfRy~6l_PHQYEO87^?9U#vS{iT;JbB71+E(S96 z>-a*C5bh5^3NTp@tC-U-43MQcxwtG~tOa&O?X3&u$T=u+ob?I1+m>$8-(qu8CVY<2RE!C#M*b&+3F$tnht(ZBYo%A}Om{OXc2! z7!Me$U9P1ibv;8RUAyy6y>V)FJ{~Kbo^z>6f!S zzth>L7Prc_^bN|kwzaL43)7%Ut$6E##dYi!gPx7fiD^6gxXa#ShtTj}h8K$Fysh%6 zz8!*yfmtgApH3hiRb!}wkDoG@z`)kUj4t`Rzk5bBot~@~Z2Xp`qcMPoF-0JJS~a z9J38kimD)yT+WDAbZ2fw^E7-^&Y_E@uqi8l{o9InI9zAoAY%ZeC^b+r@}$8$Wp#s7 zeofbT4V3wew*WlY&+px{Cjh0+<53&%Jn%PFajRBY??*KR3z^5&wz{`NL*oMrM{tHS z%eRumz++?kmoHI)ixG7;>KbKnA;b3v*ioXsAtyS#7VNYA%4xE9inoIFq*&fPJOHTb zn#RKgm=iLSo&7+GGXdsvDi&{T#|DP-smcB1BI{SH=)ZQm%VHwe!E~Qt!?1vQ%8kiB@ zZzExiHN!xXOSBe5&J9e0ZUH7D(RZ6vv}@PA+cyx1)2ACYdPAmp9>WeO+OUkh!y-;! z6uabjTje?kgKz2?bbL*(HS&YI2TdJi_<+C@+?XiYE8;t}WgWyl?^Q8fC>odwvXA8q z<%gBKkWE+Hi7q#&XRfgK?X4-X;eHHB}vA*K$Yb6DsZ-vbC@u(jPN8AUEroS9V>aTkpdU|pjLfbK) z#i#|;a*opoTtv5B2M)kz9BRNO6DNauN$^Q&SZ|z}Q~StER5u$Hq!Y&Z7ox@pgqe2i zI6tgCP%2o-^}~=E)%x8-BSM<*l%p;_I3j34QjWGW2wlu{Wi9g(EKi+G4VAdeEuH>vbBIi0ZwWN!u z(5xW)*Hs#!!a_nYa9uU1;2WP)iiUV<_eV%a)-X&_#&w+lY?2rpvj=hLI_8Kx>P!c{ zVW7s~#4cn{^a2R}Ux5Tl>lQRWOVM`12xTNJ4{(r}qeqva7yGC?0dw5}t9|_HoOX8A z;cJp+0jajOF5P;8mcCrd%19v+0v914y@NV#CyosUoM2SDQO>haIfvpz*9A`$M1{$n zn?Ww%DwUyGt5Z_rPsfDa2hYV9_uHd}!NEa4lveOr)#;v#Y+9wzN(qsvM~*}~ zZ&=%{GuhYIw*lpDut1b-;IG*W5&pG1SndT5sx?8psI{tO%?_MuO#4;CvP^Tsq>7!E zma)OAS1w;JLe{?qn&8xZa$MyxTdE^-Uj}yg1%5P;StjJnzovgPSYu=yRfIdp4COdY zbJxSzXb95`z`>6ItV`ytGVs8To@V%1>b(+5?lqKcrl{_ zK!aa56g6r3dcR<#*#i5u86{w3*{(sr91eGCGg8Zph9{u zpP&Ex2Wd&JG$h3H!!%Z-=@tKA(FU_Th2@4q2$<0 zRoM)%W3GZi19W0P6f5x>fP|i5s~^G#MU&wzqP2I;XB(53sH@517Zm#*He1!b=Oi!6+Anqa9NSxU4%b zFeZU(77@xTC3P?ihxZw??s-9zE_uhHMqI!+t=G}Bt!&8_ri%6vw&FgE+v%k(U?%KD zxkP9_q}`9TAr*KL&rh1+HV_c8kn2G$^2Gu^9(664v5H-#vCt+9V#Cinq?10d#(W~UB52UkEhe)v%F?P8>+>^)=5)Sb-@n^cRLWkFwfo;)s-EJ1&4ar&)j$1!iBEr*Nk*w z0m?$s7gz%Vp6>J-H%>IF47zOLbt0C?1!?Dx3L?jiw{_{ zGky4degiA#7C&-{_5()XL^gZincW5g%jU!X+jj5jga?X(7M1tB#^jTEG=1$wCRrWhlV z2*Z{t6TZ4dY|+UpZ+x`V2u+w#U(W^2-yQ#TIvNx=qe`D+UDQw)PIIG)-F+E z14K+$1U=A@Zl_|F7UZHu?Y*W4;4~X`Iyk^xQ9qzRki3NFFIghYh=!hwobw#?5lOLm zA$7V1M7F}_hmy9D1?RYj020OZ4AWPaW_FzjWOheydKHknK=8r2qqn_*%WO1E>?12X zzaolk3_h-27iZQi10yOXL2y-lP{PFyV$znuoEKsaiF8Tb#3jXLYs=Zt_17&mx%ebt z=^b^@#^-I!G1>q!sO zu=mw`)vi?_OGa(sW?OL^?7sQa^g&{z^y$ydIzvpYtrG}}_~u(iNjjfu^q`T-OT#7b zhz}cve`D4;T#4*U#1s>>3EAd$TS{$P1DtJW)9%}$ zw<6~-4WaBG8IeA#8(fFiA#Y~{CbJ=Pe>)o}vB=mwwfiRknrS;PC~a83zSJZ*)tw34 z^LdN`2yk@|$sc`~B>L_~)qPE#YmgL(1#>N2xB^@%^RgUrMzDG#B`#iW60CK#8&inh zYl+;Y{spfNX9+r4{7Kghl-MS+B z>QHY(?N@34-&+S|%OjN%Kvrq(>pL-E%Y8X#?DCqdW%FW@d}yUx9rRl+XvxiX0KdcV zmW_2qp@D%hFWfP$O%Yk8)L4uO=ydhF%)W~%?|(Nf+0u9V4m(vrct-f36hG)Z^zHCM z)1$LRncXqQQwUYK#F)>aKNj;=s)yPgwj{YLme#P?9-HkIeWqED=gAM`CR))uIic(q zdn{?H6ZR?;JA4f$oS zT&$iDtIZ3&dsi6!U{1zB-VA{yyHg*Enp{n_jf}VIyQX_0-*VsT)Rj3gF)_h>y{hHU z9ITlHAqtTG*;MZ6yHc(GGzuQ%Pr-Zk0~iRvyqcMeAdt?>Pg^AB446A348D6YQgz6)*}lh9UCO_ceb0=W+p2AqjR}b@)b<*}>y8Su2D@F@5a- z(r_}9SIMj4CN?Uh)tKV+F0tHj=^WNyeHW(IF=%+m^xVxZdrfupI&C&9eZ4U82$+ai z$X-L_aHvC8z$ns(oE>r-DlAsC9uoB7LRfk*c@Ym*YF>#}7!du0)~>F#02x)7T#*H7 z-70VN`uz8t9LgPwPRH+Xdc5O;d%FBg`=tpX^EkKO8n6-c+3DP7bWBtD0^lziYCQDp}Hk}XfW4!7^BqZXkRu~NgDB9ecF54FOR z1uAZ$@eb2jl7Bu*2LWiNkGy}(gQExK*PO<@wz!5*7)!#`H{RRWQ*{oVTlQr@)@w8U~+Fi&<0S51Jtkh^q$H-|1 zuR6#oy4l6!;>CA04rmKiPq)L_d>3x8^5upVD_*yp z5tXaL)>w&W-8E2JJjb1Esps?ZTHEm>Z(_W)h;TJ`bTW%(vL1~YD9XV4>o={woWk4v$&_l&Zw{8O0EVwn$-9g-; z)|)ktb5~#J@ZccbX&y6FM$)E*9##(#URVE|`;O!p<70H(Ia1%C*kBc#JP;7oE2Qq9 zriXhgZn?q^Rn^%({3nm?O~%z}o#cI52hyFms8;mjlydg=&S7O1xwRe2I(W?0I~)>f zza_fv7r*}t^h$%jC zc?n3rHH~k+zdL32#-a3Gc#9_%Q=dUSr#ThZ(iH^_(7t(Z>e`@R7w6C{1J{7m64W-= zU|^1Vh+8D-jpR&=pmlL}N;rGRwtc-&c4YUoN9Hl!FW`f8E@ZT_T=5=mI-Y9rw5O|6 zqT;I}!|pG=00K+G&1g*AI66{k68Otoc_{~LMeCA;CsoGxSna{rZ0>UQFYm&g9zQt( zm+|4jdx1vg^LA}$02%n$pNygYRp2DE%dZuokLbuI+00?J%d?LK7Dt#nwL|yHkFg>m zZP(J8|3{|GBQ*;(!VU=NlEE?b^2$p=O2o>*ZTPm!5y6M17n1D^v{x()qL&~hZU^Wj z4#{QQpAwfv)v^haC$zkdJ352r%V3}seB#ms@L2`Qkv$p)82t$RLJX!8aouP#%taf+ z6X1y8nl(k1zhDi62qAj`At_ZZX)8eexeTbh*I=JX8D_4;Dflrsn2(;q`_f8Sz{GV2 zi5+Hkn`$a!B)g6~Ha8$4_yFBFob)9PZUC^K-r!jLR*GXn-^qM(@;1RGeY#K7=P;$iQVjU7+EMV7q=-7L$ z@c5owjfbgcr>t|PaLEwW3@q3a={9z!PLYcmgMsiMBYSIk?eLs8_%}huF6C_p6y)Xk zX~htksFiko{9a|}4+v*;Lksz30|YEcxw=qT^X1o#fB}Zj^P`}uvo}EI_4C)SR%GJA z?fVp+!%xAc+UC;>!^&avn570NK$=R{mH^w>l+FR+&UQsbxBcD8m(!g?Z)*@O9A70U zY;W9e!PS)}+CkE`Jckb1B|f626Ka}*)-9+OR6vyOM+Jx7zdU3_#M)AiBdv-n`5=as zFkae($*k^PsHXQE8JS-tR^kj1*sxz!P|3z8_CXU)(+7x=f?{7cG!tWgh)Y>?4DsRo zSleRiHv@@+Fev6t8w(4IIC2*_AF!j}CKVhWV9WF}LwcWf#+mo!&otUa>^p_y>US`H z)LSRzRaaNHZozil0fNs-P;h?_lx%QJ_|%wA3@rxrcj2^`@s!*rBTdWb_s+Txj}Z3IKtkvKZv1;P2=j8VS%b+6H-TKfc6g6znRM zsd4fF0cKaYI`Yfyc63il?H^t*+C76Y54|{akG??cs0*h=YV4t3qHmZa1S=p$e7j^I znqo{RnEQg-g)YjbwgJC(c*V^f~yQ0S54#=^NCS}~hn3Wcgg23={|MeWR(b7!R`9vN9 zY=aKJACUPyG<(j%B01r>ealOCP}OR^$Gw2ke-R&stY2s?wGCs};puU4h}n40XHA_gT*&xTq$`Du1$X674b zJ;&r4W0SoRmr@-T2t{U>iatE^k{cj{3Me6%Gj|6Uol51yyly? zkB)kToxJM8UYLzx?e^i00F|o#^dzx%AT#<5eW=Q!AvCxQ3}2u^q>0h^bG~rGN`GP= zhrdgf4Ie>bK=a5Q&zp~|rLk__$me9!zY~!jW#nsMPV?Yt3g=!piQI>Y2w5GVYcWqi z;DnYY^EV!%lV{D7s0Y@eSt^ zFuMnmQ4j#CGWaqD;|4rKH|gl7o@Ote#FWv6Kw4!sN7Rf9V534C0c)VD7?&)hVQ^@E z30}$`jWb_=32b&`ch2EQ#7{XU5c+<#WO4EDkJ|c84S4^vKYuJkl(l`l{G%1#>l<2C z^p+U^bPuZw=B+r;+QegpkHO#t9ODTjzb+>}#aooGEbwlehh+lR+}tDAZOU*E{p7k< zk68%=9-+HE^j1Dkd?1@qCFwpiqZkye9j8yH?aBL?6%dGaLQ)fOn44(Xex`Of4ZL2s z<|6dZkw}NFo{8U)woB322TBq-9YOHDF3~8*>cFUe_E~X8gWOl97Bqht6#_hUuMUiB zqV_;pI9)KOvWknO9mtWc0JrCzHep%Lbuwd*e?YIHeOjVlT`QnpdLk#`UPB51WKSxv zMZ?!4LkC8|=o#(w>x_o_NCw8!x>Mg62sQjI!tyq%CQjf3&lTLdH{)_t+r8A$faQfT z4u&$|1EHy?1lG|$$S$AXIkO^(*fta#BC+n+z59p+98bBp_ z>=&8bP`beRsN(*JBFI1#Y2mgx4|)sYgOgti56?9uT#rY+b9y(34!*!eYcPkaOgCKE z=@#OLO`FYM@dGd%dydg9XmmcFzUe;HeF}rTyu8}ot+~+%U~=0w?|R^<^6_=+Br_%b zyBpvpA5wEzLwi`#vMw;C7B%>(*4Hy>b~`F+?T*pGK_xH&lP${l0Y}V&G0toBJeZ5kvgbjeFN$t97+U1DHpNEwh@IXZg8M^7wKeCv@TN7w^(n!Ab<{AEm$O`CTgxH*BK?080ZO-C6gQad6BA{t7~)&NvdfUa;d z?yTP(3R8JNmBrxg0>JwodJAM$(tK`k51|F^4%gU-my6K49O@j(hA=W_$a(8c0fn2m zEi9#fUDtT1gw78>3@-*D$OEzP zanv&8e)oZJ(c#6&vSUw{S8%H7r#Q$PR5qdk=z*$W(QGb}mk5hhGEa!{2FKy-{sLa@ zPn+xyXn*D4t_|7Wa7J6BH+P`m6yDz^_!B&jc3fMS2dw$W*P;b@gSzys`^S^M3S@lu z2t=E^MqlGo0~9IBs3wSI2v}hnh{{Yp{NFy{W+Xltq%FbTFSL+UpvlDqzMIMk9|K$+ zix^Y9{XI^1nrgSKu58H-vnx$~E+3uV6F&nMeRIJt+jjc&M&S0I*e8N8wS|dE0oaFP z7?=9+Q$<1HIV(2+8OPbXVZJa7Lk0uI62s~O4%YOnaq|C&xr2W8i;pHnoEc^0Sw)D_= zqt@Ku=SiWm(h1$qinHuCvI%V-yw>x0uWTw`LaAp?o0{Wr(lI>+I)ubF1XL(Dd@lio z-cPu~p2P+ZQR#WxgLBR3>8o{6b{t}|*1Prgrn3p2|L*C_x=zcX$MqS&l`^0tzO^3b zfA^~r`xxA7qK|?R$$=Y!RuElXB4_d)A2dI+wMZ-XdQ{np_@dJDo$>d~^pPtBG)4U; zF%?qRxhEQeab8&5woL|Ak1DIk8fwcKTqv@VtqZ(%^{Ttq$AcWD*{*HIqDEql+Kxku zh0`7*Z*MbmS~X92IaU0!FBKWpux;Q;n90`d)L2YSt#_@2F+z zilfQwfK@i?9!EgLaxDdjeiK_=s^L}ILqzPvaYwgqJ0ij<8s$cQ|bQFxQz zJjgOU5b(#&P3n$C7mW7MCdZz;hE9(pOrH&0;i+5w5W8DXyIL~Uz_FSIOxOE2dw#&6 zq7_{rDQA0WSy^uM8o{E8G3+kY;FCM8h`Rw}F0aML3J>3}0FTed$H$~{^}R*<(Z-_n zdLuQfB{Em0-EOiK5;fBa6G4-L?^p{UZrT+$E_xx7zys}wV{}UB@x?*UE`(-{a98>! zEPrOU+M>@|6x%m{80~M*n=8M#9xrKV(F@S|%B3I1;ZhRN(`8(la{eTIR2Vg?VaYMb zglYStV4oi6u80G81qiRPG*RNvWW9s|uA3Grn#4Y0(4Uolizhzir?%?tR?561qk1{^9 z;jQ-9g|Oy5H)kXN%n~qeKA`w|nCWYX>Zm|9`DV3f`K^B7Xw;P^7`jP{us&5J>rnf}S7?6_L^3H76mfi54bs}})7g$-9B z++t6nGYIc|E|S2Yi&o{fR5cxRZ*+8C;Vjx9Q$y@0vNDvU+MYpDmLmphEYc0i3o&pb6hrlaHz2ON5eQd~b=1SyORFY$$rpq95fp9y~< znBvtB2R-%f%}4IBIZXl4TB2q($n@q8=U3*I4>Xs3m-ekmiPOly6k1Y4QfBMYmt$ea z4`3-o^+EAfN8bVM=eKLZaz=1-zNXn4=qk7Wj8zOe=4!mTVf5bD#l;gAeICE@K)%2_ z4}3QTx|reyEp{0BhFCht_lWAG#9i1^@@pGq5n!V}RBc5X&w)IYo+}qJ1sXh7=LBH* z2JW9DxHxG}i}|~|?$~Gqs|zwD{`Fd<`$?WkJmyz>lA znJ-+j|mfF9oJqS_l^c zQr{Oy9L3CgiYzxGrk_W*=O`Z)YI?OI=hI+yS6 zLmHW9nw@6A4$aeB&Dt9i+H6jZZnmXDr@xw-if>{;hXe+}X%9!Ozj$4eZqM5@ z+S(B%q5cLHErYicZ4Rq%l@u4}`~zVD6j&8^W{tX;&ek8`f6p-axhif=*2E+OCx1F- zr0fvY!F6^61}D5*52fLpNq^`(O}@x`PUwVK30RevYVpe@A={3TPQAU?N-yF=${zm( zI1GUSop0+L%kekj+n1q^g*+OeA?F~nt9sz522S_?X-gx zs!Exxn;lsSKhQcO+g_Be=F)6CKU+>LllkgeD({#4x-Mm{Oj>&S&e;S9(rh6;NQSE)$ymg0Q*kjYu{{3h>mimj}I> ztEg2NnuCu~573As?OHO=_RHOD5N>|vg1hz~9HA#`7OV4U(;0Gf1!mL`GlpI+D}$Q- zzYL(-)I`buhv;Wei)PynBxaOFaQ~LK`?{0ya&upH)On4U{>W;0&hc*9@Uz8(gT_SR z+6JZLLu)qZGzB1Ooy6Se)b5lj#jO~>7qdHvSum$R!dHS7bGkRbU!M!uGd2HBy+ls`PzW7iG1>QZj@rPsXu1c2 zn!)?!TZDXk1GAai|kF z0N^m-aV>Ddy8Ua-`ADdLD1rHisSndR_-*># zTaa7bKy&#pX2~%+F(k4~l9O~q z;^10|%)SRch9X9cktX7gn8fot8SH}IdBldZ8k7YE-TIOe{@d6 zsd*FFsn^RcL-%+I93mx8r;6<>F$_<)aS|e`s=d`_?YOz_{F;qx>skkj4@56$ zxM+3_6@Va}Kljo@=EWMDvo4!P|+3kH*L zTOzK|q$uF^t459S>G5-h8v<@f=;|n>IiM#qupMQ1_qn#bWWpCQ;wz|WRCyomM*loOvwT;5HBz@uWD;|r1FG#2aF(Diyg<^{`AI|09;spejYy|*b6d+dG_3T$E z-b%7C-Z@cWp`qTmC&?TglV#R2@?Fj%Z4?Fr;7w^UQarl(X}U2SkE%bB>k3$D4LP}Z zOI1WH0?)C&!6LN)82eH2Md3K1^EPwU-tc&N_IK|NI59<^G5J^$WFORE=D>3xF&{V6 zoZ<>^j&M8mXDMdJ3CF5pIgx=Mvx|O%wl#s~B!qQmo<^un#~GeZr9&(k7qoXCR_A%r z7HX=xRdbhzTC%b^%+P6G;7JT4WVClb&w7I!fD(P|kXFPtRpd&1JTd2xI01VoL{>o^ zF24=eDZfEe>VU%iyRsK5BEw+)ZG0b%jl1ZdP{@yRPW5Vm<@zgJJ1k(Dz|>-QYMD24 zea6+4Yw6P7Tn-Y}ody!BMf2_jTf}s}uMpZ0}$O zT!XxMQRuuv-*C@*7u?Tj$D8yMGEEZ|bl17qD>Xkv|I|J$*5g=tjbn6@?)`)MOT1vDkmL-wt3Y))9sIjn5JP%&0=FS$PQgvS>oUz} z^S{c={gwIzQtGp1osiIWWN@p2j|X7O6ocb$h9>m@&PoX`)HWO^vTH7y1K1N#$zCG! zK+NL5!Pp2l8gX(Z&^kQ!=|v9iw3&=k4h{kEysP;73?%a9cp9zWzpn==#0TNH2(M)Z zPGki(djG({ZAh`}P;eBreQ9l7v1Q94h8L)!01Ee@qFM$Lzdy?B^3Ky*khf>Kj3xq_ z_5#iIH*h&=fjB$%jLGmi9R9x~811&_K{I4l#2ytXeOTMw249E8jQR8C2?A0{0VFJY z?q@Pmxb3h{7iC1_`nH4ll3yWOKpWm-_dfs|@Ad{`d1Q#U-i2?)WU3$`2wsS{05ZsP z#{fW1!Hu`@_hvGPn&!Pkd^_^Cb+FqB0IqNqtY9){z#{!E0qB9Ro3e8F7AGNmd(At1 zU?`&pvkms8LeQq&0q6BCi31qXkaS5$4r!_$v`2Is;G!Z* zd?0RA1IAnY@J8uu29D%a`XSC~G)|fX^u0miN3W25HvT-TTlP?eItG)Uuv0)wVTiqtOe<)gE9|&=S(_m0NW= zs$&vupbE%+m;_PH`yx`7pfya!7z6lp#Xv?Lz`dPW5f__9as={_1q_vAbv5IzXxuX^ zVv3T@DfzZ%lQ4DA&YVJDj-EGZZ*aM_!P3|dY3^I3Yi6kWD$rubv!Bn!wF(ld6Q;RAxYW>kF6dz5Aw9-UG>=WuIjKNyn00O} zMQ*FKw6>9R=Sn6)qAmksC?U!Pc6%VnN!lQ@`m#IG`1-&yd3mEf)(ANj@CGDG5lx4M z1{j0R)(@avqK*aa3Lxu@#+UU$~K@Scn7ZF9=-52S3~n! zUzdUcIB=aLOSELzu|i^a-~Ys~hoWThDRp74Hw*;~~^O zc=74eO-Oh+8Cp>0(YXQ#$ruhiN5mphJBw?w-_AE6InaUgpI{k)dv!NsCm`?@kluiI zDvEOW4hs8O3{tSr#1q?3&DpzY8XS`#dWIB3I%^U_;Hp&9C1<;9d4`dKMVEVq|0obH ziWuqg&ro;EqIf4V4}#$aBBLR47o*KuWgq$^z9doZasq-kF?kWC5}RcLb&KO*SQ3-5 z|2m=^s)9g#NiC%Cv6!mU?5s|QmqD@#>IXr&uvuOCD^f%&Io!eVr1d}tW;sO!Kq|3g z2Wjo`feWh-uo!MbyoxjO|=!a{^b|6JJMP5h>B_c%Q22wRT*S`axqz_K> zE~KaH6w*E@Qd&XPT?Z=a|Q+tDe|4Q{*p0d%a9u>SDZYF@8p1=9y9{qy)-R?W4btB+xxswuJ;t1z{!LKt(y7=l`j zsqap{2jT6z zU@3J5dBxwTx&OvNT6LENE|D}By*J1JtG2{pEoj$_VQMzSEx>(RJ33Y~qJie6V7PsH z#CezmkRGkG>3Jq4Rieu!QqmJc`Jh0G9esl+b0bD}eD|xR7A1!*8tR2Is#D|3g+y`L ztD}Fx>V_g>2jCA91*M>72m)!8c(9@o$UJ-H%GC4$_WB_*^8U^NnM4anmcvw2W1}hD zcW?Xqo1O|QZCp^Nr!7}ms)!1Dp`d|3{XjtPJm2GlW8BMH0|pYyNqrU?xSQiEh=D2wY!f z;^s9h=(er76w^86e=5>02H5EbM_f95#up|IB4szt$Z6T_6l^##EvTb5<@k2xp={08 zGxUvdrTbxdN+29>!*L)ABCR22Piu$ADGI(pE>4Wd`P|%(VVk>-@k}ZdDr?@ zXY8B}5XF%C$fFHSNnvdMfIpbxBw_}%;|qrmUmU@Z{X+>CLkgxLh1?RC zfo6m*GQ9obFb#{7zag5C01ZDi;Lyr>JC(m;DJp=trwc{>J_v=>i}CN9p?NgVMB3uo z`Qg4t-iQOZxybq8a2Ho91HmZ0Hn3lhwy3D62f!b!lqA0x(^*A93teYx&}THyy=H6q_tAvMT`+XJz! zle0l~Ki%_jAG#-|cCs!!=?Gf@U>AEh0C}ovaSzTKulBW%0Id^s;T=GHkHhl0r+{`Y zBeHV6_VGE#NdQW(r&7Db4Y|=<)E6tj?`f5mEGYrEI%c$S9@}Y@lOElCSiRhdk&wJC zBpkvK+l6?Lw-o@45DuTj*h~HU2ghK9xfb+@L|_O`_RjartLCs5@3ryxly5} zdsqTayHR#d33-$}MA|`hx ztPcSv7km0LoR*qm-#H*rM04&Sauc((Jr>OF3!!MIjE|`PkF9eCOE=qrB@t313DXyk zlouefr=0w}-Qih6?RL011U0a@D~GCk2n7yaq}|(lXn*1tH1Ge2whHS`KiDDYBRX!S zF6fgIfznZO6Kyaj(68T5M+$N0&Fj~(Vb>WeP==CzAf)D)C@Fas-UK6Ev`=8mS-}%I z!-2?6c&b0;qFREpC?`}JxDHYnr0)2bbE9V#>wM1i1!+heRXQXjt(^{H3j0uZ?Oxo% zCr%y*vbl;x9lk@-(E}!}2)NRaQ8nmYBc&*kLGbE$+5$ky5&LHIe&=;XLC)TK<-kom zY^LhGDzCHTg6z%(R#-zY0n^?0-*{lGUW^neE`x=_I)k0RUJlxw754R@v&GX!a^0r- z$VJAg>aFlk$kr2cT1jOppu4vFM}NOB3h1{eSav9rL1(_4)hW;8Pp5_Xmg8cIM#oa6 zu&cX!9TX%!_{Q9#Q9A@b;3rjSGZl%Wj~A5eTKu7P$sW*TeaZ=lQSA4=fNqpO8rZx6 z7lOj%UG)h`(7bg9n;(hBBrbguo4*q6m6^gvD+J_ZH4!KK}Jc1)S+Ln0C?dol#KLaM*)xR%EWSli48s@ z1L42}1in83h=t)XE&>_{2q4q**TkTgj>Cb%LPqoH$-|ggU-zv!Wd(3QR0a8fwR};P z9e8}8s3lcg|Lo8=PO_UsV#veyQ0iv*I3Srrn8*ZuI@o54Nc_EDa87N>0`w1G^s7X9 z#JhuMs_j|1QVB6JG^VzjW)_0LCnPNVwpAXc<(xnOF!^gSrl*7~&!1{WKNmH}pY~hn zFrbPLD2s@{0z|Of#^q-FO!#(@feZTU;M!dVa?JgHu%}M)+v#UZ_Zlo-f9NI78Yf_H z`0qbfVzKb|_rHXv5OQb|#r02MKSV15*_NEwi!9 zeg@&~xVL&9XV%?T>5*NnXUK657JX1=&H=oDhk6frugc(xRjbT9vq}??rJTaB2x6t- z4kfeS@+}!(_ku`E^NsNns893C$~Yj)O@993yRd45a^0J7Y40cp34@AmpmrzWBmzsH zWh+*&;%Q6%vLUhsMm?LQY}gj(SPpns3_t-0WS=o!V&4SlDJ7+VhUN~@W!%hr6Zeac(9<=(4T)o~3>wrOX0s*{yM&AE+fxDuzllvn@L7~XTZ-gHL%_RyIm~Sf| zp7H!@imt1TV4ec*b<*2^Zu3 zW%!TPC_~BRGHwtx8aq-&bRg0D*UK?bp5oci1_|A4zL^z6M$&zLPl>3_Z{I`fhd`Z_qdO% z<0Hf}bx!0U4XR&0W;cWAUs8~RiN!)f#RjM#?41{Tc?n++nqpgtpgLhqBq6eF!+E4p z$YkCJ=w4VWnvFsoPU2B)UW|*~0Vw$i0%B;hS>%?>v@(+kL}|xr!U|+AF>`rjj(ejz zCsH0UT@hrGF?9*J&ul31h+9XaMnaoy>9a(3+=MeX!=xg5*ID3Hi0-%ZUGUZQF5{_W zT|)3dK(=?5@%m<5{N@d~w<3xlUC{V%pq`2ozkMWf5clt5I0`BzUk?{Ge;M&P^Evlv zK+Nd@qv*y)yTt3U$faohHu=4v44e=8o%mgTn0bQZ){@VmK+{|8%vVF%?Bx}153WlA zhr(|+6a~vfMM0#7QEQ6Ndejg^Q$ZVqI3`$Cn1m@|syOP0@&p4J21K^g?9S@oMTDP| z_dKji_NkJH-EN zFnXzf{}Sdfq3!%Xf9>Oci4*c4zaqD|;W7Q^FDC{IrVaeZuK~t%=KuMM__sDDT~PQw3q)qg(dKP&p*SKyyL`k!Y>=zlv*LsLDCxpB3_{4e`uPS0c4 z;#sjh=Is(RMv)#)J}=k}J3pM9w(-(i0?XYRS?4wjBBvJ3{(c0tD9zu4w6GyVNrMYnlu z|N76&mlXf?+j)Yl%zyvhjj?Rrzy32ToBO|hE2zlE`mf*r^U_#}e-?zc!#_I&i}25p zp{?*w453x{C#Yf({<&pnEBtfq(klFuEMO7-Nfu};{68iOM>{PP|HTEMzxGc&`D+#a zi6^uU|HKn4!awnZw!;5oJfT1OPYn5M75<4Kv=0A0hTL_oCR>pVAD6#Y2>*Y9*xX5{ zBc}d=JpMUke|E+HzY0H@4KySfv;}_@3&6(tsJFPexp@I}cT;MT8sS@HVI%tG@^9%? zAUR2XflhjZ;d7{t?*;{Nqb+pzgSO+(br(A7E`JL7I%p5`St5>Wn2s1{fiVP{D7tTj z0)=S9aXE~@Anzw!ffhTocMrjw2g;!L=qwNSSMF7~0k*J)^MjSPk6!3-RYre0Op}5@ z4(C?*{UiS=h-mQFsEaIBK!*lh_SVSK-!l4E7Hu#E_yQtr_z(|+@p8VHROd7Xqh%@& z0wj6J;-hq4pfg-~6jJjqpjpw>k)vpLO$}S)+ls+6LLM(VxL4coHrjq$AQkX~cICz5 zT6ABw!f{K^5nWHrrF?R45ChjYf(rFqeDmh9hhyMHd=?W79f`K?P4ht0r>0$Xj`^ z@%YfS7XYW{vo6%@7vG)b3+!@fbJz_1C5B;?{e&U;y;x-33`*I$UaE(M^x7D9>k zyY&}DjfIc}%QV9)N?a=aM{a3YNC+>)yCaz1^W|chvmv^Co9MkkGhW=oKGm$Xc^#y- zylCxnW6Vg<&|0kgrI|owO*nf%v4q*x!~^RH*O5Ai{ri4`3R{5pF#gpzHQ?EVUf>N7 z=q94JPVIr)&}NVv72tE8)k5A=chJ(0y84}=o)-~z`8F8jISV~^7lV`|2ld7Eeh^!3 zp84c@=66kVSmBO?eN!wK-iz6!6bW6t_OvB9HnvTF?ROKa*6=G=^o>L-ze}wvj+0Rr zefCIieO8EpWsuPI+1H*b9gh`B5x(9tF2T++IPTFG8u3Nsotya`qq4#%1v&e`va!%X z*^a7?_v2eZ-1=Bow{4Z*vXv{R!3zPD?HMr|Vb`$mTWd3*k+6U=BD`je`}X^1 z%l9y8j-Q*u&aR9(Ml^~L8|YPW@hpssL@O~L4L~1AdZ56{d-tvY`EX_KO+BYy=VHgqI;vm>S!foxF- z@9W7CTfs;R>z_Y9Z+JG7VWmEZx$LvSM$(!&uu(=v72;)(U#{Tu3u4r(efvA7M0X|) z4GoO8bUr?QfuCkjV-i<3cxR+bPHz18aR~^gmJJ!A7$0tAGW+VJ0_IkO(-0LM&5Dhv zJyR^>$&)-toGyaIM@BuHU~LDo@XtdHmFN+7JiG8$o5K0U-;KT@1)7)4Hfz=^Vn%dz zT?3II&U8MG5Es}0)x~vWA_w}2qP8|yPfyPW2&u^PJ?SXC1!v%)(R^o2;e_|gMKpsS z#rp*XUBw4E0%oF5ktwJ<)Ti~naYGyicTk%d+vXy^xTCkcbm`KQ;D`|AAs`?CgNh2l zlpFfBZU}R5V8MSFU1=+Be}0AY-rz%kCPj}6M?DV$Wx@GZ57ev^6@3FTCMU#aU0qhx zGl#}x?Zh+4DljAuBTfX!>4gCfN`7;*kp(Y|a87~y^R=xluc&Ay^f?#dM_BLzKJ*)x z^6~ll`FS9MlCJ#b&6^-sV0@Tsm}`GDje163UU>a_71*qb!OSq-VMzAG158l{zk@7t z5Xx!p4pxBq=+UD&4gSy){jc`U#4YEwYyWpirjRMhm9?$;${({%xAmYBi_xF2U>ssqv z=Q>Z=Uzma=uo)S~Pbt*5Y15{SuyZ&D8YpnsjJ+Mub?DIckXo>~4havhFJ4gY<+XqsuoBK@&XDcfw-X2Z z&$_*{QNouWDCUp;>8HL!7QbDE(u>dAg@M(*_4Uhg9d3-CFTjA#84S>N)=N=F<$i5|QFQiw=T67^5mp$Qz02w2dol%hlqHRzmy(%x)|RbX>-^lXPAs&Y zmz|xBKaz4#)$1POsRakZ>D#nKdr=`H;_o|fV8x+BeVC3+SsbiabOWoSkt6HxF!5Uh zhi(5%Mb5QrX6EK0uG_m{rvCNouQR>8%)4$%AbR397mf=j>@vu0hbJi?OiOFc)BwI- zD_5^>gapfg;q9T~=Am%w?CP4tcNsA2si(IhIk`JKXOg$VkI$&zr;pR&cTwxst$TtW za>9u{I3x_y)6?6Cg*4L;?KCwLAs}3=V)=_tDb8pP6DHI{&Y#8X;x{$>>eWjZFDf&3 z7dBB({4jA@c5roF0~19dWG?raGsB?NCo)eqB-b)NwNb%)&B+c9A&7Q~z|N#eliDH5 z#6;KOZf%ShBE7L=nfP^XqE6B>SEssWKJk-;$CN2`!At9{M=!vu4rw zCP;yBkSQt9X$VVAHG+R13WM^%p(#a`lLH@qPlM$od<({A3aWw_kiWu-_JO(M=R8TD z_bs;DMsQzQtY+O>USPd4pgFOL)sX`SET9f9Shz3|vvh6^?#Iy!@myNTRM^A&DY@Hn z@lt2f!G6*t)v;s8%1ZSdzn=)ls*)AF{NYC#*gJO2xId&UIF6wNqQW0%iCHM3HBLD3 zVhSUKj35=nt*y$~5bfjRBhqCuLC!v$jX^0Bq`$c3p2@r*^uxDr)gbFzCp(6Pg)uhM zj8(<1)#sM&o1aw`G~vx=9vC}X*grUbw(CE83}D^jDx4?_~4WgjjyAo7?)x)g0Al(U|4!xw!S!%R5Yg1mWj z3AslIG#=5?;m>k%G2iIdC8CY3@$gDJk$B)hWAS5h3$9rt%(LX=WI3Nkt?#g!d}z`kmFw{6gmws@OOiyc|ZS2dh{ZrWj#;U{c7F!x^8qNmDA(PHRUd26bO)!h{LicI@zA z#!Q^+gelHopJ~7orjr?!x`!F*}dD#ag zl9e#bI@1G4bKDtO5fe$qA23K?j>4h`3RBLf7og{z#Ozp#YkFh0pp1%&e2WnMm`nM} zNXt=3uBsK#iqA^q-Z>(;6T2gud9e^Cy(dnZ^lbNr;TPfHaTqq~(W6IV=i;SheWJbB z9ZsE5T0sibBCff_U5@ZfMsGz{4m-p}ZcP-z%#xw1j|2BlTmxCGE5l~aUw8mA{-0I* zL)_%t@dM-tmcO}h;euXZ1uL*gZ4m5BXm+DdEk<5TY&s!buar?h&-Q3RJ}D^)Ck}B) z2)~LadFtn<%0XzQM%VZ*fK+JRt)+M+y;_=czD|pK%O&jJF3aa*^616Om#kZ5W+X*N zR`_@BrbK9QfF%1>D13c=XL@^kGB$uhP}{<>HZ~XG`Z}%O6%(@(qZsjo#PEw?eU;2c zG%*rWQq(AZA|~oNJD=hNCpRcz05gNc9OXm9&sZBCjRq z(~DQH4!#u&r-pA(O*n4oA0HK^vn~`9c7(fL&yCggY-RXevu)?j8yJo9WPr%p&h83N zxo)?j0lqY5bTxwy^Evz@v;H8y!{ZOL)orzv5Wbn5i?mJT2R7OyA0-S^ff)W$YERB^ zpu_0m`88>Ll&7X&M4?kpuQAzzPuc5FHD0r02du{85L%&=a@zrO?j2~u9$3kKvGnps zYfMTVq*ixxzOkPre-Xct1#aA3YOLOp%=GKmk1~}R#ZE*E^SN_Vj=G`Hsy^eu%+hT! zr0r~ArdZYzKb)PN6Yx#sPF_G}$$r8Fos`)4_zl!cmby_-S-fcYE0}ykFUXTX{DifX z|G)tIw^RO~beBI=Xp{_^X#65jtstlYQ|z7IpR0^hKSkL(PUZy%EqJl&;m3*^)kg@L zGQG1w5(}KPE*h5Ys^+kax=z|XOcu}EPGHIu1;(evkvjzkE<+cRJcYQnf=fcKWdPb@1Em_VF6UlKMZy1*m-%=r{eV5xJi>19XhOIk1O^yz2kgz zhLVg{GaF&|e6hF=pYUrB`!O6oX5$+%eWpZE?@#N~`*IYC!PDo@>rqffzwIEC(F5mo zA_3gML`1_IzCJ!jkvotf8p$1xekc3<%5>^So<6k5j(S%`1W=9=hVmV*xxum*ovsT- zMQst6A5yzxdK4^55pNK+6lSEl>5m^bE_>(Tg`#0C>dlHfh*pYu=+E=#wJ7uI8ZsiPtPoXJIZD*qv`N;OoqU}+N_9RZmKlkZ?ib71*ZR}WwDw4CM}P~-F%bpl zQKMAH?Hr{2J$wnOh_Fnhq!H)#MV%^P^{&{xTgb0rS#N3y+@UaNJ^9{6(}ef_W0M^j zYf}@4cxpSnl(Wq6sMN22Z~GNxMY9fr6yDz6J52*Lwr<_3@Tu1tEp}6p#?#i;#sOT# zerT^6K86Ta{EARc_}sPx=WJN}Ps_^I^0=Es?GdA6hQ33|#NFBD7mbQ}3Audmjw{sL zPR0)X_ryn+xbjToSu!EfxF(HZv1LdR_&kzdPX$(+F!y?g!Cm)nJdCHWUNuN{UY9$( z+SV%;vZ^{c!JyzD8HV#uAORyi$8*Dc zRm8&-{ex_7mZ9!RlKE|h))IAR!@&E z0lL}WuZaVz7ucvC4)Y8Kw;DBS)W#bnbxZN<(*`m$er-}Jn`G|e3{7S~FCqLH7KoZq zdpVp4?s<%N?YcUaRDd8*k&|&R(XxS@FKn?0^Z@oa_7dA~R*`Iti;J9Q^}`e-A~dw# z&Rx4?WPve)Co&H+xNxJkrPw=EY$Kf&ok?Ql2OdrnP1^$p4hUC2Qb|NIMA~|r$7&E-cHx;$R3$B|9^*x=;8jGZ76GhL-U$;q^yGa+evD{1ip7@p!;mWADYH%a4^C9wsf^u|krHg1@UU&~trbe_&gYwJ}x3pm-SjP|Q2DXAN8 zkR?t0*2@B?Y*JfQlr_<&9WJD*k_pV8pQ?Uz_mR7I9hV_wxDDqm8+COBgQ6N-wT%Gx3Yb4i!yb!gLu! zLS|l$NRjOQ$}O~?Hto=Y$gHY2z0ve*3m4zMm%on2TE+o95F2XP>YQYb$7eMaUH|BW zRtnszEzps~M*1V@?Sb!w8-p118Mt7<0?ALb8#df`>)J7oD~+R#Z4{yb)&VW-;$@#A zbN1-i2aHfvQJKLr!;yT_>mxgMXfd2SDmhrPN;0=-6Ro?`ZF1hK1EM%S5MxHYqJ|3B zwAo6WXsoX{Z`+>#P$qWGA3pqy4QCT`GX;>%6C6Olbnu_V6CAMBTx<+``&XoqrZX{K z536R2gf&)OLzqZt92pVp`!6m)lP2MBjVL3~o-@U9VWO_RQUYl2ea7=$w>Gs~vv#eM z?(Ibms=xI-?$GOo*v^eBIl~Kyz~`?#&!<#(2`6T5h>D7GU2Y5XmbP`DQkR*bI|j{9 zveDE5u@TjbLvuIV>RJ+-+yX0{(#s8T;*k;%lVL{4c9&1#d_#OA>26!(H&z@!zHnDa zlP_PsY(v3>qP$MLmAK5@M`w;XW>ya@(QT?Iy_>w&b;bd9IeT;yp>eCb0m9f+Y^C>8 zce^$+uxvNPq#`i;9Y)&z{{8~uJ3Vdy3M1!xc=dCayOpssNpeXqF90eO+zv$SKxEuL zpu^ixbE=l{;j*Onl`)BaL9YJ(gApQcs`Uwr01J&n+;^#rfrlpdsyEBWXAMmPcTNe5 zCoVtzbU0_IErY#{z!_aP%qiW*nEO?Z4*=AV(MuX|$A>5?7JSt={5g9$2M!)8M#%)Qqjb?+ zyH|eR-VF#$k*^$!{7(|`xUp={NSo8@mS|Z_>wb3SW^Ripy4cQaOPOSB?C86=cf#Th zV4qSZb2lyA-4hEd4jnpVBy9`KBfb1BtG;oi?FRU4$x*3}io4x#0RwK#`qXD;_s*$I zgfg-d&X5i6uitE2Z0v3Vphf$p?+lWWHhX>3Y69pHcZA|;_ujp#hYufK8d=Zs$W_wu zJD8iv1JNo9Hm-N?cmeVobQ)R#tLS;9ea=gpGa;j*aEi~3X!AZfz6*hEiB@&Va%DaV z1OcePf7mALJ&q=$+m=w%-J;wOr5CODixNz#BRAs_PZ>X-!Y|!%^ciN~L_^=TUfZ~4 zU6z62?{VB;_;JRpSrHU~UHkSO=jG4ha#B{_0^nR=vwF_6($a>67X7KGB;>5vwX37d zTXH~naspY~+NLb*Jbv?y5-PsY4h}6|EI9r1kMS{uVkviQmuZu#^>%^r^K)K3$TxSf zITP2XBKiHm>y%52RAX-wdB}9Kabr>RpF6c^Wbu0g%SYe)m-NdT?wLsq3LqttY1wMl z>`T3nq3jvKGZrj3_PF~K#igsuP*?{&c3QD7t^mz30Eel5H=B1DWdE+??74H*0I$wv zXXr*`Zm_hl_>kRx-t4BU%9!wfXl$8z0pYw94QrKx_4z$Q@03;BecOXaijIN7c;CVV zECV!A3cE=1s8sO2Bj(BEBnJxDlhj_iaKXGRxbt6S$fqlJXVh(p;Q8anJsf@=xmNE{ zDxg`C=L_y3rKcQa6wjA2GZPekmrLUp3kJ(KsNWl)+Z4(|q?B=Rb6Zbk8+k$H%$Fie zdBJf?&jqm#kD^48_%?hv1+KfF-=XxZxWx?1A#pFdPk>gT7KvtVZgGaM=U!9U?nq%R zh-<|Xta>=SMjbMU`@Z&5kL^2lP}Ex-@$?-!uYLRW(SfA_k5S^5qR(XR{pD;c0r=%J zlSqmoNo3Tg@%gP)_7rd_qV7vG$9nwu(ROxCY1JJW&}s{yC}EESjey&jgq)1b=Z~zt z=i?$iFQgm?;!FGSbBz6p@(K!CgWxFC{xm4DdK(pWVLWNA zR1Vrv*F_~0XiO&fWgE9!pjP+#gHIwmV=I4yse zx&%z1!{7xf;;5Ld)@ytYKsUfWcP8xZbkc&0)vsT_wWu1_xx&5lenF*X3<-7%ol&z* zf0~wD{>HL+-ev%+#C`i3lAaen$OM;4qT|_At7uVPW%Z3aCL?YEL-VZgwa@?d);{Of zt#D9qQtpjWQT4(t61PT=YmZBVbaHx(+iB+H)J9a==sgOK?djiNGS+9$JWzEU|7u81 zmxbN^ynMU2Ty5_8V+=bZAEh!;Q&^w)eqg(VfSoxrjh{X`nOVGLJThb<>FMdWy{95) zq28%evxK1chHNR4Jxx-8D_{oUC0uPbw@qtHo5(uM_05LAr{W^-%R)k$2jt~Bu;QR4 ze|C5rSUF8JvxhEzduPb&=RkGHCO%RuNr3X@10#2!uYl8tX02_Np_50FgsY+GWQXQKDh33 zmMQQj>NPZ!wGdI!kT-W3vac^mjiHH21YJ#=IT>hIE*jVW;e!V>Ak`X&E0f^e8SGw@ zqWe7LVal*7Rj*zf{vbvZ0_|TdJ!6wv>eD14IQX?lTzN1Y>f>e8x^aD^X2WO~6g=oe z?*@=3JH;cyxSKC9hJP)TfoI4(Xa7CEE9(Vx^Ag%aA6U)GKtuSUvqN@;#sn|^Cs&svdP_Kwmp0HJWrm{0^o{9dm;-54E0p@ zJ6e8CcWjBV?q=V!wb&os9^)QZZ$x`0Z6|Fr_G)Z0@3BZ$mhSA9d*g-(Y=6YyNP2#H zmA|rK=~~xLefU*Bd#_1OrI+PutFECdW>tLCHKJ)MZ8$_bcU8YZOm+DP@2N#sSfh6O z8kdj_rw=2hKV`!nb3BM{=Bg_mPX~Yc#YNYTr)Y>`jSSg?Od~uCc+^Z#OO%Tec#2vl z59V$=nU+?tqsC!Oyz%a)UZvId0r3E-bI(m%?3Tb4=@+tV@ml)ngqvgKPk;4{&yOo24dYAJx|WLsM8;NJe_V zoX|5jGkZ6^H_eNrjEt#%XW<<9>hJCnb^T|imD7#QII0RCJ_h4R0=-bJX_LBgWrLZ< zntk0eR*Apyt26B5kyOZHb&+07W?C`)Wj+m{^<>3Kr%pM0`fn9z+Q_H{=$YHO4SDJn zrt?7X@H1;Dkr$l=qrYu=fU0mwf4yV&a8N&*+S=srZ{9Q>I&|p7$&)>i2U-+IveAG= zCm;eegds)28uC_LnLBpCTJLYrq)0c3Sh;dHs8MeJE{&F7s7b!Tla{wgzuU3vChPZV zts>k|GG6)ws>-#T91HHjy`Z9#-`A2@7N!hldEGm+%UNIJ*d=L!izFrMCvMDnGm$@@ zHZ2mA?>u$$^C2LTu48ZZqG)f5+kzEpA-8Y#;V)?rY_%EH#_RNvGrCXWXZiXzAt%H7 zyA=?Ph-!khHjjMJ8!%%NdI;vBs&hIt&rus=lan%$62Rwu^sAAH_NB{K_8hBwuZ=n< zT0QQ7AlL5(`aKvM7w&Cjl8y>UgNv6gr4kV$FDUJJ{BcLARw%EZe`eR=d7J4P(2Fj9 z;{E7ThoVLM=f%cX?#LH_ENgm5D?tfkZX3&n9aXfc!y&2Pfj~ z#n}4=6xh;Kl{JUF1ZQ1M5{Gq5|DHX|T?{`5{*KHWZKWd3L7y{B*Uq!~tC=lP@g{v9Ogdap|0qMC(ZwspFF+4gX+*j=u5pjNh=>VkTN~^ zAw9mt4-CvbOVZ#uVh71AD{HA;>-U@@&!-=6P{00DR1l;BTmG=o@1j%*fTdOMGKiIo znm-M4a4Qp`G*6Q?G%0yai}xu#tElcZ5G@M@N;*(8iJeCu^`L$%J><(CMk2%%S=|IG z1niJE_cSc45B7a%+_`k9hT6GKt#oad!^e`^eg0HzG8~R9KFMiK2LN$|2`&g8u0zaw zpO<#N#?dEFpC&GOVmS@}w=gU(>(lHj{Hlg6qYAZe+3y>89f35Y9|^pbe`*{Up7<4| zcZnvda^_e*KkoV$C~gryr^y+|S=aKmDv2oAwVO9DldKj59VAYlT|(-KUeXH6y~v_r z0|&Nc7@ZidwZXe5y>;~ac3tR6&x~_Blx}s-0=swlh0WPI2PRj4zBSW}WT1$`UgUdO z5(jE@qis@YUZ4B&92y7#aldIRA)t_|@7K?-jJ*uPOhJIgZ%TFr#xJXQAdPB&=x3*E zZ@<#tDDBn`)?@+!reU*Yg-fTKLMZ^J73qJ&Q6syyK>I}$dm{rk(M?TA=<;-0ito*` z96cHZ!LO5J00_{(-akJWHHxb!XQg*Kq8*nRM}iO-7)bfrloQL!?+=I&g5H9z=bp&Z zDyWPtzy7iG&p(^tv$^c!m9|=0tEFjy^MRm$3au~AVod`~#JVUYMIVSGKd1s&QMkv^-VV+G3Mz|>SPw+7qh&t!m;ek~% zV8>iM18xjwprvk?G`pUMU5=~LdHVHvjH7pFMC`1@9!fF+`ngtK<)r|3L>+iKlXqSH1o;DRL=g?9?CZih<8&~^ zaz~l0k9*|iyadlnKn)$~BcK-P?hjkx`}gkz%-xQe-jo<3?$1lIe3TLvmzSXqi*IG9 zRagJLHEeCbK+Ipi zy^0r)z9ue?Z!X>Wad#Hk0OHL(k&@}7f8*M<^XS~zvng|OY#_JTf34`MWsMbcKOHO(Fp#zPzw#Z~876pmuFi}vPQzQh- z7GrV3aFT=zx)CghUZMo;=y-#KMyd;x)B!I;Kq#-xG=^{C&gmh%AyO90 z+5Jp#Y9xw60S&U(+2wdzewm!SKY2P#H48++)LJD1C&9< zq%mws6{Hg*6!Q|_dQS7a^XO6g=ADOM=KR`LJmC9ABU$aYB(~XbcCAiM#xTTkn;AU(OZ8I%C}B+mhXk&Wa4 zH0!y;(zT{tU_tdOIb-^Bj(tx;fTWB-K~gG9<$&nz->e^SRza&_(b#nl9S_M6C}VHG zR+|z%ACu72o={VtrS=j51YXc zuJ_pgRYw+|7!UFse_puo5@)2;c!wSx=DcP>45r`~7zrK?0>GU>W-KYsi2~f!JuSb3 z{?>!%BX-snCmNCK01W%;kGuzkN~j%>2)?3$sZfw&lTUOVj)pA+sYYeUo3<2BF>+IF z_9JC?WGlI?t-^<5FUq3^tgI}<*Mkf zgHou%M5NHPm@}sr?a#fR21WSf?`UG%9!@FA8`GxrAV;7t)mnj~#D4d}$i8INbetN+03Pcmiw!8js|U zdC0!X)rqDR00B?JVcN8&rM~A$0g}=;=I^JM#jb~PM#bnnXmAdpquYId^lp$rWS0_`s_K;2KO7f+G+*&UfdO+ z@5 zNuMT<&||xEQ0ncLt0OjBcdKJeKuhcb8A$MbG7D+ohZbMWDf@<^nG7i?e2(PeFDCu4 zL*|=vcO({X!JVeBFh0b=LMX|6>HdPV{&vcQx+wa2?rMZ@+uXi=TYUfMKseBwfXz*{cLBZ4uXy_XSk#Ko2(Ki) zXY0l@XU=RGWk5i_7w{+}V;C%`1Af2l%&6}(c8esl$mxfHqr+v~7#G)!RF$qUQOnsc zi^^*>tv*^TkWBS$|Kbleg1dR>9o^<|k|nq8ZrmctzTn_eRPML4R-^}SkK4IZjRqLH zmp0c%!Ns(9a!O83+X&$Cc>65qsGH*Bn?py{{&ar2dEo7#ECmx26LBob&McrV?qX`% zkr#(WvcI3%NND^p6bX&o?mNFWHx<67un5xA7oB@pSCH_b+O=0(vnZ1{O8jqi3`A@3Rj#FgX! zy4B4+H`jT1c_rUnOr!5sevOc1fle-6zP#sgO|k*a{1q#d>4(|2^Og*nE%*@;Y0Zo* zazomgyOf5EhnQsnZV8r={>7X1Mq5#KBS3X%l~tmB0%;Y@ii;IvZEdY)%;^<}ldc^wh&e=jTD8JCUxY4BSxIszf)=W>UzA?LjbGd0HsC#;Ob(gE0 zIa3AVTL1Rg1EJOlr;z;xFz$dgS~4k2{s~U0omcI~~`QE{PX(X}G5Y z;)2JFS^dE;W&9)y%VKwwoJ2ImU%V|cjskFDAh zBk2F_>(h3%l~#|N>2`W^o|l$7AGxWVJ0f444M7TdlEuZzcmc z$fW&E2TbGqc4{!2xhaT6wAW(5i!uk89~nET>YD zgpKPXr6wg5M`A#0gEQN$KCk=vX02&KWk(YXbVTPAgA6kgV>kPjExFrSz2_YINt5$svlJ%nG4^Q7r%J-ZcFkDteO8<`%_`R?lCv&1X|m+mDa6f z?W9~4eS3|xs+}_EW$kb^|CJq~NJ-YjnOo*`adX|H{`}kb+Seq8Bme*V(yA%PKqv@+ zR$63YS*sc+AwR=5FgT<6c|-!)W@O(FujUZjIckFQZgoi-(dg>;;*~tpt@Y|;Evw2} zWR;p`X`CQ$bXVJ)KdBfiNgWP{~&Sbqw)_D zhXoD)LE`ZLF7!X2W!=~RcSq}>^8ffH>HpT~-zUkxfBS!ICiTgaCRq^h_U;|!+_U9s zw;54&A?iPWv2IU0dH!iSKK(wR{QAFtlm;)i?&i3*!l7>z84t&MK|ulZB$)*TG@!^^ zLF?qGIkoeTw~PPEtN&yD=GD%5nAS@n`IsSf$Fo4HHV*JEE!JLvGjCz2uAoy$*vq{3 z5C69n-GMD*f-ifde%LTkuf77T&z5949A=zc1g%Fd0zj;%fx&3-Sh`}Qw9`NA|F3{p zQv-G=|Nio26=p^^T6ZHkR4BqNlul1|i*0f3!UZK>W?xE*6}(JJLh{9Wr>8a}VT75X zZU4V-i2UitR0doK%ye(%4p?58mS_C*Q?pGALMeQDK^+k>WVoVA zd?YFNED{xpiB3-Ejz$4m{qG-DXDQA|arwz(u;2m(zUtVqDRnl~>2WHGmL;l?{(&Tg z7cqmkr$5+mPMG36lezVGs{Y3#{p(B9UVz$@4^K6x?xAxZR${Sd1BER!N^*^SLbymg z*CdWj#=Lo7ttGbqUaJ54B6ovD;&Mo5&ibRscBnQ1)7{DI!Oz`Iwbl30!juojx52ay zPtRJ&n=N^h-@ zE+%D2;_Y_-^}%WevyS))x*whpPd6vhe3+|FKx^At%YVPm-(P%=(Yd?%)~i~jUelLq V8%O+4v+; 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�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Иvn<`+aw*9BA_ANVI-Gbs;xVUpc0fb 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 literal 0 HcmV?d00001 diff --git a/8.0/manual/files/screenshots/start6.png b/8.0/manual/files/screenshots/start6.png new file mode 100644 index 0000000000000000000000000000000000000000..b961511d670c965712544bcb1f45a610e1094f01 GIT binary patch literal 160446 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 Tgsct-&ZN$qw6iI;z8L#=uPT2c literal 0 HcmV?d00001 diff --git a/8.0/manual/files/screenshots/start-mobile-6.png b/8.0/manual/files/screenshots/start-mobile-6.png new file mode 100644 index 0000000000000000000000000000000000000000..4286da90b663cc9de3da4de3191f34a277b43d98 GIT binary patch literal 105954 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

    _KhBD=wL0S_1Zid5>~{5*zT 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�+tOzvUel(Jn%-_sCdA!sOkxEW*e#8m6q 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≧̸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
    CYd4AZ`RQLXeq@ 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

    Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Writing a client/server Eliom application

    In this chapter, we will write a collaborative +

    Writing a client/server Eliom application

    In this chapter, we will write a collaborative drawing application. It is a client/server web application displaying an area where users can draw using the mouse, and see what other users are drawing at the same time and in real-time. diff --git a/dev/manual/basics-server.html b/dev/manual/basics-server.html index 519ee84a..7bb9fe63 100644 --- a/dev/manual/basics-server.html +++ b/dev/manual/basics-server.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Server-side website programming guide

    While Eliom is well known for its unique client-server programming +

    Server-side website programming guide

    While Eliom is well known for its unique client-server programming model, it is also perfectly suited to programming more traditional websites. This page describes how you can generate Web pages in OCaml, and handle links, forms, page parameters, sessions, etc. You will see diff --git a/dev/manual/basics.html b/dev/manual/basics.html index 89980597..489624ba 100644 --- a/dev/manual/basics.html +++ b/dev/manual/basics.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Client-server application programming guide

    This tutorial has been tested with Eliom 11.0.0. +

    Client-server application programming guide

    This tutorial has been tested with Eliom 11.0.0.

    This page describes the main concepts you need to master to become fully operational with Ocsigen. Use it as your training plan or as a cheatcheet while programming.

    Depending on your needs, you may not need to learn all this. Ocsigen is diff --git a/dev/manual/chat.html b/dev/manual/chat.html index bb3d665a..251ff2f5 100644 --- a/dev/manual/chat.html +++ b/dev/manual/chat.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Chat: Design Overview

    Chat is a chatting module and application, currently for conversations +

    Chat: Design Overview

    Chat is a chatting module and application, currently for conversations between two users each. (Extension for multi-user channels is left as an exercise to the user.)

    You can find the code here. diff --git a/dev/manual/custom-conf.html b/dev/manual/custom-conf.html index 4a8f65c5..ab3dde58 100644 --- a/dev/manual/custom-conf.html +++ b/dev/manual/custom-conf.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Custom configuration options

    It is not convenient to have to edit the code to change some +

    Custom configuration options

    It is not convenient to have to edit the code to change some configurations, like the location where are saved the favorite images in the Graffiti tutorial (see: Saving favorite pictures). diff --git a/dev/manual/hash-password.html b/dev/manual/hash-password.html index c952e574..c279a9c0 100644 --- a/dev/manual/hash-password.html +++ b/dev/manual/hash-password.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Protecting your passwords

    For protecting the user passwords or other sensitive data, +

    Protecting your passwords

    For protecting the user passwords or other sensitive data, we can use ocaml-safepass.

    We can now write the encrypted password in our database diff --git a/dev/manual/how-do-i-create-a-cryptographically-safe-identifier.html b/dev/manual/how-do-i-create-a-cryptographically-safe-identifier.html index 6459c5fb..f37ac850 100644 --- a/dev/manual/how-do-i-create-a-cryptographically-safe-identifier.html +++ b/dev/manual/how-do-i-create-a-cryptographically-safe-identifier.html @@ -44,4 +44,4 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    +

    diff --git a/dev/manual/how-does-a-page-s-source-code-look.html b/dev/manual/how-does-a-page-s-source-code-look.html index bad3ec74..e1040076 100644 --- a/dev/manual/how-does-a-page-s-source-code-look.html +++ b/dev/manual/how-does-a-page-s-source-code-look.html @@ -44,7 +44,7 @@
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How does a client-server app source code look like?

    Eliom client-server applications

    Eliom client-server applications are running in your browser for a certain lifetime and consist of one or several pages/URLs. +

    How does a client-server app source code look like?

    Eliom client-server applications

    Eliom client-server applications are running in your browser for a certain lifetime and consist of one or several pages/URLs. An application has its associated js file, which must have the same name (generated automatically by the default makefile and added automatically by Eliom in the page).

    For example, we define an application called example:

    module Example =
    diff --git a/dev/manual/how-to-add-a-div.html b/dev/manual/how-to-add-a-div.html
    index 26eb36e3..56b13cae 100644
    --- a/dev/manual/how-to-add-a-div.html
    +++ b/dev/manual/how-to-add-a-div.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add a div?

    div ~a:[a_class ["firstclass"; "secondclass"]] [txt "Hello!"]

    Required parameter: list containing other elements +

    How to add a div?

    div ~a:[a_class ["firstclass"; "secondclass"]] [txt "Hello!"]

    Required parameter: list containing other elements (Details of available elements in type Html_types.flow5).

    Optional parameter for attributes "a" (How to set and id, classes or other attributes to HTML elements?). diff --git a/dev/manual/how-to-add-a-favicon.html b/dev/manual/how-to-add-a-favicon.html index 1a130c3a..7e5bf693 100644 --- a/dev/manual/how-to-add-a-favicon.html +++ b/dev/manual/how-to-add-a-favicon.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add a Favicon?

    A favicon is a file of type "ico" which contain a picture of size 16x16px. It is the picture that you can ususally see next to the title of the page on a browser. +

    How to add a Favicon?

    A favicon is a file of type "ico" which contain a picture of size 16x16px. It is the picture that you can ususally see next to the title of the page on a browser.

    favicon for Ocsigen.org

    By default, all browsers look for a file favicon.ico at the root of the website: diff --git a/dev/manual/how-to-add-a-javascript-script.html b/dev/manual/how-to-add-a-javascript-script.html index 545597a7..8e6754b4 100644 --- a/dev/manual/how-to-add-a-javascript-script.html +++ b/dev/manual/how-to-add-a-javascript-script.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add a Javacript script?

    If you have client-side programs on your website, you can use Eliom's client-server features, that will compile client side parts to JS using Ocsigen Js_of_ocaml, and include automatically the script in the page. But in some cases you may also want to include yourselves external JS scripts. +

    How to add a Javacript script?

    If you have client-side programs on your website, you can use Eliom's client-server features, that will compile client side parts to JS using Ocsigen Js_of_ocaml, and include automatically the script in the page. But in some cases you may also want to include yourselves external JS scripts.

    Include the script on the html header

    Javascript scripts are included in the header using the js_script function (defined in Eliom_content.Html.D).

    open Eliom_content.Html.D (* for make_uri an js_script *)
     
    diff --git a/dev/manual/how-to-add-a-list.html b/dev/manual/how-to-add-a-list.html
    index e5772cf0..25b23287 100644
    --- a/dev/manual/how-to-add-a-list.html
    +++ b/dev/manual/how-to-add-a-list.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add lists in a page?

    Simple list and ordered list

    Simple list
    ul
    +

    How to add lists in a page?

    Simple list and ordered list

    Simple list
    ul
         [li [txt "first item"];
          li [txt "second item"];
          li [txt "third item"];
    diff --git a/dev/manual/how-to-add-a-select-or-other-form-element.html b/dev/manual/how-to-add-a-select-or-other-form-element.html
    index 44def791..298b9cb8 100644
    --- a/dev/manual/how-to-add-a-select-or-other-form-element.html
    +++ b/dev/manual/how-to-add-a-select-or-other-form-element.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add a select (or other form element)?

    In forms towards Eliom services:

    open Eliom_content
    +

    How to add a select (or other form element)?

    In forms towards Eliom services:

    open Eliom_content
     
     Html.D.Form.select ~name:select_name
       Html.D.Form.string (* type of the parameter *)
    diff --git a/dev/manual/how-to-add-an-image.html b/dev/manual/how-to-add-an-image.html
    index 3e779b87..a6d52ff0 100644
    --- a/dev/manual/how-to-add-an-image.html
    +++ b/dev/manual/how-to-add-an-image.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add an image?

    Internal image +

    How to add an image?

    Internal image

    img ~alt:("Ocsigen Logo")
           ~src:(make_uri
                   ~service:(Eliom_service.static_dir ())
    diff --git a/dev/manual/how-to-add-css-stylesheet.html b/dev/manual/how-to-add-css-stylesheet.html
    index 96820cbb..6960f375 100644
    --- a/dev/manual/how-to-add-css-stylesheet.html
    +++ b/dev/manual/how-to-add-css-stylesheet.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to add a CSS stylesheet?

    Warning: css_link and make_uri come from Eliom_content.Html.D module. This module is opened for each piece of code +

    How to add a CSS stylesheet?

    Warning: css_link and make_uri come from Eliom_content.Html.D module. This module is opened for each piece of code

    CSS stylesheet are included in the header using the css_link function.

    css_link
          ~uri:(make_uri (Eliom_service.static_dir ())
    diff --git a/dev/manual/how-to-attach-ocaml-values-to-dom-elements.html b/dev/manual/how-to-attach-ocaml-values-to-dom-elements.html
    index 83e31702..c6406f87 100644
    --- a/dev/manual/how-to-attach-ocaml-values-to-dom-elements.html
    +++ b/dev/manual/how-to-attach-ocaml-values-to-dom-elements.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to attach OCaml values to DOM elements?

    It is often convenient to attach OCaml values to certain elements of +

    How to attach OCaml values to DOM elements?

    It is often convenient to attach OCaml values to certain elements of the page. There are several ways to achieve this.

    • The first possibility is to use DATA attributes (for example if the page is generated on server side). diff --git a/dev/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html b/dev/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html index 66ba9fc8..53a1410b 100644 --- a/dev/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html +++ b/dev/manual/how-to-attach-ocaml-values-to-the-html-nodes-sent-to-the-client.html @@ -44,4 +44,4 @@
    • Source code

    Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    +

    diff --git a/dev/manual/how-to-build-js-object.html b/dev/manual/how-to-build-js-object.html index e7a53ca7..9ff63818 100644 --- a/dev/manual/how-to-build-js-object.html +++ b/dev/manual/how-to-build-js-object.html @@ -44,7 +44,7 @@
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to build js object?

    Use syntax new%js: +

    How to build js object?

    Use syntax new%js:

    Example:

    let get_timestamp () =
       let date = new%js Js.date_now in
    diff --git a/dev/manual/how-to-call-a-server-side-function-from-client-side.html b/dev/manual/how-to-call-a-server-side-function-from-client-side.html
    index 60104ca9..3e1bd9ec 100644
    --- a/dev/manual/how-to-call-a-server-side-function-from-client-side.html
    +++ b/dev/manual/how-to-call-a-server-side-function-from-client-side.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to call a server-side function from client-side?

    It is possible to call server-side functions in client-side. +

    How to call a server-side function from client-side?

    It is possible to call server-side functions in client-side. For security reasons, these functions must first be declared explicitely as RPCs (with the type of their argument). diff --git a/dev/manual/how-to-call-an-ocaml-function-from-js-code.html b/dev/manual/how-to-call-an-ocaml-function-from-js-code.html index 68b4d725..4504d032 100644 --- a/dev/manual/how-to-call-an-ocaml-function-from-js-code.html +++ b/dev/manual/how-to-call-an-ocaml-function-from-js-code.html @@ -44,4 +44,4 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to call an OCaml function from JS code?

    Have a look at function Js.wrap_callback

    +

    How to call an OCaml function from JS code?

    Have a look at function Js.wrap_callback

    diff --git a/dev/manual/how-to-compile-my-ocsigen-pages.html b/dev/manual/how-to-compile-my-ocsigen-pages.html index e3c831e5..8a2c98e2 100644 --- a/dev/manual/how-to-compile-my-ocsigen-pages.html +++ b/dev/manual/how-to-compile-my-ocsigen-pages.html @@ -44,7 +44,7 @@
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to compile my Ocsigen pages?

    Eliom distillery

    Eliom-distillery will help you to build your client-server application +

    How to compile my Ocsigen pages?

    Eliom distillery

    Eliom-distillery will help you to build your client-server application using Eliom. It comes with several templates ("client-server.basic", "os.pgocaml", and more to come ...). diff --git a/dev/manual/how-to-configure-and-launch-the-ocsigen-server.html b/dev/manual/how-to-configure-and-launch-the-ocsigen-server.html index 6b284a9d..d6d71803 100644 --- a/dev/manual/how-to-configure-and-launch-the-ocsigen-server.html +++ b/dev/manual/how-to-configure-and-launch-the-ocsigen-server.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to configure and launch the Ocsigen Server?

    Default configuration file

    Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to create a link to the current page (without knowing its URL)?

    Void coservices are here for that: +

    How to create a link to the current page (without knowing its URL)?

    Void coservices are here for that:

    a ~service:Eliom_service.reload_action
       [txt "Click to reload"] ();

    More information in Eliom's manual, and API documentation of diff --git a/dev/manual/how-to-detect-channel-disconnection.html b/dev/manual/how-to-detect-channel-disconnection.html index bf0e37b5..8f10967a 100644 --- a/dev/manual/how-to-detect-channel-disconnection.html +++ b/dev/manual/how-to-detect-channel-disconnection.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to detect channel disconnection

    Question

    Is there a way to detect that some Eliom_comet channel became +

    How to detect channel disconnection

    Question

    Is there a way to detect that some Eliom_comet channel became disconnected? I would like to warn the user if the server becomes unreachable.

    Answer

    If you are using Ocsigen-start, you probably have nothing to do. diff --git a/dev/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html b/dev/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html index 7883fe53..754d1983 100644 --- a/dev/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html +++ b/dev/manual/how-to-detect-on-client-side-that-the-server-side-state-for-the-process-is-closed.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to detect on client side that the server side state for the process is closed?

    If you are using Ocsigen-start, you probably have nothing to do. +

    How to detect on client side that the server side state for the process is closed?

    If you are using Ocsigen-start, you probably have nothing to do. Ocsigen-start will monitor the life of sessions and close the process when needed.

    If you are not using Ocsigen-start, you must catch exceptions diff --git a/dev/manual/how-to-do-links-to-other-pages.html b/dev/manual/how-to-do-links-to-other-pages.html index ab6e0268..1be36571 100644 --- a/dev/manual/how-to-do-links-to-other-pages.html +++ b/dev/manual/how-to-do-links-to-other-pages.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to do links to other pages?

    Examples: +

    How to do links to other pages?

    Examples:

    (* Link to a service without parameter: *)
     Html.D.a ~service:coucou [txt "coucou"] ();
     
    diff --git a/dev/manual/how-to-implement-a-notification-system.html b/dev/manual/how-to-implement-a-notification-system.html
    index 5960300d..ff83c04f 100644
    --- a/dev/manual/how-to-implement-a-notification-system.html
    +++ b/dev/manual/how-to-implement-a-notification-system.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to implement a notification system?

    The easiest way for the server to send notifications to the client is +

    How to implement a notification system?

    The easiest way for the server to send notifications to the client is to use module Os_notif from Ocsigen-start (OS), but it requires to use OS's user management system. If you are not using OS, we recommend to get inspiration from diff --git a/dev/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html b/dev/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html index 3c7aa5ea..2c8cc296 100644 --- a/dev/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html +++ b/dev/manual/how-to-insert-raw-form-elements-not-belonging-to-a-form-towards-a-service.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to insert "raw" form elements (not belonging to a form towards a service)?

    Eliom redefines most forms elements (inputs, textareas, checkboxes, etc.) +

    How to insert "raw" form elements (not belonging to a form towards a service)?

    Eliom redefines most forms elements (inputs, textareas, checkboxes, etc.) to make possible to check the type of the form w.r.t. the type of the service.

    If you don't want that (for example if you want to use it only from a client side program), you can use "raw form elements" (that is, basic tyxml elements), using diff --git a/dev/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html b/dev/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html index ce838050..c6a20630 100644 --- a/dev/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html +++ b/dev/manual/how-to-iterate-on-all-sessions-for-one-user-or-all-tabs.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to iterate on all session belonging to the same user, or all tabs?

    You must create a session group for each user, then iterate on all +

    How to iterate on all session belonging to the same user, or all tabs?

    You must create a session group for each user, then iterate on all the sessions from this group, and possibly on all client processes for each session:

    (* We get the session group state for this user: *)
    diff --git a/dev/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html b/dev/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html
    index f521afec..a41707bd 100644
    --- a/dev/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html
    +++ b/dev/manual/how-to-know-whether-the-browser-window-has-the-focus-or-not.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to know whether the browser window has the focus or not?

    Example: +

    How to know whether the browser window has the focus or not?

    Example:

    let has_focus = ref true
     
     let _ =
    diff --git a/dev/manual/how-to-make-hello-world-in-ocsigen.html b/dev/manual/how-to-make-hello-world-in-ocsigen.html
    index c528bbff..5ef4a47d 100644
    --- a/dev/manual/how-to-make-hello-world-in-ocsigen.html
    +++ b/dev/manual/how-to-make-hello-world-in-ocsigen.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to make a "hello world" in Ocsigen?

    Here it is! The famous "Hello World" for a client/server Eliom application: +

    How to make a "hello world" in Ocsigen?

    Here it is! The famous "Hello World" for a client/server Eliom application:

    open Eliom_content
     open Html.D
     open Eliom_parameter
    diff --git a/dev/manual/how-to-make-page-a-skeleton.html b/dev/manual/how-to-make-page-a-skeleton.html
    index e5011b72..25c0123b 100644
    --- a/dev/manual/how-to-make-page-a-skeleton.html
    +++ b/dev/manual/how-to-make-page-a-skeleton.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to make a page skeleton?

    The same header for all your pages

    When your site will grow, you will have several different services for pages which will often contain the same header informations. +

    How to make a page skeleton?

    The same header for all your pages

    When your site will grow, you will have several different services for pages which will often contain the same header informations.

    A great solutions to avoid code copy-pasting of these recurrent informations are to make a page skeleton function:

    let skeleton body_content =
       Lwt.return
    diff --git a/dev/manual/how-to-make-responsive-css.html b/dev/manual/how-to-make-responsive-css.html
    index 45bfb7b8..09a4727e 100644
    --- a/dev/manual/how-to-make-responsive-css.html
    +++ b/dev/manual/how-to-make-responsive-css.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to make reponsive CSS with ocsigen?

    The best way to do that is to make one general css sheet plus three css sheets, small, medium and large screen using media queries, a feature introduced in CSS3. +

    How to make reponsive CSS with ocsigen?

    The best way to do that is to make one general css sheet plus three css sheets, small, medium and large screen using media queries, a feature introduced in CSS3.

    Write theses lines in your css sheets:

    @media only screen and (max-device-width: 480px)
     @media only screen and (min-device-width: 481px) and (max-device-width: 768px)
    diff --git a/dev/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html b/dev/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html
    index 01ce659f..51a91a46 100644
    --- a/dev/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html
    +++ b/dev/manual/how-to-make-the-client-side-program-get-an-html-element-from-the-server-and-insert-it-in-the-page.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to make the client side program get an HTML element from the server and insert it in the page?

    A very convenient way to do that is to use RPCs : +

    How to make the client side program get an HTML element from the server and insert it in the page?

    A very convenient way to do that is to use RPCs :

    let%rpc get_mydiv (() : unit) : _ Lwt.t = div [ ... ]
    [%client
       ...
       let%lwt mydiv = get_mydiv () in
    diff --git a/dev/manual/how-to-register-a-service-that-decides-itself-what-to-send.html b/dev/manual/how-to-register-a-service-that-decides-itself-what-to-send.html
    index 26321884..2ea61395 100644
    --- a/dev/manual/how-to-register-a-service-that-decides-itself-what-to-send.html
    +++ b/dev/manual/how-to-register-a-service-that-decides-itself-what-to-send.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to register a service that decides itself what to send?

    Use Eliom_registration.Any. +

    How to register a service that decides itself what to send?

    Use Eliom_registration.Any.

    In the following example, we send an Html page or a redirection:

    let send_any =
       Eliom_registration.Any.create
    diff --git a/dev/manual/how-to-register-session-data.html b/dev/manual/how-to-register-session-data.html
    index 49f7ccf9..83bd0de2 100644
    --- a/dev/manual/how-to-register-session-data.html
    +++ b/dev/manual/how-to-register-session-data.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to register session data?

    It is very easy to register session data using Eliom references. +

    How to register session data?

    It is very easy to register session data using Eliom references. Just create an Eliom reference of scope session and its value will be different for each session (one session = one browser process).

    But most of the time, what we want is to store data for one user, diff --git a/dev/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html b/dev/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html index 818357f9..88af66b8 100644 --- a/dev/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html +++ b/dev/manual/how-to-send-a-file-to-server-without-stopping-the-client-process.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to send a file to the server without stopping the client process?

    This requires Eliom ≥ 3.1. +

    How to send a file to the server without stopping the client process?

    This requires Eliom ≥ 3.1.

    Due to security reasons, browsers have limitations on sending files. But if the file is chosen by the user through an input file element, there is a way to send it to the server. You can't use the server_function diff --git a/dev/manual/how-to-send-file-download.html b/dev/manual/how-to-send-file-download.html index 9ea7e514..40fd9508 100644 --- a/dev/manual/how-to-send-file-download.html +++ b/dev/manual/how-to-send-file-download.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to send a file (download)?

    To serve file, you can use Ocsigen Server's module staticmod. +

    How to send a file (download)?

    To serve file, you can use Ocsigen Server's module staticmod. But it is also possible to ask Eliom to send files using module Eliom_registration.File, for example if you want Eliom to perform some privacy checks before sending, diff --git a/dev/manual/how-to-send-file-upload.html b/dev/manual/how-to-send-file-upload.html index 8e1cd1e9..5fa86f7d 100644 --- a/dev/manual/how-to-send-file-upload.html +++ b/dev/manual/how-to-send-file-upload.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to send a file (upload)?

    To upload a file, use Eliom_parameter.file as service parameter type. +

    How to send a file (upload)?

    To upload a file, use Eliom_parameter.file as service parameter type.

    Ocsigen server will save the file at a temporary location and keep it there during the request. Then the file will be removed. You must link it somewhere else on the disk yourself if you want to keep it. diff --git a/dev/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html b/dev/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html index fe4d42c6..186faf51 100644 --- a/dev/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html +++ b/dev/manual/how-to-set-and-id-classes-or-other-attributes-to-html-elements.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to set and id, classes or other attributes to HTML elements?

    Mandatory element attributes are given as OCaml named parameters to +

    How to set and id, classes or other attributes to HTML elements?

    Mandatory element attributes are given as OCaml named parameters to constructions function.

    Optional element attributes are added using the optional OCaml parameter "?a" which is more or less available for every HTML5 elements. This parameter is taking a list of attributes compatible with the element.

    div ~a:[a_class ["red";"shadow"];
    diff --git a/dev/manual/how-to-stop-default-behaviour-of-events.html b/dev/manual/how-to-stop-default-behaviour-of-events.html
    index 7d764290..e32c4fc2 100644
    --- a/dev/manual/how-to-stop-default-behaviour-of-events.html
    +++ b/dev/manual/how-to-stop-default-behaviour-of-events.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to stop default behaviour of events?

    Example: +

    How to stop default behaviour of events?

    Example:

    (** Disable Js event with stopping propagation during capture phase **)
     let disable_event event html_elt =
       Lwt.async (fun () ->
    diff --git a/dev/manual/how-to-use-get-parameters-or-parameters-in-the-url.html b/dev/manual/how-to-use-get-parameters-or-parameters-in-the-url.html
    index c16f6efa..be504d23 100644
    --- a/dev/manual/how-to-use-get-parameters-or-parameters-in-the-url.html
    +++ b/dev/manual/how-to-use-get-parameters-or-parameters-in-the-url.html
    @@ -44,7 +44,7 @@
     
  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to use GET parameters (parameters in the URL)?

    Pages are generated by services. +

    How to use GET parameters (parameters in the URL)?

    Pages are generated by services.

    Funcrions to create services using GET HTTP method take two mandatory parameters: ~path and ~get_params.

    path

    This argument is a list of string, corresponding to the URL where your page service can be found. diff --git a/dev/manual/how-to-write-a-json-service.html b/dev/manual/how-to-write-a-json-service.html index 5cd70da9..c67c3229 100644 --- a/dev/manual/how-to-write-a-json-service.html +++ b/dev/manual/how-to-write-a-json-service.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to write a JSON service?

    Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to write forms?

    To write an HTML form towards an Eliom service

    Just as we do for links, we provide form-building functions that call +

    How to write forms?

    To write an HTML form towards an Eliom service

    Just as we do for links, we provide form-building functions that call Eliom services in a safe manner. These functions are provided in the module Eliom_content.Html.D.Form (and diff --git a/dev/manual/how-to-write-titles-and-paragraphs.html b/dev/manual/how-to-write-titles-and-paragraphs.html index 4eadf60e..6f065fa0 100644 --- a/dev/manual/how-to-write-titles-and-paragraphs.html +++ b/dev/manual/how-to-write-titles-and-paragraphs.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    How to write titles and paragrahs?

    Titles +

    How to write titles and paragrahs?

    Titles

    h3 [txt "Hello world"]

    There are 6 types of titles: h1, h2, h3, h4, h5 and h6. h1 is the largest and h6 is the smallest.

    Pagragraph

    p [txt "Some text, blah blah blah"]

    Required parameter: list containing other elements (content: Html_types.flow5 elements). diff --git a/dev/manual/html.html b/dev/manual/html.html index d6032298..6d413ab9 100644 --- a/dev/manual/html.html +++ b/dev/manual/html.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    HTML in 5 minutes

    The Tyxml library makes it possible to type-check HTML pages. +

    HTML in 5 minutes

    The Tyxml library makes it possible to type-check HTML pages. This means that your Ocsigen program will never generate pages which do not follow the recommendations from the W3C. For example a program that could generate a page with a paragraph diff --git a/dev/manual/interaction.html b/dev/manual/interaction.html index 61efeffc..24d873a7 100644 --- a/dev/manual/interaction.html +++ b/dev/manual/interaction.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Implementing Web Interaction Using Eliom

    The code of this tutorial has been tested with Eliom 6.0.
    +

    Implementing Web Interaction Using Eliom

    The code of this tutorial has been tested with Eliom 6.0.

    This chapter of the tutorial explains how to create a small web site with several pages, users, sessions, and other elements of classical web development. Then, in diff --git a/dev/manual/intro.html b/dev/manual/intro.html index e62b735f..3e703754 100644 --- a/dev/manual/intro.html +++ b/dev/manual/intro.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Introduction

    Ocsigen is a complete framework for developing Web and mobile apps +

    Introduction

    Ocsigen is a complete framework for developing Web and mobile apps using cutting edge techniques. It can be used to write simple server side Web sites, client-side programs, or complex client-server Web and mobile apps. diff --git a/dev/manual/lwt.html b/dev/manual/lwt.html index eafde425..be9706bc 100644 --- a/dev/manual/lwt.html +++ b/dev/manual/lwt.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Lwt in 5 minutes

    Principles

    The Lwt library implements cooperative threads for OCaml. Cooperative +

    Lwt in 5 minutes

    Principles

    The Lwt library implements cooperative threads for OCaml. Cooperative threads are an alternative to preemptive threads (used in many languages and in OCaml's Thread module) that solve most common issues with preemptive threads: with Lwt, there is very limited risk diff --git a/dev/manual/macaque.html b/dev/manual/macaque.html index 9f8aad64..6827b999 100644 --- a/dev/manual/macaque.html +++ b/dev/manual/macaque.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Type safe database requests using Macaque

    The Macaque library allows easy manipulation of Postgresql +

    Type safe database requests using Macaque

    The Macaque library allows easy manipulation of Postgresql database fully compatible with Lwt. (For more information see Macaque manual).

    Macaque is fuly compatible with PGOcaml, and both can be used diff --git a/dev/manual/misc.html b/dev/manual/misc.html index 7f804eb1..f5a322fa 100644 --- a/dev/manual/misc.html +++ b/dev/manual/misc.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Traditional web interaction in a client-server app

    The code of this tutorial has been tested with Eliom 6.0.
    +

    Traditional web interaction in a client-server app

    The code of this tutorial has been tested with Eliom 6.0.

    Multi-user collaborative drawing application

    We now want to turn our collaborative drawing application into a multi-user one. Each user will have their own drawing, where everyone can draw. diff --git a/dev/manual/mobile.html b/dev/manual/mobile.html index ce885442..b6bb64b9 100644 --- a/dev/manual/mobile.html +++ b/dev/manual/mobile.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Mobile applications with Ocsigen

    Since Eliom 6.0, the Ocsigen framework provides infrastructure for +

    Mobile applications with Ocsigen

    Since Eliom 6.0, the Ocsigen framework provides infrastructure for building mobile applications. This enables rapid development of Android, iOS, and Windows Mobile apps with the same APIs and programming style as for a regular client-server Web application. In diff --git a/dev/manual/music.html b/dev/manual/music.html index 418de82a..2dd8c162 100644 --- a/dev/manual/music.html +++ b/dev/manual/music.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Listening music

    We will add an audio player to the page that will stay when page +

    Listening music

    We will add an audio player to the page that will stay when page changes. This emphasises the fact that browsing inside an application does not stop the client side code: the music keeps playing when the content of the page and the url change. diff --git a/dev/manual/ocsipersist.html b/dev/manual/ocsipersist.html index 2863e158..dbb6600e 100644 --- a/dev/manual/ocsipersist.html +++ b/dev/manual/ocsipersist.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Lightweight database using Ocsipersist

    Ocsipersist is a module for persistent references and tables. +

    Lightweight database using Ocsipersist

    Ocsipersist is a module for persistent references and tables.

    For persistent references, Eliom has a higher level interface, called Eliom references, and you probably want to use it instead of using Ocsipersist directly. diff --git a/dev/manual/pictures.html b/dev/manual/pictures.html index 14bc6cae..2ce96ce4 100644 --- a/dev/manual/pictures.html +++ b/dev/manual/pictures.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Saving favorite pictures

    We will now add a button to the Graffiti application to save the current +

    Saving favorite pictures

    We will now add a button to the Graffiti application to save the current image. The images will be saved to the filesystem using the module Lwt_io. We will then make an Atom feed with the saved images using Syndic. diff --git a/dev/manual/reactivemediaplayer.html b/dev/manual/reactivemediaplayer.html index b012ee99..563ee6e5 100644 --- a/dev/manual/reactivemediaplayer.html +++ b/dev/manual/reactivemediaplayer.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Reactive Media Player

    You should read the Playing Music tutorial before this one. +

    Reactive Media Player

    You should read the Playing Music tutorial before this one.

    Since version 4, Eliom embeds the React library in order to provide reactive HTML elements diff --git a/dev/manual/rest.html b/dev/manual/rest.html index 3865d80f..1ffe152c 100644 --- a/dev/manual/rest.html +++ b/dev/manual/rest.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    RESTful JSON API using Eliom

    This tutorial will show you how to create a simple, yet complete, REST API +

    RESTful JSON API using Eliom

    This tutorial will show you how to create a simple, yet complete, REST API using JSON as the serialization format.

    To illustrate our example, let's say we want to give access to a database of locations storing a description and coordinates (latitude and longitude). diff --git a/dev/manual/start.html b/dev/manual/start.html index c8311be4..748ebf58 100644 --- a/dev/manual/start.html +++ b/dev/manual/start.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Your first app in 5 minutes

    The code of this tutorial has been tested against Eliom 6.0.
    +

    Your first app in 5 minutes

    The code of this tutorial has been tested against Eliom 6.0.

    This tutorial describes how to get started with Ocsigen quickly. Thanks to an application template provided by the Ocsigen team, you will get to a working application with standard diff --git a/dev/manual/tutoreact.html b/dev/manual/tutoreact.html index 8bba674a..7d79dca9 100644 --- a/dev/manual/tutoreact.html +++ b/dev/manual/tutoreact.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Client server reactive application with Ocsigen

    This is a short tutorial showing how to implement a simple reactive +

    Client server reactive application with Ocsigen

    This is a short tutorial showing how to implement a simple reactive client-server application using Js_of_ocaml, Eliom and Ocsigen Start.

    We are going to implement an application that can display a list of messages and diff --git a/dev/manual/tutowidgets.html b/dev/manual/tutowidgets.html index ea6b6cf3..9600f84a 100644 --- a/dev/manual/tutowidgets.html +++ b/dev/manual/tutowidgets.html @@ -44,7 +44,7 @@

  • Source code
  • Warning: Reason support is experimental. We are looking for beta-tester and contributors. -

    Mini-tutorial: client-server widgets

    This short tutorial is an example of client-server Eliom application. +

    Mini-tutorial: client-server widgets

    This short tutorial is an example of client-server Eliom application. It gives an example of client-server widgets.

    It is probably a good starting point if you know OCaml well, and want to quickly learn how to write a client-server Eliom application with a diff --git a/latest b/latest index 986084f3..b293f64d 120000 --- a/latest +++ b/latest @@ -1 +1 @@ -7.1 \ No newline at end of file +8.0 \ No newline at end of file