Haskell-Cafe
Threads by month
- ----- 2025 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
April 2015
- 175 participants
- 134 discussions
All,
An issue that came up with GHC 7.8 was the design of Roles and
Data.Coerce, with it's ability to break module abstractions by
default, requiring programmers adopt explicit role annotations to
enforce some types of invariants for abstract data types.
Because of this issue, as of now, GND & Data.Coerce are still disabled
in Safe Haskell. We'd like to change this but need feedback from
everyone.
I've written up a wiki page with lots of information on the issue:
https://ghc.haskell.org/trac/ghc/wiki/SafeRoles
Please read, it has information on how Roles work, the problem it
raises and subtleties in the current system. Possible paths forward
are also there, but I'll include below.
Please be aware that this discussion is about Roles in general, not
specifically how when using -XSafe. Ideally we'd come up with a
solution that works regardless of if using Safe Haskell or not.
I personally like option (3), although it isn't clear to me how hairy
the implementation would be.
== Possible Paths Forward for Roles ==
1) Do Nothing -- Keep Roles & GND unchanged, keep them unsafe in Safe Haskell.
2) Accept as Safe -- Keep Roles & GND unchanged, accept them as safe
in Safe Haskell and warn users that they neednominal role annotations
on ADTs.
3) In-scope constructor restriction for lifting instances -- The
newtype constructor restriction for unwrapping instances could be
extended to both data types, and the lifting instances of Data.Coerce.
This is, GND & Coercing under a type constructor is allowed if (a) all
involved constructors are in scope, or (b) the constructors involved
have been explicitly declared to allow coercion without them being in
scope. I.e., (b) allows library authors to opt-into the current GHC
behavior. This would require new syntax, probably just an explicit
deriving Coercible statement.
4) Change default role to nominal -- This will prioritize safety over
GND, and the belief is that it may break a lot of code. Worse, that it
will be an ongoing tax as role annotations will be needed to enable
GND.
5) Nominal default when constructors aren't exported -- When a module
doesn't export all the constructors of a data type, then the type
parameters of the data type should default to nominal. This heuristic
seems to capture somewhat the intention of the user, but given the
practice of defining an Internal module that exports everything, it
seems of limited use.
6) Nominal default in future -- Add a new extension,
SafeNewtypeDeriving that switches the default role to nominal, but
continue to provide a deprecated GND extension to help with the
transition. The claims in support of representational roles as default
though believe that nominal by default has an ongoing, continuous tax,
not just a transition cost. So it isn't clear that any scheme like
this satisfies that argument.
7) Safe Haskell Specific -- Many of the above approaches could be
adopted in a Safe Haskell specific manner. This isn't ideal as it
makes safe-inference harder and Safe Haskell less likely to remain
viable going forward. Richard suggests one such idea.
==
The belief by many people seems to be that (4) and (6) would be too
much of burden. I'd like to avoid (7) if possible. It isn't clear to
me if (7) ends up better than (2).
I'm going to try to setup some infastructure for compiling Hackage so
that we can measure how impactful these changes would be.
Cheers,
David
1
0
Can someone check my answer (no I'm not doing an assessment...I'm actually learning stuff out of interest!)
working through
https://www.fpcomplete.com/user/konn/prove-your-haskell-for-great-safety/de…
still there is a section about singleton types and the exercise is
"Exercise: Define the binary tree type and implement its singleton type."
Ok, I think I'm probably wrong....a binary tree is something like...
> data BTree a = Leaf | Branch a (BTree a) (BTree a)
With DataKind
My logic goes...
Leaf is an uninhabited type, so I need a value isomorphic to it....
Easy?
> data SBTree a where
> SLeaf :: SBTree Leaf
Things like
Branch Integer Leaf (Branch String Leaf Leaf)
Are uninhabited...so I need to add
> SBranch :: (a :: *) -> (SBTree (b :: BTree *)) -> (SBTree (c :: BTree *)) -> SBTree (Branch a b c)
?
It compiles...but....is it actually correct?
Things like
> y = SBranch (SS (SS SZ)) SLeaf SLeaf
> z = SBranch (SS (SS SZ)) (SBranch SZ SLeaf SLeaf) SLeaf
Seem to make sense ish.
From: Nicholls, Mark
Sent: 28 April 2015 9:33 AM
To: Nicholls, Mark
Subject: sds
Hello,
working through
https://www.fpcomplete.com/user/konn/prove-your-haskell-for-great-safety/de…
but a bit stuck...with an error...
> {-# LANGUAGE DataKinds, TypeFamilies, TypeOperators, UndecidableInstances, GADTs, StandaloneDeriving #-}
> data Nat = Z | S Nat
> data Vector a n where
> Nil :: Vector a Z
> (:-) :: a -> Vector a n -> Vector a (S n)
> infixr 5 :-
I assume init...is a bit like tail but take n - 1 elements from the front....but...
> init' :: Vector a ('S n) -> Vector a n
> init' (x :- Nil) = Nil
> init' (x :- xs@(_ :- _)) = x :- (init' xs)
> zipWithSame :: (a -> b -> c) -> Vector a n -> Vector b n -> Vector c n
> zipWithSame f Nil Nil = Nil
> zipWithSame f (x :- xs) (y :- xs@(_ :- _)) = Nil
Mark Nicholls | Senior Technical Director, Programmes & Development - Viacom International Media Networks
A: 17-29 Hawley Crescent London NW1 8TT | e: Nicholls.Mark(a)vimn.com<mailto:mik@vimn.com> T: +44 (0)203 580 2223
[Description: cid:image001.png@01CD488D.9204D030]
CONFIDENTIALITY NOTICE
This e-mail (and any attached files) is confidential and protected by copyright (and other intellectual property rights). If you are not the intended recipient please e-mail the sender and then delete the email and any attached files immediately. Any further use or dissemination is prohibited.
While MTV Networks Europe has taken steps to ensure that this email and any attachments are virus free, it is your responsibility to ensure that this message and any attachments are virus free and do not affect your systems / data.
Communicating by email is not 100% secure and carries risks such as delay, data corruption, non-delivery, wrongful interception and unauthorised amendment. If you communicate with us by e-mail, you acknowledge and assume these risks, and you agree to take appropriate measures to minimise these risks when e-mailing us.
MTV Networks International, MTV Networks UK & Ireland, Greenhouse, Nickelodeon Viacom Consumer Products, VBSi, Viacom Brand Solutions International, Be Viacom, Viacom International Media Networks and VIMN and Comedy Central are all trading names of MTV Networks Europe. MTV Networks Europe is a partnership between MTV Networks Europe Inc. and Viacom Networks Europe Inc. Address for service in Great Britain is 17-29 Hawley Crescent, London, NW1 8TT.
3
9

CFP: IEEE International Conference on Cloud and Autonomic Computing (CAC 2015)
by Al-Nashif, Youssif B. 29 Apr '15
by Al-Nashif, Youssif B. 29 Apr '15
29 Apr '15
[ Less than two weeks to deadline. Apologies if you receive multiple copies of this email.]
IEEE International Conference on Cloud and Autonomic Computing (CAC 2015)
(pending IEEE support)
autonomic-conference.org
Cambridge, MA, USA
September 21-25, 2015
Co-located with the
Ninth IEEE International Conference on Self-Adaptive and Self-Organizing System (SASO 2015) and with the
15th IEEE Peer-to-Peer Computing Conference
Call for Papers
Overview
Enterprise-scale cloud platforms and services systems, present common and cross-cutting challenges in maximizing power efficiency and performance while maintaining predictable and reliable behavior, and at the same time responding appropriately to environmental and system changes such as hardware failures and varying workloads. Autonomic computing systems address the challenges in managing these environments by integrating monitoring, decision-processing and actuation capabilities to autonomously manage resources and applications based on high-level policies.
Research in cloud and autonomic computing spans a variety of areas, from computer systems, architecture, middleware services, databases and data-stores, and networks to machine learning and control theory. The purpose of the 3rd International Conference on Cloud and Autonomic Computing (CAC) is to bring together researchers and practitioners across these disciplines to address the multiple facets of self-management in computing systems and applications.
Papers are solicited on a broad array of topics of relevance to cloud and autonomic computing and their intersections, particularly those that bear on connections and relationships among different research areas or report on prototype systems or experiences. The goal is to confirm a premier international forum focused on the latest research, applications, and technologies aimed at making cloud and autonomic computing systems and services easy to design, to deploy and to implement, while achieving the simultaneous goals to be self-manageable, self-regulating and scalable with little involvement of human or system administrators.
Topics of interest include, but are not limited to:
Autonomic Cloud Computing
* Self-managing cloud services
* Autonomic resource and energy management in cloud computing
* Autonomic cloud applications and services
* Autonomic virtual cloud resources and services
* Cloud workload characterization and prediction
* Monitoring, modeling and analysis of cloud resources and services
* Anomaly behavior analysis of autonomic systems and services
Autonomics for Extreme Scales
* Large scale autonomic systems
* Self-optimizing and self-healing at petacomputing scale
* Self-managing middleware and tools for extreme scales
* Experiences in autonomic systems and applications at extreme scales (peta/exa-computing)
Autonomic Computing Foundations and Design Methods
* Evaluation, validation and quality and correctness assessment of autonomic loops
* Theoretical frameworks for modeling and analyzing autonomic computing systems, control and decision theory
* Model-based design, software engineering, formal methods, testing, programming languages and environments support
* Knowledge representation and visualization of behavior of autonomic systems and services
Autonomic Computing Systems, Tools and Applications
* Self-protection techniques of computing systems, networks and applications
* Stochastic analysis and prediction of autonomic systems and applications
* Benchmarks and tools to evaluate and compare different architectures to implement autonomic cloud systems
* High performance autonomic applications
* Self-* applications in science and engineering
* Self-* Human Machine Interface
Paper/Poster Submission and Publication:
Full papers (a maximum of 12 pages in length), industrial experience reports (a maximum of 8 pages) and posters (a maximum of 4 pages) are invited on a wide variety of topics relating to cloud and autonomic computing as indicated above. All papers must follow the IEEE proceedings format. All manuscripts will be reviewed and judged on merits including originality, significance, interest, correctness, clarity, and relevance to the broader community. Papers are strongly encouraged to report experiences, measurements, and user studies, and to provide an appropriate quantitative evaluation.
Submitted papers must include original work, and may not be under consideration for another conference or journal. They should also not be under review or be submitted to another forum during the CAC 2015 review process. Authors should submit full papers or posters electronically following the instructions from the CAC 2015 conference web site. Accepted papers and posters will appear in proceedings distributed at the conference and available electronically. Authors of accepted papers/poster are expected to present their work at the conference. Authors are also encouraged to submit a poster or demo that summarizes and highlights the main points of their paper.
Workshops, Demonstrations and Exhibitions:
CAC 2015 welcomes proposals for co-located workshops on specific topics of general interest to the cloud and autonomic computing community. Workshops are expected to publish proceedings, and should cover areas that may not be properly addressed in the main scientific program. CAC 2015 will also feature a demonstration and exhibition session consisting of prototypes and technology artifacts such as demonstrating autonomic software or autonomic computing principles.
Important dates:
* Abstract registration: May 8, 2015
* Papers submission deadline: May 15, 2015
* Authors notification: June 15, 2015
* Camera-ready papers due: July 1, 2015
Organizing Committee
General Chair:
* Danny Menasce (George Mason University, USA)
PC Co-chairs:
* Eric Rutten (INRIA, France)
* Prashant Shenoy (University of Massachusetts Amherst, USA)
PC Committee (preliminary list):
* Karl-Erik Arzen, U. Lund, Sweden
* Ioana Banicescu, Mississippi State Univ., USA
* Thais Vasconcelos Batista, University of Rio Grande do Norte, Brazil
* Umesh Bellur, IIT Bombay, India
* Nelly Bencomo, Aston University, UK
* Junwei Cao, Tsinghua University, China
* Franck Cappello, Urbana-Champaign, USA
* Giuliano Casale, Imperial College London, UK
* Emiliano Casalicchio, University of Rome, Tor Vergata, Italy
* Abhishek Chandra, University of Minnesota, USA
* Lydia Y. Chen, IBM Research GmbH, Zurich, Switzerland
* Fabio Costa, Universidade Federal de Goias, Brazil
* Marco Danelutto, University of Pisa
* Frederic Desprez, INRIA, France
* Yixin Diao, IBM Research, USA
* Jim Dowling, Swedish Institute of Computer Science (SICS), Sweden
* Laurence Duchien, Universite de Lille/INRIA, France
* Erik Elmroth, Umea University and Elastisys, Sweden
* Antonio Filieri, University of Stuttgart, Germany
* Harry Foxwell, Oracle, USA
* Indranil Gupta, UIUC, USA
* David Irwin, UMass, USA
* Yoonhee Kim, Sookmyung Women's University, Korea
* Hector Alejandro Duran Limon, Univ. de Guadalajara, Mexico
* Martina Maggio, Lund University, Sweden
* Maitreya Natu, TCS India
* Marco D. Santambrogio, Politecnico di Milano, Italy
* Tallat M. Shafaat, Google, Mountain View, CA, USA
* Evgenia Smirni, College of William and Mary, VA, USA
* Chris Stewart, Ohio State University, USA
* Bhuvan Urgaonkar, Penn State Univ, USA
* Timothy Wood, George Washington University, DC, USA
* Dongyan Xu, Purdue University, USA
Publicity Committee:
* Youssif Al-Nashif, chair (Old Dominion University, USA)
* Yaser Jararwah, co-chair (Jordan University of Science and Technology, Jordan)
* Bharat Madan, co-chair (Old Dominion University, USA)
* Ivan Rodero, co-chair (Rutgers University, USA)
* Keiichi Shima, co-chair (Research Laboratory, IIJ Innovation Institute, Inc., Japan)
* Jinsong Wu, co-chair (Universidad de Chile, Santiago, Chile)
Steering Committee:
* Simon Dobson (University of St Andrews, Scotland)
* Geoffrey Fox (Indiana University Bloomington, USA)
* Salim Hariri (University of Arizona, USA)
* Soonwook Hwang (Korea Institute of Science and Technology Information, South Korea)
* Julie McCann (Imperial College, UK)
* Manish Parashar (Rutgers University, USA)
* S. Masoud Sadjadi (Florida International University, USA)
* Alan Sill (Texas Tech University, USA)
* Vladimir Vlassov (KTH Royal Institute of Technology, Sweden)
1
0
In an effort to build an Haskell client library for the Firebase service
[0], which rely heavily on HTTP event source/server sent events [1], I am
looking for an HTTP client lib supporting this spec.
AFAIK, both WAI and yesod handle the mechanism server-side but nor
http-client, wreq or http-streams seem to provide the client counterpart.
Am I looking in the wrong direction?
SSE are basically '\n' separated yaml messages over a kept open http
response stream. I guess a seasoned Haskell dev could build a solution
quite easily but o couldn't find a way to keep the response stream opened.
Ideally a conduit/pipe sink exposing each message could be exposed for
further parsing and usage.
I'd be very glassful of someone could help me contribute such handling or
come up with a solution.
Thanks for your time,
Alexandre
[0] https://www.firebase.com/docs/rest/api/
[1] http://www.w3.org/TR/2011/WD-eventsource-20110208/
Le 29 avr. 2015 14:02, <haskell-cafe-request(a)haskell.org> a écrit :
Send Haskell-Cafe mailing list submissions to
haskell-cafe(a)haskell.org
To subscribe or unsubscribe via the World Wide Web, visit
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
or, via email, send a message with subject or body 'help' to
haskell-cafe-request(a)haskell.org
You can reach the person managing the list at
haskell-cafe-owner(a)haskell.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Haskell-Cafe digest..."
Today's Topics:
1. Re: Coplanarity or Colinearity [Was: low-cost matrix rank?]
(Richard A. O'Keefe)
2. Re: Prime sieve and Haskell demo (Doug McIlroy)
3. Re: Prime sieve and Haskell demo (Kim-Ee Yeoh)
4. Wiki user (fr33domlover)
5. Re: Wiki user (Henk-Jan van Tuyl)
6. Re: Wiki user (fr33domlover)
7. Re: dependent types, singleton types.... (Richard Eisenberg)
----------------------------------------------------------------------
Message: 1
Date: Wed, 29 Apr 2015 13:14:36 +1200
From: "Richard A. O'Keefe" <ok(a)cs.otago.ac.nz>
To: Mike Meyer <mwm(a)mired.org>
Cc: Haskell-Cafe <Haskell-Cafe(a)haskell.org>
Subject: Re: [Haskell-cafe] Coplanarity or Colinearity [Was: low-cost
matrix rank?]
Message-ID: <28B3FCD1-5BE8-4769-8BA9-A20D8426F4C2(a)cs.otago.ac.nz>
Content-Type: text/plain; charset=us-ascii
On 26/04/2015, at 1:53 am, Mike Meyer <mwm(a)mired.org> wrote:
> My real problem is that I've got a list of points in R3 and want to
decide if they determine a plane, meaning they are coplanar but not
colinear. Similarly, given a list of points in R2, I want to verify that
they aren't colinear. Both of these can be done by converting the list of
points to a matrix and finding the rank of the matrix, but I only use the
rank function in the definitions of colinear and coplanar.
To compute the rank of a matrix,
perform elementary row operations
until the matrix is left in echelon form;
the number of nonzero rows remaining in
the reduced matrix is the rank.
(
http://www.cliffsnotes.com/math/algebra/linear-algebra/real-euclidean-vecto…
)
A matrix is in row echelon form when it
satisfies the following conditions:
* The first non-zero element in each row,
called the leading entry, is 1
* Each leading entry is in a column to
the right of the leading entry in the
previous row
* Rows with all zero elements, if any,
are below rows having a non-zero element.
(http://stattrek.com/matrix-algebra/echelon-transform.aspx)
Row echelon forms aren't unique, but for determining
the rank of a matrix, that doesn't matter.
Code working on a list of points left as an exercise for
the reader.
------------------------------
Message: 2
Date: Tue, 28 Apr 2015 21:36:52 -0400
From: Doug McIlroy <doug(a)cs.dartmouth.edu>
To: haskell-cafe(a)haskell.org
Subject: Re: [Haskell-cafe] Prime sieve and Haskell demo
Message-ID: <201504290136.t3T1aqI1020799(a)coolidge.cs.dartmouth.edu>
Content-Type: text/plain; charset=us-ascii
With deep apologies for sending the wrong file, I try again.
Doug
>> How about simply changing `sieve` to `trialDiv`? It's not that I
>> don't like the given example, because it gives a very small use case
>> for laziness that is difficult enough to reproduce in an eagerly
>> evaluated language.
>
> Is it really so difficult to reproduce in a strict language? Here is
> that Haskell example in OCaml
>
> let primes =
> let rec trialDiv (Cons (p,xs)) =
> Cons (p, lazy (trialDiv @@ filter (fun x -> x mod p <> 0) @@
Lazy.force xs))
> in trialDiv @@ iota 2
I'm afraid I don't understand why the program isn't a sieve. Is
the concern that the sequence of integers is thinned by dropping
composites rather than by merely marking them and counting across
them? Or is it that a trace of lazy evaluation will show that all
the divisibility tests on a single integer are clustered together
in time? Or something I haven't thought of?
Of course the program can be written in any Turing-complete language,
but the effort is likely to cause beads of sweat, like "lazy",
"force", or "spawn" to be shed on the algorithmic pearl. The sieve
can even be written succinctly as a bash shell script (below),
which exhibits warts (e.g. five flavors of parentheses) but no sweat.
Though both the Ocaml and the shell code are compact, neither dulls
the luster that lazy evaluation imparts to the Haskell.
sift() {
while true; do
read p
if (( $p % $1 != 0 )); then echo $p; fi
done }
sink() { read p; echo $p; sift $p | sink }
seq 2 1000000 | sink
------------------------------
Message: 3
Date: Wed, 29 Apr 2015 09:42:03 +0700
From: Kim-Ee Yeoh <ky3(a)atamo.com>
To: Doug McIlroy <doug(a)cs.dartmouth.edu>
Cc: Haskell Cafe <haskell-cafe(a)haskell.org>
Subject: Re: [Haskell-cafe] Prime sieve and Haskell demo
Message-ID:
<CAPY+ZdQsu4iotcjO7wRwqsLg34jnoQ7rhHWQ=rYwYBOVBnUj4g(a)mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
On Wed, Apr 29, 2015 at 8:36 AM, Doug McIlroy <doug(a)cs.dartmouth.edu> wrote:
> I'm afraid I don't understand why the program isn't a sieve. Is
> the concern that the sequence of integers is thinned by dropping
> composites rather than by merely marking them and counting across
> them? Or is it that a trace of lazy evaluation will show that all
> the divisibility tests on a single integer are clustered together
> in time? Or something I haven't thought of?
>
When I reread Ertugrul's original email, I see that he's alerting to the
danger of derision. There will be people who will mock Haskell for having
an un-performant and un-Eratosthenian non-sieve on its front page.
As in, Haskell people don't even know their basic math, ha ha.
It used to be fibonaccis. That's too inviting of derision. Primes are more
noble, so the thinking goes.
That very small space on the face of Haskell must perform incredible
duties. Among them, it has to showcase beautiful syntax, see:
https://github.com/haskell-infra/hl/issues/46#issuecomment-72331664
HTH,
-- Kim-Ee
2
1
On Wed, 29 Apr 2015 08:07:36 +0200, fr33domlover <fr33domlover(a)riseup.net>
wrote:
> should send an e-mail. Could you please create a wiki account for me? The
> username I'd like to have is: akrasner.
Done.
Regards,
Henk-Jan van Tuyl
--
Folding@home
What if you could share your unused computer power to help find a cure? In
just 5 minutes you can join the world's biggest networked computer and get
us closer sooner. Watch the video.
http://folding.stanford.edu/
http://Van.Tuyl.eu/
http://members.chello.nl/hjgtuyl/tourdemonad.html
Haskell programming
--
2
1
Hello,
The Haskell Wiki says automatic registration has been disabled, and that I
should send an e-mail. Could you please create a wiki account for me? The
username I'd like to have is: akrasner.
Thanks in advance!
1
0
With deep apologies for sending the wrong file, I try again.
Doug
>> How about simply changing `sieve` to `trialDiv`? It's not that I
>> don't like the given example, because it gives a very small use case
>> for laziness that is difficult enough to reproduce in an eagerly
>> evaluated language.
>
> Is it really so difficult to reproduce in a strict language? Here is
> that Haskell example in OCaml
>
> let primes =
> let rec trialDiv (Cons (p,xs)) =
> Cons (p, lazy (trialDiv @@ filter (fun x -> x mod p <> 0) @@ Lazy.force xs))
> in trialDiv @@ iota 2
I'm afraid I don't understand why the program isn't a sieve. Is
the concern that the sequence of integers is thinned by dropping
composites rather than by merely marking them and counting across
them? Or is it that a trace of lazy evaluation will show that all
the divisibility tests on a single integer are clustered together
in time? Or something I haven't thought of?
Of course the program can be written in any Turing-complete language,
but the effort is likely to cause beads of sweat, like "lazy",
"force", or "spawn" to be shed on the algorithmic pearl. The sieve
can even be written succinctly as a bash shell script (below),
which exhibits warts (e.g. five flavors of parentheses) but no sweat.
Though both the Ocaml and the shell code are compact, neither dulls
the luster that lazy evaluation imparts to the Haskell.
sift() {
while true; do
read p
if (( $p % $1 != 0 )); then echo $p; fi
done }
sink() { read p; echo $p; sift $p | sink }
seq 2 1000000 | sink
2
1
Well, none of the suggested solutions for computing the rank of a matrix
really suited my needs, as dragging in something like BLAS introduce more
cost than just integrating the bed-and-breakfast library into my own
library. So let me try a different track.
My real problem is that I've got a list of points in R3 and want to decide
if they determine a plane, meaning they are coplanar but not colinear.
Similarly, given a list of points in R2, I want to verify that they aren't
colinear. Both of these can be done by converting the list of points to a
matrix and finding the rank of the matrix, but I only use the rank function
in the definitions of colinear and coplanar.
Maybe there's an easier way to tackle the underlying problems. Anyone got a
suggestion for such?
5
7
>From vicki.smith(a)hanovernh.org Tue Apr 28 16:15:03 2015
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
mail.cs.dartmouth.edu
X-Spam-Level:
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE
autolearn=ham autolearn_force=no version=3.4.0
Received: from mailhub27.dartmouth.edu (mailhub27.dartmouth.edu [129.170.204.251])
by mail.cs.dartmouth.edu (8.14.8/8.14.8) with ESMTP id t3SKF17I005566
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO)
for <doug(a)cs.dartmouth.edu>; Tue, 28 Apr 2015 16:15:01 -0400
Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0119.outbound.protection.outlook.com [207.46.100.119])
by mailhub27.dartmouth.edu (8.13.5/DND2.0/8.13.5) with ESMTP id t3SKE8BW008313
(version=TLSv1/SSLv3 cipher=AES256-SHA256 bits=256 verify=FAIL);
Tue, 28 Apr 2015 16:14:16 -0400
Received: from BN3PR02MB1224.namprd02.prod.outlook.com (25.162.168.26) by
BN1PR0201MB0835.namprd02.prod.outlook.com (25.160.170.155) with Microsoft
SMTP Server (TLS) id 15.1.148.16; Tue, 28 Apr 2015 20:14:06 +0000
Received: from BN3PR02MB1224.namprd02.prod.outlook.com ([25.162.168.26]) by
BN3PR02MB1224.namprd02.prod.outlook.com ([25.162.168.26]) with mapi id
15.01.0148.008; Tue, 28 Apr 2015 20:14:05 +0000
From: Vicki Smith <vicki.smith(a)hanovernh.org>
To: Beth Rivard <beth.rivard(a)hanovernh.org>,
Betsy Smith
<betsy.smith(a)hanovernh.org>,
"Russ Rohloff
(Russ.Rohloff(a)pathwaysconsult.com)" <Russ.Rohloff(a)pathwaysconsult.com>,
"Seale, Perry (perry.seale(a)hypertherm.com) (perry.seale(a)hypertherm.com)"
<perry.seale(a)hypertherm.com>,
"(James.Kennedy(a)valley.net)"
<James.Kennedy(a)valley.net>,
"Douglas McIlroy (mcilroy(a)dartmouth.edu)"
<mcilroy(a)dartmouth.edu>,
Ed Chamberlain New <edchamberlain99(a)gmail.com>,
"Edwin Chamberlain (edwin.chamberlain(a)valley.net)"
<edwin.chamberlain(a)valley.net>,
Hugh Mellert <hsm(a)dartmouth.edu>,
"John
Trummel (trummel(a)valley.net)" <trummel(a)valley.net>,
"Michael Mayor
(michael.b.mayor(a)hitchcock.org)" <michael.b.mayor(a)hitchcock.org>,
"Peter
Christie (ptrchristie(a)gmail.com)" <ptrchristie(a)gmail.com>,
Whit Spaulding
<wheelockbooks(a)wheelockbooks.com>
Subject: Planning Board Agenda for next week
Thread-Topic: Planning Board Agenda for next week
Thread-Index: AdCB7+4fJecpOFT+QOuBUNwg5Qn5fg==
Date: Tue, 28 Apr 2015 20:14:05 +0000
Message-ID: <BN3PR02MB1224A7F725FB8D0626CBD179FAE80(a)BN3PR02MB1224.namprd02.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: hanovernh.org; dkim=none (message not signed)
header.d=none;
x-originating-ip: [216.177.11.102]
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN1PR0201MB0835;
x-forefront-antispam-report: BMV:1;SFV:NSPM;SFS:(10019020)(6009001)(74316001)(86362001)(19625215002)(16236675004)(99936001)(588024002)(229853001)(50986999)(46102003)(19300405004)(19580395003)(40100003)(33656002)(558084003)(2900100001)(102836002)(66066001)(15975445007)(77156002)(99286002)(76576001)(2171001)(5001920100001)(122556002)(87936001)(5001770100001)(19609705001)(92566002)(107886001)(2656002)(54356999)(62966003)(921003)(1121003);DIR:OUT;SFP:1102;SCL:1;SRVR:BN1PR0201MB0835;H:BN3PR02MB1224.namprd02.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en;
x-microsoft-antispam-prvs: <BN1PR0201MB08352C00D49CFFB7CE866A8EFAE80(a)BN1PR0201MB0835.namprd02.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:;
x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(5002010)(5005006)(3002001);SRVR:BN1PR0201MB0835;BCL:0;PCL:0;RULEID:;SRVR:BN1PR0201MB0835;
x-forefront-prvs: 0560A2214D
Content-Type: multipart/mixed;
boundary="_004_BN3PR02MB1224A7F725FB8D0626CBD179FAE80BN3PR02MB1224namp_"
MIME-Version: 1.0
X-OriginatorOrg: hanovernh.org
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2015 20:14:05.6264
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b0209be8-b8b0-493a-b0ec-8ecf8e595c3a
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR0201MB0835
X-DCC--Metrics: mailhub27.dartmouth.edu 1356; Body=2 Fuz1=2 Fuz2=2
X-MailScanner: Found to be clean by mailhub27.dartmouth.edu
X-MailScanner-From: vicki.smith(a)hanovernh.org
Status: R
--_004_BN3PR02MB1224A7F725FB8D0626CBD179FAE80BN3PR02MB1224namp_
Content-Type: multipart/alternative;
boundary="_000_BN3PR02MB1224A7F725FB8D0626CBD179FAE80BN3PR02MB1224namp_"
--_000_BN3PR02MB1224A7F725FB8D0626CBD179FAE80BN3PR02MB1224namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Here is the agenda for next week.
Vicki
--_000_BN3PR02MB1224A7F725FB8D0626CBD179FAE80BN3PR02MB1224namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Here is the agenda for next week.<o:p></o:p></p>
<p class=3D"MsoNormal">Vicki<o:p></o:p></p>
</div>
</body>
</html>
--_000_BN3PR02MB1224A7F725FB8D0626CBD179FAE80BN3PR02MB1224namp_--
--_004_BN3PR02MB1224A7F725FB8D0626CBD179FAE80BN3PR02MB1224namp_
Content-Type: application/msword; name="05-05-2015.doc"
Content-Description: 05-05-2015.doc
Content-Disposition: attachment; filename="05-05-2015.doc"; size=50688;
creation-date="Tue, 28 Apr 2015 17:24:01 GMT";
modification-date="Tue, 28 Apr 2015 20:13:15 GMT"
Content-Transfer-Encoding: base64
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAXAAAAAAAAAAA
EAAAXwAAAAEAAAD+////AAAAAFsAAAD/////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////s
pcEAD8AJBAAA+BK/AAAAAAAAEAAAAAAACAAApRIAAA4AYmpiaskWyRYAAAAAAAAAAAAAAAAAAAAA
AAAJBBYAQSQAAKt8AACrfAAApQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAA
AAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAALcAAAAAAJwJAAAAAAAAnAkAAPYW
AAAAAAAA9hYAAAAAAAD2FgAAAAAAAPYWAAAAAAAA9hYAABQAAAAAAAAAAAAAAP////8AAAAAChcA
AAAAAAAKFwAAAAAAAAoXAAAAAAAAChcAACwAAAA2FwAAHAAAAAoXAAAAAAAAbUIAAIwCAABSFwAA
AAAAAFIXAAAAAAAAUhcAAAAAAABSFwAAAAAAAFIXAAAAAAAALRgAAC4AAABbGAAAHAAAAHcYAAAQ
AAAA7EEAAAIAAADuQQAAAAAAAO5BAAAAAAAA7kEAAAAAAADuQQAAAAAAAO5BAAAAAAAA7kEAACQA
AAD5RAAAsgIAAKtHAAB0AAAAEkIAABUAAAAAAAAAAAAAAAAAAAAAAAAA9hYAAAAAAAAHGQAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAtGAAAAAAAAC0YAAAAAAAABxkAAAAAAAAHGQAAAAAAABJCAAAAAAAA
AAAAAAAAAAD2FgAAAAAAAPYWAAAAAAAAUhcAAAAAAAAAAAAAAAAAAFIXAADbAAAAJ0IAABYAAADL
GQAAAAAAAMsZAAAAAAAAyxkAAAAAAAAHGQAAdgAAAPYWAAAAAAAAUhcAAAAAAAD2FgAAAAAAAFIX
AAAAAAAA7EEAAAAAAAAAAAAAAAAAAMsZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAABxkAAAAAAADsQQAAAAAAAAAAAAAAAAAAyxkAAAAAAADLGQAA
/gAAAAYuAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAAAAAAAABSFwAAAAAAAP////8AAAAAAAq9wu+B
0AEAAAAAAAAAAP////8AAAAAfRkAAAoAAAC+LgAAGAAAAAAAAAAAAAAA2EEAABQAAAA9QgAAMAAA
AG1CAAAAAAAA1i4AAFwBAAAfSAAAAAAAAIcZAAAiAAAAH0gAADAAAAAyMAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy
MAAAbgAAAB9IAAAAAAAAAAAAAAAAAAD2FgAAAAAAAKAwAAA4EQAAhxgAABQAAACbGAAADgAAAMsZ
AAAAAAAAqRgAAAwAAAC1GAAAUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhxgA
AAAAAACHGAAAAAAAAIcYAAAAAAAAEkIAAAAAAAASQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAqRkAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIcYAAAA
AAAAhxgAAAAAAACHGAAAAAAAAG1CAAAAAAAABxkAAAAAAAAHGQAAAAAAAAcZAAAAAAAABxkAAAAA
AAAAAAAAAAAAAP////8AAAAA/////wAAAAD/////AAAAAAAAAAAAAAAA/////wAAAAD/////AAAA
AP////8AAAAA/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAP////8AAAAA
/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAB9IAAAAAAAAhxgAAAAAAACH
GAAAAAAAAIcYAAAAAAAAhxgAAAAAAACHGAAAAAAAAIcYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHGAAAAAAAAIcYAAAAAAAAhxgA
AAAAAACcCQAAIAwAALwVAAA6AQAABQASAQAACQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACABDVBM
QU5OSU5HIEJPQVJEDVR1ZXNkYXksIE1heSA1LCAyMDE1IGF0IDc6MzAgUE0NQm9hcmQgUm9vbSwg
VG93biBPZmZpY2VzLCBNYWluIFN0cmVldA0NMS4gICBQMjAxNS0xMyBTdWJtaXNzaW9uIG9mIEFw
cGxpY2F0aW9uIGZvciBTaXRlIFBsYW4gUmV2aWV3IGJ5IHRoZSBIYW5vdmVyIFNjaG9vbCBEaXN0
cmljdCB0byBpbnN0YWxsIGEgZ3JlZW5ob3VzZSBhdCA0MSBMZWJhbm9uIFN0cmVldCwgVGF4IE1h
cCAzNCwgTG90IDY4LCBpbiB0aGUgk0mUIHpvbmluZyBkaXN0cmljdC4NMi4JUDIwMTUtMTAgIFN1
Ym1pc3Npb24gb2YgQXBwbGljYXRpb24gZm9yIE1pbm9yIExvdCBMaW5lIEFkanVzdG1lbnQgYnkg
Sm9obiBWYW5zYW50LCBhcyBBZ2VudCBmb3IgdGhlIFRydXN0ZWVzIG9mIERhcnRtb3V0aCBDb2xs
ZWdlIGFuZCBSZXBsb2dsZSBGYW1pbHkgTExDLCBwcm9wZXJ0eSBvd25lcnMgb2YgcmVjb3JkLCB0
byBhbm5leCAyLDE3NSBzcXVhcmUgZmVldCBmcm9tIDYgUm9wZSBGZXJyeSBSb2FkLCBUYXggTWFw
IDM3LCBMb3QgNDAgdG8gMTAgUm9wZSBGZXJyeSBSb2FkLCBUYXggTWFwIDM3LCBMb3QgNDEuICBC
b3RoIHBhcmNlbHMgYXJlIGxvY2F0ZWQgaW4gdGhlIJNTUi0xlCB6b25pbmcgZGlzdHJpY3QuDTMu
CVAyMDE1LTExIFN1Ym1pc3Npb24gb2YgQXBwbGljYXRpb24gZm9yIE1pbm9yIExvdCBMaW5lIEFk
anVzdG1lbnQgYnkgSm9obiBWYW5zYW50LCBhcyBBZ2VudCBmb3IgdGhlIFRydXN0ZWVzIG9mIERh
cnRtb3V0aCBDb2xsZWdlLCBwcm9wZXJ0eSBvd25lciBvZiByZWNvcmQsIHRvIGFubmV4IDEyLDgz
NSBzcSBmdCBmcm9tIDEwIEhpbHRvbiBGaWVsZCBMYW5lLCBUYXggTWFwIDQwLCBMb3QgOSwgaW4g
dGhlIJNOUJQgem9uaW5nIGRpc3RyaWN0IHRvIDYgUm9wZSBGZXJyeSBSb2FkLCBUYXggTWFwIDM3
LCBMb3QgNDAgaW4gdGhlIJNTUi0xlCB6b25pbmcgZGlzdHJpY3QuDTQuCVAyMDE1LTEyICBTdWJt
aXNzaW9uIG9mIEFwcGxpY2F0aW9uIGZvciBNaW5vciBTdWJkaXZpc2lvbiBieSBKb2huIFZhbnNh
bnQsIGFzIEFnZW50IGZvciB0aGUgVHJ1c3RlZXMgb2YgRGFydG1vdXRoIENvbGxlZ2UsIHByb3Bl
cnR5IG93bmVyIG9mIHJlY29yZCwgdG8gZGl2aWRlIDYgUm9wZSBGZXJyeSBSb2FkLCBUYXggTWFw
IDM3LCBMb3QgNDAsIGluIHRoZSCTU1ItMZQgem9uaW5nIGRpc3RyaWN0cyBpbnRvIHR3byBsb3Rz
IChjcmVhdGluZyBsb3RzIG9mIDMxLDQ5NSBzcSBmdCBhbmQgMzEsMzE1IHNxIGZ0KS4gIA01LglJ
bmZvcm1hbCBkaXNjdXNzaW9uIHdpdGggSHlwZXJ0aGVybSAsIEluYy4gcmVnYXJkaW5nIHJlY29u
c3RydWN0aW9uIG9mIGFuIGFjY2VzcyByb2FkLCBwYXJraW5nIGFyZWEsIGNvbmNyZXRlIGxvYWRp
bmcgZG9jaywgYW5kIGNvbm5lY3RvciBhY2Nlc3Mgcm9hZCwgZHJhaW5hZ2UgaW1wcm92ZW1lbnRz
LCBhbmQgcmVwbGFjZW1lbnQgb2YgbHVtaW5haXJlcyBvbiBleGlzdGluZyBwb2xlcyBhbmQgYnVp
bGRpbmcgbW91bnRlZCBmaXh0dXJlcy4NNi4JQ29udGludWF0aW9uIG9mIHJldmlldyBvZiByZS1v
cmdhbml6ZWQgWm9uaW5nIE9yZGluYW5jZQ03LiAgT3RoZXIgQnVzaW5lc3MNOC4JQWRqb3Vybg0N
Q29ycmVzcG9uZGVuY2UgYXR0YWNoZWQ6DTEuCU1hdGVyaWFscyBmb3IgSGFub3ZlciBTY2hvb2wg
RGlzdHJpY3QgU2l0ZSBQbGFuDTIuCU1hdGVyaWFscyBmb3IgRGFydG1vdXRoIENvbGxlZ2UvUmVw
b2dsZSBGYW1pbHkgTExDIE1pbm9yIExvdCBMaW5lIEFkanVzdG1lbnQNMy4JTWF0ZXJpYWxzIGZv
ciBEYXJ0bW91dGggQ29sbGVnZSBNaW5vciBMb3QgTGluZSBBZGp1c3RtZW50cw00LglNYXRlcmlh
bHMgZm9yIERhcnRtb3V0aCBDb2xsZWdlIE1pbm9yIFN1YmRpdmlzaW9uDQkJDQ0NDUFMTCBBUkUg
V0VMQ09NRSBUTyBBVFRFTkQgUExBTk5JTkcgQk9BUkQgTUVFVElOR1MNDUNvbmR1Y3Qgb2YgUHVi
bGljIEhlYXJpbmdzOg1BbnlvbmUgbWF5IHNwZWFrLCBpZiByZWNvZ25pemVkIGJ5IHRoZSBDaGFp
ci4gUGxlYXNlIHJhaXNlIHlvdXIgaGFuZCBhbmQgc3RhdGUgeW91ciBuYW1lIGFzIGFsbCBtZWV0
aW5ncyBhcmUgc291bmQtcmVjb3JkZWQuDQ1UaGUgUGxhbm5pbmcgQm9hcmQgbWVldHMgb24gdGhl
IGZpcnN0IHRocmVlIFR1ZXNkYXlzIG9mIG1vc3QgbW9udGhzIGF0IHRoZSBNdW5pY2lwYWwgQnVp
bGRpbmcsIDc6MzAtMTBQTQ0NR2VuZXJhbCBmb3JtYXQgb2YgUGxhbm5pbmcgQm9hcmQgbWVldGlu
Z3M6DUFwcGxpY2FudCBwcmVzZW50cyBwcm9qZWN0Lg1QbGFubmluZyBCb2FyZCBtZW1iZXJzIGFu
ZCBUb3duIHN0YWZmIGFzayBxdWVzdGlvbnMgb2YgYXBwbGljYW50Lg1RdWVzdGlvbnMgb3IgY29t
bWVudHMgYXJlIHdlbGNvbWUgZnJvbSB0aGUgcHVibGljOyB0aGV5IHNob3VsZCBiZSBkaXJlY3Rl
ZCB0byB0aGUgQ2hhaXIgd2hvIG1heSBhc2sgdGhlIGFwcGxpY2FudCB0byByZXNwb25kLg1QbGFu
bmluZyBCb2FyZCBkaXNjdXNzZXMgY2FzZSB3aXRoIGFwcGxpY2FudC4NUGxhbm5pbmcgQm9hcmQg
YWN0aW9ucyBtYXkgaW5jbHVkZTogdm90aW5nIG9uIGFwcGxpY2F0aW9uIHdhaXZlcnMgdGhhdCBo
YXZlIGJlZW4gcmVxdWVzdGVkLCB2b3Rpbmcgb24gY29tcGxldGVuZXNzIG9mIGFwcGxpY2F0aW9u
LCBjb250aW51aW5nLCBhcHByb3Zpbmcgb3IgZGVueWluZyB0aGUgcmVxdWVzdC4NDQ1EYXRlIG9m
IFBvc3Rpbmc6ICBBcHJpbCAyOSwgMjAxNQlBZ2VuZGEgNS0wNS0xNQ0AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAABCAAAAggA
AAMIAAAECAAAEQgAABIIAAAZCAAAIAgAACEIAAAmCAAAKggAAC0IAAAyCAAAVwgAAPjp4c+9q5uO
fnFhUUEvAAAAAAAAAAAAAAAAAAAAAAAAAAAiFWjtbMgAFmh3HTkANQiBPioBQ0oYAE9KAwBRSgMA
YUoYAAAfFWjtbMgAFmh/PSoANQiBQ0oYAE9KAwBRSgMAYUoYAB8VaO1syAAWaEtqYwA1CIFDShgA
T0oDAFFKAwBhShgAHxVo7WzIABZooDsFADUIgUNKGABPSgMAUUoDAGFKGAAZFmgSIDoANQiBQ0oY
AE9KAwBRSgMAYUoYAB8VaO1syAAWaG8/4QA1CIFDShgAT0oDAFFKAwBhShgAGRZoWzWfADUIgUNK
GABPSgMAUUoDAGFKGAAfFWjtbMgAFmjqLfkANQiBQ0oYAE9KAwBRSgMAYUoYACIVaO1syAAWaJc8
7AA1CIFDShgAT0oDAFFKAwBhShgAaAgAACIVaO1syAAWaH89KgA1CIFDShgAT0oDAFFKAwBhShgA
aAgAACIVaO1syAAWaOc38wA1CIFDShgAT0oDAFFKAwBhShgAaAgAAA4WaKA7BQBDShgAYUoYAAAd
A2oAAAAAFWigOwUAFmjnN/MAQ0oYAFUIAWFKGAAOFmgMa9cAQ0oYAGFKGAAOAAgAAAMIAAASCAAA
MggAAFgIAABZCAAAEwkAAHYKAAC9CwAA5wwAAOcNAAAiDgAA9gAAAAAAAAAAAAAAAOoAAAAAAAAA
AAAAAADqAAAAAAAAAAAAAAAA3gAAAAAAAAAAAAAAAN4AAAAAAAAAAAAAAADKAAAAAAAAAAAAAAAA
tgAAAAAAAAAAAAAAAKIAAAAAAAAAAAAAAACiAAAAAAAAAAAAAAAAjgAAAAAAAAAAAAAAAHMAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAyQDDcYI
AAJoAaAFAAAOhGgBD4RoARGEmP4qJAFdhGgBXoRoAWCEmP5hJANnZJR6FQAAEwAADcYLAANoAdAC
NiQAAAAPhGgBEYSY/l6EaAFghJj+Z2SBZc0AABMAAA3GCwADaAHQAjYkAAAAD4RoARGEmP5ehGgB
YISY/mdkCFxoAAATAAANxgsAA2gB0AI2JAAAAA+EaAERhJj+XoRoAWCEmP5nZDlUNgAAEwAADcYL
AANoAdACNiQAAAAPhGgBEYSY/l6EaAFghJj+Z2RbNZ8AAAsAAAMkAg3GBQABNiQAYSQCZ2RbNZ8A
AAsAAAMkAg3GBQABNiQAYSQCZ2RzfoIAAAgAAA3GBQABNiQAZ2SgOwUAAAtXCAAAWQgAABIJAAAT
CQAAFgkAAHUKAAC8CwAAwAsAAOcMAADoDAAA6gwAAOYNAADnDQAA6A0AACEOAAAiDgAAIw4AACYO
AADx4dHCsqKSooKygnJlWEg8MAAAAAAAAAAWFmiaEk0AQ0oYAE9KAwBRSgMAYUoYAAAWFmj3FB8A
Q0oYAE9KAwBRSgMAYUoYAAAfFWiUehUAFmgAbKMAQ0oYAE9KAwBRSgMAXAiBYUoYABkWaABsowBD
ShgAT0oDAFFKAwBcCIFhShgAGRZo9xQfAENKGABPSgMAUUoDAFwIgWFKGAAfFWg3K6cAFmhtSfAA
Q0oYAE9KAwBRSgMAXAiBYUoYAB8VaDcrpwAWaPcUHwBDShgAT0oDAFFKAwBcCIFhShgAHxVoNyun
ABZoCFxoAENKGABPSgMAUUoDAFwIgWFKGAAfFWg3K6cAFmg5VDYAQ0oYAE9KAwBRSgMAXAiBYUoY
AB8VaDcrpwAWaGomhgBDShgAT0oDAFFKAwBcCIFhShgAHBVoNyunABZoRALUAENKGABPSgMAUUoD
AGFKGAAAHxVoNyunABZoWzWfAD4qAUNKGABPSgMAUUoDAGFKGAAfFWg3K6cAFmhbNZ8AQ0oYAE9K
AwBRSgMAXAiBYUoYABwWaFs1nwA1CIE+KgFDShgAT0oDAFFKAwBhShgAESYOAAA0DgAANQ4AADYO
AAA4DgAAQA4AAEEOAABZDgAAWg4AAF0OAAByDgAAjA4AAI0OAACeDgAAqA4AAMgOAADcDgAA3Q4A
AN4OAADgDgAA7g4AABoPAAAbDwAAUA8AAFEPAABSDwAAUw8AAFQPAABVDwAA8eXZ5fHKvq+kmY6D
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
C0YHAA3GCAAC0AI2JAAANyQAOCQASCQAZ2SgOwUADQAADcYFAAE2JAA3JAA4JABIJABnZKA7BQAA
EgAADcYFAAE2JAAmZAYDAAExJABQxggAAAD/BgMBAGdkoDsFAAAOcxIAAHQSAAB1EgAAhBIAAIUS
AACGEgAAjRIAAI8SAACQEgAAlRIAAJYSAACbEgAAnhIAAJ8SAAChEgAAohIAAKQSAAClEgAA9end
0cW8s6eekoazerNuZVkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcVaO1syAAWaF8C
jgBPSgMAUUoDAGgIABEWaBIgOgBPSgMAUUoDAGgIABcVaO1syAAWaPRlLABPSgMAUUoDAGgIABcV
aO1syAAWaAJtFABPSgMAUUoDAGgIABcVaO1syAAWaHtuuwBPSgMAUUoDAGgIABcVaO1syAAWaEJe
XQBPSgMAUUoDAGgIABEWaABO/QBPSgMAUUoDAGgIABcVaO1syAAWaFt/1ABPSgMAUUoDAGgIABEW
aFs1nwBPSgMAUUoDAGgIABEWaC5B5ABPSgMAUUoDAGgIABcVaO1syAAWaEtSKwBPSgMAUUoDAGgI
ABcVaO1syAAWaBxlugBPSgMAUUoDAGgIABcVaO1syAAWaI5nagBPSgMAUUoDAGgIABcVaO1syAAW
aKA7BQBPSgMAUUoDAGgIABQVaO1syAAWaAIMbgBPSgMAUUoDABE/ABIwABxQAQAxkBABOnBVD9gA
H7DQLyCw4D0hsKAFIrCgBSOQ0AIkkNACJbAAABew0AIYsNACDJDQAkRwAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIElAABEAGQAcAOzAgAACgAAAAAA
AAABAAAAAAB7EPAM3AJ/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAE8FQAAACy
BArwCAAAAAEEAAAACgAAgwAL8DAAAAAAAeQJAAABAeQJAAACAbASAAADAbASAAAEQQEAAACBAREA
ABC/AQAAEAD/AQAACAAAABDwBAAAAAAAAIBiAAfw2SQAAAYGPV+TcVxrWGW2O2tZK9o//P8AtSQA
AAEAAABEAAAAAAAyCgBuHvCtJAAAPV+TcVxrWGW2O2tZK9o//P+JUE5HDQoaCgAAAA1JSERSAAAD
cAAAArMIAwAAAGg/H0sAAAAEZ0FNQQAAsYiVmPSmAAAABlBMVEUAAAD///+l2Z/dAAAACXBIWXMA
AC4yAAAuNAG1rGreAAAgAElEQVR4nO2ci3brKg5Anf//6Znb0yYGJB42lkTYe62Z09gYBNI2Ttrc
4wUAZhzeAQDsBMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIB
GIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdg
CMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAh
CAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYg
HIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJw
AIYgHIAhCAdgCMIBGIJwAIYgHIAhCOfBwbLvCpl34DgwbldIvAMIty8k3p4D4faFxNtzYNy+kHd7
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
RZc2ITlw0ZV8/xdPqZ0fBsKVQyQ3HCW02lWRiBjTMH0FJx4+i3To6RSEa9V9l3BS1Ze9zhFOeH68
Ilyl5xvCJV30CldqmjaNWNwRYxpmknBJjvLSzl6vIZzYLBEu7UDpvFigMeFepwGlGeZd561LrfKL
aj8EI2RQo3QK91Juv0k9/bx6/5C2yy/7cOo+D6rIu9bvIfWZxztFOGloKTYprtqAHcJJE8yHKcet
zbTjqkjEjGoQOf/lkovHi3rWC+KlNJQLXNs1KsXaJdyrQBlBUV3quSacXNVZk+rIygyVYcpxy57q
beLq9iXCKbMQtgLpeLHhyAlTb8iN7A7kvrdLB2xiEn3quKy8alZE04kbmSNzFyVw9sEciuFxWGL4
QDUAGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAh
CAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYg
HIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJw
AIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIB
GIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdg
CMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAhCAdgCMIBGIJwAIYgHIAh
CAdgCMIBGIJwAIYgHIAhCAdgCMIBGLKycAfEoJ2KT4NPyf131LV+XPgfbIfQX95YioQAAAAASUVO
RK5CYIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAXgQXABIAAQALAQ8ABwAAAAAAAAAAAAQACAAAAAgAAAAIAAAACAAA
AAgAAAAIAAAACAAAAAgAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAA
AAAAMAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgYAABgAAADAAwAA0AMAAOAD
AADwAwAAAAQAABAEAAAgBAAAMAQAAEAEAABQBAAAYAQAAHAEAACABAAAkAQAAMADAADQAwAA4AMA
APADAAAABAAAEAQAADIGAAAoAgAA2AEAAOgBAAAgBAAAMAQAAEAEAABQBAAAYAQAAHAEAACABAAA
kAQAAMADAADQAwAA4AMAAPADAAAABAAAEAQAACAEAAAwBAAAQAQAAFAEAABgBAAAcAQAAIAEAACQ
BAAAwAMAANADAADgAwAA8AMAAAAEAAAQBAAAIAQAADAEAABABAAAUAQAAGAEAABwBAAAgAQAAJAE
AADAAwAA0AMAAOADAADwAwAAAAQAABAEAAAgBAAAMAQAAEAEAABQBAAAYAQAAHAEAACABAAAkAQA
AMADAADQAwAA4AMAAPADAAAABAAAEAQAACAEAAAwBAAAQAQAAFAEAABgBAAAcAQAAIAEAACQBAAA
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
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8YTpj
bHJNYXAgeG1sbnM6YT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdt
bC8yMDA2L21haW4iIGJnMT0ibHQxIiB0eDE9ImRrMSIgYmcyPSJsdDIiIHR4Mj0iZGsyIiBhY2Nl
bnQxPSJhY2NlbnQxIiBhY2NlbnQyPSJhY2NlbnQyIiBhY2NlbnQzPSJhY2NlbnQzIiBhY2NlbnQ0
PSJhY2NlbnQ0IiBhY2NlbnQ1PSJhY2NlbnQ1IiBhY2NlbnQ2PSJhY2NlbnQ2IiBobGluaz0iaGxp
bmsiIGZvbEhsaW5rPSJmb2xIbGluayIvPgAAAAClCgAAGQAAJAAAAAD/////AAgAAFcIAAAmDgAA
VQ8AAHMSAAClEgAACgAAAAwAAAANAAAADwAAABEAAAAACAAAIg4AAIkPAAClEgAACwAAAA4AAAAQ
AAAADwAA8DgAAAAAAAbwGAAAAAIEAAACAAAAAQAAAAEAAAABAAAAAgAAAEAAHvEQAAAA//8AAAAA
/wCAgIAA9wAAEAAPAALwkgAAABAACPAIAAAAAQAAAAEEAAAPAAPwMAAAAA8ABPAoAAAAAQAJ8BAA
AAAAAAAAAAAAAAAAAAAAAAAAAgAK8AgAAAAABAAABQAAAA8ABPBCAAAAEgAK8AgAAAABBAAAAA4A
AFMAC/AeAAAAvwEAABAAywEAAAAA/wEAAAgABAMJAAAAPwMBAAEAAAAR8AQAAAABAAAA//8DAAAA
BwBfAEcAbwBCAGEAYwBrAAUAVABlAHgAdAA1AAUAVABlAHgAdAA5ADIAAAC4AAAA/wAAAKcKAAAA
AAAAAQAAAAIAAAAyAAAA/gAAAAABAACnCgAA//8BAAAABgBFDJoAEAACAAAAAABuCAAApwoAAAAA
AAABAG8IAACnCgAAAAAAAAEAAAA4AAAAAQAAACqAdXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpv
ZmZpY2U6c21hcnR0YWdzBIBDaXR5AIAMAAABoGktBAAAAAABAAAAAAAAAAAAnAEAAKQBAAAlAwAA
JwMAACgDAAAqAwAAzAQAAM4EAADPBAAA0QQAAN0EAADfBAAA4AQAAOIEAAADBQAADQUAALAGAAC3
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
/////////////////////wkAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wkAAAASAA8ACQQZAAkEGwAJ
BA8ACQQZAAkEGwAJBA8ACQQZAAkEGwAJBBIADwAJBBkACQQbAAkEDwAJBBkACQQbAAkEDwAJBBkA
CQQbAAkEEgABAAkEAwAJBAUACQQBAAkEAwAJBAUACQQBAAkEAwAJBAUACQQSAA8ACQQZAAkEGwAJ
BA8ACQQZAAkEGwAJBA8ACQQZAAkEGwAJBBIADwAJBBkACQQbAAkEDwAJBBkACQQbAAkEDwAJBBkA
CQQbAAkEEgAPAAkEGQAJBBsACQQPAAkEGQAJBBsACQQPAAkEGQAJBBsACQQSAA8ACQQZAAkEGwAJ
BA8ACQQZAAkEGwAJBA8ACQQZAAkEGwAJBBIADwAJBBkACQQbAAkEDwAJBBkACQQbAAkEDwAJBBkA
CQQbAAkEEgAPAAkEGQAJBBsACQQPAAkEGQAJBBsACQQPAAkEGQAJBBsACQQGAPMTLzwAAAAAAAAA
AAABAgACAJ5/XkgAAAAAAAAAAAABAgACAKIJ8VMAAAAAAAAAAAABAgACABRy2lsAAAAAAAAAAAAB
AgACAIEFOmIAAAAAAAAAAAABAgACAD1nYW0AAAAAAAAAAAABAgACAEgEAAAEAAAACAAAAOUAAAAA
AAAARwQAAAgFAAANTgAAnWQAAMARAQCyLgEAvEIBAOxkAQCwFQIA0jsCAOUxAwCGYQMATjEEAA9F
BAAFegQAtwMFANocBQCgOwUAXEcFAPtbBQCxcwUAawYGALUaBgD6LgYANEMGAEdhBgD3cgYAyiAH
AEcyBwBkVAcA9i0IAN1OCACVZggAph0JAMAiCQDKSQkAo1UJAA4JCgD8UwoALBYLAGgrCwBnTgsA
5XsLAKMQDAClQgwAEmsMAHscDQDkNg0AOFsNADtwDQAvfw0A4DcOAOF6DgC0FA8Aq00PABh6DwBj
GRAAHF0QAD9iEADNdxAAWBMRAEYjEQAuJBEAbDYRAFJJEQBpeBEAIgwSAK0vEgC5NRIA0lMSAP1j
EgDqfRIABQgTANYvEwBcNhMAA1MTAMNhEwDcAhQAjiIUABUjFACCRBQAoEsUAIVeFAACbRQA33sU
AEh9FACUehUAowYWAJwLFgBFOxYAtEEWACd2FgDKLRcArDMXADtXFwD4fhcAUk8YAHtfGABDBhkA
Dh8ZAHAhGQD+IhkAZjAZAKhZGQBaYhkAbmwZABcXGgBxIRoAwCcaAPYqGgAFOxoAaGIaAHxjGgC2
FRsAYzUbAOhHGwAGShsAD1YbAP01HAAuNxwANhIdAJwVHQD+MB0AAj0dAJ9eHQB0Xx0A9WodALwW
HgD3FB8AYCYfAK43HwBFQx8AFlAfAO5hHwCjbB8AiwQgAMQiIACDcyAAjXMgAE0wIQAwOCEAxkEh
ACpqIQBzCCIARQ8iACouIgCGRCIA5QojACsOIwBtGSMAtyIjAAJlIwDNZSMAdQ4kAIUUJAB7MiQA
930kANF/JADNIyUAXUclAJpHJQAISyUA2EYmAJdjJgCYbCYAsQcnAAAOJwBDGCcAFjUnAIlFJwDK
cycALjYoAMw2KACwRSgAD14oAMZjKAAydigA+QApADoOKQArESkAsT4pAK5vKQBQDyoAyRsqAH89
KgCbayoAvR4rABVMKwBLUisAn2ErAB8fLADGLSwABkMsAPRlLACaGC0AQxktAAkdLQAnXi0AVmst
AKACLgCMFC4AFhouAN8bLgDkUi4Am1YuALpnLgAFMy8A0D0vAPtcLwB3bC8AXHovAE8AMABjBTAA
2iUwALdkMADYAzEAMS8xAOEwMQDwNTEAG1oxAH9kMQCUJDIAYysyAKU2MgCTTDIAHE0yAF5VMgCX
WzIAo30yAJRFMwBVMzQAyjw0AC9cNACPKDUAzFg1AMJZNQDMBTYAiBQ2AP4aNgBDMTYAOVQ2AG8n
NwDtQzcAHk03AHFYNwBRNjgAJmg4ACAROQCrGjkAdx05AN02OQDFUTkAt3Y5ABIgOgBBSjoAHmE6
AANxOgApHTsAKEs7AOpuOwBDFTwAu0w8ACtaPACGED0ARTk9AABLPQC8ZT0ANS8+AP83PgBePz4A
Olw+ANkAPwAqST8AFm8/AHAyQQAJM0EAbUFBAE4FQgAQH0IARgpDAMsNQwCmQEMAx1BDAGhdQwC7
XUMAPGtDABp1QwBhAUQA/glEAHdPRAB7XUQAcV9EAIkmRQAqQkUAVktFADxSRQBUD0YATzVGAEU7
RgCGR0YAkWZGAH4PRwBJG0cAhSdHAIkuRwDCREcAAEZHAKcbSADyH0gA/i1IADpeSACebEgAwXxI
AIAFSQBUCUkA7A1JADEVSQDmXkkAiUNKAAdGSgDFSUoAhE9KAP97SgApQ0sAhFFLAIBmSwA8Z0sA
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
AAAAAAAAANwAAAD//xIAAAAAAAAADwBUAE8AVwBOACAATwBGACAASABBAE4ATwBWAEUAUgAAAAAA
AAALAFYASQBDAEsASQAgAFMATQBJAFQASAALAFYAaQBjAGsAaQAgAFMAbQBpAHQAaAAAAAAAAAAA
AAAAAAAAAAAAAAAAADAAAAAGAAAACQAAAAAADAABAAwAAgAMAAMADAAEAAwABQAMAAYADAAHAAwA
CAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/wAABgECAAAAAAAAAAAAAAAA
AAAAAAABAAAA4IWf8vlPaBCrkQgAKyez2TAAAABUAQAADwAAAAEAAACAAAAAAgAAAIgAAAAEAAAA
oAAAAAcAAAC0AAAACAAAAMQAAAAJAAAA2AAAABIAAADkAAAACgAAAAQBAAALAAAAEAEAAAwAAAAc
AQAADQAAACgBAAAOAAAANAEAAA8AAAA8AQAAEAAAAEQBAAATAAAATAEAAAIAAADkBAAAHgAAABAA
AABUT1dOIE9GIEhBTk9WRVIAHgAAAAwAAABWSUNLSSBTTUlUSAAeAAAACAAAAE5vcm1hbAAAHgAA
AAwAAABWaWNraSBTbWl0aAAeAAAABAAAADkAAAAeAAAAGAAAAE1pY3Jvc29mdCBPZmZpY2UgV29y
ZAAAAEAAAAAAwswBBgAAAEAAAAAAQmvvNLfPAUAAAAAAuGcd2IHQAUAAAAAA7lC574HQAQMAAAAC
AAAAAwAAAJYBAAADAAAADwkAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v8AAAYBAgAAAAAAAAAAAAAAAAAAAAAAAQAA
AALVzdWcLhsQk5cIACss+a4wAAAA+AAAAAwAAAABAAAAaAAAAA8AAABwAAAABQAAAHwAAAAGAAAA
hAAAABEAAACMAAAAFwAAAJQAAAALAAAAnAAAABAAAACkAAAAEwAAAKwAAAAWAAAAtAAAAA0AAAC8
AAAADAAAANgAAAACAAAA5AQAAB4AAAAEAAAALi4AAAMAAAATAAAAAwAAAAUAAAADAAAAoAoAAAMA
AAAAAA4ACwAAAAAAAAALAAAAAAAAAAsAAAAAAAAACwAAAAAAAAAeEAAAAQAAABAAAABUT1dOIE9G
IEhBTk9WRVIADBAAAAIAAAAeAAAABgAAAFRpdGxlAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAA
AAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAAP7///8UAAAAFQAAABYAAAAXAAAA
GAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAD+
////JwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQA
AAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAA
AEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAA/v///0wAAABNAAAATgAAAE8AAABQAAAA
UQAAAFIAAAD+////VAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAP7////9////XQAAAF4AAAD+
/////v///2EAAAD+////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////UgBvAG8AdAAgAEUAbgB0AHIAeQAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYABQH//////////wMAAAAGCQIAAAAAAMAAAAAA
AABGAAAAAAAAAAAAAAAA8FO/wu+B0AFgAAAAAAMAAAAAAABEAGEAdABhAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgACAf//////////////
/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAACBJQAAAAAAADEAVABhAGIA
bABlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO
AAIAAQAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAE9I
AAAAAAAAVwBvAHIAZABEAG8AYwB1AG0AZQBuAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAABoAAgEKAAAABQAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAQSQAAAAAAAAFAFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0AYQB0AGkAbwBu
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAf///////////////wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEsAAAAAEAAAAAAAAAUARABvAGMAdQBtAGUAbgB0AFMAdQBt
AG0AYQByAHkASQBuAGYAbwByAG0AYQB0AGkAbwBuAAAAAAAAAAAAAAA4AAIBBAAAAP//////////
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUwAAAAAQAAAAAAAATQBzAG8ARABh
AHQAYQBTAHQAbwByAGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoA
AQD//////////wcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCfm8LvgdABAAq9wu+B0AEAAAAAAAAA
AAAAAADJAM4AUQBCANsAywBYAEIASADUANIARADMAEoAwwDKANUAwQAyANUASgDAAD0APQAAAAAA
AAAAAAAAAAAAAAAAMgABAf//////////CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUJ+bwu+B0AEA
Cr3C74HQAQAAAAAAAAAAAAAAAEkAdABlAG0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAIB/////wkAAAD/////AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANoAAAAAAAAAUAByAG8AcABlAHIAdABpAGUAcwAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAgD///////////////8A
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAVQEAAAAAAAABAEMAbwBtAHAA
TwBiAGoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAC
AQIAAAAGAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAByAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAA/v///wUAAAAGAAAABwAAAAgAAAAJAAAA/v//
/wsAAAD+////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////////88YjpTb3VyY2VzIFNlbGVjdGVkU3R5bGU9IlxBUEEuWFNMIiBTdHls
ZU5hbWU9IkFQQSIgeG1sbnM6Yj0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29m
ZmljZURvY3VtZW50LzIwMDYvYmlibGlvZ3JhcGh5IiB4bWxucz0iaHR0cDovL3NjaGVtYXMub3Bl
bnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvYmlibGlvZ3JhcGh5Ij48L2I6U291
cmNlcz4NCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8ZHM6ZGF0YXN0b3Jl
SXRlbSBkczppdGVtSUQ9IntFRTAxRTRBNi1DMUI1LTRDMUYtODNCMC05OEVBRDYxNzM1MjZ9IiB4
bWxuczpkcz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50
LzIwMDYvY3VzdG9tWG1sIj48ZHM6c2NoZW1hUmVmcz48ZHM6c2NoZW1hUmVmIGRzOnVyaT0iaHR0
cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvYmlibGlv
Z3JhcGh5Ii8+PC9kczpzY2hlbWFSZWZzPjwvZHM6ZGF0YXN0b3JlSXRlbT4AAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQD+/wMKAAD/////BgkCAAAAAADAAAAAAAAA
RiAAAABNaWNyb3NvZnQgV29yZCA5Ny0yMDAzIERvY3VtZW50AAoAAABNU1dvcmREb2MAEAAAAFdv
cmQuRG9jdW1lbnQuOAD0ObJxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA
--_004_BN3PR02MB1224A7F725FB8D0626CBD179FAE80BN3PR02MB1224namp_--
1
0
Dear cafe,
Would you tell me reference sources for WebSocket(or Socket.io) on Haskell?
Once I wrote a toy program with WebSocket[1]:
Node.js(backend) + JavaScript(frontend) + WebSocket(communication)
I want to port it to Haskell backend for my exercise:
Haskell(backend) + JavaScript(frontend) + WebSocket(communication)
I'm glad if there are such references:
* broadcast to multi-client by WebSocket(or Socket.io)
* serve a simple top HTML page
* deploy to Heroku or public server
[1] https://github.com/takenobu-hs/social-drawing-old-js
Thank you :-),
Takenobu
3
5