From 3928ee92e938bf71dfb0e0397a44e80ee9c5fcf8 Mon Sep 17 00:00:00 2001
From: Hans Moog <hm@mkjc.net>
Date: Tue, 26 Nov 2019 10:04:03 +0100
Subject: [PATCH] Feat: finished elevating Realities + started cleaning up

---
 go.mod                                        |  13 +-
 go.sum                                        | 110 ++++++++
 packages/graphviz/render_png.go               |  25 ++
 packages/ledgerstate/_tmp.dot                 |  29 ---
 .../{conflict_set.go => conflict.go}          |  58 ++---
 .../{conflict_set_id.go => conflict_id.go}    |  22 +-
 packages/ledgerstate/conflict_id_list.go      |  23 ++
 packages/ledgerstate/conflict_id_set.go       |  36 +++
 packages/ledgerstate/ledgerstate.go           |  53 ++--
 packages/ledgerstate/ledgerstate_test.go      |   8 +
 packages/ledgerstate/realities.png            | Bin 75304 -> 69353 bytes
 packages/ledgerstate/reality.go               | 241 +++++++++--------
 packages/ledgerstate/reality.objectstorage.go |  26 +-
 packages/ledgerstate/reality_id_list.go       |  23 ++
 packages/ledgerstate/reality_id_set.go        |  48 ++++
 packages/ledgerstate_old/address.go           |  62 -----
 packages/ledgerstate_old/colored_balance.go   |  31 ---
 packages/ledgerstate_old/constants.go         |  24 --
 packages/ledgerstate_old/errors.go            |   8 -
 packages/ledgerstate_old/ledgerstate.go       | 242 ------------------
 packages/ledgerstate_old/ledgerstate_test.go  | 103 --------
 packages/ledgerstate_old/reality.go           |  94 -------
 packages/ledgerstate_old/reality_storage.go   |  49 ----
 packages/ledgerstate_old/transfer.go          |  77 ------
 packages/ledgerstate_old/transfer_output.go   |  97 -------
 .../transfer_output_booking.go                | 108 --------
 .../transfer_output_reference.go              |  31 ---
 .../transfer_output_reference_old.go          |  27 --
 .../transfer_output_storage.go                | 195 --------------
 29 files changed, 486 insertions(+), 1377 deletions(-)
 create mode 100644 packages/graphviz/render_png.go
 delete mode 100644 packages/ledgerstate/_tmp.dot
 rename packages/ledgerstate/{conflict_set.go => conflict.go} (50%)
 rename packages/ledgerstate/{conflict_set_id.go => conflict_id.go} (57%)
 create mode 100644 packages/ledgerstate/conflict_id_list.go
 create mode 100644 packages/ledgerstate/conflict_id_set.go
 create mode 100644 packages/ledgerstate/reality_id_list.go
 create mode 100644 packages/ledgerstate/reality_id_set.go
 delete mode 100644 packages/ledgerstate_old/address.go
 delete mode 100644 packages/ledgerstate_old/colored_balance.go
 delete mode 100644 packages/ledgerstate_old/constants.go
 delete mode 100644 packages/ledgerstate_old/errors.go
 delete mode 100644 packages/ledgerstate_old/ledgerstate.go
 delete mode 100644 packages/ledgerstate_old/ledgerstate_test.go
 delete mode 100644 packages/ledgerstate_old/reality.go
 delete mode 100644 packages/ledgerstate_old/reality_storage.go
 delete mode 100644 packages/ledgerstate_old/transfer.go
 delete mode 100644 packages/ledgerstate_old/transfer_output.go
 delete mode 100644 packages/ledgerstate_old/transfer_output_booking.go
 delete mode 100644 packages/ledgerstate_old/transfer_output_reference.go
 delete mode 100644 packages/ledgerstate_old/transfer_output_reference_old.go
 delete mode 100644 packages/ledgerstate_old/transfer_output_storage.go

diff --git a/go.mod b/go.mod
index ac900fc8..78c48e9f 100644
--- a/go.mod
+++ b/go.mod
@@ -4,6 +4,7 @@ go 1.13
 
 require (
 	github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 // indirect
+	github.com/apsdehal/go-logger v0.0.0-20190506062552-f85330a4b532 // indirect
 	github.com/dgraph-io/badger v1.6.0
 	github.com/dgrijalva/jwt-go v3.2.0+incompatible
 	github.com/emicklei/dot v0.10.1
@@ -11,22 +12,24 @@ require (
 	github.com/gdamore/tcell v1.2.0
 	github.com/go-zeromq/zmq4 v0.5.0
 	github.com/golang/protobuf v1.3.2 // indirect
-	github.com/google/open-location-code/go v0.0.0-20190723034300-2c7115db77a3
+	github.com/google/open-location-code/go v0.0.0-20190903173953-119bc96a3a51
 	github.com/gorilla/websocket v1.4.1
-	github.com/iotaledger/hive.go v0.0.0-20191112142249-92832505dd6d
-	github.com/iotaledger/iota.go v1.0.0-beta.7
-	github.com/kr/pretty v0.1.0 // indirect
+	github.com/iotaledger/hive.go v0.0.0-20191125112048-8b1784dd1bce
+	github.com/iotaledger/iota.go v1.0.0-beta.9
 	github.com/kr/text v0.1.0
 	github.com/labstack/echo v3.3.10+incompatible
 	github.com/labstack/gommon v0.3.0 // indirect
 	github.com/magiconair/properties v1.8.1
+	github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect
 	github.com/pkg/errors v0.8.1
 	github.com/rivo/tview v0.0.0-20190829161255-f8bc69b90341
 	github.com/rivo/uniseg v0.1.0 // indirect
+	github.com/sasha-s/go-deadlock v0.2.0 // indirect
+	github.com/spf13/pflag v1.0.5
 	github.com/stretchr/objx v0.2.0 // indirect
 	golang.org/x/crypto v0.0.0-20191029031824-8986dd9e96cf
 	golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297
 	golang.org/x/sys v0.0.0-20190904154756-749cb33beabd // indirect
 	golang.org/x/text v0.3.2 // indirect
-	gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
+	gopkg.in/zeromq/goczmq.v4 v4.1.0 // indirect
 )
diff --git a/go.sum b/go.sum
index cb967822..d5e8a2f9 100644
--- a/go.sum
+++ b/go.sum
@@ -1,17 +1,27 @@
+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
 github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M=
 github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
+github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/DATA-DOG/go-sqlmock v1.3.3 h1:CWUqKXe0s8A2z6qCgkP4Kru7wC11YoAnoupUKFDnH08=
 github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
+github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
 github.com/apsdehal/go-logger v0.0.0-20190506062552-f85330a4b532/go.mod h1:U3/8D6R9+bVpX0ORZjV+3mU9pQ86m7h1lESgJbXNvXA=
 github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
 github.com/beevik/ntp v0.2.0/go.mod h1:hIHWr+l3+/clUnF44zdK+CWW7fO8dR5cIylAQ76NRpg=
+github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
+github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
 github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
 github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
 github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
 github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
 github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
@@ -24,6 +34,7 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZm
 github.com/dgryski/go-farm v0.0.0-20190323231341-8198c7b169ec/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
 github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA=
 github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
+github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
 github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/emicklei/dot v0.10.1 h1:bkzvwgIhhw/cuxxnJy5/5+ZL3GnhFxFfv0eolHtWE2w=
@@ -38,28 +49,57 @@ github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo
 github.com/gdamore/tcell v1.1.2/go.mod h1:h3kq4HO9l2On+V9ed8w8ewqQEmGCSSHOgQ+2h8uzurE=
 github.com/gdamore/tcell v1.2.0 h1:ikixzsxc8K8o3V2/CEmyoEW8mJZaNYQQ3NP3VIQdUe4=
 github.com/gdamore/tcell v1.2.0/go.mod h1:Hjvr+Ofd+gLglo7RYKxxnzCBmev3BzsS67MebKS4zMM=
+github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
+github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/go-zeromq/zmq4 v0.5.0 h1:DijriKlrr2b48mymvAsZApiPzrbxQodYKG1aDH1rz8c=
 github.com/go-zeromq/zmq4 v0.5.0/go.mod h1:6p7pjNlkfrQQVipmEuZDk7fakLZCqPPVK+Iq3jfbDg8=
+github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
+github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
+github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
 github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
 github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
 github.com/google/open-location-code/go v0.0.0-20190723034300-2c7115db77a3 h1:qI8YeX4bVZ2HrE+kEOn12L2io7Tw/2IffULguAh3M4Q=
 github.com/google/open-location-code/go v0.0.0-20190723034300-2c7115db77a3/go.mod h1:eJfRN6aj+kR/rnua/rw9jAgYhqoMHldQkdTi+sePRKk=
+github.com/google/open-location-code/go v0.0.0-20190903173953-119bc96a3a51 h1:OdVal38kmXn0U3M3CYmPF4cpMLLvD4ioshwrooNfmxs=
+github.com/google/open-location-code/go v0.0.0-20190903173953-119bc96a3a51/go.mod h1:eJfRN6aj+kR/rnua/rw9jAgYhqoMHldQkdTi+sePRKk=
 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM=
 github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
+github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
+github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
+github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
 github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI=
+github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
 github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/iotaledger/hive.go v0.0.0-20191112142249-92832505dd6d h1:6n1M4lkXVlclr1z3+Ee9iSjIdWz2L9Kx87WBurof/JU=
 github.com/iotaledger/hive.go v0.0.0-20191112142249-92832505dd6d/go.mod h1:3u9aMALGTDHvpdmpODAkl6HAJ3GmDTfKIJIVSboXKLg=
+github.com/iotaledger/hive.go v0.0.0-20191118130432-89eebe8fe8eb h1:nuS/LETRJ8obUyBIZeyxeei0ZPlyOMj8YPziOgSM4Og=
+github.com/iotaledger/hive.go v0.0.0-20191118130432-89eebe8fe8eb/go.mod h1:1Thhlil4lHzuy53EVvmEbEvWBFY0Tasp4kCBfxBCPIk=
+github.com/iotaledger/hive.go v0.0.0-20191125112048-8b1784dd1bce h1:QchbydsqgH7bXWXk8zLa1PvZ0fcWRddfIXCoXuWgzt4=
+github.com/iotaledger/hive.go v0.0.0-20191125112048-8b1784dd1bce/go.mod h1:1Thhlil4lHzuy53EVvmEbEvWBFY0Tasp4kCBfxBCPIk=
 github.com/iotaledger/iota.go v1.0.0-beta.7 h1:OaUNahPvOdQz2nKcgeAfcUdxlEDlEV3xwLIkwzZ1B/U=
 github.com/iotaledger/iota.go v1.0.0-beta.7/go.mod h1:dMps6iMVU1pf5NDYNKIw4tRsPeC8W3ZWjOvYHOO1PMg=
+github.com/iotaledger/iota.go v1.0.0-beta.9 h1:c654s9pkdhMBkABUvWg+6k91MEBbdtmZXP1xDfQpajg=
+github.com/iotaledger/iota.go v1.0.0-beta.9/go.mod h1:F6WBmYd98mVjAmmPVYhnxg8NNIWCjjH8VWT9qvv3Rc8=
+github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
+github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
@@ -82,39 +122,75 @@ github.com/mattn/go-isatty v0.0.9 h1:d5US/mDsogSGW37IV293h//ZFaeajb69h+EHFsv2xGg
 github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
 github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y=
 github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
+github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
 github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
+github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms=
+github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
 github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo=
 github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
 github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
+github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ=
+github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o=
+github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
+github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
+github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
+github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
+github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
+github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
+github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
+github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
 github.com/rivo/tview v0.0.0-20190721135419-23dc8a0944e4/go.mod h1:+rKjP5+h9HMwWRpAfhIkkQ9KE3m3Nz5rwn7YtUpwgqk=
 github.com/rivo/tview v0.0.0-20190829161255-f8bc69b90341 h1:d2Z5U4d3fenPRFFweaMCogbXiRywM5kgYtu20/hol3M=
 github.com/rivo/tview v0.0.0-20190829161255-f8bc69b90341/go.mod h1:+rKjP5+h9HMwWRpAfhIkkQ9KE3m3Nz5rwn7YtUpwgqk=
 github.com/rivo/uniseg v0.0.0-20190513083848-b9f5b9457d44/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/rivo/uniseg v0.1.0 h1:+2KBaVoUmb9XzDsrx/Ct0W/EYOSFf/nWTauy++DprtY=
 github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
+github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
 github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
+github.com/sasha-s/go-deadlock v0.2.0 h1:lMqc+fUb7RrFS3gQLtoQsJ7/6TV/pAIFvBsqX73DK8Y=
+github.com/sasha-s/go-deadlock v0.2.0/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZqiDbRupzT10=
+github.com/simia-tech/env v0.1.0/go.mod h1:eVRQ7W5NXXHifpPAcTJ3r5EmoGgMn++dXfSVbZv3Opo=
+github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
 github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
+github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI=
 github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
+github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
 github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
 github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
+github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
 github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
 github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
+github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
+github.com/spf13/viper v1.5.0 h1:GpsTwfsQ27oS/Aha/6d1oD7tpKIqWnOA6tgOX9HHkt4=
+github.com/spf13/viper v1.5.0/go.mod h1:AkYRkVJF8TkSG/xet6PzXX+l39KhhXa2pdqVSxnTcn4=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
+github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
+github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
+github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
+github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
 github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
 github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
 github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
@@ -122,8 +198,14 @@ github.com/valyala/fasttemplate v1.0.1 h1:tY9CJiPnMXf1ERmG2EyK7gNUd+c6RKGD0IfU8W
 github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
 github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
 github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
+github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
 github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
+go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
 go.mongodb.org/mongo-driver v1.0.0/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
+go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20190404164418-38d8ce5564a5/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
@@ -132,17 +214,31 @@ golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472 h1:Gv7RPwsi3eZ2Fgewe3CBsu
 golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191029031824-8986dd9e96cf h1:fnPsqIDRbCSgumaMCRpoIoF2s4qxv0xSSS0BVZUE/ss=
 golang.org/x/crypto v0.0.0-20191029031824-8986dd9e96cf/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM=
 golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -158,17 +254,31 @@ golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
+google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
+gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
 gopkg.in/h2non/gock.v1 v1.0.14/go.mod h1:sX4zAkdYX1TRGJ2JY156cFspQn4yRWn6p9EMdODlynE=
+gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
+gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
+gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/zeromq/goczmq.v4 v4.1.0 h1:CE+FE81mGVs2aSlnbfLuS1oAwdcVywyMM2AC1g33imI=
 gopkg.in/zeromq/goczmq.v4 v4.1.0/go.mod h1:h4IlfePEYMpFdywGr5gAwKhBBj+hiBl/nF4VoSE4k+0=
+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
diff --git a/packages/graphviz/render_png.go b/packages/graphviz/render_png.go
new file mode 100644
index 00000000..ae1c1bc3
--- /dev/null
+++ b/packages/graphviz/render_png.go
@@ -0,0 +1,25 @@
+package graphviz
+
+import (
+	"io/ioutil"
+	"os"
+	"os/exec"
+
+	"github.com/emicklei/dot"
+)
+
+func RenderPNG(graph *dot.Graph, fileName string) (err error) {
+	if err = ioutil.WriteFile("_tmp.dot", []byte(graph.String()), os.ModePerm); err != nil {
+		return
+	}
+
+	if _, err = exec.Command("dot", "-Tpng", "_tmp.dot", "-o", fileName).Output(); err != nil {
+		return
+	}
+
+	if err = os.Remove("_tmp.dot"); err != nil {
+		return
+	}
+
+	return
+}
diff --git a/packages/ledgerstate/_tmp.dot b/packages/ledgerstate/_tmp.dot
deleted file mode 100644
index 9868bd43..00000000
--- a/packages/ledgerstate/_tmp.dot
+++ /dev/null
@@ -1,29 +0,0 @@
-digraph  {
-	ranksep="1.0 equally";
-	n9[color="#B85450",fillcolor="#F8CECC",label="",shape="Mdiamond",style="filled"];
-	n10[color="#B85450",fillcolor="#F8CECC",label="",shape="Mdiamond",style="filled"];
-	n11[color="#B85450",fillcolor="#F8CECC",label="",shape="Mdiamond",style="filled"];
-	n6[color="#9673A6",fillcolor="#DAE8FC",label="AGGREGATED REALITY\n\n0x59a7cb38c58588aba986f855051495abc475b804c8cb246fd6757407f6293668 (1)",penwidth="2.0",shape="rect",style="filled"];
-	n1[color="#6C8EBF",fillcolor="#DAE8FC",label="REALITY\n\nGSufYxGepaLWsiLwDLAURWfgkmTTydqP (1)",shape="rect",style="filled"];
-	n3[color="#6C8EBF",fillcolor="#DAE8FC",label="REALITY\n\nHYVbVsWtXuokjqsezXDxIwFLsojfAqHH (1)",shape="rect",style="filled"];
-	n2[color="#6C8EBF",fillcolor="#DAE8FC",label="REALITY\n\nMAIN_REALITY (2)",shape="rect",style="filled"];
-	n4[color="#6C8EBF",fillcolor="#DAE8FC",label="REALITY\n\nNWscRATSxEOMUCWFMtsGiMvveCzTDggi (1)",shape="rect",style="filled"];
-	n5[color="#6C8EBF",fillcolor="#DAE8FC",label="REALITY\n\nOujbHEvHbaogJoYgDMPPqapnhEFmNweo (1)",shape="rect",style="filled"];
-	n7[color="#6C8EBF",fillcolor="#DAE8FC",label="REALITY\n\nuoIdkaUxrjBlNIwuAWAfNenOPudzhlUx (1)",shape="rect",style="filled"];
-	n8[color="#6C8EBF",fillcolor="#DAE8FC",label="REALITY\n\nxEjDqModkSvUmyKFxgAaaghSSdbtEOJk (1)",shape="rect",style="filled"];
-	n9->n5[arrowhead="none",arrowtail="none",color="#B85450"];
-	n9->n3[arrowhead="none",arrowtail="none",color="#B85450"];
-	n10->n7[arrowhead="none",arrowtail="none",color="#B85450"];
-	n10->n8[arrowhead="none",arrowtail="none",color="#B85450"];
-	n11->n1[arrowhead="none",arrowtail="none",color="#B85450"];
-	n11->n4[arrowhead="none",arrowtail="none",color="#B85450"];
-	n6->n7[arrowhead="none",arrowtail="none"];
-	n6->n5[arrowhead="none",arrowtail="none"];
-	n1->n2[arrowhead="none",arrowtail="none"];
-	n3->n4[arrowhead="none",arrowtail="none"];
-	n4->n2[arrowhead="none",arrowtail="none"];
-	n5->n4[arrowhead="none",arrowtail="none"];
-	n7->n2[arrowhead="none",arrowtail="none"];
-	n8->n2[arrowhead="none",arrowtail="none"];
-	
-}
\ No newline at end of file
diff --git a/packages/ledgerstate/conflict_set.go b/packages/ledgerstate/conflict.go
similarity index 50%
rename from packages/ledgerstate/conflict_set.go
rename to packages/ledgerstate/conflict.go
index c9d429c5..a65dcf57 100644
--- a/packages/ledgerstate/conflict_set.go
+++ b/packages/ledgerstate/conflict.go
@@ -10,8 +10,8 @@ import (
 	"github.com/iotaledger/hive.go/objectstorage"
 )
 
-type ConflictSet struct {
-	id      ConflictSetId
+type Conflict struct {
+	id      ConflictId
 	members map[RealityId]empty
 
 	storageKey  []byte
@@ -20,8 +20,8 @@ type ConflictSet struct {
 	membersMutex sync.RWMutex
 }
 
-func newConflictSet(id ConflictSetId) *ConflictSet {
-	result := &ConflictSet{
+func newConflictSet(id ConflictId) *Conflict {
+	result := &Conflict{
 		id:      id,
 		members: make(map[RealityId]empty),
 
@@ -32,73 +32,73 @@ func newConflictSet(id ConflictSetId) *ConflictSet {
 	return result
 }
 
-func (conflictSet *ConflictSet) GetId() ConflictSetId {
-	return conflictSet.id
+func (conflict *Conflict) GetId() ConflictId {
+	return conflict.id
 }
 
-func (conflictSet *ConflictSet) AddReality(realityId RealityId) {
-	conflictSet.membersMutex.Lock()
+func (conflict *Conflict) AddReality(realityId RealityId) {
+	conflict.membersMutex.Lock()
 
-	conflictSet.members[realityId] = void
+	conflict.members[realityId] = void
 
-	conflictSet.membersMutex.Unlock()
+	conflict.membersMutex.Unlock()
 }
 
-func (conflictSet *ConflictSet) String() string {
-	conflictSet.membersMutex.RLock()
-	defer conflictSet.membersMutex.RUnlock()
+func (conflict *Conflict) String() string {
+	conflict.membersMutex.RLock()
+	defer conflict.membersMutex.RUnlock()
 
-	return stringify.Struct("ConflictSet",
-		stringify.StructField("id", conflictSet.id.String()),
-		stringify.StructField("members", conflictSet.members),
+	return stringify.Struct("Conflict",
+		stringify.StructField("id", conflict.id.String()),
+		stringify.StructField("members", conflict.members),
 	)
 }
 
 // region support object storage ///////////////////////////////////////////////////////////////////////////////////////
 
-func (conflictSet *ConflictSet) GetStorageKey() []byte {
-	return conflictSet.storageKey
+func (conflict *Conflict) GetStorageKey() []byte {
+	return conflict.storageKey
 }
 
-func (conflictSet *ConflictSet) Update(other objectstorage.StorableObject) {
+func (conflict *Conflict) Update(other objectstorage.StorableObject) {
 	fmt.Println("UPDATE")
 }
 
-func (conflictSet *ConflictSet) MarshalBinary() ([]byte, error) {
-	conflictSet.membersMutex.RLock()
+func (conflict *Conflict) MarshalBinary() ([]byte, error) {
+	conflict.membersMutex.RLock()
 
 	offset := 0
-	membersCount := len(conflictSet.members)
+	membersCount := len(conflict.members)
 	result := make([]byte, 4+membersCount*realityIdLength)
 
 	binary.LittleEndian.PutUint32(result[offset:], uint32(membersCount))
 	offset += 4
 
-	for realityId := range conflictSet.members {
+	for realityId := range conflict.members {
 		copy(result[offset:], realityId[:realityIdLength])
 		offset += realityIdLength
 	}
 
-	conflictSet.membersMutex.RUnlock()
+	conflict.membersMutex.RUnlock()
 
 	return result, nil
 }
 
-func (conflictSet *ConflictSet) UnmarshalBinary(serializedObject []byte) error {
-	if err := conflictSet.id.UnmarshalBinary(conflictSet.storageKey); err != nil {
+func (conflict *Conflict) UnmarshalBinary(serializedObject []byte) error {
+	if err := conflict.id.UnmarshalBinary(conflict.storageKey); err != nil {
 		return err
 	}
 
-	if members, err := conflictSet.unmarshalMembers(serializedObject); err != nil {
+	if members, err := conflict.unmarshalMembers(serializedObject); err != nil {
 		return err
 	} else {
-		conflictSet.members = members
+		conflict.members = members
 	}
 
 	return nil
 }
 
-func (conflictSet *ConflictSet) unmarshalMembers(serializedConsumers []byte) (map[RealityId]empty, error) {
+func (conflict *Conflict) unmarshalMembers(serializedConsumers []byte) (map[RealityId]empty, error) {
 	offset := 0
 
 	membersCount := int(binary.LittleEndian.Uint32(serializedConsumers[offset:]))
diff --git a/packages/ledgerstate/conflict_set_id.go b/packages/ledgerstate/conflict_id.go
similarity index 57%
rename from packages/ledgerstate/conflict_set_id.go
rename to packages/ledgerstate/conflict_id.go
index 2f686279..0d084ca0 100644
--- a/packages/ledgerstate/conflict_set_id.go
+++ b/packages/ledgerstate/conflict_id.go
@@ -7,17 +7,17 @@ import (
 	"golang.org/x/crypto/blake2b"
 )
 
-type ConflictSetId [conflictSetIdLength]byte
+type ConflictId [conflictSetIdLength]byte
 
-func NewConflictSetId(conflictSetBytes ...interface{}) (result ConflictSetId) {
-	switch len(conflictSetBytes) {
+func NewConflictSetId(conflictBytes ...interface{}) (result ConflictId) {
+	switch len(conflictBytes) {
 	case 2:
-		transferHash, ok := conflictSetBytes[0].(TransferHash)
+		transferHash, ok := conflictBytes[0].(TransferHash)
 		if !ok {
 			panic("expected first parameter of NewConflictSetId to be a TransferHash")
 		}
 
-		addressHash, ok := conflictSetBytes[0].(TransferHash)
+		addressHash, ok := conflictBytes[0].(TransferHash)
 		if !ok {
 			panic("expected second parameter of NewConflictSetId to be a AddressHash")
 		}
@@ -35,17 +35,17 @@ func NewConflictSetId(conflictSetBytes ...interface{}) (result ConflictSetId) {
 	return
 }
 
-func (conflictSetId *ConflictSetId) UnmarshalBinary(data []byte) error {
-	copy(conflictSetId[:], data[:conflictSetIdLength])
+func (conflictId *ConflictId) UnmarshalBinary(data []byte) error {
+	copy(conflictId[:], data[:conflictSetIdLength])
 
 	return nil
 }
 
-func (conflictSetId ConflictSetId) String() string {
-	if utf8.Valid(conflictSetId[:]) {
-		return string(conflictSetId[:])
+func (conflictId ConflictId) String() string {
+	if utf8.Valid(conflictId[:]) {
+		return string(conflictId[:])
 	} else {
-		return stringify.SliceOfBytes(conflictSetId[:])
+		return stringify.SliceOfBytes(conflictId[:])
 	}
 }
 
diff --git a/packages/ledgerstate/conflict_id_list.go b/packages/ledgerstate/conflict_id_list.go
new file mode 100644
index 00000000..afd0a940
--- /dev/null
+++ b/packages/ledgerstate/conflict_id_list.go
@@ -0,0 +1,23 @@
+package ledgerstate
+
+type ConflictIdList []ConflictId
+
+func (conflictIdList ConflictIdList) Clone() (clone ConflictIdList) {
+	clone = make(ConflictIdList, len(conflictIdList))
+
+	for key, value := range conflictIdList {
+		clone[key] = value
+	}
+
+	return
+}
+
+func (conflictIdList ConflictIdList) ToSet() (set ConflictIdSet) {
+	set = make(ConflictIdSet)
+
+	for _, value := range conflictIdList {
+		set[value] = void
+	}
+
+	return
+}
diff --git a/packages/ledgerstate/conflict_id_set.go b/packages/ledgerstate/conflict_id_set.go
new file mode 100644
index 00000000..ccc431ca
--- /dev/null
+++ b/packages/ledgerstate/conflict_id_set.go
@@ -0,0 +1,36 @@
+package ledgerstate
+
+type ConflictIdSet map[ConflictId]empty
+
+func NewConflictIdSet(conflictIds ...ConflictId) (conflictIdSet ConflictIdSet) {
+	conflictIdSet = make(ConflictIdSet)
+
+	for _, realityId := range conflictIds {
+		conflictIdSet[realityId] = void
+	}
+
+	return
+}
+
+func (conflictIdSet ConflictIdSet) Clone() (clone ConflictIdSet) {
+	clone = make(ConflictIdSet, len(conflictIdSet))
+
+	for key := range conflictIdSet {
+		clone[key] = void
+	}
+
+	return
+}
+
+func (conflictIdSet ConflictIdSet) ToList() (list ConflictIdList) {
+	list = make(ConflictIdList, len(conflictIdSet))
+
+	i := 0
+	for key := range conflictIdSet {
+		list[i] = key
+
+		i++
+	}
+
+	return
+}
diff --git a/packages/ledgerstate/ledgerstate.go b/packages/ledgerstate/ledgerstate.go
index 04759124..caf22788 100644
--- a/packages/ledgerstate/ledgerstate.go
+++ b/packages/ledgerstate/ledgerstate.go
@@ -10,6 +10,8 @@ import (
 	"strings"
 	"time"
 
+	"github.com/iotaledger/goshimmer/packages/graphviz"
+
 	"golang.org/x/crypto/blake2b"
 
 	"github.com/emicklei/dot"
@@ -68,7 +70,7 @@ func (ledgerState *LedgerState) GetTransferOutput(transferOutputReference *Trans
 
 func (ledgerState *LedgerState) ForEachConflictSet(callback func(object *objectstorage.CachedObject) bool) {
 	if err := ledgerState.conflictSets.ForEach(func(key []byte, cachedObject *objectstorage.CachedObject) bool {
-		cachedObject.Get().(*ConflictSet).ledgerState = ledgerState
+		cachedObject.Get().(*Conflict).ledgerState = ledgerState
 
 		return callback(cachedObject)
 	}); err != nil {
@@ -161,13 +163,13 @@ func (ledgerState *LedgerState) BookTransfer(transfer *Transfer) error {
 }
 
 func (ledgerState *LedgerState) GenerateRealityVisualization(pngFilename string) error {
-	di := dot.NewGraph(dot.Directed)
-	di.Attr("ranksep", "1.0 equally")
+	graph := dot.NewGraph(dot.Directed)
+	graph.Attr("ranksep", "1.0 equally")
 
 	realityNodes := make(map[RealityId]dot.Node)
 
-	drawConflictSet := func(conflictSet *ConflictSet) {
-		conflictSetNode := di.Node(strings.Trim(conflictSet.id.String(), "\x00"))
+	drawConflictSet := func(conflictSet *Conflict) {
+		conflictSetNode := graph.Node(strings.Trim(conflictSet.id.String(), "\x00"))
 		conflictSetNode.Attr("label", "")
 		conflictSetNode.Attr("shape", "Mdiamond")
 		conflictSetNode.Attr("style", "filled")
@@ -181,24 +183,24 @@ func (ledgerState *LedgerState) GenerateRealityVisualization(pngFilename string)
 
 	var drawReality func(reality *Reality) dot.Node
 	drawReality = func(reality *Reality) dot.Node {
-		realityNode, exists := realityNodes[reality.GetId()]
+		realityNode, exists := realityNodes[reality.id]
 		if !exists {
-			if len(reality.parentRealities) > 1 {
-				realityNode = di.Node("AGGREGATED REALITY\n\n" + strings.Trim(reality.GetId().String(), "\x00") + " (" + strconv.Itoa(reality.GetTransferOutputCount()) + ")")
+			if reality.IsAggregated() {
+				realityNode = graph.Node("AGGREGATED REALITY\n\n" + strings.Trim(reality.id.String(), "\x00") + " (" + strconv.Itoa(int(reality.GetTransferOutputCount())) + ")")
 				realityNode.Attr("style", "filled")
 				realityNode.Attr("shape", "rect")
 				realityNode.Attr("color", "#9673A6")
 				realityNode.Attr("fillcolor", "#DAE8FC")
 				realityNode.Attr("penwidth", "2.0")
 			} else {
-				realityNode = di.Node("REALITY\n\n" + strings.Trim(reality.GetId().String(), "\x00") + " (" + strconv.Itoa(reality.GetTransferOutputCount()) + ")")
+				realityNode = graph.Node("REALITY\n\n" + strings.Trim(reality.id.String(), "\x00") + " (" + strconv.Itoa(int(reality.GetTransferOutputCount())) + ")")
 				realityNode.Attr("style", "filled")
 				realityNode.Attr("shape", "rect")
 				realityNode.Attr("color", "#6C8EBF")
 				realityNode.Attr("fillcolor", "#DAE8FC")
 			}
 
-			realityNodes[reality.GetId()] = realityNode
+			realityNodes[reality.id] = realityNode
 		}
 
 		if !exists {
@@ -221,30 +223,15 @@ func (ledgerState *LedgerState) GenerateRealityVisualization(pngFilename string)
 
 		return true
 	})
-
 	ledgerState.ForEachConflictSet(func(object *objectstorage.CachedObject) bool {
 		object.Consume(func(object objectstorage.StorableObject) {
-			drawConflictSet(object.(*ConflictSet))
+			drawConflictSet(object.(*Conflict))
 		})
 
 		return true
 	})
 
-	d1 := []byte(di.String())
-	if err := ioutil.WriteFile("_tmp.dot", d1, 0755); err != nil {
-		return err
-	}
-
-	_, err := exec.Command("dot", "-Tpng", "_tmp.dot", "-o", pngFilename).Output()
-	if err != nil {
-		return err
-	}
-
-	//if err := os.Remove("_tmp.dot"); err != nil {
-	//	return err
-	//}
-
-	return nil
+	return graphviz.RenderPNG(graph, pngFilename)
 }
 
 func (ledgerState *LedgerState) GenerateVisualization() error {
@@ -309,7 +296,7 @@ func (ledgerState *LedgerState) GenerateVisualization() error {
 	return nil
 }
 
-func (ledgerState *LedgerState) MergeRealities(realityIds ...RealityId) *objectstorage.CachedObject {
+func (ledgerState *LedgerState) AggregateRealities(realityIds ...RealityId) *objectstorage.CachedObject {
 	switch len(realityIds) {
 	case 0:
 		if loadedReality, loadedRealityErr := ledgerState.realities.Load(MAIN_REALITY_ID[:]); loadedRealityErr != nil {
@@ -352,16 +339,16 @@ func (ledgerState *LedgerState) MergeRealities(realityIds ...RealityId) *objects
 			for aggregatedRealityId, aggregatedReality := range aggregatedRealities {
 				// if an already aggregated reality "descends" from the current reality, then we have found the more
 				// "specialized" reality already and keep it
-				if aggregatedReality.Get().(*Reality).DescendsFromReality(realityId) {
+				if aggregatedReality.Get().(*Reality).DescendsFrom(realityId) {
 					continue AGGREGATE_REALITIES
 				}
 
 				// if the current reality
-				if reality.DescendsFromReality(aggregatedRealityId) {
+				if reality.DescendsFrom(aggregatedRealityId) {
 					delete(aggregatedRealities, aggregatedRealityId)
 					aggregatedReality.Release()
 
-					aggregatedRealities[reality.GetId()] = cachedReality
+					aggregatedRealities[reality.id] = cachedReality
 
 					continue AGGREGATE_REALITIES
 				}
@@ -540,7 +527,7 @@ func (ledgerState *LedgerState) getTargetReality(inputs []*objectstorage.CachedO
 		realityIds[i] = input.Get().(*TransferOutput).GetRealityId()
 	}
 
-	return ledgerState.MergeRealities(realityIds...)
+	return ledgerState.AggregateRealities(realityIds...)
 }
 
 func (ledgerState *LedgerState) getTransferInputs(transfer *Transfer) []*objectstorage.CachedObject {
@@ -582,7 +569,7 @@ func realityFactory(key []byte) objectstorage.StorableObject {
 }
 
 func conflictSetFactory(key []byte) objectstorage.StorableObject {
-	result := &ConflictSet{
+	result := &Conflict{
 		storageKey: make([]byte, len(key)),
 	}
 	copy(result.storageKey, key)
diff --git a/packages/ledgerstate/ledgerstate_test.go b/packages/ledgerstate/ledgerstate_test.go
index c41f90d7..3ede1057 100644
--- a/packages/ledgerstate/ledgerstate_test.go
+++ b/packages/ledgerstate/ledgerstate_test.go
@@ -6,6 +6,8 @@ import (
 	"testing"
 	"time"
 
+	"github.com/iotaledger/hive.go/parameter"
+
 	"github.com/iotaledger/goshimmer/packages/utils"
 
 	"github.com/iotaledger/hive.go/objectstorage"
@@ -29,6 +31,12 @@ var (
 	pendingReality = NewRealityId("PENDING")
 )
 
+func init() {
+	if err := parameter.FetchConfig(false); err != nil {
+		panic(err)
+	}
+}
+
 func Benchmark(b *testing.B) {
 	ledgerState := NewLedgerState("testLedger").Prune().AddTransferOutput(
 		transferHash1, addressHash1, NewColoredBalance(eth, 1337),
diff --git a/packages/ledgerstate/realities.png b/packages/ledgerstate/realities.png
index 06e0c5c9713e6efcfeb4b2c57075af9492f3ff62..ee04a70dc73d14b3b2f6fb0e66d329a0c21c9f19 100644
GIT binary patch
literal 69353
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

literal 75304
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
z%0A<Y^4o}F_m=p}O7F`}3vbnwzPS{8>F}#5SLJ`Ih0Jzwy?1F<e~oF*nJF!)DlgCe
z&nv&a?d+r_$&KujYw}bkUo_lub=u->$t9A}zfYgAkiOYBG5L5{T)&up){PmOQBVHn
z9V**@@88O(?Vo)nseVjxeWcSTQLPMaD7{O6ePijD^6DE>^@~BxUkS_Oy<V@YlJfWG
zfLlm6zq?6FD!a$*?)he~^k)`mdalw~O=abe*LRjJjLW!uuwcJYm0Yy?3$e=mvkP+l
z_w+BX<Tbz3wsmfgoc*?K$t||W`_^s?lCoA#PAZYVy=$JtPjEx&Z^jcFkIt=C##*l~
zzFsx)^}4O~rP3yTo57>keFvAQFgytee187*fg>MxeLgOq_355WXwFqD?_0Xxj!e!n
zyC3fR{7iXFX^PgrXWzEiJgd;QQ*&dStfukm&--oRrxt>WAN?&a70S)Sd+T@4w<@W!
zJ*j;C&fS=;IS+Go?%t{P(`V8&-8s73i++ae@Cf``yLT-pHk96HcI~PBJduled(qD)
z@1Ct%u(<uo=JyGEr+OW|dHpp5bS*&Wk&N}<RXn5ZB9}f={l6?RdD)8e{Rg}JLbm=o
zd+vPjo|V~8qjrI&aeY?UNtmT|{o<FJ`s8E&>A%}fzTcd`wd`rq&Z(!DtJ)cVdA1<X
zv#7K>c>#D-{l*@D^EE-Mr^k5)F)G>a`S|kt&Fxkt3F|>lyQW+B>Gzx4Dw4UWMn-LJ
zw~DTm_2?yM*Go#KM}sPJiPP53pjqw6xm=w6wqJf0#2)&7P5MRH+gaDWBF+gW=a>Ay
zVWr=jcigHh?3$-)wS**Ugl~y=E0(r&%Y9qDxTj~L^14{J-}{fGyRCX3v?lF&-RTpR
zF$<Ga{|fw=EvFwJ2<n8-x?W%#x_MjF_Rm)iJ(V^o`eWjp8)5nA$HuL)i+kj(Gq+B?
zcH^d$u=4L4C%zteaXwD@_lXlmZs(e(T*<!Sa_PTT(Au83^0lucw}S?J6^bn*KOH)~
zi$P)f&(F{2i|nac>2<Bb>+7+;@J1okGksH5CcVFR)i7TEu8r)XUCPH-<UD>;{rJV1
zi`>8R4%c}G$@=q8tv<GI6=)DvV*4-Ucu%jd(^D^PI#E5#Yl=qZ^<B`(1Z|ymy$yeN
zB!SA1|IVOcSA}UiELzt@FJ5qTU)7?wr?bASf4Q^HDQMCsQB9@qp249DpK@D0Gxpz~
ze?P4ZG~$`U3@Q}b`QG?eJXsy6c+ioH({A2}j2e)MGy6R~8BQq5xwyTWKJ)U|<J<p-
z-3?3**&P4hr@B6+?8%cyi=zI^EL#41-%4ZYYuXh*jUpdCI@8C>z`!6Zsvj7%xi&oO
z=cApT_m0k-_W8Nf)A!q*HrIyReacG#o8AsGol&XYdO5T3y^DKaUk8mZPtCu0>5a#-
zm2YlF@*eXCjeP|@c=KJP`1v;Qz;=St^-HNwKR>hr6~POiet&as<;2I!Pi`%_>Ej1l
z^rB!0Y8uSu{+-y*=QnrBB7d8OX`gFC_IQPER-U=eXYsKttKz<QF?^Q~Y6_Qre<iwE
znUR6vfXmUh73NQ(osSzSf<}L4G=N;TOsBB$*Vo5Wt#-a~4t;mS^WEhCOaC10o-M0=
zTO)4iDw}8Lrh6ZBva&eoZSGWOiZo^qszS{~Y9F`p`OaUpLH_^Zs^nuQK_e5E#V7sN
zC9FJt<;mVit*<`1e?Q$biM{uGG1zCIAYssaz-P{oVr=g0ubuFy!gfcgH>eH1?q+eC
z`>AU&Tw+0c3xz{=I=j#PQLyn`-nZ#GVw;me^)^Ve(8=^N28ILwV}5<R&lS1ZYhCH<
zmG3$(o(kWx;^xF67Ik&?onK!rR}$5FapnKo3wQ1HSD*VZvFP0V`)@Kp+CkXUPmKGi
z3PZxSA2THW{`%<k_v8Hcp?|m5uc+EC2cBsO>k}zd@;H9~d*H<`(W?oER75o*jl6H$
z7k_EmcYA}q_iYx26rY@!HJ^5V_&tl^jd6*i|7K;7$(CH8l{1s?{?~SDU*>ytD)aBF
z35Q&+zPLA;^CV9}?Y4EZ&dpoSzCBMfVbk=y_+2xWz7^LCGw{C6JfZsN5xWc5_Wr99
z5Y8=|67%-mU+Y<0&w1O+{N1ke=({PSMDPX=MyMsAbv_A;q?b39o+)qqB(A-TO;~MJ
zMr&7^`zcd77uQ!e{#17Ds&M>zyl;B;-d~ZI)~ViGq+IQ%`RM%Y$V+k!cU~S_yWb@D
zp-b$(U+sI;b;G`T`OlQqyx!H{KmGr=(pw*%Mwza>?vu>s6Lj)XWOOROLV97*q<LlQ
zS9zTeF|Y<L!<w)dH2JKy^TSoWx!<A}Z+h1o`uy$0Q{g){+?-f6_s0wgR{i)@_TT@m
zNx%1N`MjL(n{G~IIIv7u-S5QZ%fYPNVprD1?*4Km*vBKSwf6V7mEr5-y1KhB|N8p+
z>!WV{S&*5Nh8WP?yMtJFf9J(cezDhIZiTM8xVHUO|Lg-TDQcjG@A-YUURUGaFAJ7m
zA8=xq>82ycXUlRk1bzK_J$`lN=Vz;;wyt7gVwy4GjMLfK=GQ+yKK}IK!-do1syu_2
z`2^<Vthov9Dl(if1x?!Ml)V2{DjRL!|9xFtFev};a&+FT{8Y03-S0^C>3S2h_x@UC
zp0y^1OVr3(h(YD!!*=<sFE1{>y1cwUY)!;MCf17hnUP`ZVpbX^A6pT(x9Zl8!o{mX
zRwjXq9|ndZ8_-N$x62%kpoZ%fk&hldefaipONyBG{XMNx{_|Hxr#qE?h@V_)uXN~*
z2ZMqqC_Fj@l}(DCc$}SM8JvA>O`_AKlx8;GOAimXm;U~iYnpMvVYYd`88k;)%7Lco
zZt94EX0Dvf*Ia)rcYfu$4G)VnJ*Li!d>6ZWmGb9j8qdDvn$EF^R9zKnZY|Vcqobwe
zb$569b$<Il3ikH)d;k4<o#yVO^!@$)>pKb`Z^^l7wD;?^=%`I8on0cDNo9~F5k)GX
zvPbx+>;3Q#?%t(O57h1a`ff33R(j5yGksH^AHBDC^<!@F7suA`e|2->;x84#{F{{-
zPc-Yr?a}b}_jh%1d2w2Qf5>9D-ZOnIAvHgrPM0!BXgD=RQ@Osr{_6Vp`)?q#X-_O{
z_K7kWoxHm`yrkfiiYp82$=X*Yp)c>Wa-Pglil3;IWs$i`Yu}Bi<KkzozrVeGrYxs}
zT=9zwil(`@LiF_XtSUYz2v53sXZ8AhtCElRt&G`O^y$Ng3zJm6kGwAfPvRxWPk(uN
zxxcwJ3&Rt$hwl9v1=p%i#jlwm<y-Bqx+=`rT4+*XQBly$ws)uE_v~=`d+k-7OUo&f
z3=Q@4x_EYnXTRQTKL6#_>h-UFKA(SmUF`0VT_u^Dl@B%usd}yOpKn)GR(9>l$;qWZ
zJ|u3<y&dM-EoKUxZnR_q6%+28BEH<dcD}UivfI@9f2>!fY(n%{xn|7eGHa2yUG$h+
zd__v{@{sp)Kc0%;GUMh%h9^PA&(B?*q8V&b^(Euyj~^$F9zFWT!=wH0@9(QYIjFPq
z;;*l-ukI?%1{e1X3=`fOYH~90301$J=cgCDD0{!mwac}?SAWu$J=@1(?Gn3ZfpT&B
z>7@>grgJP@T~AF1rHL37E2}7GcD^gid}n_-$S$98VuE6tyA#{pJ(a<r)c1UTy`H|l
z{@(BRs!vVVpAXAI+d#`f*mo3L`nW$oAAIKR?N#<=bG)vu$}Lk_;{4_8Y^ztc?&a(M
zto-#@{gvT2Wd?Q*e*W<5>tahE9pTKqxykkIt*yq^LNYHN_uF4v5x6*HdtPkrogIOp
ztHWSb&P^fEEUM%6I?E-(-eRjWj&`lGKj+;V6MMF=g{PzXgM+$V#G2RpWrEfobPnAp
z+W&-kLY<<b;-@cPLTYOEl)bsJ@YdF!sqJ@OT#v60?U%DH`S+)CZNx?=+o~@H&^&ar
z@AQ|KmzU3$Wnw5&>OQ)tcz)ismH(p`a-HA5;MaSffPYDQx(${WmlX!?Ogpdn?;!Ks
zZ_(P`Ics8G+h~L4ad{p1KL7oGe|7EeZ>wT<Zrb<zowe4BqK!tWr&iSe|F^5|@2)+2
z_LO{l<hnKUvKwo~dJ|BU!N3VBeM&m^7P~vj>jb%6D7^Z{-obxc?aenHCs-2g-&|ZN
zD!<Zav07Ex5sjS%#gYw<^7Vf<w(&|YyB=5Vn|*Cf;6kU?Gkq;On`(cT@k$sttXsG4
z)A#S;&1}49AXBss+aBbUF)*CS%!}W(f_d^W?N8h9gSu8~D#aVS)<&KF8-Mxh^^*#+
z^UOjon&;1w<#aF;mzQ79DXf-pVS(c;i^4@_d3R2<q{v;~S)49wUFIXI6%w#H?d+C{
zk4Yb^7l3^Mnyx6@DYYS9eOlduN1>}${JX)a6|ri{&509O-~Ic!oay<wkQ$#gQhu`*
zJ({XD8)Qex^K-IaUtV^Pul+jJ?%$8(y&sQBr@1$EK6?DvwESI+?|i%1x3{)lzO^+w
zbeWGNv;~kLrKZYwfWf<F&$%D@7v9I`g)S|78@l;FgXPX0Gi13VK}DSG=b6h-+^-Mb
zYxp<>T#7TEaMO$5x8~ej>(_@`xo_<%T^+S0Be6^+MVOsWCSZNsUJ+SYT~Gn|<&t-r
zJGg8(AOb3VaymM@f*#D7xobmq`zxO6=<_@>M_N+krtFU}-1$Fymt6iWANOZxuN}?b
zXJjqZkn`xq#^kJ9TUNfivvYAn1B05%M3>EJXG^}k2;7=;Gf02`pG|7MvzE-5Ap!Nw
zgr}gmH*uN!Ki0i=Pikj(aP!AFt-!r)Hz!Wu{j=?B@!XI17kKHHS45b;KJ)$uL*>;z
zS?epS!}UQ$-2A#<E4@BO<S$9Qx++x4vS`V?+HaAdOmlTrs4+A}N4D)=!7!oAzW$#l
z`*OdaheoMaa{m4H@lbNyx^Df-e>V!bZhxNJcV_n58`a;>^syXZ;TG2mxxOy;>SA~P
z+P`0~`*<8$#>mX3VPFt&@#4j-3kw?m{QY|tnyRKP3=(3PwDHK%mtWNDc5Nu$tyNui
z?Q;H?r-f@hF0S32UUH?nk86s?O3)gSfR{#T?o1O{laiB7la6q#joBIW`PtdaKR!M_
z+t(taW@Qy6tmbopUA|^P-QQm?oB8bmHYOc~w6Pf+mVs7Z3RMb7u6(@DZdd8Io-BUJ
zWuJ7TX328iyz}?NYb&GjZE`O6f|%Ez)QWtp394;ew&&dq+MaiJOa6VkwekDoVt1FB
zS_>6zkhLz$IMBeT6}oE5pTB>vZb)>7m6e&GQOo~bf8NgNJ2zilU0mE$;{DP`p{r)e
za$35)*;{S3ub?rHW&V}T%5E<U`=6ibV^I+P^Y8cjS65a}&bzZ?;oIBWPv5<J_l?I1
zR!~~AtNoR6e_!n^<Mh5`J(9}m>gv!qe^B7##niB5gZ#G_S57_E3SGVJRj<@)aEqJM
zvPab}PBA;|<)i)kuLavyua3HY9TY8%d@>db^kR3daBAhcwK2JUUd1EM&B}`6o&EjO
zw{PEmul9Q^sD^ocZEf&OBO4(ZP>!6i+dz|3!GH6SqqcKAZvE|DweMD_|JOIV>gnm5
zlNH%_|2P{CYCelbZ3C5<Pv_{*zd4a1<-#)G*;n@0*Mp3cHqU!<xBi3)BO~LhtE;EK
zySrQ6-rjy|?(J*P8rp)V{2t?z$cyHAFD`sp$@TlA{VMacId`hQCprm9hOPXoon=wj
zwNB1v!GW2VMT>ufx;9HDA5FS=W~TAg)#3WQ@^&%N+w)SLgl3*PeAxMTpKS2zu(enA
z)mB$lR%)uL9fPiav0#}xiQ&_d*$bDK{;8F>6xUh6_E>$@jmcBb^tHr10}V49<@e2r
zne)`{WxQ6<zCAZ5GTcyv)?&}j&fc1H(}-8b;=&t`6Ukxg<JL}8c3%~?HVRZketmTn
zmYCZ>p>=-em$&;xH>FLDd3`PTuHfRS>oWp3D=SW~DtJAu@7(;=*3%D%)c<j@4O<QJ
zi-drj+`4tKyR|GVB0!n()|SlVGL<KR%l+qvou6l0`tFXUZuB;vz181gjkK4?mZ&t?
zDBG#I?XTMtRR8CBb!h!t`BnGUw$A~zomyk`?9|-Ur|Vt3+RV7hv|@$UwyfMT6^2X>
zPR@zTmoHbze12~3s>sdDPIgYX?&|J-`t)gU?`b-L^X+Q4l)Ma*Q|19h{E3M(rm##<
zzw=+)>3GeaQgt1l^L;W)H}%e%A<J3Wd34d{XtS4hp3h$uHGThTxAXUWI+$->cz1U<
zD9c}67aJYDJumd-rKM;4SX6$zTD|_uv)TEt^6P)k{`2?m(|7Okpv~Dgk8(gYN{+c7
z>+1t8g<X5g{pCJCGgj<e^ZdyYsk_y$Zf<vf`RCkQt9=Rk9xZx5doGuQ(&_2?;m7-A
zuWn3sul;_v+{Z)dcIDHl;U#~56o#$}@jP$)ea^l5|Fs`~F9ms{VNQ#eC&SKLt?SEP
zZn-ZtwKRW?RepcSzC*2N`&w+?xt&;VWmZ3rYpUkrHevPE2`i7E>0^14Sy)&oWnZ^P
zOgCzYq;Xott1Bx*jFh9h`}?o|`T6<lyWQ_s`OY?r+FiC*uKrIUG)E=~PoBh3v~&kM
ze@WI+_g|lv%ZDy@*AIRDYt|9pv=rg;^>G&`?%XU={(qm8-<(B|BH_g3y!-ps#_g?o
zc{_jq)mf(5R~Ea2nz?PVHWdMTtG-^kySsdA-d(G$+1JlObIX!WPfv!O=k~t7UYc{z
z=I-t)-%|J9z?W>iXZu)el%Ac-m94+;ZhpRH)x8xPwJxvNcynTd&C`DSe*w$==9c{Y
zl$v{coA23KrpDGn3ENMc@Zgm+a+z(Gdud1EW0UG{IZw~ezYonXOFBRnc^&CgVAZXO
zXO*w^`Fgy1<%!2n&-Ae@IVB{%Jox{1r^Nq1<NUwBTz+ca+_QZwPdFPJ8(-box!G%~
z)>2vPvK3jOtENueyf$`sn6g_>z}Z=*Pv5^^FJ+oF1KKxpx0o%<z#wxd>Eh3~w?!<n
z+vKXjo!iqbDw}N8#l^468Tt5seYf~>U3TfK|I<!`7xOEG-`-WaI<Dd&>(!OP?!Uji
zO?DF6d1!Y2zLf_KI2=8G{Pf+sv9GVMhb;{3PY4on=o1&Ojd$#>72TD%_fFOKz`Ylf
zp9XE1aC0NW;Z<et7F9h~d-18?UaR1p&e3~&v&&Qz!asfdc=7f6{p&y_@bz`ET9KQU
z+?>eJURYdw`QP8)rU?fazP`ThU;F!8Xh_HuX#3UUz~gAfCmEoqHk8kI{r`3PtG-J2
zb?2{{S_@6co49}O<%yNWpjsc)dulyxmj|+_qqFnkhQz~L(#}f#{P82>%nZXccP68&
z*W>Hg*8TmpGUenXP#FX6=YZzL7#OBbVklboVX?c&1JgJ^y>p*F#2si+DcU1+b=B$Q
zcQuwfcW8iy1={ABSqn{ge0N8ov#eDKs6gIQ`Z`QaWukh?iwlm9j*g&y?Y!!Dmbwue
z9RBEOfila1oDeUj6O}q*e?g6gyITUE&aZde%Emv{yOAkvIg^aqyMMK^@o!dlJU$+h
z{=;Kx{=GwQJRJH;-rcdRtg3qT?d@$)wesrv`us8#1@EKBk7pljVx47Gx+-dW-rB9%
z*H^_@-rLCwvdMrQlv$?SsQzA3^inAH_tOpY-rbI$8vin*Ohq9$;?d*Ms=rpTH?}&P
z?)n<=_4+?WP{Ww}gkjykpXsG<Z-q|P4!`#8?d{NoPOO`i8JAhs{Mb<S?aj*D+w-&U
z?kcVN`E)w8L_X16QKQ`;^Z49T16H3|3#1hlv;Mr}QB#??+S1Z`b=v-at4s?voU7gD
zs%{sv<_EY*WqC+_e$66K2mieN|2=hoKDw)^Onh#dcPGNVPbP4-S?-mE&g{L?=6?Kg
zHU`#WAnz#jF9apBg16J1tv04?><U}6;@9K7AukNWH!Cwnsy+H)DEs+q;76~iq4kGc
zL^a|-!L}`BV}wcWEt9jeOuZi;>%F|E^7E57XWl<x?ELxjXXcL&4?#t=S>Bx$%jZ>{
zf@J;%n<h_BhMTjFCSBaAJG<oFXaBE9x^usrIp7E$nTl|jw!8M_qP{b;K@A1dIVPd5
z+F>TvLKD{B*<T<3_xJbf&*#^#OFca;^TC0}G<T*=YmL*-tw=vV&#Ly<mT7vitM=9Y
zhK`y{U<XxXx4Y206HouTpSUe|XV=ojpP#?-i<t3huW=kSee1^TF7u7uRTAjo(P8)Z
zOYqjr%g5e$IBfg=;2^W_Je$aU`}V!MyL&sx9wF5gN5FffQb2Q)Dc;-lW3L3xuk6|_
zzxLN-wHNt${<CE{Pl!EAP6DS6PKyOm|7F&w-`ZkoEtIh8!Gna-S64jGojZ4HXYul^
zYilygR21BQKAW9?WqrK8sD50`zkmO-?(EnI9Vy%?qJNWd!rK_$8|xcR#%Tp?S~9Cr
zKfy`J<A`N_-BnrBu&e+6?P?0IS#sg)>m%>Q71!U|TfKdjdHy=Dsah{DEOhqqV0w9B
zUv0IleO=7e)#2fvpPhaB`0?T&KPsRlf03e=Dr1WDv>z3qhW7pacUF15y|p^+KO=Z)
zu-Js$zdPTj&yCsTk}9?1_05TkpMXl9i48iNYkn5>N*Frj@A=pU8T{dzA<KE<qK;U%
zm`=n3&ERD#LRW`<`usU~XVFt=EB1sds9M%N;^O-9M^gM<3(+-E&21}^R$ohVXDVs|
zHEv4&#fTQ^u0>R5DXVtuu;`VykLwoGz4YehX4A||Dw~xVcb?MU|7X!W+iEQ%qaaY5
z@AtR2uuP*mV+u>ct`(p6zh2S5U8k@x%ix~3>Z<Do)<P2&-`QOj>i+C(;G4VFpoUpj
z_{uC$o^^3`1r5Oc`uF?&)925ZUyrZ9`^Ljzort95%I){-qUYCq>O9sXx!AJ!*@}dN
zO=-u$-J>U<R;<C*`S$;pJb3CIy6IT(D)X{ETvId>K~dVZw>tcIO>N2Nl8#q>5^Fd4
z&YC65S+Js8T>sSN%fZ*z$6ucwU$;`t7t|y<@%7sJ`1KDDx1T<H)>qm*Z_4c1v!U^C
zIb-upMusQ8m}C7u9!!!G)_Vx<^q;kgOE><)M%H`3YJZz;R%Yabi~#*ASoHV7!Db&1
zrpP7!^X<5Jc&1FAJo(PuyP!%L+T<@X0LA`J_K6d%-o0KNoqm4Bw+Rom?mwyohjHuN
z+n}N>v}R*(*5Bd{b7EpZ)#vT>`L)aT)&5=;x;pIEp32Q#;`*Sv;CyFi=fx){Cx89-
z`~7P7ez~Z9H9NgNoCZ$-FjyOEaw>Sc&a+;<*zR6YQDI>7$GAPe`A(=@ueV(DxV!f2
z_T_hwhIw|MoogK)yv*m~hlhu^W?WR-X>gEl#;g1P|82il^VwHaGsxxNzkeaRp!pYu
zH;0y}H0TI_J1jRhYG=&StgB&r1CyuD&k|P%b_I1RpPilNz0e6XP}XG=ckYcxgCf72
z&4mXCo43~et<sI!;*r1qFQ_T|=la#v;aAtk+rPcJ+1)t(+?5|6A3uF_CfX5HMlx&z
zdEj#7qemi}(x&RY`{x!K|8~{#s&CVT&DS^R2-ZH<mz`<u{(XIX_+L)p&{fZj)7+UZ
zeYqZA|MGqP|J{8umW$5LHec=B&IjrO_8d)`xPJY5HUD{Qrs+m!{r&Y-E4(kh20XmK
zq}S7vVW!rvW4yAT=dNGz`FUvi4UVbV-{#z$*kGfs_iLY@PUM=`?#!XpCkjF{em32l
z*dQ|3ve-@5x-6umWJ}q*J1f)Y*Mhnymp+`<-@hV!ecZ0f&&#f@i(MTaS9ug#7U%Q?
zsWQxbmi8i3_Jb5?H2!3ApSkd)22U(A4?pIrq!`=(`?1)@#wKJ{h^DMf#RN`I1@??9
zD<(2AGhbck%wAblm33x@VOL+D8MIEBy(mb?Vc8CBeF?@1Uygsj|LV&BwE>p>X{(HD
zmdyG5+}v7d!Pe~SSsxx81hv8b{P`2Iqabm!GUJBJpbG8b;r7*Ty;7h7<#~0#GNGw=
zlcbg^qeV!KPfwG5)GAPu4iqbFag%3GVA(WL{nnPLzo(Ro*1eg*=l_4Y+?`#iWhze+
z#kyT5tNVxj|M&OnIqUZsr>E)qcraOBk<Q<<P}#lj#L=U!y;7!^W|?L~M~+UUt(d~{
zz~KA;t_z0p`FA<FFK<?MUzxL54HT1I)`^LrRo*&c-BNyY)+G6d8CeT`no<4z-OBv?
z`)=*4-3=-m&F|M-e&fL)qoAhd21?aUtlU@jR+oc@-c-G&z^Y;Cgdm{?=Q|dnYm)bI
zgBw~i3<6!XLrkoN7^E@hG}7Fi<O-jj65adj)oQEiZ)^7bc*MQ;!y)c8ccupk_v?PI
z{q^nb>O-yEr|;j7_nmD99YZ{jVzW=wp)K}D)^xu8=Dtg_u1z_9=O-uxTpAy#UU_j>
zQtS4LjZDwaU0QngznQhrrv_nlzZIF6m+dNi+y<UWU@2O;E%)}TA0HoA{d&3l>LOQe
zP-gx3@guZYoB`Si@lx#jgGRr#KRoLHeOa9K<;Bvh*!any{vGRqII-??wf|P0%e%Sc
zl&tm3mv(=jJUR1T_u$8U|9)kczP}gCD{Xc~Jicb(ak=U<Z#)=`W*$wtc&L@zwDMER
z){KizudlBU|M}_ZS@7f|g8}2@Neq{s-uwF6YFom*cd>hy?OJ?nMM-lTD0UpNPFxgC
z<hTD5u-Lsn4Af~%I?5%g5pdv*2g9a-goFiEUtcYiHqXoW`s(VZFJC}G588Cz9mvLb
zAWu-eN#ud4-?SYSl@-4Y6gi&=J)ONh;PFf2($_vK`2J;YdgtykLzZ)=LrlyZw;qXw
z6P4Ywo}HN)wK<Jfc#?zMlXvgd9XQ~y_tPnDP!f0Rms|VdMFzAQ-Xt(}5<}1Ch?2VF
z)4A?$h<iHAcKI#m_R~uhriM7=6~Dg~3MyX=x96{Zc;uv3;M!d`Cr)s7b#+}?{r%mo
z-R0{+709~S-Qa=C4TX>0cxA0ZuC5B5ynp|GNFxJOiaChAvpl;QwiW=C+!PBhelIP$
z85GNVLx20d+K{D}SMRYGI&n1V{oSh{Ti?GvwlcV??1_f$y(5R;c$`Q?%wJ^u{`R)0
zyc{%Kp7Uh;{kq`u^K3<BWY!$*7SBG=zz7{dOfiDZE;PJ(`|heX*Bndd?fP@Vnb&)+
zy6}lrO{FpBoMnC8)ck*Y<nHWQdEx8pCovlqc-i`@a`#x4yqIunOXgxBRj-Wm^K3&L
z87o{?1}z15#?Q^Qo@J6bsqXLBaL_1CYsGv+kpG@Ug?KS}1pm0G%oVjKpjBRf^{>Zj
zs|scsffB<}y}Hj+ovy73Ix2p9#Wj2O(<ebw2Pck!ntPz$kpA8;lRz!jq@!J+X%w^X
zcgydu^q+616|-Z5S<a0GX=i86g!KF-aLzf)$DlA9G<P9B|K*80ky?-MdHANCOLY=D
zu~=(sy(_P}-^Hna?X?TORd?+yzWv7IM4OISciOo*E8pGSoqb}0;;mh!+QO3<cq(5m
zoh~9GvSgNN_Nvs=(?COIj~+jUrtJby<!qz$?Vc^D{RLVaz5MsL@TcKc;8+$Y{n*rZ
zX0Gn@KR=(qM|~#vy12V%KRD2MYfI*2yB`mjc_odGyzyWtQs_Rq2oyJuj&x?-+p`l?
zzHUr%g(g0k7EezGPw@7(&(AfVeapQnZ|%1<>#7-OKv(70Ghf-S^A_(8{}=N2qwrUW
z>m4@wHa0P_yUVV23af8PJuL?9;TP>tcJBjKI9(kb7hYXmeRXB9I<%ygX*j-}$ph5I
z;F@9K_>)UKZ1Yd<853AObTrlfo-K8L#?s@ju7o}~^OEa#V*kyF35zC75U8xE(9qHG
z`Tgy$ef4*_@XvpbGyb{i%G0{@{v^fiZl_dRC-(ZhOXI%UHu3a~wg|Otk{3@UElJ#T
zBK6pb)ZQ7<9$izna&#B1UijqN(?9<{{GK=W)tt+g%TIrg0UchEJm<6R{r9hH&VT>?
zcTTPS^S?jmq_wLEPUW_?wvO3R!06n@b8tiAVT0^zIyUwHV%|i!fI*1cnkgzu9x6gh
z-recDa(DNIHSzUZ=9@?!3tiPA+ugBcrc2Xm!RW%;^Lcv=lSFRq=w<HdIpXI!^~H;e
zi!0vm{eEFxto56_yTy5>Oa!cj1Yd%NOp{Md(agBHNp)NP{l2odw>o7zJHWu?h?l1l
z^Yr<%yDR?Z7d*ah`{Kh#k&-!9b7d#FgjgvnZ;`Z?GrMem@a*6HN{R*ytord?bGx)o
zw(&|EWL!|-k+BfCc=6(!2`Y=YJ|AS4S5Q=Byt*p1dGB6Zvz!|WWhzQwa7jR0wUg(@
z<mk+f_?<GX`f-asrxyp_-nI6|#10SkztyUooZ8bDS1msF;?ZZzRoB+(mZ_{#Xl-qs
zVP9{@#Kg3r;GvUF<R%ukH4{`9c}<u;o!#Ev{>Sg%$zNVvjM!gio3(kbBE%leH&axM
z0?L!mDHOiVnh_m&@LILps%tBi%T$yuCHlX=<9KJ&`hXeJ`FFGKGuWP^Sf-+tzH{f!
zg7Wg?2b<Y9CLU(%k++X~<KdFh&?jfhRbE~`W9H1n+uL#rN=ihmg#^K1Wyjn}E^KZ=
z5gnjNczoS<gUo}bGI`&YiJhG{Hg<UMKe4TBYMFX^V(nuqtMl`kt76|A>2rCiqO8p9
z+|GB@{{Nq5+v;x%!q>+oxhp9#e|vC{*=L3UV>`e6u}4R{Hzpipl8`P=69RikDfhUa
zrxNp|>64qi@3TI7I8~)&#+%k<wR4a5xwup<Gq9Hrzqa1_Sm)!6?-yMncJ0wFQ_))7
z(!#<cX~bfhea$5$MI~x$mMSP7JXC~O*x3&sKhADj{mrGK!eW+Lu2z{2#G0Tcke`&E
zKjS^J{!9Ck1q`vzejQj8n!Qn3aH8Dqed*@w+;Uo<9&lW*wJGx8qRHRh-|yd;e0-66
zzub+j+2XGXR^%&PGUDXqEGRBM+|16uA@i~tkE~V58xL@Lc3HykUO-5)!FsvhgFA;<
zE7sQ4eu??0Ypv3`;?Q2hB$1rG&lPNcap>vAcl}8}f27YPi;IivP=}!MhlA|$4=yZp
zeltNuX>Ce&b~m@UUc!wHi4t}-7HMZ@G(JB+zgxB&oQ^x5BrH{#C^uO|<iYz7x<Ay5
z<fC@*x!(RLH^+Wbht}1{+2Mlk|MQ;F$vT+VsK4s!YW*@5E!Vm_JG-Axgj?F$l74=A
zI>Wkr-HnMI9U+^NkMsG=G-B0_+T!5i!eUkO0-lm59rW{5vi)jgEj^tn{L#m)t6#h@
zmF=zmDrPMtD7oVKO#Xtxn?ZZd)b;4u&0ie$+APUkiB-<NuE#L>*n=-GFaLPCe7-@_
z5sr<@f`Tib9_y8sFwc|Gi`~@{x;pIP<9>UPG2le@SKeB+^GiV4D^pN}Ozh;`b>?g1
z&QNbqgfyP6|Hd=DiRpuZreJ=Z5jU@_%+WrVqjz=`GJ^_~!|nVV^Y7c;xP7}@wzI=S
z`RC7{A3lFR{ORdw!=fi1e?A=MUlF@|+l`HoVB?VkS>*HUV@3=ouj5=k*^8Ca%va5r
z4bscOprEPa@~K~X;<ww1TMDJy&E0y0tcCu@`}pv*@yqwA`OZrC|L<?cwKX$A;dV;L
z%1Y|pyLSerrboBs-hS}pi3%v;fl^p=nob#ml9v3WCZ<1I6-7F;uP-?IKykzWKip*=
zLKDLbjm+GBcgipR+v2%nTdlOv{`lTQe`+=+OYV7ld;8&=HzoV}`Yb9xsaUIYdgNPJ
zTR*<E)ceJqoyNbuz3pDV?-v&<D{InmkUdIDMiFbKs9a*!m$P$mdcgJM&Yn*5<@JXW
z1v@=nryh$xvUEXy;>As>InU3zPn~6Yv@fMVMTisBCj9a9XX3dzmJ$1EEPHx?R+}na
zvKQ)PSslK<t-qhY>dTA94<8EtF*Jh%&4cC56qQSb{XzfSoDOi!2wB~wSNwc&S}`bg
z1Xn&exz;2m<{xj5Pfz0h2izg~cOu?+usuH7Ek45}Q>g6CjmE9n*OM+S@dRc6RRz=a
zVh^#)*EF#6%OyNM)+=F_GXoTuAd7gotW`TpZmhju@BFD>I&gb%ddaUR!85L{Py~hR
z);%?UBtB|SQ#4nW-B$ek@mD_CqkT)h8yOoLCLQ5WQB_U6zApB~{r&qv#%Z0syxiX~
z`<hP9jSY;Km-!yve!s3e>*}gbX!bdwupxMo2fOIArw`ZjF5FT3MkA_Mt~u=eUVdd|
z<&DXLf|*MU^!YpQvp>GKbMp&>RIORxO2w=v-ShJDI&@*7b7D$L%ZU>nTe7eFf%5#K
z8#{~Dm-)<WdUkfUvXT;$to0{%Lr75|+AGX1_;SYc$ViL*C&bH>&n-B;=VylPGiFdi
z@H1W)#5y;va`Dp-6Fp*fvuQ@xGu0c1{#&$Y(Ss*XTGV`JJ$Q3-GpICZHcLArapd^%
z!*}k;+}&M%{MXmlpdt}u$CB?iG(DF%%f)#*^_-V^VqeYH{#5(Ig6wiorkl#Ith}Y}
zK5zcH8LjnvZ;mf*5Y?#o81p8iN?ApPrJ0@o*aSuAf+r^gudELD2YY4nrcH<B>;E*~
z+?<|#YfGktX_knbU5y5;<lGyY^yAtgC(eI+=5-!&+NdNr(MJFOt`_&(P61nM)o1ko
z;y4y+`JH#=u^SQ<pL?qe%+}55x+Pt{>7&MT*VZ+&d4liRU;kiHqw6DO>O8meUefW4
zmCOHGG(`p<JDB~<#%I>6v#+YO%ti0+69`@Q_;`QvpC2C$3=I!nTN{0Gb+|srOQ7=N
z<y@h;lcon7e>}X;W#cD-iA<qfaf@#L)!uP)g|W(>g+5uoDpv4XZCy3v)C&KmzVH)O
zCpU!Ff0Vd7-_|WH*L&mQ7j~U2<#}q03QwCK^>eCPp>$h((Wz-ur?zqmt37ydusLE!
zfufjR42Q6=FeovAt>nG@h=0!+Z3c!jGPieMIxG;F`Kw#Dp(NnLw#k>Wt6e2u+z`uM
zD;4s>tYd}FuMXLUF9E4r^j)T|%)7hm#_n?cYwKdWEsLKiSXoIueE2Zq-kzN|E`kz$
zN5>bY=To2!2d0FSl$Mv5mp{I<v$*2J1IC=(+>Pny<=}2$E%Sob$|ql3St+a+v!fw!
zv0LJk6BB2c<x0)7tyY7@)7)czo{$n^QPQgL^?esE1iZPmm0M6y@Ws8o)<VL<NBdks
zsmEo><{O%xV3y0011~NvE_``O^~$PH?z_9o-90=yK$!{T%n~7MRcI4x%7!glj(mK4
z{Nv5^`H9DRBqc11RQ~<_9uIe=2;7xZ4_&z;5?}jOv`@~q>&A_Ul9!iQ)&1rOSc`#z
zRB+<Cgykw=mf*y$dsVM>Ra8_Kcu&_WC@TZC4FUrK6kz^Yo32&Ha4G*<?-Ti?bIdUp
z_omBR@E5d(YG+T43ywK;x2E;{&!0Z-E;p)np4N!kZ*_WA_P+aEI`Ky9k0c8(tMdN8
zH#0V2Vrt*<Sog`xraj$MtE3crY}*sjZK^IVw-zJC(RsVyJQpus<lyITU#hx(CnRLL
zHUv%53ORMR=7>s~$j|aqcWZQbd0flBCG!-#YIw5bv}&C2^hu$QOb^XpaXEZSp0Tnm
zuVCV9#sx=qJx%TMJ{eRIysJX&W@@w3HnEec`uPDT!Wa&;ti0D@Rm*ygIfjwpcVC=N
zk#J;0+UfKA4_7v5FY=3j=$oRn=zntbp=~W49?`zD&3K=mpMQM+|9{-k(b0cCoz@2x
zr=S?V6!m7x60Y#=am+jWegFLLz0#rk+S?{SFVOqpudeXJBIOnL&vV?|B+gJ^`LAZ>
z%qh96e|+9lFK_dwcIkTN2D@{5m-a_*-E{2IfdC8sf};;l+%1}JzvX}Ew@dew1t%^{
zjQ+%RTS)0+%JMkpgWb=Qjw|SbI*X6~{QN9ooW|qUE7iI(c=@B3mzRTUB-VN9sgG{%
ztxh_wprmBv@n(w3MGo`SRxgoI4(A7&tK3eWtm}F6=J+M8Nv*|uPR$6~_qgzSXw<no
zi^3+RzP^^tus)J|gIR_q-<!LEDL3anl>Tt>N#xU6lRG@_Z`4hUb_%%|XH(Tu@jqX{
zxL(ii{Jhrs$wEi_T%uM~eSO8j$$9X+{r?_W>#_ya-`{!oJlW{vvcy+~m37C)@8W+R
zel_$v^WjkM-u(`TEE_vJI<!QsRXt54UuH7Ioo!!w?$fC`9d<n8*8>?E)-yXXoRBYD
zzvhZ0-})b$wtchxQ0l;uR^5B}>=hA)^+wlLWS(0krle#Fanr<ib8H$f&p+o-_R4gN
zyq%Egt1FIgCb|B|PS#kh=D99#v74fzB4g>RD~{Xq?rtc18wD=K8q~MvKb-TvCg!$a
z<Fwk}3sdjc?bxQw^t|Tz<CAZrla4DZDH%z;nW7S?q8@u}I(OQk$_DMWz2<Q*H(l%X
zNxXYPr1tIofL$?u-;(F_TQ-)-S~D_OmA>S2__(1uNy@lRXb$_1q@R;2Pk8tret6=p
z7VkrM7nlEupyae-5y#bu)5F(0HJ81;n0x7X#*Kx{Id1#gzd5%(JSTrV($teHGAatR
z<mki4j|b1p1lO-Asi{-{IVmY=l{=NDoY`|;q4J;1H(|9!t&4@DEUXUJ9dhxQXYYPy
z&-n;bPZyUEPoJZF4sEUyM*Ixh{`|3)srst@)%4JZD#@3bUioV3vHLn4o!z|u>)r|I
z>+3o)<KtwL-k3x&U2eDd-{u0cqANcM)Va7E+2$g4TWHaz^5;)D|7<lBQA<nPAZsnR
zHF}H2ry6Hz=_{Exg*4mwl*&#jMevn0ey!l25wcb-DCv^hvSrI6_EZ?onLF38?oS1%
z)Up5jMHp1VY+NiTDA}XFJzufV*P!U%PR`Z$YA@_*XYT3wzxw=&!1Z>!c2qyOwsSKm
zF20{Tb|CGT&y}2OF-NYrxVZf4ojNIGWzf54%1`s`=CJR0^ycN`ti9W|B)&6iuVe4O
z_}*i6V$1An7Xv3=TKINL=bPVw=^XY-O3uf(J+aU6?l{%I=hcZvvXhuLOPNNPdTPDA
zyqsT1Na(`W?C>w|@5|TK)txv$-F~^Dpx{*g%BvHn*~)g8cyRUf^d{cCJTY{#i;K(D
zmbsHux|TLB^zhr&68f($Yp>sm5=}kDcQS1~C6n*15c~JWx=N5?!k6?tw<Q18EL;6o
zN=a#zO^$cRiajUJ$!1!Y+1%nOY4jA`929^3!ZEhHYSo47JcC|+y&ivDfB&DRtE<D4
zk9LW^xV>Hf(j~9?k7smrTv4|!UlO|h-it@?8l}Fzn*PgbVb-Np;rZvl(cE}L({s^^
z==F`q%qKU7AAWywU*7q1x-TBT2};^oCTo4LvO)XXf1!ofehEK1x3K!WUDk6YrA4O>
zZ)@o|<u&(}hiinX=c-v&rCLeJ$sd1wOfGqMM{;-hdr+@n;=O?7RzZSczCwb6p*H6<
zJw^4jKi5s%e|_zBh6Af-pPc`zrgP!nw-=UV7Jn(1)T-4}|Gn|h*VHA;6KglvyY+lz
zV34`7o4GV@J$rF?RMGVO>l=-)vFRRd+-q%6@#D9uk?3@Ra=v6XYftUul+904?5FLP
zb$uTw=^N+llCt8)v=hg-wRjX~vMW#Al&jt2>zjCWwfU;+tNYhvuasJU{=^X$-QQo2
z&;8Ne5xa?_x5@&POwO5ly56{P<H4VwpFe#2cI?H)#fFuiQdn477gl|JmE^9hbSct5
z@4nNYPx&8oJ~O`Bp50%SyJq5V1>v3iMy7G;oAd5YtTbf}-=2T?t@8fGr~jO{ysjcB
z7-(rQ$wNixCcB=>ediks_Zt-F<Zm>ZC@1*rk(OWCi#<=4oR+wCpO3-dem?6o{h7-z
z?Rp%vDIq_0`-$Y^kJpLM4EDbG%`|qugV}zq_ZuyI<D8eQe2}aD&~k<Cu5H;7im(5x
zys%)i+U6RqUDg(GG$C3^{<e@%wCi?#(WgfjyYJXkr~B^sQKm_kreB}3v6FMvzBqBv
z=*Vl?T&+CkC7Zv!x!LSFS#4q9Vz(RnYOO)@NT9;)rHH2^W8S;}qSwpv+!N#CTJuit
z@Dkl3_nC1`8&C7ZPS4i7?v4(R`5S{Lb$FZyksVr1dSzbsEGwDnb9q`jXG-4M`+C*4
zfVHnGX3p-O;>->TnrY0j3AXo|LnntgMMX&+>zD7paU+6-g(czEmP`X9BOz-s!HL(Z
zi++m<U1w2#K7aOxS9jUZR$Htv4Owla(%QPC^qo%LJR8Q(VqqI*8cqghD5*ztCV^}C
zCD%_Szw;;s<%ZU!OI7=1t=oQnex7`7O{9cj63eDdn~wCkx-8iWQ>3J{=+j|n1M5<B
zx!=44Fa6UMtiMX-9Pe|V-Kb}<GAS(cc78^3bKc~=0gL@)kLX3V>^Ey$^x)`cuiJK+
z_QJx#KYspvcw=L7M}NQj^K)|x|NJNfHJ~!*BI*Uk)p2_-9=*$K`s(WXEpM-{2$zq&
zW1DbwwfVZY9S1D$|Ewtb9kw)gen*Fg{D$C3pjKMPmp+NB6T3EKO$xcVyF4G%oO17%
ztN8tP`^Tf=@e20yKeGr6b_U9><XElN+0k+8SjZa&u>W12dX~NOxV`bQ>+2q!bqjlW
zUv0_hoZ`$bxI0Dg`K%>Eudb|YzPq~|)M=Ps`%QAu;>8<tZ<}qoFe!OP$BIp%&+bfo
zC9p~@f39_RwzX2h`y8I<vs9Fnf*OCUwE(y80xd5rgXZ@SpFSP>`T6<8xpR4=qod#4
z+UgDJcTDw~y-Ha$@v4fT;KW~BmaD3Rnl?(8Cfq1?U)5dg8<c5P_NL>;jffpPcP5^h
zVff?6<Nl9dUIv4LEYxD-^S%&qh>fz)W~xWJ=W6BV=780a#cS8}g}7|X`t<F6poL|!
z)M~Yr9a&dbCBD72^~UCOeozu#7rXn>rKR4W7R)LEr_v`gEjNEuG7i>Wtt>im?W~%K
zGdqoo(>7;K>ge#`dz*h1(hhzyVQn8v!>_luGD}OBDDmdz1VjWdY`(r~W7ec6Qg$^K
zj~+k1xWJLw!oniq>#M61JXAo&YngAlI??pi)ppm*%c5dsS9au-fs44QM_{Q*^V74w
zE9_@?eSZ)$c}c+MXJ-q)ya?2Z*uZe_-aXJbkdd)5sOcV}_UT#Qn!xpPJv}`~`j#0g
zD=S}F5#C=6Dlboh25ms$cS&-WS^1J(7S~lYlarE~T)V|UDbB;gqhak@-9A}saBrda
z#jQINUp<NeRWPdHyx7svv1Q(#S01r5t%G7W75i?=n)Kx5)z#v9vAbB<+1dB}{dW7q
z*RQU1b^Ac0Dj`bit%Aaz^@U7-6Ek@YDB77ol|MLHEjcrHvigVX#{y=|n0c`5O~u}~
z7^zE#eb<4iJ?uWK!i24*G8=Dg&3^oRe!W{phDO@?dA-TU`#|H78#ZkcvX&B@=maW3
zAI(a5@~2ohZ13*{mHg~`-}LDCt(di^^qmeUTkPFzxM8NDu<2}5ace0-!N8@L{)f#6
zXN{6cilOdWhgNxNoqck0vY@ndx4Qp4P;cYL#^iQTH^<9h2_%WSxWHq>36!@xGbev7
zd*@LqIzRi<dDDY?Iz5AAtx693{QTT7?~Vm1MP6FsS@G-3N>FexFzl3kY4O(9JO6oK
zNchK{YW~&d4_)3}4k|!gLNsBWt*GZk1p-{3KV5h>w~;Mec4bFouha&)FM0|S6(08|
zS4^sle&eykbyeu<Hq-2D3Fqh8g8Gne-oBkUVFI{MbjR`|dy(;_!2Pk+&64Z3nz$W1
zmT~Ve<Ja3;-Sgb6E-miw0*!dD2>KAs0M3A!bNAW*>0pc9{qTIOb-~x|hc!-AYnG{8
zyzA}bl9Ry^xB5QAU9o!BV(+qRL7s=(c%7Y`n50azK=IAO&hD%<5i}Cd6S4aHz4osb
z<u)GwxIac8nlSsP!yAu9r_a_j{LoFTnD9q@&GDU!zy8hx_f1xbyn*&>*9LDb%Psl%
zQ)aH+Pm%AF|2w^DlmGBye*KX?)voC~cY6G(6#sYYzqZu=tKxo+_aA=kGfO(Iq<d{m
zq_K=;5oqc7k@WesZ3~^-A01>aV-lEX(c|NDq3DOlml#Qo#jmakZqHP{lyuG^C_<xb
zi<i2lj!V=T$s@V9Kynw0Qx&54<T;gvg+Wa}!B8$}=XBz=tUJ5;=Y*|obX|ST<AzvX
zLFi<s(v)|H+h08Uu6oOV4$tIOSC90$S{*oY1ndORposndKf>F#ZR_ak6SEc*l-w}u
z?5xGdub;l~tJeIEP355ntJGRwotUlezu@cdycZw88iAUQ;8~8TU2~xo%~hU_S(C0#
z42hGGm7O?Y0)x7``kv3{tbhFZe178m`TAu#N=5-~5vC_!c_=9@`ah#fwgH@aJw$t}
zzaM;^Uv_Bf*X)TKbY*<szWLa;+1O{*j856LF?YRvj%>YO-<;`NT=Mz%q`4DA(za$_
zKXz`eHE5Lo%q&yx<9)J+x8>fxuqoAh<6^;yjY6x`^1(H<i^Avk`!8O*Dr)-bs<?I3
z&QoV=8ulwIe|+-K7Bq4c=G?Z?cv43PkCZlK0Kg;tMe)^?gWck5`j&8kRt|w?cKqkt
zwXR*OyDk5|UYUxLQ3BU$HC3UFi>J<XQA#WYmFY5|DIQRnG&gupmJovq>n>ZB)T}Ro
zGp?>W`^sZgz}wr~kMAsgZjgV^rbpIVZ2$j%)}U=JSJp%ZzsYb(S<n^kJ1fMn+4b_W
zq~n(&{&kC=@bh<1J9U3epNf)_R@+o)=uS>qt>(Kb>~Qa7_0n}&K{Kp{+}tvryg2d7
zW0lC&RiVxW1qR>V-R-XZ{cU0P^>rQn{o<f_G`P9y<f_uwj~@2EwlcrI#Gw4iVd?9E
zTk~SW+=T=M5yfd{Z}oS__olA{R`;3;ZEJn}D!)B&!uOyz5leSXpV4vSg1{5InvT4>
z_(N&GbU<B^G94oY=XO3<Cnu&^CYeq1Y^xvbe!uT>ccO5oNBPy9YchR|jv0RsM%=Nf
zWP)X<h^3$i_@SG)qw*6=RK0;%AEV=nn`?H0%9f5Te6Z^6`O8Z&lbuRcp7*KbUf7Zu
z49Y0+H6K}@oteoT9v*H}vEZ*PgUgcrBIit3wt`YNNTrfe5HHMte3N%~+5J{u15JCZ
zT{BB3PWEQqqm(fBNiTYOdmp}j-7T!{_u$l2ZP2)LpNypvC}9>HikZCje);87t4`iI
z!`^ZK&*RmvPJF+6;qmKKNIbB@Okbaod{t$&vZwf$H#dbpe*F02@^XGQKA8?yZZQRY
zeg8KRE-44LY|IMUX7%ak=5&L#ak6P*TN#q?rKu_@Y4yf!pB6dudtt(RzKTj7aqF(Q
zz|#HeK7Bu|RlncM%k`Gu#g7vN%K7T-E`$2Pb#|90&MAp(DVeIR{n^fJEq6%fP2bl{
z6DR-O(Iotm|K?+#`?nct>+6?9SJ-5+Z_`(ux?+}1jmMN#o?-5j^j601HUrHOUbqmz
z!p^?9{QbQhb$@r=*w}I6K&JQAl!-f)@0T|xJ19tfEpZBZVKwLL%;x&ZLfW>%f`SwE
z40T^~t&u(%?+PA&I{Q7k@#$+*pRKU90N&50R^%KC$$z=ud@Z-m#-2U78mAvUvt$)a
zd_8rYva&5Ns0&|x_vn26bw55G`aSvkKIrfi*Y?Si|4MwjRywiBJU%h*=HK#fR}3q9
z>fG1vdG+Dzyq*^;P83DQr(P_%uW5WgpLI=C<l@=R`7@%g1ZnqgDt3?Ux~7_c_vy~N
zn}oi7|G49I#H0VVd~fbHhW_go*p!+-@#&wMWy(r9wKI*fiq-}#(fMtt{n@T5T<@U!
z<a9=cqD}J3U$cyY{{0fZ7&uY&-tOf2+YQUx)TgnvEy~-=mi6=sD`(;Jf<Gr5*YHMh
zG0ZT#Ezajx`|!f*_?g#b_Y`@q%w-7Jcf4&+=?bUGJgc@8CTYAjb&Io(yj9L}vn=Fp
z%%NXTV^4SQPkY{YdBfKCisiDLh0hJrHcY<6!}OeSU4h(#u77&YOP_CDRP$-tRku}h
z@}FJ|I~g4&yy@-VEjRc5xRUPKnffGEVDZ`z(c9ujS6y4zYo1=$#qIs4K>eeC%H17(
zW$$+_D(e;#-S-w$w^)`4%nT1su)M%}?Xm3*Nl&ZfM@Kpfii(<M&z9a*^0H~d1c4np
zcY@{xcxD8cM()oxSE<`CRXE%1(5iBIllKo97IUo&nj#|h2s9{A`HAJs+Ned(PdU5{
zSo>Dp*R6QE;}7dM?nm_gG4bxUUa<Cfd&Szs!(3-wTwIoP_oxVUx_oQoKKWgs?1lar
zncLA%r*h0qV-T1=DfCI(yhYFRmMu&8IjORvuj|OZ#o`y&B`+6xZCm|H!mPbceQ%`3
zoe#gQ6j+jv`A?et^v%lT6Q}m{A3S`Y{lk6UrI+%QGB>@u#PM3E&e&AhmiKk@U(vEn
zZ+PxEs9WB=blt_>_0Z|$9VIvCygBZ%t446P^M2=&5S1pUZPQLnnNuRU`j7a*>}yP|
z<^iXjuKrz>YjU?da_0AomzQxiEIPh%gAPM)-YZS(a+AvZL%X`_^$wj4e^}`He)*=A
zmu_m@p1I~l)Iu%ab)mENxZV8r{M-kfq8!f9TBqf6_S8-kDCbkWuY35EX`)nZ*umR=
zhl&HLOLD^v|2u#2yimwflGD8{Y?b_f%bWchKmNaJlYGp7N}0x8AK!!b=5K%WaR1C1
zme<#xF+UZ$H*D(H8yfrm&0eV~@!*Q%+UzB2l3Tt;#azptt#)59WZ}uJG2f(~JhNo=
z{<DAj?!1RpYz&5-l9x(P<OTnjV|3~A2ICs#Yizo%S6*sg`twR>b#I8J+*Ql`E1B0#
zCQkk<p}vSedE0f1R@upi(v^PC%u=q+jX&jm?yR&2M@(l^`uPiWk5W?p6!Lt3thZod
zFK^cN8s=kassH9Ki}5#>SNQ9s<C8t>aM~|*nN?Fuu62v+gX*m{aeJla&6^jox5_l@
z+8Rx8fjOy(>CT=1+UwqSIGknU4cza{9%8zE#f03wCr%z~)(-!GsALbGIO6hd(@f5f
zp!8(3yPjV+ru|W`;Npa!UV9HEB_*LL-pf@M{BfJI==mn2_lK`n8{H~>qx0Qu!u<1J
zgv|e&t>r#qZyqdqPvp)PJ%Pjbq~jNTa+o?h?A5wx(K@@!h41~UI^&mfn_G6@PY}sF
zz!@rk$amR`6&|g>`5h+C_LO{?`J?FI8Lq!icW=AL5k6Jz_qr{Qcl_8D5<2hqrY)ZX
zz7^*F;0ZmsAv0ECO;qIJ)5$w7$@5M*ZYFBG{ABi%n_Kh*Zr<#l8ummZs(=3Zk}Vsu
zLZ7hnt-5r~?_}t|IuE~HA&+ipeE2+*kAZ9b@l`?3Kd<aacE0=B`!3I|0y*uVYdN!O
z+%>%QQm+@ic3XBSQ0_@+YTA<J4?paizx3+tRWj;M>ER#y{7R=?HCt8p?CI68%%VQc
z)5`DLy`Juz+qGo<TkpypwNJ|bY<<aoCGR#LXhtpT?Jb4|YjuBx%)e10dny7Oqs^O^
za<5kQtbcQVzr3)zpUYgUQUO6hMr&(p(2&K$lW(Iv{?wVu#qW+<czfm5UA#HV>Xp{^
zg}4O;G}QCCDV2WLn=xbN!n5p;FD#jF+|$#eWugqK0|ZL_PVV|Dbs+m1(;D8WF6QcT
zk;=UEA8ao_1aFFI>vMCt@k{75^Lnc<n>Ndze%m4Z?1td8wWmG&wWpVIzrG{6k1=xQ
zcW<7rrb#{Qixw++^ORTpe<#b}aB2QWS2_Q^vv|zUYhIF`Cw-mOD?a<~i7h97y}p*+
z;9tAXr6fe9EcdQPZB6Zl`c6O7hg&zTpZ<NuhdBN>cNJ^>D)LXwu`OM5;@6b3x~ews
zo*K$<7Csk{6^&GK&iozv?emvU5`CMO_noYb-&CKndBx`UUcuYrm}@L5#TG4A60H8V
z<PJ}loVK2_?b;JYv#+sEtMI8<`{CbO>6xc&=cRsU57_3{eaWu>Qs2x+$D0==Z?t&0
zr&#U*7ej=_aqmpO&_3ObDXI64e^UMY;K7yf#n<_zjHFIaKcoFM<_hac&*>Y@GFD#V
zOEd2ecb?4ke4EyFgVgJ?p|=`7DOI0SJu)}A;@#>hzSWDie4jq~uY~nsbC2!YPu*XC
zWaE-oTmQdVnf&3Cgx+4amDN70cFFqgQ=Xzadr$UGo#S@-%nXl`lf7)j<)xKt<L16)
z49Mh&OFccU>~8S4o9U_druQ9VaM(3x{`rzSKE4yzE&j1nH3yWG4<(0396O)B%WJ-K
zWSzqTjrnhOD##Rfo%{c@PTSyi_MAKK8=5w4yLf8fZiZR4|Anrd{<d^UleqqbAAhq{
zTGusCeH~EpH)-P*XQ2wy>nZO|6*Deul}<=$S@tdVV)Z+lFMn$iXa3tFZzU5NSIxWr
zYJNjrw`IA?%jt^FZ3>EtjAv(=HZNYR%*4zb_{RL4i_28M8QGVr=2(M99WO4?+~qqj
z=$YBx+fOt%WLy$Cwrtr3x#xXy@%q6lLH3<lb9F-Ei@jC4Qf1{2YCv6hBbT>RSQw&z
z%l)uYVA;I)m}h>2s(P$j@2qD<?Hbvat^`#*)=>XlIPtlki+o%6YmJ?^cYZz3>oen3
z?~EfncXm(i+xIPh%8s9l-t979%iVJN!bOjrv-=&L?;rM;_72nMaL#zkb3fq8$H(q`
zht3vrefuvI_~@fxvdxnJ)BYZ<K6UqxkooIdrEgj$=vHs6IcYP;wv@;Eu=xquPX=m+
zi(R%oF1+q-!^TjYUZM2elMghMu4c%5F>vCCuk&J(=AYP<bCWBcy+uLIkXf_*^TXG+
zlAHG)oBE<B_UZffzx!PhG7~hMw!Jy}Io;p8L}ALd_|~jxZN0OVp61!v&9UK@TYTTK
z=+aZA_u)6<om8(aN<Ap`);hH0&6ii<hw5c)Ssq+X|61zMVbc8}{yF2i8|7aX9h$w)
zcUF|x&lokIuWpl<P4n0}TmS70;cMz4CP!4#H0F4(wXuo|u{`H(oz^AKf3!cf^0-;R
zmp#JYmcMzf<2^Om+h@AoJoXQ-VlK9Puu8Pu_2x{cGQ)xrjeE<^#-IIM`t3_0!>ZWB
zBC+KRS8p|Z3ivZ;^Vau`y7vG19$ej1y6O1OmX-HF?I+OmU#Z=ZOH;o6W13di*IK+s
zVDgN{$A#B7nq_D<g^R6S5%lzyysRi^|Hb#9f@aB`v+jqF`Ch!dtn-q5w8(Nl>BZ;D
zTRxo#`xB+NI`+6<!RI+mH{%|A*_7KoYq{m@&HeuR+2XEar&kq$a>Dm5nN0fq4?Ft0
zYD}N}`Qh2&eUgcRr{I;s-RGO0hdJG`1kD3}-0>RJEcuo2U#PM*b&+4ZBd8!d9#!~i
zOX#O*Q_oJHQzCheIcDSM1DP%@Ymfg*s8=~M_wa*<?;ls(DSerIl=J!Hob`oVw`XqJ
za&c8n`Nb!{#SeUQop<L;$(+A6a_^2GJ(Rak|5lHze)+tWtF~q@?mqwg#g~)Icg+7I
zo@D-~!TtZA#TU)upFLCh_&oMU_W$)6f5PG|SZj|zjPles&Ah|{>LC94^XI|i$IS<u
z*&iQlW(N(gF{h^_H9cdF4Or^t`$Sw!A@8!=lB07Pmuv`lTk6ThJyEQft#G#4p%qo7
zUt%OXrX6<Il35ojX<W<=T5j0K=xDGylzU_MeuqO|^)|c9{oj@f3JSjLE_y#@O8COC
zS%#0*K{FcD^k;t0;@EQHuGjNik-R@5>r-z0_ii~fyUFQ!!rdxf&`3PPgBK5LQ=`6r
zQvDq8_5c1Fv+XNbzjt1Kn)my4gMf>>t5^QJrz!SsMVC~4X1-M3+o)!<&n!bTYHQ~5
z2Xjw9w>cpC`ES^P<S*76wq&Vp5B9y6{3)+#zHKSb#lVR#-W!GdvRWU>Eg&n}DSWa0
zX`a31OQT20$p&eER9==n;XPUL?TR6&D)O)0H%0IHh1Kz$PrYuhcXE3uA$YCOqR6}<
zTsG#=ul!}p4xCQ5*!Jho?mORCpV}APYH((Lj_BzbA16O}X31)sJ4-?Pvt8X?(Y~dP
z3zy#8k$34zP$v7Gwe@)(_ixwi7cDa8em>8DKPqy?uSyN;G!fp5D}DUFJytURWnKD`
zk70*Q{HJ9rR~?_G18FE0SlWp-{Q2xB`s~^Nv&UDzZc)^m`j-3Q9HD1U!B3@@y|D=1
z%FA%7Ea!yvbD65Ihqv6^7a_f6i^ub(59O8DSxSwkeEaumPaJ>Vyx@TCam+94Chv_~
zS@l-jYER2s&g&0<)@g^VD!9C)H}I>qQ{-mGPwSs<V&j$MeGs~Qwu0r$O<z7<I<f8h
zp*gEI*}DX#M~1GiK4n*Z^RLny^WyHPg3lFKe`=O|I6W`=P|>Hp#g9&N$R6+dw%jUr
z>Za7x&z#REPf%3K+3PivG2u~2J}7fs_*cfYe(S7l7njzSUwm>$U_-6ut8*(Scg(bB
zS4#_hxZ_dumF=7Lznb<|e{a0J%5+1<RVmKfhYBI1ZYw{Ty;oIJGBaV>$uGZXw)|>k
z&;OFr(#Z##SV3#PCQY7vab>XjpMSsKgHv>QZZ(TaYwL@TSB*f!G3NgB9R5r*c#^j2
z-{DShCtRovI^dKQ>aG>MIkNc1Z@s3y@0FgUEqT1<yH8B-jjpEW=TGm+Q&Lij4SqLw
zlGD-2Z{$ODqQrV$tnm1<wVpZon19HwHKE$sJ1YG&gKB38l=C^e?OM4-_o3R%Jqs1C
zMsC0Guq5F<-;+P}8R3=hw^yIHWB4b%%JgfN(XpQSEo#2H4{Z*F-a0v{%2YC*y=8^1
zy5fhd7m=VcR_0gi%Ka<CpI!JjpHbv3gMgK1cX%n&`ft8RrhWCYp4h#9_ZGjMm%go@
zu=vN>s)e7O6nN6j?&r5&;#>9UR{5thb6&GQ2o-Jr%n&}++O{>>ZH30}nX{VOdS^3L
zg!*zbTn`RTxPI63-Rst3|3K3<R$jktuGpr9OfC7DG*SBRp+e>LTz*%Ry{D;N*YaJT
z?{M;QaO|N{#}^lr&uV5fH*AuX?mB0=@KN}-V#SxATwAaHO|`uCWbc0e+Gz=$|G$G~
z&X@f!FE|<W)g~<D>hf2GD_?$fn);q2_3SdPg}OI47k7WzczEJ&@4tdA2^sa)5#~m%
zdrM;(4(wYjzEn2tmEP)CrR%qxkCRKBD_XlZaQRxT^JTt*#obX6QW9JYUhT$Lm-Onr
z-R&KDD`=bk`X~0)UH0MY4?TULU{d_9|6RPE>(;8Tp>=!JLMN~3Q*nO&;6X!63(J?c
zx5f4J^gew2=ol9_4>U}{@bu1}&Mo)(7M`srpK*0v@3h12p#G^u==ya*S5qp(+_i$w
zZ{wC>Zo2TRd85bgw*r3W=Cplzu~>#{c1H(K*Nem3xl-!yu05r{_pZ${1uLx}EBW*D
z=0;yw8hyU#<f2!*>}T0<pJR?OyqzucX6<XOJvY@$O1PZ&$=VkQ%zYadTFWc>Qf+Tx
z&7TvFnWi(WHW|HFe(SdC%d)j^WIA6>3b$3bvu4tD$tiWO)szlh6JIG6n11)ulx^|d
z{EVw!EZb{vW`#k^ESslW-?yAQlexLJ+a_*%95YL6j%!JXikxlLich~<lG8xT7*5vp
zEU|z5@R=cN-n`%?SHtRMY+Ih`Mrp<RN4B@Hc>M=Q{8q~^))hT<%a8EJ++3BMD(O+p
z`Mguho=Kz5FVoufdCcy<xesg(Z1s44=;r0)SLHr!)+uYtKQNs;&C8u-!qQijIw2Q0
zKfmLgn&ecPmT9s#ZpA0rg==my9KBu?>8KbjD7Z~d@?|Ed8*Y|sy<$(@&2O)Q=c{_z
z|GzXX^!cvkZ#G|Nd$lF>>BV)LptkfI>#D$)7go;N0xBg|uGn@Zz~+~=WcsrT<<FN?
zZ=C(^y1QTP;0`a*-fK&<Kx1W{aT_;m0Ik2R`|*&y=KtUC1w}<pSy`(<kvzdeWyhvM
z+pMiwt!aOMdCQAEo29chYty1t%AyZJt-h2OTb2a}#U8rjH`{st<a-q%-`%DzTE!K5
zJ@@J<DaGh-N%t>yUz#1<Wu?~IrN3}-@DJ6R<L0|P<o*42ExE}1YH|DbgA2p$UrtCm
zJ^f7Z%E<w858IaRdBsrqJNv_j?}oYC^pEkBX>I>`Gvx02Q*DyBCHFCAH&2^3!+q0^
zPq)fFr|UB@$jtdAR%xUC+3ww4&*L@wMYG;7-u{b!(z<8~yNC*(72ATAehQk)r5#yk
zx4tb?_wDC^?=u2h1Lns3Iretn;`QG)2bB8k^0e>|TCb)Z<F@0QnEmoolb0P&&lH(k
z?CiG7^ZAq09{$eD_3mn={ARlOy*%MPpU#}et*)n=o}RnD=2fN6nWNS3{jAnV&rF*7
zUx}qPC-m22e&212J2#~<i^QK!<+Km#>hC>xGx+$ax9owUOShblo7rXM{v>eu+Dltv
zgQphgxVpP~wV%`VyKEM9v3z=$jro_EOBOI(FLQaY=f2aGoNGLO_tynw?znbIWA&_*
zQk97{!fHMaF)=cqK7US3Pj6ovy&W{;!sGHw{`dzARaRNMZ%jQsT{h_{NsBgQZQ2Bn
zsTC#Lf`xvpUsO2tztYs_#Z3Qp-_+&Vzx3s<wbC<{)PEa-8qcc#?kC^B*v-|x@70Zy
zd<Ry)TE8!UzjkfR4#yXUzhrwP?LD7<XV|mq#f>d`8&14#*}2_mU-YtzcN`8GY&|r`
z<4_rc#vT4cGCl{jr)$J+4_K>|&!-l-^lf;e-txWn`BT$QpW37UR>Ql)y1lh{kH|S?
z%{|LM-71fq`F*417i$at0$szF`|EcfGE7`$eoxvwaA~c|>e<fu4D0)NAEqt+a3g1Z
zp;!O?O<o<=>aq2i^V`*q`(%E5bEnDfoSv%O^zdA^6?HkCo+l!%DK?d^EeeopkNf-J
zndQ<G0yB=f=0x^qZmtcL6APAIwT1DiqOvXT>OX&%{GTTK%h=A$t;%k?dF6Zm6<5Mb
zd_%t4^!0VQn77}XVQ^Jiv;4E*rquP99`5dzUoTp?_ku}u;i+{`H_bBHdSuJZeKX#g
z@_m1|B)sD3Jf&4}-@Sgnc`A6zVd3PpMxyrlM;_T65Oq|H7Uk<*l_wp0t9<&VInr&n
z_Sx(%=YRfJ?9s9H)fe6!?%Xi@J@@9QSN@F)d_Jx^x%vM3v{IFcLb<oMx%&9<*!_B;
zykqz7!<R1$`_Hoxv=$S5xpB`Ob&sE#JZIVYns!coG;v8+xbLwV`JNf?o3+<k1xcPW
z_jGY-TNY!bnwsAvvR`r08_UQ|`+35*&hlB2(bLy8rR<le`W+1+Es@Pe?~|wgS32`O
zdf}I}rCP7q8hT$dO`JH7jbX!z*yx7_h0nycf|`|}0fIB~s&`fhwUvZ^kxR*sQ&o>W
zc1Lnv!JE%zolnEpae_wq*epsX?8|?!KmHcCxpb;FQ|qc7pjCc-mJf?91ZyQg<)?XO
zs{Q;qZ;l&mUjfQPf`Z%jorsy!b?>;=f7eU3%Q8HSQh#sVe>#9+{j-2g+t+cwc3bu$
z^D>K`vpZ<mI+@LS>I`=y?a%v4e)#)-o4e?-h2=}5n!W1G4JC3~i8Dk0)m7x*S-tc8
z8QrYJr?U)PTGr|pZ4SNpQ&Gm4VaefNv!bs|x@RJ?Dkn5DyztbyjV(KhC5&%yuD!Ko
zy4|ujp97xGnCSk^ZC8%^hsM3u0nfiyaXk;qy}r?S(PE{g&L&K&<fCWBtUmSl7u%oj
z%q?@~Ogg=Clib7F(2~;F)R~so`Ag&0w}<|#bG7?Fd!=T?)Bmq5zjt2l-s3hkJECya
zHpWz2v#!$~{)c}h{8zGfS{c2baoO2#t}ZvK?(Ci%_ekQpO7p7s{t@7jkAGt4B16w7
z>-Rsr^m^SJdHeY<Pn_DruiyXhhU7lSSsQ=MnK>&?Kjdd$K$KbP@4$;&W6G*G-4?w!
zJ;!>H#^N_+Ucc)WpW6gUj;x1FP1S!Je*3pa^c-`{)3EoPlHKW3zyEu>SHAR|wC_IW
zQ)NFy>*H=FfBLrFK&r*&)i%g@!+hz6#BKVL>V1#T#N><E)c4K%$GD+HGGvj_qCF?V
zeD~G-li{uUk^oAnp{v7=t_oc(ASv1D+|GCK+&R9&!a`6R(zdkpc9?{u^y0I>^Oovq
zN1H~jjjIjGzp~@fYUQbr`a`2f<!ID)_(=8YDAx817s2alm!4m_tM3wM5#rMypS@P|
zoS$dac6Q-?MJp|#ym`R}87DHPuFCg{-d?I4d_*Pf!S&dO5&Kf)p8Z}MVC6Gs(N|Cc
zeR$&Tk1OtVqOnDnQhDCyw`XpyeP~x`Rdvfm^V6Sc^XsSYo8R-r<jdCj#Ye0_LjuaS
zyzzQ7I$x~tXvw+B{hV>#hfflHipqB%Tv$E7WX8rdXMS5$Rm?A0cY48uwJ#pOQQF%W
z_vf?M&e{E&m-ih^{$lMaCp>NPUzy31^^}uNSAn{x*BKQhOupFOh`z47X^z%!(1^M9
zVe_Qi3qd<7{SHo<X_s;7icp-~;j6Q%J*U<#KU1?`bi?a+A&VAAmdT&orynYEKYsNe
zamAF=aW9jdmM?r$^lFats%IVEC!2P<>P`iXgGt_etF_xqq}=9R)x=kFmFtD4X}-O2
z=}FYm4y)_tj$zMgzii2Dn#=AdZW$L6+y7zbah0?cCOPZZAQoe-xb`~aD}0Rn)l;Up
z*!kz@+3Bryn+2I-c^bDkbZ6Vi-S4JcW1I4PW8j<uInI{Xl~-PByS81@@s3{QB^|y;
z_Gjkf?-f7tmwma#xuQ&t`?^Zy^+@ycngyR{G%fu5_JPd-QF*_4s^5!4Qmr?I*t&b2
zUY5h>7P{`~(e1CF8_RnC*&jYDP_T5}*;D(tS6*5+?b}W6+jq;qEGqfW`8w#@yXoKN
zoi6%!WNC`${q{Xy#g=>7g?>H}y?^@g4@z%0I9xT0TJU0bx5M3H=WnIIZtWBK{^_G~
z%*_wX@8)(pb{}+3ur1qjtk^y4(f03d3ofs@nQ>=zlJ?uqFGuHEmp^#-u5Yrs|D)OY
z`x>`zH}BDU!Or56Qn4v`{lhoU?KaH($2sfEOYO2bMPH57rB_;Sdwgx8#*FA~4$<fP
ze>7_-DP59IeK$oV$R+N%L*z8&yK2XtugN_=E#T#vb28;kq5tYOY*?}MV)oXZ!JGDE
z-cDbapSNt;fi+QEg`6Aj`S>1WSkAZTU3u=gu$fnE*(=UX@skjBn*B2Sx03ebBZVse
zcL*+9AL{PDK6AzGmBp?3n=Q(`gjTNKut7jOY|Vj1uH6^**VpIV+at*<9d?divcsd^
zQ$=Xb?>p?r($Ze+`>~o!+R!n_Kkxpb`-%2S#)@*h(5a%{>j6qimkO<Hm#bvjC+=`n
zYB+wl`mx%hnlqhBhx=A3S-v!yG+EEHomuTE&tHqx8tmWRHH2zs?<^L+w)Vb&qhhqH
z$JZ{ibmhCt-^xyEsN1f8-dJAY-R$)fcBo18R_|wBe&D^!%Lyt<XC<VilmGqs3F==4
z1qCH!XLqkyp|LSpaAM!?S{1IF=Ia(8K60|^wjyW2K2Ig3Oa5=BEGgQ0>OOy*+~K94
zg?XinqF#QQbw<@|m-F4n3vDtVZ%oY#<o0HE7W{N~lTvY(R<W@ut6=oC<jjN>es?6q
zn`a!Ksd)3hH%nPt{)Bhw2hUy+k-4?q`=!lUQQz5{L)A*xSKq3bt8(^5@^7Vy9uvxb
z2>4Z>KeYMx_ltj5=U=Ehq%tF9wOW~p(j|v}Ia>jF`Tn}UzYZQf%KG`)S!YPM$Af+E
znUlw^cC5|#xK2AOYTBQ`MRt!sE#W2pH#9w;uJXOj2OYjr`fRGDWNn}Jai@{z_m$N)
zQ`B>9x4pWS-7q!#P{Fe!f>WpU_jMgPv$HPi{O44UBR1!FPM$JNToHI#=5_Pm#JeX%
zuJ!tCJawPH{QVN`xz}%AfI7bl<ow{@lV(rsyWzUe<K7-Y-Fv02k54&V$-C|MCc-7e
zO-xMe#<pB(v)o%PrLV6Yym(RY`np(QP{U!y>WB6Rmvl)+_5XBuqcQc=i6bmw&TR|7
zzuKB{<1VA;!q)}Y()s@RdWnEmFiniISgs;Cah~xKOV!Sf6`!V*{|=flzkl}cZ%SXE
z&s~vulgTW2`QbgSp*z>?wkh!QT=Z%3q)ANX=H@ZG%XqV|t!do7dpCI7sg0NC!JVz2
zFa8Y9Hz|6fS|$@%2#)Mf*vgE+RJ9|I&&=^Jto^RH<!6G9%rw30tN1*XwBoN_yJk`R
zj7QCH4u`+Le?>)wg1Wl<n+TUBM?vc<KRI)}+IREh18WsVaFb`(Y1pd5lo|8x?rz_|
zJ?Gfo&*>L8>}Gyb`}afC-(N|`l@@sgY|RQ~VPktVxBOn?^5yDp-n<bI6l`1<ySq!a
zw`0qNwfFfH&HtKN)k~?AiL4Dezm5CVzMGu?WqMp*y^Hm*FB8eNlW14_J0~$EMWxI}
zNokQ#1au$ERIUFvgF(X{m+u)*oISB`9rxb^>+9{ZlU&$9$Byo(`DqljEr-+H-JOMn
zWx)*{W0#Z%plt=Kt(7h$eGs^kaVzAFMO6D|Um?MXdWlOR8&pEO4*jXQV<*&lWv+EV
zL`1_i`JUFN3l18XJ^epTKys5?uhhd24-a#2a2$9(zrIh|y)WVOGseUMW7t}Nv!H`L
zZd~l};9l}agzfV6Rg15_Fidj4n3eWSEW<w2Xx45XaOqI?QG8DRq>hd)eTV-4-al(v
z<V?$s4v+R&-_tD{4ZGiWc6cy$vXm#EdysV`%;x;5mZhh6XPCaSodMb;XQXsV=-9Di
zGtBeletmt-Zf<UV<JK)D9UUHKc0N#A>U{BVs!Gb7Kg_YuejHem6}s{93zo!vC(pE0
z{E_{p>{or>h5P!#isU02;Ou9kq-0c}YNh)6dL1uA!HX;LQ{~z^t`z^gB6lS-q4U|b
zZ%OWoy6Q2vwVOIS4cFa2cj)WwNYQP)i_Uz>u9#5B`*!!v4%ya@lqt9Nd8q6VujX56
zUH-uHmVL&Z-Tb$9=sIq#l36yj<H_r5Yo+z#_H?WaUY>Mefg@<;wE6uSW@BUHjf({X
zRYCh(PaO-m@;<4Z?QV64tow6F3FYP{<af<s$!5?h;EoQCGjpxQLEDU0g{)L6Q&Cz}
zRQ~Nv<euN}cE7l`R+>-N>d2}XrC5cD4;=5X#@ya1d(%9B!9-{OEmD8&vZA88=K3V>
z-)qh^H|?z3<G9)*eNHI`+j4F;y}Z19aqR9gP$s^$B@?u#dX<a$_y1k11*0E|i1fVT
zwVYENx#!GDw^w~{ca*AdJ)5R`;o4{AJ@+oUf!2JbG*pE5d$hN<w=0{Nh-6<|<G4O<
z?}S;iw7?D&m6h!+zgNk=x9aPmeYL-DD0(homW%0eKGRgWV@HxCXgyw^HuJ@s)$9Dq
zJ%lD&*x1+<e0=2Up(1qS_U+`;({z*El@@t@`g30g<RRVm{*?9<OMz#zOL#b%BG*QB
z#QtFw3j6i=<=)+(rRPe_hpnq!tnwZm>Fnt4c8-gad-LYahSJwzpsCNP-G6_7PyX=W
zpoCEhN7?&(y{qOpw|T4vl?HE~+wIs<qq*wZO6KFD_Yak=<3AG}(J9;8Q4%rREVtm<
z8A+dcHj?snKNRoWy*qL4T-`DqrBw;_?YVAOqqcrL))AQGeo^~S&E#+Ux+lz@*k^oi
zbAf4+HrG6R@ZwBKjxsNymyO$UZ!4*(u?egBH0<7OZDV6IVe({U(7vx;R~MIrD=Pv&
zeE4v{-~R8Bhbud`L|l97ZLz(8@zJz8PGfHFFEQJg%IxMJzO!m6D0BJGm^o8XL4kpt
zU(O{YL<Cf(NK0#j9HkIBUH{>`nZX(6i9$U;|1*j%nwKkX!N#)iD|<3%yYHMimb@=7
zx*v?(*U_<J(Z=9O9{wR~qeLAY9W4qTF!0IS@mPb;FmMD#ZPxFH?ed@o%S_{RB^4DG
zH8nNRibu<TzJG+D@BbkqzAuXB^7Xjp!{+}s%zn?^9k%vppPNh7siQ|(r|ZQ!tqxlY
z+TJ-;JABcG4FRCaqL1tIrw`Yc$zNDd&3|S4W^wDjIAbHjM#S8n17htF$S9Ypp1G4;
zs?shja6~H3*2L_bw7*1IY3|0Xt6HE9-Q8lkP7V$XJ)kARE-puH_DpKIaWr0`?4**!
z?3oLXUwXRXdu&To?i!GhYzqPxyIIuyFqozn%M~9VzhlRa2k&Cfb-FFl|7W>D{=BjA
z#dn80liUp@z~z(H<cTeNMO~^^ZrC7jzwWngO>OPP?fLOJH#f2NN);AWC|!z+uluPg
zrXSZcRXhCA=JR&K)_j7ZpWjbaS@P~yW4-YIBd^W!7k&Mmx8m};y*D;$oy~vW>##g>
z^Ti$E@*5WmT>Kxqqku6lFYm;;b8Zn45-~9`NBUe`Qa{*yX7sE5#d%NStK9QRB7td6
zHvjm33!Z;>-x;~^(os^nBn;ZMT)c7PMhWXOolToJZ>;>B#v^6o0a|Vj%1EF>V|Cct
zL$|hOgLZ0wwwm{x`O)ohcQ1GUKfhxj=UshaSh06;?~RRGpmpV2g3HRxK>P4Nd?+|G
z&sO?=&1c?KVQWFB3S4sdbL#1dy|vPPjE-}>gHk{nzl#loR_-o8c;pNZw5qb4#49K`
zRkA%_^-}TOU8T-3F*2YvaR-~(58u8mtsl1syf2br!GZ-0adB}Re0;}1sh-bMNmp^A
zN5T6)kw<=<0iEa&xYUjJ%a1C_T|a9xC&*56S+ZA0M`uIoX|a~p)`#u#bq$jz3kL-S
zfmR%6RTUWWeLp|n`FE%MX6GPoaOt^9W6cy5BL&cwD3EWit&L8;y)8H6_BPP@6ek*<
zK7W4r@L}faZ*LBsn`>>DazbFEvY@1mXQJY}d6uoO_rGy__cl7?!d`Yz9Oy*tQ!F#N
zxG`vw$M4v^Rieqq`&^5PjIOPTWcK&>2ZbpY*XK_KRo{Ffwq&)Q+x)ykw*5&((Qh$O
ztj*;72x{?Mlbg5V-h^Nl(9-`1P0tjEJ9qC2ii@)g3k#RLy(K!^ELRA8+<>@#T*8+Z
z7jNvZx95|wIKbzrG*R@~^T%ah1n2xJVfz;&%+ozh_u-GXS~t#pOl(&XeA#1`d+WiO
znZ}?k2k!E<DszuDb!@rayLbPCqmSJ)UjLkUBhaI9*4bHy@0AO_sTEf=SC&oRlm0O4
zNSKICy<VA#lF}tZP*6EkR#t+x1T!%)8Kj+&XlZF#5Vkf7)U{@wID2;Y!^7>554CcG
z3JMun*`s|fDH}k3{{2Gm&W}?5IJ>G2wc1~co}LK&^K>_89qc9D{eQnn+x_|A9I`%6
z7P2K5+(zqL{{7vfFK=dMJT~JCb8hRDZ4Wu{Q?0XOh0YC4&y)jwGL}r`<>eu(!+39R
z%XL0K&la=?yz1S>#qJU|6$a~KcefpG=U?nST`$R9$;gBC{QSpZR}$~^+-d)FC&uLM
zf4(R_*|w~&uexP@vq2@?_dC1G`RC1>*U{H^EIhupb!YMOLpNqHy9s7a?moTm*yc0r
z1u=pg%EH1MA5V~qdzPYHdc5q8l@M$3X|asgKLwx5sVglC`gq%7B4hRMx7!PUeo8HQ
zae=Y+*O!BrmU;(9M1VGpUkd*I{(k%B&Bm85UHWibzJ7!ABoCI#o&FPcRg3?dVJ3OK
z?5)G&d-)5`-};(ipC|-6@!-8l&JBTfKG{Q?QcrKlxTwS<V<Axf{+_6{nBd?0e?LF}
zpzu%0%4g0QK2O<{w7kY|lhqCzDsZH2%~CA;DDDyQvVZyain*#vN=HEr!U-NK9DID>
zLk+&Y>HP4az$Eup2&n1mZe(Nx>b5<3`t;$6iOS#|20{}ZE9Xt^oIUaP#JVr#5|XnI
z6kXVzVOYVj>dG3;GLyLny*!ofmOVVg3R<GvFK2t`+1c42-|c?iCEIyof#{x!#^CvN
zP1mhUe#lps%ZZ2X{a^TJ?T+`_kJd$I&D4Gu-IbjeSs5I2ns>X>#-PhzvVM7=-CM-1
zYaXyUdzy9DvwaWOX)YDxV(Q|`TXEpezZZvCQ)V8NJjby9`QwX^C!U#U{C=k8^WV0`
zcF$|}ulo0|-R*dz=pC!lpy|`<m%A$-)Vja2JFen$uH}<csU<oL4Ras*c`}@uq}qMw
z?%mQC7Zh1pSy!f=odr7W?czp;6oK&daiN!&`96K{U_tHgZ-En7E?uatub=z3YTq|L
z`9%+$*+XB>mCM>!&>8pUotLAK!?K|5d9go#{Q~V43}5ay*QDr)hi%=T8!sXpmX$s|
zE-&))L!;LB%IhyQHcU#|nzj1l8Oy4T?*2dX@2{$r=LtUWF7{EK1cO7&9ZgP!dF=dh
zC+^;jJv~kL@`Z)YrrFnYo<2Hd#<23s@Avyxm%hGMR8({cbeij$2*bt7j580-<$hjT
z`k3vmO{LS%Q&U2Z>cxg`iY#t(tLD3-$(bUvI&AHw4-XH6E_pe1`m}fGst`jfp$RK(
zICw4`>~~w`HNQ^ldzJg*#|PME<O?xO5b2u4AhfmYZ4~IN<J8mBrf%Q9eO2h{v=SAD
zmuEVK)vv6JwGLey6*}82H|Ss!Yi}P*N`~5GPeu3s7q5=-a{WH+-x^=%D!O~$(nnig
zdqi%Mkk!AtSc5Y~XS#m;wAHIu*Zu!nes;cn{QJG%=UtrG;Pd#$^Z(Z-e<(1WWfvT|
z$*3dRt?d6V)7YqgbMxj}trYqyy{hPb-KpS1CtpM`Ffd>I%<K{J{oUQtPft9bo}VB8
z_4W1Zi(I>V`dAcXZ|<+(9}^Q3vfNKL_x`@QO)3e_7yakI`sF7tTOhyi^5!&+@QF%U
z2Bo`R`OjPRsC15|2a|)6R_LlF%<Oy_FD@(u-G~ws8!IX&msg^raG2Yw!eL?h`4>|i
z^F&mP8*5TeovOUUV%b0Y!+F_Fa_@c}uHL#xNvWrgjlqDU+>6O0EG1>hzrXM6vu|z5
zta{vQ{^jlV`>Q-AD!CnJN;qCqQ*&i&cKFup>wciiBl=`4d-_;XJSOtXy_j{r?C;*6
z;<mLP9G1@79?+_nuaUp<lAHVK2|I#?PV4~b+@2r*^xWL&d-v{vZUeYDv4KZZOUdc?
zUH26cYj3SGE7@_eaKbU4z`$SCr`2NrePp+Ma$@21sxLt+r|F$K#9G2IVP(J+mV{~d
z>wf$0t^OW1O($|o)>SRj{BxX^4Cg_KepmVXb>;Ue-S5|apDQzCKi`I39T%d1Ri93a
z{eDv~_3Wxmxwlr<96xs|a>ay;7mZB1COI4v6B1ff_xD%k^K)}&*;H-<9WJ-#&QaEg
zt4l@iYbTt~GoAZ;YmtaXLWzt-%TF~%h2qB?(hZSu)o)GbT9ta8J9n<Au<+uMPGM0=
z$;=WRhO(5eudcqjws!Wt>i4#~@%!d9sU)O64A*;o=8xqq>za<dH@8=N-Mx1)n|u0-
zqV;wnDvS>-Ev>AwPEXUFWmmfkbj8EA+}p2?^-8-PXEN&f{qG+rF!nyV)!me$HeI=%
zaj#9m2C4IN7R#`5zq+yC{_;xw<*yS9CS1J8z>wKst;!gY^YBpXrw<<{Y~H+i&z?OY
z>tZYyD>EA0SmfGmQuCvr_RB^0S!TIX&L0@Ul8k1Se7+I*ck55_yE_ZwShe;o_%zq*
z^vc5E)U(shzNnbVRqn+!vwi*g^`KLht;^qK+}xB3y0YNn#D*_tQ!ZVsuV3~;z5nWi
z|7jnh89(AFr+N#Pt1xu)%36hh4(gAHn2~jD&C0K@uS?5vHZ-Q4nXxeOa9if5Cnsmw
z)mo`bGH7?yeDU}fZJz!A_u-PPXC<lUCx?Gk^9x%nxjAH2B{$b3h6Lwx=gxil`Zctj
zPxi`EZ}Hk658JE${MdMLV?&8{!Tq?qfB!bcNxnFi&uX(cV(qOgo8rE>Hy4Bd-QJ#c
zpZ&1NhU)1%`q>za)ZR^DnUK{lXM1Ty;NmR>51n{rEI|A5g6G*(_VlqT@Ya62nGQP2
z`q|mp%fH{RzyHF*VVAgImG{4Bv)8xu<Yy`^4%y}EJ@x&K$V#tiCRS0)j?bOs@a)Oc
zr%M+)x4&u?kDCB0cEZ+Xm8dAhcGmm|_<gti^u{{py+$X_zOdL(e8!xUK~mn;li_^s
z;Wl0=lZ**6va(O#zFj-ZG+RoRv!QpUk6L9##f#PJ_f1;9d^zZ{hQ-Q^FQabEuYd90
z*IxU@2gRp45gt$D-Y+m(dt0k|UyYml;rhTSEJo|K!`Gd-dNuU<`T5uPRDL!|IKTkX
zdF=gZ8_|-4`LoXbcf0wyD2Dm-o&9ybpz0-hx!)?6ziq4TY@h#WN`aA;7{dWBiG896
zimN}LH3yYbmR44)5)Ze{vah#0oWmd)5fU<mjaO<3E4SE*)2F+eR3>;Wdy&B^Z?{Bw
ze(%+X8|S|`*ekut?h&(T{Duh8-TPb}g&5u(;nv@?;P3D6*+)7ArEDrTRDF4|aKi?J
z#mS6i@9)Kjm*)Ns3w?KYdXtLIr1d_Lmi@C8o)-##Q7~{|x4rYV{d<<HtBZszFT;m9
zJA#E8uDZCozWo31{eP3nPbr}Lr=oV1tn3ok&nwYk2>bHnr100bx5MrK|Je+hZ7+Ru
z<Khbshh4%yUo2!Qdw=PEw7IsDic8;DsTDQL&uRVnr0wSJYy>h^<?WrF!L`4>1irho
zb8FStEYqwjCti3o)Edn!N%<3@nJs2I<4?U%v8U2h>_ycXe=dfXBCehcVdWnlIDUO|
zGuVH=-PJBp?JKK7wHGThZfJ7vmwOri|JU?y@9wUiU;i&sH)@N4mC%HBHXIxi{%<?W
z^(VJqWn~Dr_|*3|Iv1|E#Mw28A?ePZ%HY4hzE1A%?*|nUhRMe?vcuRGF+JL~uX?$j
zPUI4|%lkt9af$Z!HS;up3aaD<8k`5z-rd`)ZEkK3y2fOF&8JS#$+>TCZkCqicF?-J
zzdnAhb@{cK#_3y1Ux$Hi&jJNdg3-*9)8BXeySFQHVfuNE{>hV1ZLN-78oe!O8z@t-
za|cXe5tx25<q{}WrJa#5&AjBI9kwRm<)x*)eXKWHmw$hk`M+H`WK(8wXl=h`L}Dx`
zk-wC7^<*&HTJkce_QOH;s;^hWL8)9kuHxVe4+b63Z9b(hE;!cz{W`tu&5ebxuCA7r
z<=jvWs#kuk-(8Y>JIt1cGi+nj*3f@n`?R7~n>qU~4Hi*lRC#u!Q~1@*&C8vfoww%P
zG%9^}=jIEKhKHa4nUL&$rR1OascEyjHzY`J_nUiV>C^i!13fmJDu1;|{9a8o-_9aQ
zS#E|2Ovl6-6M~u9cqXi0zkZ%g<)T|#vrnHseH!F40T~(4QNvmW1_9OI-Yit$T=HPw
z{{0~1ZS$B*EAK{$u712`+2?)JJ};lYGUBb3hzg@Z^UC1meSPxw>p*t~^_t(CuzUAz
zB~TU1Dxvn~ynSiybH31*-{n|6Z-i`&+IqF(nati7x4e<drvGdVZ=^w$v2ee<{k0bt
z7n|1qs{vhibid|v@297y(@S(1PJa0QJ^c2zTv1tBU3q!=srvEvUU)Rb8o9b_Ke-Y3
zGynFY+t1Hw<-fe7b$#Druf5ltZWcW^vyxlWVy()!B<1WZ)1u<y;G<olThq=;g|3ad
z`ohCumXWLb>krEpPt`5YyE@yz^HGw{62WJ)SsK1HFH&hR*;@HI4Rm*xR>+D8psHni
zUhHCJMvo)%^?w$c<=$H1(8zRaV{-ePIWrbBd%QTgw}AD{EzSRLZ-24)GOf${dhpKc
z)+;i;O3i6G-Js#cWN`fI>hPzpUai`kem?8oo=Pc;f&~{RHkcIW9yj~D?@VxS`nkY;
zMyb7h%|0DJ)ff-_Gpx~WFaccvGS{v)>gnm};gi*TO^ToSv|VF(bLQvg=U4Ys7Ejd(
zbb`c_ia_1dP3LrfMD5?nd*$kUvlA-|g-w4~EzIhdTfN9MD`)~sgU_0zqg}VQ=g+@$
z_wLhY&z8NryZiOKySv?vGv&PVtl07IL)2O>S?k~lEs39|YHB|(6n<ip*CfZn_F_T%
z?tdTR)@rm}Wn<WVaPA}q9zj{zwfg)21kJDgHZvwB=F8vj_k({hygBgk@$swsYO6!n
z$HjsQqEFAy=a;A)&~ve^T(sct?~=3Wvk(3I6Z}&<Bw%NmY{;g_V#_CIGD~chFut3@
zlCUy%cNyp))l(Cd+xP6*b7e<i@?vF1v*Nsi*STzqy?me7>9)u0?CE1ZAtJhT|Mt9V
zPrtr?GC{dL?$t%_rBS;Kj$1QG^jNDhN+@MtTO(y#wdLFU`|Iuh{|Vljb@kG=+}k~U
ztSMR5-`|C<4qF?tzpgg--kzCFDhe+h6B_jDwukKJm0Q3)uY2n96iw3~f4EKm74@Ck
zlIQFw#4uq=*xIO<UtV5b6}NX6s43(-*DCbl#fxsonby2}ceI=9#^&hIUtgCiaPFRX
z^q`}tRcYYn^<pbr{<c}|Pg%&<|IcIl`T53HQVc0scQiQ<6g+(RP|B`mN7(u}U4DLk
zkYSdVC%KobTpPW8RrL0}R~HsGhpmrWD`QzCA<Jpdqp9U}(7pe~t-jn{wg2W6SzE2j
zx&2M+?j={tPvQnvay*CTPGSf;onn;v@6S(=x1~(8mV~YjTUqk*63B&zL`0W5C)<Vf
zHL-@4|8ZITn87n?pC`ixei2p18@*Gt!?S*Tcv$sv>GUUW->yA1Ra;t?^MuH?_3`WD
z_ExP-KR@r&moHPAo0~6AWN>zAxp%2_zAUH+p4Za4az}CO)ZE)~uG!a;W~c{DVfk>!
zZ?2VUczF2TJ(a<yr|AYy*Ng4xW3k!3e|yfP`>RB=jI!r_nxd0gBBS7nSw79Su3=Q*
zHLTHQ*nM%izx-T_LZ`^hX;U|E-VE9`yI7e~@*b#CS?tcgbLY;?o10QaR3^Th;iGof
zsx(MFy=LLw!*@z*zxz$iyy|vVTqo?U|FKmOYj26DFfxP%t`5@$U2FilgJ4(L+f{<f
zZW>BThh9WDtg_u#9bUigV_56C{D28Ay8_pQ<(kg3bl2bYZPNd5Yj1r&Xu$gBp6a{X
zj15~rDgVv6%gg;u^X^!HE}Fc%yZrj2qurqk7!E&WytXajAXBe|q0{`jUn`gS%uFhg
zQSi0p<PSfves{^)^xbl;Eh{{>hKH_;t+u?Dy+B9g`9uy-s`t&lzHaL5*|Seg*VoU_
z&j+3Q?B>p-Q<ip5=I+<sOVl<$H#~24X{q}6L#35(rDAXIbpCmIYWUQ;_bWZNhWGZd
zGDu3fdNP!qK7QOCbWh8>J3F5~eY&)bS6WJz^Mt`N-`UGHCLe#*t-tTW48!D}KISF7
zlRdYepMUvlthH#(lL<0KPeN9T>4t90wSKC5^iG_IoU13pwX(0TLchMc>b=~5{<S+h
zi%l~wC@fZHOxs=iZcU%>ycM_R_e@N_`^)V(<2>%qzDy3c7HV)FSl8Op^5Sm!{i!Hb
zw%a_mdB<;TOg63kRZ{!+>vbu!oEaAj8D>`ti7ji0FMs)K-P|gP66aQ}@W7d7xlga`
zSSeHV#K21K5~vlBqiAFlB&_atWlQGeFV~{;K^F*xE_7<`>0?znEh4(KS-v+U&)xm1
zr1iZQ77bSo?yE4|0J*>He2P)#yE{9jtjpHSGRa&dsvWkXB=cPcqfV;POp~M|9J+CP
zB0!y{UteA(m#7>_^HH1Z<Ujw?*H}9)%d(K0MbE=lKGO|ZRx15eJNn#<3XgUTFQyGk
z@9r*N?LXh{)HL1Mpz>*nr|@EBM$cWpKKuVF?wvmC++VMqvfdK1>>IR#L#BWl6w|M-
zpX}TxQ?=4ve`?mtLpGlo5>!Q08J9?_`^^ae9fU0<wQ8yN^i|%|_1xT<F7>Whq4D+o
z{rK!_Yc9?*%?2GxCMC<cp|j)mLarNoy%~3xzq+_KTI-XSDJYSvN|^;+dvmk5uf3#a
zkqSff?$X!Oetmzxer@#jtV1oFzrI}de|o^?_y%Lag$r-}f5;J9^Vm1^)we!S=qG{-
z0N$=i440<<{{H^--Mg`%&}ieAUk57HcS?9Mdt95W?tf)<xIXB{Nolj3fZN-0d;3@-
zrfOP6nfuFJ|2o%hSLvsgP0!D-zoZ)zvMV(Escz({7ZoQIG`yHRxYZ_m#@BwG3hG|6
z@k(V}T@|VoysYQq#)gRH>Gdl=>|eL)<eJKu53N3ppt^1sNYC_Z>taD|x2f9Upw9M1
z?e%+-K$VAW&5wY)yGk!NGP7^VysT!LeeKK(kA|x@T%2JC-o@_PS3P~+oxO{dOtV(y
zyf!OZbKN0w$7Yr=w?H9>D686ETR=_j+2;9KFE1?xb?<xnSTw$T(UhHU<azF~8mJ@g
zcAW8&$Y)=shSGp3EEDqne!U(KYGL`!w_AI2bNcDCXU~G#8Jzt5;m^;_E&cbWGWYg2
z-_qCDOs#}I+*vf=F7(95<X!ttyKg@~C#=t@HT2lhsb1T&*4{ZP+uPU9)3ZpWVavA<
z51n`J-hKM=<>13@yqDKRZkAAGYwN806~gYeQ@eiWr&V7sW-NZp(3Y^zlcAyxlti*8
zPMrAb`~LrH_4oa7irrl{b@}q;T;h5;B{~NR7A{<vb${PpCMKpQj~_42y1GhIma{_d
zVfZ?Y2iIeFZLD9fBySh8(dwMm<yBj|uCH9J6S-MRmVYLLt0#k7<o3L|ckbK?*_IPo
zSzTQm!|ojO^L$n8%@2!botwEn=4h9+EV}_HI2>LDPGOm#_~zzj_r2BMr!_Y>hpmk|
zDlqlLm8PbqE4xawZ7V)FSeL&GS?V>l2XtB1<=@{+lmExD{@E4%FkDX?)DpXU$aQI4
z_QE->-4e3=GkHMv|9ZWCKPXwvwJPljOq%dau9f9=L;G&6(rS0n-TP8YWDewkvT;P;
zB9#UnWfPMSW;UJ+%Y0{>)cvUd^-hZt{0vi!>i_@U4w}GZXJ`NU<Hri0nMR;8Gs$SC
zNY$$)Om%mcPI!EL%F%<4e!a6-_^dY53fb9p@#BQfz$q*VCT^XLfqs7fo%r)uR-9Z@
zdFD2+N)sp%)`+Mwrf8^5_T(1Vy8^veb#2_<sHdl<8e54?P}7UuwPaiF?NtR24}tD$
z@S38LSfX+uhrhX5WXJPx);B*x1s84)`SCP7WY^N}IZ|fN*lpi1xq32uQ+lUixH^1&
z*yUxuy?re_Z<f6;oIArT6x73?7`|FsmVHAssLSwdp$4adGw6l}&}f!~#ESg=f5Sj`
zj$E9`FdLMTZ*9$9-X*G?b$Xg^jA?&~;;WCztg==M8sf`epL;JpWphB{)V!CAF6ph6
z_{LGzzDR|kT1ZN2)xW>LvrkXc1>N*^tY7}ThT(=?FP8gn{eSp-=!&A$s|DW;toSDA
zfx=v+9~9=VA0BR(GR>L-x)$zWGkf;AIhLm;tM^~r$gtYF=EnxBk{1hZZOzVpe5_X?
zUS1Wp765d=?Zt@=DWEE=A--Ju#e+Im`&zBzyS|33YVGd2x@s*X5qf|+ir<c<7-b%8
zV*T}EaX+Xbwl-?3SL*3$rdDD`6YQ^7y?%do_LY=(HBYsIu7Cz04%JL%m|)R0iNR<O
zue4dlg9D94MMaagZ{MDEWd$e-vOvfCm%hB@svEuS%C6GaQ@RuN5|_)}<q3R{Uk!>I
zTOPike??D2cZEt%&H6WMQ?Q4-l|!IV!(OZ6XFZ_u;lYCh(A8dN&F`C72^lrCo9Dea
zpiv(B?q>8;>rz82z6p7T_f;5<xCaV3EGu|>%k=BJyV36ba#wpKjX|}^v9IpCwpV^m
z`};cnf6(=Hv0H0?7Nwq_clU*dgUv*Kd95EW9^QBuSuCQlVA9#R;Fn^$Q}@@fE`H1?
z2C6pafyy`ex*rSo{rwgV8Zz3Pe*RgKsg3ykm6N~z_?Bxr%g{SgLQ0}S50ps$JA>RH
zC@Q*iW$^M>pU>N02VLKmdV1Q*h>b~Z$C-js-`?8#>h|{azrMU&e6(BKxLx2)o2FIN
z!gN3Fg7<Q*GL|}?TJK_}Ka8CC4wS#;*2M3RYi8pOnrV~@YX61Dr^*>e=>0g6ICqw*
z^H+7>z=zZ0K_QR`N+F;El2g{Az`?fqTS!XElCX6#n&RT(i<KG0B6pRnymRNymw&(C
zXMcNhGbWaEcftAp`FC&pp3U_A-?HQ7?^gs&)zbPK<!x!2w<_n%^KPDoMJf$n4&A>W
zZ(IHCN~f?o=xRP*Nuwh#JUrYNDJgBKf5NWy>DB60c7K=`KW2~=`s~Ye;*5qD(}^kX
z?(JRe*v$6Q{{PQ@P!)4>vbuKkwj7ZEP0HWJfJTrupSQcb#B*{_U$f6U&xjd$Z|<)?
zuy?=apHrz%H6JdSbavM2knU-JR=Bl+0<=m<QgWr|WVM&w`uhT=>%~5K`EsR_YnOy9
z_sfR+ucq#LwmJ6fvs%y?q?9cCi3>CGg&fjcKoRlm<x9=-@^Vmr=ia@0t0Fcox;U{x
z#doHWE9i>W>G5?d0~fnV%CgT4xiVRO*URb{^Kbu_%~r2{I>C7P94WJ~mDi*G81E4;
zf2Y*ENP|<s_Sf6(_pj_O&rdx&D^xptUC8HWTM|8PH8(KGN<3Y+>OF73&a(B=vg{{B
zz)k=;ecAWl@Asd+dNnkBecaVWuH8>wy#fus$xS}F#4!0-#<ew(Q5zB(+4$vhN>oye
z)FykDpPL{2;NE?ankN$$DJg}l3Co?Db1kOttMn;FcfQ5SOlF`|UL`6ewTh9ME#vYs
zUr@<m_xp|UGiCQheZI36oM`92@}XOQCcBJB@)>hZh0O~zI2k4>DJg-j+OGY2HT>1}
z_4D`rdZqpJ^z`#DA{rJgUTj+PqX3k_e!t%zzCLbmPhX4AlY8;?ng#dsxo++E7u@a~
z`r)W}=%$<5S~r)hEE3U4DX~%T1*Ok>po{w!yY&X`t@;WY{GO^Ee(r_G24(Ya?=Ro{
zSsYS-%0zTk%*_`T4$F?#OlB~$>YBtL06O?_5hF9(ih_rSK7IN$Y4hgI7bi~Wbaiuk
zb+`Qf)n8v<gC<HqS17x=JE;j2zFwC1=Kk^nwfkT0+h702W}@nB)9`yiOMCm+CE6CL
zH1vQ@tS%}o4NXW`U}J0h^;&ekq%3Ed!l#SQvOhjBi>?lKzj~)lQkJ~|6f4JE1BDob
zb`(Bt17$(b*x#!wD?feskf2k)WasgI`PHC{SaudKulw~<eQVy`TQ59L9GGXfWBmi?
zc99+L%|Ro%o1UN6U#{jG0t$~WL8;F=SwM;H*vAhKohvIUGCn>!DrJ<?k#=_0Qk%+8
z60+QEyLSAsX8reV^{lhM-EMw<Zf?cb@IPsvCxfJ*t0#kpOG(KV(4aG?uo~#rBGA>M
zokFTTeXTx^9v*Igb!+SDK3VH!plhcJA0KmbcVZLy`(<U`FS+ZzwbiAcm#p8Ea#HDd
z)mL!zgstAT$>6$(0KcmzgXGzM`+qAOo7q-|tPG0UoYosxJ9X!2qs7(#>R(?_U;O2i
zgZb3VyT@KwFbEw4#f?zcB!&q+i{1NAUA-C#x?Ahh)6-Yi#ab^`R&3_x<_=!&H}}c&
z=gV_%Z(CXR_7=z?NnL%{-WI2qK0aW_DsQ)BMF)rI$~fnxv&^O^H@BUdX1)EQAmeV=
zKp_XWC-2{b`l~O0e0)61G<#YbZ}N+CK1Wk7UF>|E+SL{ESM&0Y-(2AFX9Z<Yde!9M
z=f8eoq4U$XZ$W+VzxV(DonQ3iL}H0fio^E2yFt6l-h!@MnQLAC>gn`&Gb<q@rpcb=
zfAwA-Yy8V)SK`qB{$A)o@%W&VYQ9geESXs(rk7LVq!7D6gHvH~S5MECDVo71si#Cr
z-`$CvH*cO+)Rq+&H%?$<`u=BCG57wk!}|L|8pY!btoRs=4ezTod;vA!XJj7j5(SM5
zfL45gdV*grd4mE$NJ3)8wYAaON=i<<%iabZ?Go+nYbkkmFTVcevBp|1s}1q}d2Jf;
zGdC4w-SSbLZ4xTCe3IL7=1a1m8gtj)>hG({-`|_GWU6-ftF71Lj4cFnG(R0=ep@WB
zx7@Aw>!*f;ZpRrD6rasznGhE^g@u9p&&T8Ppa!sB+@2Nd_y3Ff`|GPQs8(DZz8-Xw
z+o`GA(?OSq1ugZGl;wPR<*>AQ68FUK>*IspJ?hiCxn<^@Stg<XK8g19u`kI6HL2LP
z=ik3}ppp6O=kxa2cXky1db9cb6y0dE#mNWR>b}P;T5y>CYR*0LQ`5}XUo2!;0xIS`
z@-@7e8d^bPlZB6uWnNno`Rd~0c2J9iiIodfDqlI;Eq--XsJ5l0W#;d1Z?(eK%(ysl
z!a0|gHmw&A>R4s(tlwb&KjfTK>ys-xI_JzX312upZqkk*u?<|HK$+aiEe^Ux88oNz
z=~K|oqNhE5EZSWAi(K1}*R2U}?+sXaJxWTJy+PCf6gf?cR2Y_krf$E!+x=e4f1b^!
zPoILC*?4>UT1uWhIXM~B7S{@2x5jt2*~)~2O>XW^Rv%StVh*<RYrQy7clYPtrcF;z
zt`_2zT9vZ-nbsdK)6|o*uD<AS09QR}#qaJ|?%cKO)vvFwKYjUf<#zu5+!B?D#*-<R
zCKe`7F^x96I^U#~`$hv#+fOyd8`fQu7(U1}H8+FYl68GuEa-Y8P!+gFggK$DnVo-C
z^6|b^(c9O7ZYTnm4xDB0Uhb{tva5=4WaoeJZRh4wvuxXCUSAD9sdhGGOIU7dYKG~7
zWuR)cN6xlNg`b}vbk|)oJO8ygmc<r%zR%aa|8kM_{Lw6v<Y}L#Yv-59Fqj>vnauD;
z($$lp!cT3oXYsQ$7njekTeZx0cGl4@(KDPKDWEBZ*xhBJudl5I6}3;#%)I=<V?(gN
z{GIR<6P3BFN<dSz8mpU|yRNR(UhdW#dS~Z4nHyydCZH-UZCm1DHqgwJpPwJ7SXmXm
zKCeV&$)U^D-?yBv-Ql(OT2Sckz3Cu_90NH7RLE_ZB&_ZSn*RYMwoR$0uk0*NU#xtP
zFZa%lz`MK4!?)+%1r1VaOP6m~Y&_A<FIx1bqlr&0;Kj_#LDO`!;%-N(N|{bezFWn!
zmsz4^kxIjvbNBDZ@2&oRZDaCrlj3JSywYYpyYnv1{M;@6;##M0mQne>O;4Zog)3|Z
z_1V6)EK*^JxcK+?_pb-p<zM`MzyErNpt4EwF`lQ38XEqC63qU(za|9_9BMzGHRt)-
z9Wk+A?&Y(O$y`<y4%_|aPf-zF8|keoZ65k@SE*$t%MHe^Nel|EuCAG<rfB~9^Z7jJ
ziX`3GT_LXBVy0GNX9}*L_jf<uANZBuZB@$UG*Av^cs83QfghA_c-KU3cFW7lTNSXd
z>Drpe#na>KZocp^xG_o9+a%|PL9djl*X3otk5?6Gyee#Q>XQ%uaFBUd<)v_=nIT);
zd@W7$l#cKEI#oA6Zm}{`NAn^ThCk=`)&2%GOF#~~x+*m5;-c1z6DRNlmu%td{~K}h
z)05D>os)a}m=8FdG3PvxA)?B7z-?XJ-c|E#t6!a&X*|oid>tFFR7#18M9Q@_k-vUC
z?*IC}{(rQvnva1MACJh-2aQfO{n|fHD7MbCTKQsyhUnTjXTRQACpJ1Vr=FjE{zV7F
zB!@sDhDW=LpZBrx$*ky=HqUx<W8*A~LZx8g8=C)fqf0;jUJ4#woTissBEwJyni7&|
zU8KTrBOoPZiJIRW(A9J=&zj$#0_sPLYNeFuELqqotPXBMzqz^j>%(?=DOq;5iX#0O
zMfZM<A14y;+Eu$v3RzOcJ2m4%fa)vrkZ*r}^7?TckP%U3R44>pGYaY?t`5_!tgKvF
z^YfFNyOWInp+le~dTLwd@>6?%NyxG{%mod#WcGrJkVeq>QU3jXMFj=mTd%fc1}|1V
zc+5v_vW<<+m#g9NnV_28Afe&n#0hP3_jj&+pzIE6roD@?Sik1xrj;3MZ)sgzFi~di
zYa<iw34DQ5SQ?hhwXct}t@?7|>+9=VQ%(wjdLTwtLjPXBx&FEI_a95sxz_P~mNTvS
z93Fw%CQ%DDI2kgZTw5CrS~RgO=jNi1kB?{n`SG!+puoUNEJs00%gec)@9L+gr?(~@
z<tlxD@9ql^4`xvP^5aAzs0udN?_G3as`t?>>(wrY-L&GC^QkvBl=Ll9VNlUmQgV`$
zlZ)C>un-hSm7kw!`p>g*JAUfQyFYb~?&^KvYXj%6aA|G>rPk+Q=YVSB%o8a_FK6fP
zyLeo_e$B71ud|<?nyMAPZqCJx39kP0?Lzn0{rz&;-~MI0d|kltKH1(r7U?Ph34!Pi
zp8Z9UH$OiM{#f-jWRat@=<3Mm$j#~IR!R)oAa6eV`EvPuP>!>-vO0D9cC=~sH503#
zWhq@<mlpcFX{Jw9Dv~?C=NrSB<292Rayl2OFi3#fd7z3W@6HZIe}DhIU#~^Gxi^Wr
zxVXHSTYm52`u+b_^-7zcI(qcz3y%$r)%E|EJ~-SiQuAfQyWhXH(-%4wt-0@@DrFKh
zF>AdRcew+zq>!s8gTei++1IZu_m`KoEOIeUJ9D8!P<h8?wcfvbU#9=8TpKhw^7EAC
zDV~cTGkCPm$QNqR4Vc2h&}>ulBLEbbdnz{GxpN29Gio#UI{xnd{`KbfDxB5*=Uthm
z8+~Pi;$h`f3AM?G^y0%lOmyb5tMTA(&eI6r_(<#Gf`wit87rJZ<DaQWPv8U@dfLU+
zHS^V#mEiJZp))(EJUQAWYHSs@OrX#@gx&6s!&B?BOWk*4d;6Fb<|gm+WVq%MD8#_?
zZT|m1?#%3bAtxuPf~U{c$K8G5vEjm8>vGU7(Xo50LT_)+Pw!a8b3jCPt+jZ4_=kti
zT$WW4f(sX(dK?l28ma7L>kZiuq}u7E0$$b9a0RsN2Xu+ziWM4bV|E7VMsG8*3Ti7)
zyO(qK>*wIhJL3)KGBB(L6|UEu0)-gfH0<BMzv}zDwaLf(GM}B9DP@);!Cv;##lxcm
zG%f<V6Z?3d?5d!pT^A=#@LIM)<E~wKm}5J?=93$Oww&C-`-+~1EUI&!nsLM9=jm_*
zD<uYIPzJiPyZZY&P;v#0ES#BP2&zsurJhbJS;O=4+s@5aW|>W|dSur>DxCuglV(t6
zKHm*0RytR#&;a%G=GXt*X;t=S1*i+2adDB`aVMj7@%z`A<=)cJ((<yiv(t*-x98%-
zgoQ7b`<K4{;>jv+xn}n9zLzhXe`|ekTKfN<;LU(a@2O^1N(|PHfkF)P?t_Zyq9-0#
z*F*-##l?XN@rx6UM1n)6@bwgh-<z~FwE9cL;>Qdp4uG;y7O2T)efWdh%fnAkPrtgW
zH2dk<+2J5-BR4I%I5A<F`oo92Dj)60le1nHz1&~x*GXZ~H8HB&1ZM8uvG}4O;|;~G
zNel_H;(9Rw{c^S?Z*Q4`YX7^t%gwEV+6uoe|Nr9CuhJ}|bi3nQ7%s7V_GQ{2lAOxW
zFgNqomX&^Ut(JmX|D~_5@#LqppPO&L9yBdl^77KHZMo9rTb42N=ido9u~8W`re6M6
zPqVwZxhrh_!d36Tg%>`rIu*HN!$m<x1_q<n@VH7>(0B@HL2Gz;IOvA>e}8_0hn+57
z+S(CqURwE=zv|)IJP{SfB{P$@X06WnDz)*mFWaA8-9ObBRl2QJ84vUwmA#ko_0?5K
zFWhMF<Kz9SYkz-R6}EO(-Os1upvya7czCp&ObMECU$s@ne%XX%_b&<x4wj$912$Tn
zD_RpCe>CgrBxk>M_gE6_-c4a)czt_E;bJx(i3N|2cAvg|J9=x@RU@mQU8PyiO74FC
zAMKlVHW)kr&#WK}>TNv(6=!AdzTdA8@0YXv^8J2&_Qgf6paSLMM5DETe}7+{e7rB~
z(vr?=>*LQ~y;G+4>SJ>2JlnOikN0UF`95P_ORJ{;$w@_PqT~BYU#|?fI(@2YcG%)%
zCXeNyT0J*re_d?tuP+xDI=6!w7JL8y`+X-id13T&zf<L}Qm)F{2fAhl-C#}70X5}i
zKz%JfP{}pf-|ph|`1-Zw_iMvHKR+M7ujXe@-_(_FZftbU-}iGFXgu%g>TqrMJ{dRn
zrX}i$iJ)N$#pC^2U(UR&f7V{}QWZ2^^{Di<X8g=eZtg4-96@Et?ar>QOQ6eFJtwQJ
zto{8hYFo}s@KTgDC5pdZ27`txm_)T!EjxbP?KopY1ZbSV5L9o<{(L$;{>uLPdeGg>
zpdpjs<$V_?8nyCDo2_u~mwR<@?{3g+pQVL`gsf(8wSd5a36I@Hi~g)Qq!$aC?Fe1s
z=4)wneRA^Ns#Ad*CR`L`OmP4;H@@-7*{lFHH(p*|9<{S*X-rH^PhZM+z4h_SS4*3(
zczI|2)b5?{7;i`hhlISTnapQd1RBo*1=2khHnvs%^X;q(9yI)W|No!AvU}f?gmZ0S
z>ta@ZzgO*_mzVeJ*X#8^*YGBE^<9hI@4c(?%?hVJ*{jXcji&+^G<02GyZq6)($F<&
zxt5^GY##<m8BniVy8QjUs}Bw~e|_9<pY`R%MbK(HaLJ;x`-_H3#BckWc>QlLR(8ei
zl9FX-m~^COGDA|p6qbe(4J)gt%gg<*w{QxBhS_!F_r>(}^|>8CRRFp#T~OIA<I9VS
zzaDk#_w-F(>0(>ACVIL5t7jh{?|ND7<A3Pz)a@ynme*FVfAsa$>VT(OXZSh6BPk7A
zo<hc|uC54l29+xjps}hq=Q{P5y$JN^04=f8>3PPaAe*qylR-q4QF>REa!mPqTQe&*
zqYcH&{WI1aPjGc{$@n+vYSqpt-^I$Q63hK$LhG;lRn=dq*lYfSdGX^EDgS>K>)YMG
zy?8lae8~xqRPFCgMf+mBEmvQg;#^p_!Xs$mAIs2<DU7q%SX<p%vN=3Y)9RMmYW7Q8
zCloe^KA6jRDs*$>#XyGL!3$FuMbG8W4&;7!r+Ur)yq4Q3cQ@3B>;KL?bK)Qu&knWq
z|KEh%{3N25Y_qQ<EKz%Z*g{6RQ-K@1E*4Jkys>HTbc_CJGi`o8-t#X1r(<Awo>u&F
zxl^&*XI`AhaKj<#FPp39fwp_|Hy?k&ae`%@i_MjZYrRAF|E)eX(|Z2JLZc}O|GTvU
z*R8r}Xf$=xLGh4B=Tce4*DaZ#B>L5&I&ZP^&86$zwrx0Bbv|a_()@b6^vR{nFJtd@
z6xg1d7d?^hW^W(Ujk#@C=UiF6Hn(qP*!vwT4nJ?s*_5}0KX9Ud$;%!6ahW$RzR)OB
z%`REub!X=)Y1eooD=s6!=xyJHo?kSYt+Om6l*ekV_0Ksa>h+*@!G^{ozj)c6vgfRc
zeXO-As4>wrG5POp$+-&6kG%G7Ii5amj(2@)#_xmPX3_sAFAtowgum*OEd#@u&3_-L
zy1Lzb7xnyv#^hBY1tGhS-Qk?J@@sBt36u5JOD`Bsxa8cucl?1(RNCiR7a19Dcm(}r
zn`{WaU7P^~HfVND0?`nh)3rzi!UB=A7in;UXfOu%AHggTfmhq9v=Rmehg&P&OsSas
z{?fL|ugtUbrf-`YvM?xh^SsFu;sa79_4~@$#@stCuD;7B==JuLNbla67S5N|YCoO1
z|BL@?$KUUpS~ow|-F*Cem)BIi^r_d`8B}`ry^{YD%8+3BYeM~nb_Rx8C!Sv{H<aH^
zVQKI=q^}Xwevb9n@9pscOO~CBTlC?B!PeYQU3&BEKc6YC`Rg>l((g>YHD8R!H&bTj
zKTr48Y*ew`{O*X+&tI)-l?Brcyzitw*NKwV4^OImt`nu}`O5x^vo&AL1n=8^la|ac
zpW9JxAh!8T*H^ou%-f#Ud@&Caco;5m)QZ-MGAt3R<*4OgII_Thfq%naP>{{^xR}(}
z`7ifCJ-^4EaGknmAOEm&sqNg?5<XRR%iHH)qqaO!_q;T7vU~8EDR;6}Yi!>AFMo5(
z_U3cXpyKJ@HvW%a7?kQecdv_Hu65?^W%9zYb+7gRr})3LWnx&<jWracyCyL-+-ROX
zLwna5LE|YdLE)u$x%q=DDk9!ojd*M?^=Xc#@b=^1yCP3N)ekVZx5>5JGOOcvgzgOE
z(Ao7-()l+_SKEBOmr%a?84H7r{4cFvS_~e#zXW~>FmyQ1cbLzR3~GXC7#xVdWdHb7
z^ro7kZ}09c`!@I9G!@^OJ3WFP9S*nA_imf&u_H(KIom9w;)!m2FPHAu`|bHlJ^5bE
z&z)903~zWaLu;dk7n6fp`Nuz!zH+}CV{VmQlK%f{?wd_h=WbfLDcEdlL7n2wr|(+Z
zU%ptlcU9EdHkFlbZ+}giB)9L7$NMjG8q>GUHOalC&c*ZL`ZiztS*9Xv3<_^AgkKD2
zbjZ5cexaSgf#(;?FBS>?*%uiZ7>;#FRyj=yTk}2e@G{-t8ox6JqK%CIPRdQ0YhUcN
zzWklo@Aos9H{Z23dpY+WbFlQyG_@MTc-=Yi7v9OvJ|oA)%#cw1CG@{@JS)Srh5SF|
ze+e+ml&wAV|AP8~j60f~3^S+12Q2y1r1bRCw#j_*H<B+F2TSQa`mOr;%J%5lH&&lY
z;`>+j{)ULPON(vi?>Zexkb%*-3<Oo9lV@91ck0cvU%T_NdeoOaOVqyGJ*{?`d%vjH
z_Cfd0_s?V1RXm@cpSQ*0@sW#%b?f*T6do^F&je163<_+uObIris_&$z?z0)MnvGu0
zPt<v2mw$MdXx6(+|7Jd26}DP&`nI`WPS@|zjry;7UwPI26+4gaWMGhFuN7rb*!sem
zfx+;FFvDX|3))BJOPI%^|M6R9EVh%ejpTmjb9GnfypM9b#pR|w`NhQiXKTg3lC2qc
z9Vc!1xqPcu%#s<O#5HET_!PSO>Xmo0vq6HL&pcjCc`vy4^2ScBy<a{VM@~95^-8sm
zU)DTkh7G*GRviJw+Nl@LLhkZR3dW24J!EQ`dZrysF`C)K$CwiG{`}3wWxcCcc(J-K
zUd-@O?Q5U*I{^{#^Ya6zhn1>$Caayhu*Gx!jIDX``vWY)^`zeCSJ$jRB0bw~<#qqJ
zzmkuf%|BP|qhWfUv8U+edVyT~3eWi7oW#jr<@Zahc^X}Ro!xf!&6K|mUN2S)xyQ3s
zZ~OZ|_38Pku7Bg|Z>qhH-}klrZnwe8*vDFCk@iM>za|{H*nS`?=k7i4IquD0FQ}{Z
z*)e8nuB=o3TFuU&5Nr6HVR6=0sgKiM+g~}H^}7BZvrO^4`LnJ+IKa*DhP`&`*Llng
zGkI$}K=e!5+NQ7bm?NYQZ)XA(tYD0{bOn_#U{wqZ3?vlFquLl4uvBjiy=Ugy1r{&&
zH?d;VNqPBQtV-MEwAeYb?3=0F>96A|BC-}A<XK+RpYiC$!&Psl_zJu8UqAXey{E6`
z{~}+X{W^EoJLR`#eD=>aU6Oy@#4AJo&C}Y;`jYAo%@Xu)w=A8ve6Qd7_m+Df?NCph
zmN)sCPQL$b%iMjXsnZ@`?YR_xu<piVvndm|6=$bzpKhl-+xHsRfuyN(|J{^r@0D53
z@9yvQ>En~0nHJ7}+p98e9=bWp?B(Q&{<k0ZE(%(DT6LG+{skwl9P=}r?|s`3lz(Gx
zl?AnWO+6cR{m8|`PxsaoF4}qKr_7_S$m5##m2YjxYuz(le_FP^`QCdwXRo@tLizbA
zSKX@r&-T?Ny|#H;?NVKqcd^MbSoQDcSo54qPQ0_X`Fu0ImTR{l>Kw07?c74=ug73(
z0fP6rfAKr6CYI{;##ZIb?1*dM=H3hYDCC#*B}?-stE=7Sc~|o4pLxA8)%~0Er%9<)
z-{#Dt_qOZ0pP$dTy-fabt(k6AdBD=?tJHSKWv7@oS>AT?3i>@)J?+d9$yEU>H@z~=
zS@wsOD=K&IO3^B9m(Tm>Ecwp1+j|nIF8Cxb{`C9r$hY@4dUl8X5y}5~>}>Sw$AW)N
zO1}w->ORYGNtwN=<o|}S+cJ+o{ENT3Jz5$RUY?itU)<EX`RdZpxfQ36YzZ|K+7?-O
zTf2Daw%83*mwdA<{&jVW)wB&N$yqAb->F>fi%<^E>PwvTdj8}|cRo(ty8m*^@2k(|
zU(0&;h4cKD{KDSP5^L^So6Y=Nr;~WrPSx=IX5MrEize-vuD|U^<w;rh-CN!+346PH
z#@+M_`jOL@zI8g3dqC>9Q`RlM>~GeZTbKX*B!0nqFZ;27y6@5jF4uXS|88yW7WIAk
zv@I{My|bTO{Z^vz_Ver3<-zy!a-Zz2+2}fdtFGPUEC1g0PMoz(-*Vcvv(I$q7f3Gt
z7JTc^6x;KbbFRqvFEa~|nlE25@879w&#zxvRlixqKcQiNl*N95_wTi@{XX)oP}8&f
z-|0DZho|XeX6xQ;o0negJ>%r09?tW!%Z~nh@Fec|(%j|G?Urp>Zr5zB%4q%YwfHK_
z?y&5Gb5?f7O?@gZveNlEld5O?Io4D98bNiA6Qj2OY*_L`J@PmI*9&s@wTs?97yEr@
zhkC@{CMDC<XG*;@Ee>bR4ZTxi`2QPs*Oe<by+!2YmTmKmGkm@3>;Z=VH~5rRJ_R+q
zcK_S)^YOpjbBnHStnasMSbcxR&Oc2`rkTIYwL*5Ru#>x}ANv0Cb$yeI*S~OgUFl;M
zpI3Qq?+1gkbL|2_Y1Vo#`w_j{Tch=5?KZdzyYq*?SUaKO^_|Dns^9KQUt8;8<bUV*
zqdf7#{oOP6ACIj+l&iUJ=VkS*!@ERZ-C7&|=GQMCiFF4U>P@S*hV1zok^I~HrE%=W
zd&jfp_o~QR@6kW`d`Zf?FP)#_Hb%U)-YYvh|3Lly?`Kxdx7+-ueX;t{c>){UzHLc+
zw=IFs``hi7+Z)!$XS^}$oxT0quF!eEDqQwg{O&b9`uE<XVtpH*$2M%Q&zAo>CdN8V
zZ_Zj<>+KnT+?|DN6V^nnZEM@nf7PP@pyWHPRPXQn+1t(<Zu_?>Zc@_iIscq(w>&<;
zx^v5070+Ll*E=g%PtHgUTl0OQ_ievhg%6sJvU+;oFOTxblK0BGxy5Rl#|^bvvkgsy
zF8A5wFPqYr7<Acw`LiFVZr#s3^mkSA^>-)5R8*J#`0;tumxv3Oo(5-M`jQ{?b<dK0
z&pG4IgeM#@HLcn@<=?J1(;rp6n7&5;VPTdRGyxy_EO&dkThZInJAa=|eYMr}-(tmE
ze=gs;ar|)|8>qPW`aZ_nt~}acx$pMS|C#6VlQipo&$)H})~uk<yRS>-#(U}H&ORGy
z_t41g&GIcjpKbgi(`R{n^|c?dSzmrOUilV&&2Im+YrlQHDkr_F_L{0E{`*GPSG!MN
zxkC>x)77<_pX&YWoAkDnyy)zcW?%N)jy~iw?F&2SdD*C2(>$hq@9x~|cc$#ep5s%#
zT}uy`!t%!D9~0}<joIa%mzpetAOGFZEm$1tbZ512mZkZGY<qKA+b!nzHZAp<KKVBL
zV%3*3nSWM4OqBY6QDE!)OJ`TTSKPQ-txK%9$JX-oUZtn21GoL%W4CRgZSkj!MW>I{
z_?^srcggPC|75-gkL=cGZI${}@a2if^~p1ytZVXqlXqb$clzr`KQI3(__CzJ-a|WN
zl}z;p>;I>Juuhoq^q9{a#rIFUMI|2mKU2lb{3mpu)6yID$N&DB{Of;9z4wnBcU}sY
ze*BZ^JL{kCp6@|hW-N}mRo3<Qq3q$P+wn#7GY@IE&wIXkr?}j*($zMTYt}x|`ThR8
zMdmN_RZ(l*_Pp6TNBYFp_0e6gEAG8F)s5VxyX45Fzh>`#_wB9?SsUgYoUT7n<#4^v
z{|!|uSB0&XeBTvT%r$H49O)G<Cola<{2CPP?qj_2ru~|`X5L<3RvqV>s+IlfjVh?)
zbKC6ij2EA`{rlv9Klz>PU&A#Q^=^0t{SHX#0TrE#O|Q?7vHoN;^NeMir|<tcvmR?_
z*DYVU^Yi&@I&Xt@V()Qu)}CMLH9dGf<6%|L`?@oyKeBo;Jx4h&I^l{2?@HTk+mF6J
zE?PY2-|6~2lWX#_>Yq#f-8uX6vfHcvn>^pTH2wDTD|OedO`3Io@3oBIZ(O6^gObqZ
zFEV~H+y2DPns<)>$cAtE7K?vxZ<+MEx-MdGi2Zx3g>Amkv+la9mZ{ItopC$=2DA4z
z#ppT42JS)6`7S@IDL8a}<2Azxd%sGGs4`lcq&?#4mARySQC_gK^7Gt%xArDqHV!v!
zVYxd&Wv+d-(Y^cn{|f`x{k=19r*z8ALpMR~f!AS`T3^CW7;o>n&&_}N+5Bs(HU)3H
z@$`(~<%VS?L9gQ~W*j<vIO%<c<o}Bk(x-J+t44aQm)xB5p_jq)e4MVxca}{{ZhRO0
z93NEg?RDmH;re^KD*p9|otY_>@3FWg=J&3X)jyMD@BM#m+;5t9FKSZBryC2?<*X~;
z1iX2Ct>D!64zV*cS1G<ro*bjL@uAC_t$$V3Hl8<e%d(rjlso<SGoK%G)wchQx2bo#
ztX8|I{J-@P$0V=my7KSupX~jfm-#JtpZlacV#!77-{O-_ANg~kQ__9kreHJPm$yyt
zeVaZjS8*ke^RF`Bt97&IEIKOl^<6^w+j|>d&Rl(+@BRN!=U-)^smpVswiT2u3SX<X
zy=Uj+FYWiZE^hIhzanw6SlZt0EphMf_+D14P1?NM_Ht0xH-631+~S~m?^hosAU)6<
zF8&wRMn9FbuJJrns(xL3$+uc>&-e8Uw>xdAKECY6+x)v)=Wkdp60%+?`MDx>dCn~B
z+DFB?{@d)PdAya8Xk`5N(e8IDce?%O?K7@>tXb>rRrJ;)Yeq3oa;~OqyzTq)S(oZk
z{i>y}Km5D@*za>fdBVHPbGq){OWwDC#^ZB4>Njuk-<a~#P&nOY^WLK#IlsHAb8MF6
zUr%}eqO)?n^RKe2n)j7AzBgAjRDT#`)weAEmwfTBUWv}X`!+r?-jE{QF|i=NBeLK0
zc1iKCO*?8qRg$lat<ASm-Q4wOW&O@vy1%n<={EZfDb*c`p0o4b-gkPor_Af^=9Hi5
zbMI{QOv?Q_VPEXyuUpUm-fh0HB{x3n`|Bm&PCu#Jts=6$ep8xs<~zgmq>Ru1KibSs
zJhSQ2|8wRMxBe|HvB}K4|KH|$?U}d7*IbRC`C0nhozLQ$vg_5=Opo_-{%)Dl_g<*_
zET~6+Y=4#g=V(()&h7f%+rqv3HlKaFImqgo!SjeClVUu#&V4qIeM8C38Q&A$mC0?t
z-@W^<$I1EDK0b%uTd8d}{eAR^%C>&BV{*TFx+XQqf<{CRyY*c@p}6<VuD5o}EGBI5
z*pdERZ0EP)>Sw2}+FEaa0jk)3-`>=^`RYDz^PjA)ufFR2zjSKp`FofCee9_F_4rcj
zjoW9>&$rFI#`3_B_xFrW<4Li3@89KS-G7<ud1=bbZWY_xA0v#`#GTn>7=EE7Gt~Wc
zSmm+ZO}Y;+2pF!HF7My~^;kcz6F$i&I`PWE(+BrjtE%2j^!jg|S^ML_ymYzMQES^`
ze(%hDG9m7~P1%<Vaov0!L7UQ_i+Kj!{3JR#R`22Sgx<IMhMKYqmOb0tS<M=7NAXV3
zt$)e;j%S%ZI`1nU{*Q_Eajn^78@B8x6XHDi8WTLfMV;eKYX2)?Rur@6dS|A7-M!L7
zYf`<Y>Mg$zttj=}FhbR9+O+t9CHG|CtlM|@){%GlEANUu;@c@&JoR3S{<Gy-`+Ysn
zlz+UvZtceU+k2BI|0>H~toSbZskq2WAyx0y7gsNRB)eeg7N4T~(J{;Y{}g{s+}SmC
zQmme);rZ@J|Eg)T{yH1&&+W5b;@{Ka+P0)ErDyfDVrJi&J3W-!zjXaAEc*CI^6A;>
z_V+@2pM7IpS$qHF+xp%(-KC1PyR*Lc`Tpk#y<DB}=7MhS>^(y7-LIZmIX~-<yK~8l
zm<8W{#DSXo!h26$irHp2&7l0g*NTvrMIZOQ|L1HQvZ}=LC#&nRe;@jO&P!@LXI-Lq
zVa+y`jb$oZ&ser?+%~0e{k-qizIpqNmhbgl5p&dQmQitFPP}0G>>U;VeBQ+VxOZAS
z`{SRNR!^&4WOtWcm%FdMv3|0Sz1WtNpZ}a~liZmK-aZ%0-|_sPv+a{h+k*GJ1-0Qz
zzFdg=`KvYSV%Pk6ns!HKSl2G9``N!8G@|FKT^Dp@aeLbQ4?UUE$!$$OTz@b9pK&?=
z$d3vad)poL`ehwE?pm8gmK^WidD|g|^E>OwU%9(1Yj0ZgAKX}b?y0@rsjcg0zq_+<
z>Z)(I?mX<*{X17WJnJ{J_qKKkP^<f&Zpyjr*~NE~Pl7Y&owpCCycgWL<?RyNec|B3
zs4TMT-~GLusyV-P?yf(3Q-AWWw?g4(s_zv(XxcMfzi!=MqlM2c|2xe7&!0X2u&3|u
z=~q53QLX*|dCqsk?ed$$>Qm3<TNIy<kFd&ZTM{B`A5~Q&em#Er-z^{8L#vj5cj$h1
z%_rx#QF-;&FBZ4&*l90K?wumHT_wCIclplej5@Jln{ur8fBPQ#RsPjN=jTkKHOdaU
zbK*O6cd3@XGcep{C7;uG<lDs~H<IT&1`2HmX8w2Euq-q5_!{jQ%g)3sxod59RIgg!
z#z*}8{Ast@7bjc4p0QtlhH>cBxK&c`e}Za<IhMtqzn-gPohi^XH2c3L3{+Hp|89Q&
z<?8O|{_3+|Kl=GU{r$bii&lO9-?(2uL`5XO;=G5iroQ76HYO%xp7wavmdH3Q<7m^}
zQMqAxJFiCF414x!+OD{;%U8EVY=~-0Op_3F4HQwGBJ#PdWzmeT4vsVL`}Y+yJuxyq
z^Fi{#*BYCO6a$0xGcBKg{yFEf-Sf|uE#L1~aXwttE@1nyvr4}F>#3(w&1)ytEoQut
zc8hU-qVmF<l@gPepFI>GH=p;v;@ywQf6Png<y5@sOgF5&rNhGWzPnreoO0r8Hl05;
zse9*kto*!o?}M!;kH6o`xZt61#xiSJA8xtpVqZVJ5B{B!`flR>>9dPH{_R^kW8VE)
znTE4={SCc-qdIEt+IzE)ZL7chJmUHm&abhlw{O(EpO#jyputo8?A-C`-Qw47l==Su
zCTVtQ&2fhP@xDv1|55O7Oq>;T#ANGI)7ytG9^(4>QN3UO=$qw98~)u+S<Pp1Ch)qf
z)3Rop%O@2tzh1pB%|E%{uzcP>XZCMQ8{Ryr=>0Rd?tFfCX_3q3wEqle@@K!EeeJYV
zzwJkzL!tZ+AAi5+aPa2kfd3z2=U%p&by+;(_b%yM|5wR-%-D9(Z?5gr%!JkR6<*$2
z%dX}>yY-!I)v5RH!OL%Mc^<JyGdtnSTk{16nco;M_ha}`TVGXtP(5vX?6Y%EE=W}O
zCB902_v6&Gzs04`wrt<}S?<Q{xW_GiUvm$Axi|CQy=A4^PwH=H{WhDv{{IZC<$<Tq
zTDG(&tDpYqTkhsN|L3MXx>rqE-@Mx*QnRx{F>dDfeSdcM`aTW)TO9efKK!$JnWOmc
zrS>y!=g+v6+-ef{Z|_b0{j7VRu`hXbwb!nH=WU15(zo0VwYR<;`?cxS?*|KZ*E}%J
zQMniW<-FVN*SBhK&)NA|ch<ifmmc4FwdN(ij;wnGsAafzYiWJbyXw0aZY=rr?Lxrr
zobJc>+HTnu+q)Nk_b%>_^;v(jgmL!T-%8%+?PqK_`@dQD{KE+2xV70fnZEb)&+g<c
z{%sijE&Q3>;hEKWhk~y4$)A<IAG-YdpN9VX)r;K(HyifOJ#Um=y)|V{uIK)XHzF2q
zoF6@D^}=nJClzm*W^?V*+dES>R`<{Q<T}sl>$WQS_~_y}{COU=zcXTGHl9xioOHsm
z^wk^9^ZxngbT2Jtc4GKrXnW>k@=j19y}128L(6KpN!CjqA20g2-GBQ1BB85SG-pYD
ze`i~D?L~-Bc*V82^PBcL&R$t4w|)n||M?op)7Oui-|%=Qb1Oc1L+Yyl-Mxz!+1+by
zd$8B_|B-3(<)^|I{N#Tb_xyhS%k%s1|F!&obtXr+?UjVQ%c925{CLxNFF)A&>(R4U
z^82#4?R<Im;+41St-S9ANAET7&Hc}tnNwI6on{{UH|#Hi^79LIKYu^7JGRCCy56)1
zV}Vs?O>~dU=C;fHmb+!&ZV#Vk$71>9zGeHum(?D)^gK6H>bAX3=Iq?3cl-Y_?tRAI
z@{9jSvj3SC-wUUGVclx_W!Ku9|9xtczP^1rwetPLy{`YKELYjYTHUXjGx2Q6(U&J5
zyI)-GZ_iMF=kDLr9~bY){}M6VX1?kh+qRYGE`6M;`}_GTolNh|M&A=I{}N4G`}&23
z&*ddcmu5V9|JLj3q5P1BKmV6mE3LYp8GHTr^dEn>Gw4|VG>a>gZ~Ic#_<zDXhKAf-
ze@p!q#>@UzJw4NI_N(6$Rz_U8Al0e%ERR`@_bvCgjLVFle;avU(>Ch8y83%*eO=<L
zo559)Rdb?e@BPi3eXAsT>(*`W{Lj>`e_NT8z?pq(-z}ZH`mS=jXG9o3OPL)%dGXxC
z8<)M`{_Ib~&c8Ese`{a9Z}?o|+?-<JvnS_#j4iGG&D#+7x!E;%)$Gl+rrY*L8J*j<
z<bFoZnu|Bi=a%ZRZg^wUu(N+_iS_!wG7YKT1t#v%LGs@H>!GQrvGn~#;oBv@&(3l?
zQGH>8)MZ<VE&mVi{r<PE^~~Xolb^O-UGR5)%~PM!%jx@i3a&aAJ&xPWyy=U>i7OWE
ztL2Pdn|-NYAJep4u6M^%hZVm>mv4LU+TQKmnM0xcCxgX8ukUsD*NNLFSap{F$J_1R
zX@BqjT4y%XxZIAx<j2jcbvdzO`u8>BFP45hRC&kri`?d-$U`OvHl#IvTb5T}YWST?
zE_x3r0WJH!Y+t6NRP>y?VK-~rdR=zBS}4UXvAbL<OXkgt&k~o-;{PrQ`l_ipYm@Gb
zW!YPvWI1Ke*c5s{-=}=?%xmWiV{>C`vz&|NoTqI(`Y+M%c8>Pd+tb=^%{=ytDLcMA
z`S*O)Z8;ID_jS{`zsY&uP`Z8m{ocma;d;vIzZul*O}Qs8KRaptfqUz`b4qT#eDx~J
zea*#~WQhZxK2Ej$m40B;wl8mHPQI}v&$U<kzwF#hsjd6>*hz=4k2!W#dwSukCm*G9
z+jf?pjwlZI{aW^LYUTTzCA;c=ImgcLeYvFDvUbAK`MJrzo7UbgIk4-ol=uICla1%K
z$9;C5d%E7_OZ79k=hxEu|1GeBq?2zi{LfUb&owmLc(ic6?kzj-@28(xm1TD9{eF4d
zfoabRbV9FJT)JhQrE6=SkY}Iv`roM~8<Q=H&-t3D7auF%DxZJi59>}#cEkTyXNtwT
zTwe0nhx^#gY2T!KdrhT&?X*3&G@?ju!N%ie*Vkxmz4^PQAU5jJ$Ix6IFCj~d`H9LK
zYie!2%#wei>GLXim({T?4(nd3yx1UE_vw3aG2b;yh7WQkET^v@PoAB(zh*-C-;_lw
zoi~-d?QfmG-X-tcLALAj&YZf_+@7p{zldRr?{;~HGqYarQ*^G{ediMAk6-;0uXnGo
zUH|_m_w&Mc*Ed%bA5^b+b8w?rtYGNuOu>hbj~BiEYkRr+)`h0S%e1%iz41N%Zp)Oa
z^-ngrymdTg;VQ!L;LXh7u)lkk<<x&QeC}{V?7eUD?foyeUfuekCOBg9--kC&ewwAn
zn(m*x<i5sgIp!<&Uz@hxJ~WMY^@pdATDPw`n#6C}UY9Sw>b?20Z=de0Pye5v_^o_n
z#m{3>>XK(Fc_NS9`g{1&ww*gouZf#%jot9<Nz&KV!Sy}=+3G86&F=kuA#b{lZR?Sy
z%JcU>*;e<d&YE@cirG_{TmA1Jn;lHQ;qkM2nf3<Vod!$Rl^wa{^G)LLjNl0d={2cI
z{r_%G+V<t(jN^vs?`pb_h4dXLd88V;{@A^{)@P#lXGe)$-WPVg?B)%rdDk*B;y1X?
zjtjq?__nZD)hD-WY52qFqB+sC*ZyXnyll%$-`woCl|DJ|s_#zW&de#jb9>IL&o_>`
zT&cTt>*gn!zNKqq{jVLp^qKkFtK(9y*6Y}|8Gpay;+#{tv2W?)-TVHsJ$Qfm+QIZ2
zduRNA<<otx^V)V$c{0oT+_o)<^5p2G+!Z^|OGfOzf8#SKfxP+{TB_qEw3XrEs`d>P
zKaaWbfAQhY`Ct81s734l{6Dq9>7TAF76jEwum8jbJLgAvr_9c)@4darx4FUhb@&Nc
zr-L^ym(IJeW?gmvyxw^hzu!;$T6*qt?Df#lYeu{xtBqsN230pq-cZUsuku}}&m1e}
zhpXCk;?C@Q@Fw%;RyzTawv(6BuFhy$yv_G@c*40mKY9I5gX+ICGp*%|)BTU`j6XlC
zG&J7%_1ZZ$bzi1kmt9xI0di_)?cZ>5Q<J43!Q1vP+wg4f%C#Hc-v45GZm#XsM~C*T
z-5fsu+S3E~N_wgkZag|ZV_WZ!eDhPkKOg0O{`CB{S-FbZ#r*$1{mR+BPC2va<Dtqw
zApfqGTeb223sd`qE6fKgp6v{O`c*O8KRxkW@|nb4QWs|J_FSF)N;ax*f#&aa)!gFZ
z>^1ruzLlD9`+xOl$)pP<heR7{%-gp9jt+Y!SGjBFt2dU@GP2x)qrY8QEcoeL;;(ym
zZU(=uvHiMoz3fJl$)?E?-oKyknqj=pXruf8oXqH~sOx7g8BX<Bw)*AsbMv}%rNizT
zwI(>vPcB{d@6fcz?QQeg|4#ZT*Eg5vL4PSnqy0Vm;%n;W<<cwG?W;XF$L#K`ZHreP
zH+^PsRwChSr%iExarWla`heKrKJVGLuHE`QW5>epw`Ohh%-v@7E?2AgyLYwhZj<YE
zr_A=NMbA6D(WUmWXZG(p@ALdKZuj5Zw4X`Gy3P3cpH|&t$DU>7)Pzs>n``^=)SmBa
z;`n!NJGL#n_&BWC`Mq=Pxup!#a-E;qU7Pjx&XF(H*ZSmra%$~%EHt|{>9Mx^8{>#6
zDn$y*R!hIyb?RV=sEe~z={Hb&p)u~W^Imm7pUWq%q<#&bf0}*j+}$NB3%U0>N&T;$
zm~@xx2mi}H#l5i`9?5qb)IK}C{mJ^j@88*0J(^ni{_*Lf+#6F5uadI=ZTL^R<n6V^
z_bT_*w%z64`;5J^s^QkF>T|c|RhcmDz8v&~?Z>OBr$61VNxk>`)AxN5TNs3w|J!#g
zV)?mwKYnj21sD8`S<bx`2X9`E_}K4i%I6aQ>oZfy+iT46I#B`1ABsNx2&~!o;`@AC
z%f)Gh+t=kDG<m--Q|`~Pxc!+MKkJL_jZUsQIQe+L(!blipU$t2{_)dm&hM`}VrQ!V
zO=}E0c=K|_|FzRWJr%3?>fmkrcZu1p_Yb~5`&GDbnEi#kjNj~a|7D(^ncM%d>vvX;
zx5M4$dAsJ_7n`5`UCtI%q~t_xXL?>|8~uFW<r~R9^Z!oo7C-g7_`rvK6OR2ae2{c<
zTR_1#6S?YwH@evyWA+rp&9hsw@%yrEzqWPWnd1y92`rOKH_z{y81MgeJ?rOr)8{YW
zcznj~Wi$K?V)s_P{+4y_Th6U(Yjy@*5schbKV!yaGv@j^FHCZ~uP)a#jFk!gTPbA~
zkn_gaY&$5m&))o>vEHY<`0J_EBlWuj_eC5y^5uQg=H=OY?zJ5gQj45f{ozJ)vf+z$
zyYqj}+<Q!jcWdXfG?P?j1^@c%D>pB<u`{~co0Q~ho#d&OecWK$xAWI}*00Jwl^%7!
zF4Z%->g%c0l2>m!%k6)$o2`v*1Z9FxQLE;&tp6J&eLMYZ?)J5ndtSc!xy!GOwRI)K
zl|M4R<sOXnTYQ(@U;A&zu4PMC?dy#yK5G1X>8vv^&7BUZwyc&r^hs6z<on81alN2&
zM&kUH@Be0Q=AE%wpP_gA%ZAk4cFWqCs<$I!f3JSIb9+t%FT<z8g*%fICjaUymcEsz
z`<DOAO}SZBF}J2{yEg0jy7jf&p6$)c$O*ch9v@$wdbV)AYVLf?`HL-orzRiQE6qK;
zwfNfg={KtE*Ye-~bN}XR8NavBSG>N@+pB)|?eE!DbqDU$otgGmG~u72Ov1gN+}_`$
zqkH6~rS6+<`9DKX=jV^T=2=?~KAU&msJz<r`JOh@zi!FNy~pbE&hDJ@>sE#LHpOE3
z?3Xw0eA(PBe(rI%>-$G%S?6ET*mSM*-GzJ4o73$@n{}nbPM#00{Tu52?cyz&P3H}S
zCf?oip|b1a@4KwW7PpG_)-mpQx_aI5*41)ZAKvF&erx{k?d7MXb@ia4*RKATKkG4b
z@tP!-gqq@m>f3G9{w`;FJZI<UUWT6HXXnhb%H;A4>fc`9;JZEk-@ccXtLi0<>NCIC
zuKXuaJn!<C9gAB<-Oipnd~AR1u9&(Q=k*IWKF@fg{rSbw=%O|M%_8gm`<&nZ?{-S}
zw$_uE(;~n8x?Hcd;^QnviT~eT7A61k|C&F2rn|n>^!5Gbe)G({|IID9>I^dL&$RO=
z#BR^uIe+omd(xN7EYjcA{H!%d|GoZSR960eki+!i<>Mb0o2OfE{8ntbx9!#K{8&rr
zsvgD9;+55NY;wcq&R@Ipw$qMRikst>?_9rr;r_4Bn*4jB>+VFp&t9kB{n9q?jp4JL
z_GPu)2XrIP+?}`m&yL`G@1$-m&#JH8zx%+CL(etKUT^;<r)je9LuHri%r!UdecoTa
zc<9*ew9DVJe%+b2zJL1m-A7NGpPJul`F{7(+wryguTQyt_r|~UUw>cSes$k2w(j)(
zm3OC|ooOBaFZ$UQdxyKVQ(xxauF^@&TXxK7*1hSwzAaz2O?g_%s=v10#|@r+JO3<a
z^VZ|x+kW{-SLJ2jy7cwFn)#1?*S4>pxqH9amj0;U6~WP$1LCu)_D)`Y)@a%PkbuRx
ztNz)|mP@}iU%IOI*^^a&RaeDZMMWgWNKH@v^Zh^H?X~&8zW?Wwo__3U#FUjA>lW{;
zE&TYYH?8;inY(OfZi=sZf4p?-%dPh5-naRRZ|%7Cc9rGr<uAWy^>a&SJHNiYZFRcA
z_P55%?G4haSNye^w(aG%ob0oedEWb^s@JdH?_S#LtCPEAT2vBjEx>f&+dH-%-^;tT
z_Sw7Zy>F-Y%I===d6x94oYQ}|?ECH%GCTkMw|f~|{@FwYf0qoto&WCny$gjaGxu-b
z^4|RKI@RawQm>DnxvT%`*YDD=;miKdD&`6QyO%-Au0HYYjT^VhR;~LOoBV$3(zk7<
zw^zUXyD4Q(Zr=Q>HzE$tnICQSZ~gn~XL-)k^75bcoxNT^TW9|?Pyuk${c4@PPOkT=
z`kA-&XU#K?`FcUu-n?ACbcx;Kg>{EdW|&Ahx|Dr<l*FvW+@7>z`_tEvSB{sMvIq)Z
zE&22#u%w`Pcj~T*laKd1nSPU#(OqNk+VGiCtZw?*swwe0Q4Qzj+UowhJKukv`=xdB
zH<skBIC?&_uXgA24SF9r;${`S-ePsd#;067dXuh@sd@CarG0N+O+Edi<l*g#{EPOv
z|F*x~xW4<vbOwdY>*rrQdDfB{xcy#jF86Dp{s&nz1t&H-zy0+6Wth@0CAsHj^82o@
zZSF9;fA6hr!u-z}(>A34K3=#ldBgJ`=fq@6=e%99^Mp-b*_;C}qdTJ{<ZJ{4@4h<z
zBmaSIhR593@+IG2wH`ffKI^N5H>gP_`EsS{vOXjCymN|Ap2<vEo~x*o<(YGLn$@Nw
zxzT5%qAvt)h*yf<l-7G<*@MEo&kw8bT5UMHeg3n&|0^mjKm9ltc>HGHtnM?<Giuqo
zC%L$|TzOP0znwGMY|W~TY^)!ChgNsq-uCF=jN@mkdQ?HR|Dp5YNk1p`pNaGN`{d)|
z8(ZpF#p?D=Qg3-7Hf>$6yGqmA+d=N1k1k^UBxT8(e*Q|t<db1<wyxhCzi8Qyq>D^v
z>a^VMZI}JpqAU2fFL&Qt6L*l$BhDJ`+sx`Nn{J(@XEcBDS4kZ&Awj{w?(g4IUl+`F
zS6}nvxYEyr$K9^n0Y6?xRytM{%O$S_H7DMmzLpri>e`y)uTAYAEVb8n_%4^UOj+r;
zn8BX>x&PIQRK8_+%X;3g+s@4J@7v3wJx1?sciXhvelPvzow9a!+dbyJ&)7kRula9w
zGtvKs&_($h&u+UFZ>g7g-hEZ(v2}F8mBMX{pDCTT2%3M;RJHSs$CsENE-qJg75I88
zDHWN-1W)Q%k(<Gt?Ik2Q@hw<T2?2zfTs;vyB_*Xz+G47m9Z2BBx`-(%C`xu03CcFC
z*lJz&i|N+Z<iGPfPQ-|s=Rc~-<g}_R6O}#sP{z7;VW=&?py1Y;<9^}~_bJ-G{U^ix
zyL|iWVgbRx!?PCe{r|V}*1gIt_q)0;ES)|5g@lWXS!n$JgNsxq%34})Kdk>#{G<0j
z*NcH29Z@~T?#3H)kIuii_<q72yCd>{-+ywyZ|#0yY4hqA8GHwC-mGJP5f^L4#2|FJ
z@5WopjuZQOLPKvXj%%)VmUDIQ*IV>BK>Fg{%V*cs?_PE4#J<ifBdNjz8(7Ql*s|TN
zs_yo4zLIuh^IrB_=PI|XTID4&@5I5CcX;NUJL?eWD5ti6pVZyocQmb}1Sk4ly_#<!
z+3U8rLC3|##ievt)mN<&tGRzlpPUffv1^x-f&zorQX#HZrp0c(O`A7wezC&Eh41;9
znZ_KvysoLKszO3S1@HHM@9J}LNeRBbKK^)*q%r79i8Ya%+5GK(E_vbM;?iqX`AOwU
zmg%HPlO{}>)O32fe)5M02Pdd-1_lOlaC18!?~`>suA;Qb8XQL_7S6S;4$}+B+8QMy
zB68sJW#PxidM9^J`F^Lk|HTX!7rw`bTDfOf6e@jtd%OMX>+6pvy2}a5c6OXl`}Fzq
z#}mr^52nZ09Ryt;vNTB3N=Ptpu9vrWqJhMMt639g%;>mtC#IsJ!eL>6!^#k+Nh&;Y
zHW4L0N{iBtFH#W{6x^!e-Y3%-wz@TL{q*$)Z!a(Jk693+HTA{y_47e?JKfz=DXhQm
zhf>(Om`;AX9}M~X|C-I2Gsoq)lG3JI@9ypvl$P#Z7rR?YQL$0|bLWYNPo6zfGBgy-
z+A6hj<;op}kJ;RMBpOeg@bH+_vS5Ki$%_k)B|b_@3&Ck|k=W`@n}mLUdpr64A|HQ$
z_sB@eHa=M`am~Yr4qaHveLYlp(YDN+n^I?3m+Q&ZehFL?xw-9flVD)?mb$-HXJ(ml
zbG0)4|9QUt!p`FKixWFK3Vwb{&Da{X;%e54t65K;KVKZZJ+Gsqqd~=Uf(qx}>hEH*
zlRHi<+@Rs<;^MN_Ei+TI?A;wraZP?13kG#{^&h`~J1-1ySQwD-=ElZ?;@zbSbCnid
z^ICoN(Z=I)hZi_D3&_i#-+i)k#nBaO)*P9gzpvBZ{;$aAXJ-!|YUSR!&O(qgI5f2N
z%o(2*SF=>q)s<~+W!)AFE_UyC3keZXQc^O=x}vcy*u{l6A#hShM@Q7!M~{-0ELn2G
z^;GilzJq7a@;W*?ehOJ%S663~p|U9K{f&*u683dA>tc2`{r~rUzl3eo7Es#a-Bt6`
zNX>T^OY^~o(A8myudb|Iq%0UH9TE|tai4eP#f*TEkd}Xce>*P?a$FjusHDVncUP&f
z?BtFWM<Ev9>bbn!|1_)D-njllhnz~@-V#krO#C!=igP=kC@6sRR?UA9zqiVCna@lm
zaBAw4v+a8EA|qyJ5$nf~A0<q)ro8ZQx#AWQ5|VIzUF@eRYa$~fGw$!RZE9+Iq8aJl
zBcW)eCK%X#6q3F?-4+X4T3QxOEc*TJ?T)IiT6z2bmhE&{8K7}txxf6yz|M}GWt%n$
z)&KiE|Km~d_!Gg3+p@3wmFOrb&2(FQaEa$+gOn2jM~)s{n16pC$fMfjpPqQ`<XCzA
zb>Y`np*(Un5|dOEwY0bvE?ihpUM>#uXeh*^9Q)%1XHT5SxHgP?u3!7z-Q|n-?2$R#
z#yfd=m8^N5j8*wN9V;!tz{zVPH?y6${Vua;(V`8BhuJDBDmwaHTw0EHi$6YJ|Ib*>
zcUDX2>aarD0;Nsemo5cK@UUf=NU5l*Dw>;%%gM<FXoz(5^tiaVu(0vV>43bx`Uu$T
zfwG{h31qFyPPm?OZs%JVySoe&cs1gw2?+{TB`*}Lv;-%HUb=M2An_2(mseN0IXO9Z
zd_HIG>aMiN?A5Ve>56wdpKqx9TUGPpVSB~nUUL_BrA1+C>gw!Ly=;gK_HOU@I2RWe
zhe;|dtgIhz^mVL|ge38lwndASASo=q?kDTJckej(_}YS2x>QtH)YR5m@+t{#)mZK~
z*Qun$go}&o!`<@xiWU|TB`Qi;$>-);x8JxC@#M*qgvZBvD?S`#2e~Tj!KbIEFJx`~
zv}MiDpFdw*TRS_ZWePlNtvH(qPT428)cxj6;GR;oSI*Vd^~J@-?1v5=dh#-komWZ)
z6g-Q)yu3a<ne6|l{{L_JX}ZyE_J3dcgQ8Y?WBvcSBS(%LxO!Fe_O{%^cgyeVS_uhm
z4G0YlJ#pqtOVnDopdg`dZ*DR#zSwbbvAeRC7S|+|hx>lNYlaroxl-VUg^O>BiB#c>
z3yM2Eb|xR^n=)m}f!nvE=e-JD7_cDy{Jcerg#@pj%rF7n!F8}*zOG|>Tovd1+HaEn
zw*)7~=HA@IdU?73@f#bHL06}gyuRiO3X()FZtjUwrnEeHl9FK}B_b-iu>SwQ2`Zdk
zON9gl1#_Z1I%IetmYape#r4@%e>>rN%C`F3f=!!*l-+tJEC(k#8yg!JcU7fTiI<o8
z&M-`7Yie!=Tk`f+D9Do3Rq-qzA9d@4E{<vL?(TjO;c|uP&Ynu)moHyJGFm}t>Cqb-
zlLaLuIXx#CBpu<nXxQ1Yf)U(`5xg1c>B-5%##~}0yCq7usHo_{qeo4K$;VCv@9mQ`
zW_x>kySVJs4vyd7-a7mE@YvYcY{<QB#v^Iu0<v3mmB0Akr_<w;j`c_`QWl)pY+d<j
zNleR?mn9mSng<^oY*zFXTC`}9fRq$hd3ia=+7mtyYfU#7KR@TV{PM~8<$iOU+S}QW
z^-8yY_)wrR)vHIskjc-_Z_#3*K<UtcfQA_}B%VBdn)vzI*?^THpg89)e{_V?#ohh!
zot?!U-Q9<8Y)p1_S5jgRiHhQCKG<;Nh)c%Ss3*^!9XfoNnX8p)l8WQfpu`6U8W$xC
z2~L~}u11uE-rU%jT-0c!s>&*^ALnv@o^AFT_m^+q>RPD@ZZ%9zO$CMYzMs#eYySOw
zUh#72bWlbTJC$IN@aRbAi~IZSg@l9*5)Lq2oY--qF(o}++0s(d)6>(#*Y{|zwE2VA
zueqmsu}<}BMXJCyF@me^4jGToP*FY^3k7k_%a<+%L`8KuHnW`!-rLsNy3oB}4(#s)
z6RD3E-Q^$7Ex&gV)L6*5X*5qnMX7sD#6~7i)tZ!)w4v;6)Sa^1xu9@Qn64k+7Pflo
z^3=2E&%5`_**@8=sOstT{@z|tn?cDMQn;OHyt|{2d3V{{N!?SbzrSm}n9;I+{d$|L
z*#!j#*8>%mc6)hv91!-mY5e_eH~;<G@3Q(m3X9ypwfX)(M$`1;`}Y6)y1wH1+;R(3
z+d%11MAfCHrlhRQ%wSOUCBwzl)p3%_kKeyR7lJiS780DecO$s=ywVi2uSSxs*-<Y@
z&aOs6)~dw8!GU3lm#PRCt6Q%WtGKxM#lX%LQ%{~dckIW<#}A)8X=!O;>5(vWDp64?
z3J}+eIgs3M+qSp*d(z!qr5(M!qOzSGvmz4{6|ZEOnn>|(iPG)r>H^(U;xVb^#0ig<
z_I6NZ4vO?Z<799tvw~GyLt_H>l&H00>F4LUK0i0tFz=4VP7lkR8wM8*J6BBA(9$~8
z!YN$v-~eOJogIRYkN1nqc6P{|@wflm^5R8CNNA{{ot@nGd)4bf)fvyJ)2BCPU)Rep
zky>#zD<w7c;MJ?5ii(N>T2m*ebc&k@3JOAU_gc@qymc{4d^|l5=I{U8W>@>mVPU|D
z`0e-WcE6b6a;0hN^y!a(KA(SlmTC5ef`?9LW}Ej18wm+E*e|R4_WASS^82;y`uh5y
zq}Jy*&qi}S_sYvJ1A>B@4mPtpPf~GlbyYMmnR41kKroOOlDoDBO`SRwRQ!P(X~)ma
zwGIpmYg2S?J5e48N@m&D*MX85_m-5CLVLd5%AR48DHOIgiq+iQ{Nlt84}rxOJNoT@
zalGI2nQvb0w@97nZ9L$Dpt~by&6X`9Y|V_Fot++DUWYa&AAj)hA!Dl(qvs?APoX_~
zAqkHC7^F6nF8uqe^v#`}!Sh~yJ<!O^z+i80ztclfMC8aJCc&A$i!VO-cwGMYg@w+7
z;^OW5YJY=T$Y<aD`uci?U9A;p!>&%;9tr(DADUixxTHAWym`~Z%gd>#$S5c{xbX2Y
z-XFhyIZaY=ad81Pzg}Ee*bHiZUU7m{Wmnup#l;UN7@TlDwb;G?(Al%R$;bPqF0cCf
z{d+s4=znsc?%&V!9(jAY>+52jot&8d{QV26veG8apWpxDMaCSPN}=fOd9D=|J3!Ix
za`fm?4^PjD;7ry&eY&^^7ps!8vZAL@)%SOxazk)y03`SY89-MleX0T_wAR+v7nhcD
zA3AhsL4d}B5G})!7XcRyJ5Mmi?keG&tmb>DPu3cgm2Lk0cnr$QbC)h(u54x|c6WEV
zyOR?W8>j*l5{z89Y8BVanKJ`cU-j_uadC5FV*uUn)X~+|q~iJE`*-)<Wp7#3Rh1T9
zYk+j>Rt5X{^~Ef>v#-_~)Ecb&`|D)zUM&$WzpEZDo4UHVK(QXNt3>nJ`T70d@7K$N
z3fyGDiL!rw-~WH?&CSgVgH~=ReC$^8>WXKHiqa;B#KeU)>PzC*y9Wje{`&r2e?2#-
zHMZ1S98{>U5KRgMwNE>wLIVREdwO_Ye67mZ8ntBka!~UL)F-JCf4Zaa@q?EyHLbJ+
zIlry1|I2;e{=bb}-H*gI(cAgt<m5np?+pnHd(>-w@4%y@-G=%1Y;<CFOepsk+{*Cu
z=~EAHZ|9;SBT)Bf>QvV7@bH$F76)*9HStJ?AUKyx9{{I1!AMXVwJv+p5VpG2Z~5Va
z&FrAUByh3YN!L>i4GcSW?dt0Da$#DsY+2Hw7S0#f*UN9qz1_yh%m!-1`F^>bzd!NP
z5^zzzDs;6$>M4<n6FXKgs{74x2nrIql4V+ACF|woWl-`Wz{SNy0i_+;aZ3VH$geo5
z7qg>b$`p~E9+iK76z<r)TUkTHW8SN)=g;?-2McUf1Q}OSVghP3?bu<_BWoQ73g=7b
z?f>_@c#$z>$`l1qNprt`{|gV75bw-PO&&I8Az|T#VXG%jpU%$D&#xiERT&kQpPvto
zfnG=n*OBw?$;ru|sz42?=jZ3Ue}8vZP)v+%X%Of>r#q$BV;3b0O`Hq5eazqHBg>>o
zlRjJxk5Byd<s~TiTPIDLWRQ7D<;Ra73VM2cwZFcAx{Uw)%gW3kMeL<ZmkJQs&dm+f
z@s+hI5s;nS(cuBf@`5*~Ud(VQE8A8ho|=`V<>lp7a9p<hM0uc=2-lZaSG`L@lr}Z5
zTBUVnzP-GB{U1ZnvFAEbTR6_0JGUrVaH1sWM8Gq%&H00u`5ZhoRr}$yXKGeLfwRM6
zVtD5IvG=+$Z;k5x^QWewveI#BkR!Nv`sLl-Xix`nQ5B@3aXI_y+1c4QHmCQ;EV;8e
zonK2!%b?~*!A=KBDJd>~e*TMrohRDN^6qq`&#x6*xNzZ(J(b2bwzi<0Uv+0kA@k<6
zvxnMvr9XT;F8}!J^>}gF&K16^R;_YMOH;d&Whx{rJaOVg#r2QnL`7LWCp~!o{=BMC
z2fU}$(W0fPdGOoY+Y2whTyXj2gt>Eh)6>&?B#qf1BLvCEdLCX0c3FF1o^7>&v^2NB
zzkkl{ZM@Cw{9>}59a)+>IxaamI(+hWJ-)Ne6t%RxN>mn^E#0s|AZx2s)>f&LCr@hV
z>AC&?_xEY3;#4nH{WpqAi^RGidA>;F`T6<N!POhIQPtGkybx0A6g}~<u(a&#^KuD0
zasIr!j}MRE9E(QX=xq)Q13=0Czq+xpu%V&hiyIr2x8>eulb4sjII$yY@25{iOO`HG
z)YRlWdGh3mQ>U6%uhw>Qa#HXV0(DPoeiVRGUq=pfD5)spc)$Gg<yF3(o(EgG#UDI<
z%G&DG2x->cseC>cl=@iL#qaNXd3pKc-S77uo}}t+kbX|);>3<yd(O@_e>^jNo?}6Q
zfm!~&9?<o+eJ)qBo<4o*xcaKo+A!zkmlrNs!eVD<7qBt})P2gx(71E=F1UrW$r76F
zj;>g>$|)>tT8;YCK3Qu}<EoLF{S>%yb@23QQ1Z)axtMX}{=aYLIuRQfjML8@xwO>#
z;=bDIiyJ#`%~`cdYtQF%)<0e>?*H)VwEpAE{`Re)$|AyLtrwv@*zu+h5)WA$p$&tb
z9y`n5$AyH3CO$ba@l(k9g9i`pc)RVki@WNgsv}2_Cf?eTDPfu=vMuj!*SovByZc<O
zq{Zy567{$H2^tC7_ve$h&F3@5i<AYoO5MD9^V6*fyUX4lf;2C+#TA*EnIArSq-3Qg
zC>XdIS^!7&YKN~o0Iu}r%#i`zF~`Wr_$g%lV)y=MoC-?plc!E?eeoh=Oa6U1PEJk<
zvz!?(JY3e^)8GH6>BWl-5m8Y^Jw3k0#zv5x8KC;k&(957>dv3fudlCP>2<B6g9Dc3
zpo20>i^5)CkFRg_Tiy(5aLhDLzpye`y+_*IZ{EAoA0Hlq%IAj9&(DKuwst<*L(6<;
ze|XT$-vx@`rAwB88r2d82@IftvfppFgF@m_NLX0X{e86;GE6)mHQt;#b3Pnk<_8t}
z@CGKRTPA491C9K%KYl)+|8%!Ta8OXe%S);tSMKW$S{RUUpn-8wve4E@^SnC;-rU^$
z@$2>Y$A|gtk4We5QM3{YT>bg!^!P_p!{ZJr_uDjW&Axu<?%miDl|^EUH*5%)H_6n}
zQWA7H)BXMXZB$nWt!!Dod^xD4;lc;acv+LRw6#GU(VZSMr%h|yw8@A^(ujqtm5HmB
zDKRk-)aiY(!X@`y`uy6q%FoY0<1Z0Ai&SG`V_n^qvOebB+tVo?Un8g;zV68H_xt;Q
zetv%V<VnvG9i?_qw{XiAlNDF9GEAgotV%f6ty{;z$vKgGV)^~r?O;dfLI%cNTo_KB
zI<=wrxnJd~>u1jRNc6h>`1$i>c_14r>%!#YeTx<gZRPCj?3`g!Y4mRAbGai&j~2@6
zEmGT2@Q?{KP?nOG_UQHc{cb)!Juf_5__X!)`9b{|KfgA=<<6d-oHaEykW4QiC3VWW
zr?aDD4P?kdFi=)6b{9+YL5206KR=(hKYaEqFC!yk(Zo;xe!qvdwANmmsO)Y~_orgY
z)TxQLx8;8L{8?DGbH!21k{1(VT6+5XkDr*R%&M+bq;q{;?BQ>3Z%>>tgJWw{@18w2
z6;)MACMF^Kq%YmR4Jqcs8X?(C$@t0h=cj}BW^Il7^Xv6`P%F#H+4<?qILlh`iEl;4
z#giW$>AbNyo&Vap*zQhYbx>kUI&%E@<CE(1TlVj_2OW(3<;6wk5*4NP33KP_uIB|s
z-fZ*yL)Wi|>p8Kpu^l>k)D>K_gtbGh)RwWUiO>tkyT4C%x_-Rd{e87hcWX@bQvLPq
zt+tg~;Oc<Dz{ctEb&{YPmc?`;8p`k2PS1WQXnG*SB<bOy){5_U%MFX4`RK&%5`i?R
zJ!U+5l%%4r?z}e4dG%E#dwcn~xHwSx*45SIwD5t+Ll+m9v(Pr(BDGa3Rvg$@`}>Jf
zYE_k0-klwdyWj7N-q&qpVj>c|t3*(C>I&EBeKnSGRWDVK966Hk_SRNNd81Thv2^KD
zP^0?a@B9BBb?fgtFvqgk#a$_@Z0gjhCr+Gb2wUx%l%!;2WCXfy_rL)MP|L>1Na)|c
ze;L=;%>@l;yX0~~dNVF&VNp?Cvesn|>#u{{tgX%M=jXTM|G(c)cWW>+F+Bj)*;;|!
zlP67T>J(N_I?%ufx)>VNYP1rXc-W%&8PB4{iwl2!$;`RC3p9|pNLkQy_Mt;gm0s7L
zJV_A|7k~WicD{Q`ii(P76H;!24b-@lm3@5Vx@5@`ht*e|mS0xX*XNhDE^`S8m=Lq%
z%jeIJul{mLv#R@J0lM(|(W9gzM~^BhC^(d;C_OBDd#m-vjfjfMN<~FQMrL+C5!ucY
z>rS0MJ#pGJHF2fQn>Rmv_N;Bf1ObmpEh|=N{P^*sqYpIjdlk~7aJg~@bP<XF*HzbF
z7rwh=S@QZCFK8UJWW946kD%=26ANQ^7O@5|^JxrQeRTi7ulhDWpG;n)EXcVz?X1+9
zna1psR33t|*mA$QF78U3y7%m{`RV7eH?DuuBq30nOG}GOYbuwbq9SxqvZLeGK}d^s
zqJ!IFLHoa7CdVuRwdg^u&x8XEKlM(1_)q{U<w`=7+Jhq_JGbAf;;#Sy`~Jsc()kY#
z^V_#T>aMe((bDz%|5;7biEIL?k+1o{_<q;&u%%0uu&^~VdU|>WtiF2U^y%j1%heAZ
zKD;n!B~oWj$r#$Mdg7p^rL`gbyj<m~>vwmTKYn(0wuD{HjvDdQj0}zUO^U11{{H$p
z!?IXyikGTc?yVz#n{TyvPuEMlw8Znq#$@(uYa*LHC#!Y#xugh#s<SC;GBY!GRDM>g
zsjXG?6jJeYN=Q(MiHUJJ4w`e)hKBi*172QU8<LOn?ewU8aY50-+B*5mi;JIPr!X=y
zg1dYxT%53VnI_(S^6XjCpC2E0)cv)3^!V|^_wV(sgeG3?>h7L6XAaNSDBfPT=B6el
zNK5kM<xN$Um7U<&HiLE}0=a`iLRjYdsn^f7C}i4xw@ez;oC?ue7@%QL^u)vOzI*Pa
zna1e?va-FGm-|1yoxk5TBV)x24;QoPGiG$0oUHzMUiCZ2m>8Mm-<OFk-?T|cQc}{x
z%d5$4v7?(C+nhOb1SBLnPMq*?adA0t|Ni`BNhPI4VI7cyW|7#N>G5?F-!HoI`YWh}
z-m_<qfS8!tdQZ!O2M!kvJ7=BUntlDlm&^Xjii(Wh)Af$7iQEiIQ!_#H3;Fwgs?Do-
z#0eTKTDNZ9B4xpuOBXC)fQ$e`T99qqx0_G#Qbo;RDe2Je>sF!A&`=9d*}UY=#$<NT
zkhJytJ;C6?&;l-#tgk(8%J-_@+wS@Q?>BhBIpw6#I(s+WsK`jkv~zPh|NnVzAF(Av
z5Y)K8II%-2BrdLR%NCQ$+!Jr!<m}kFQ&B~Q1u_C}XJ-d$8VJHhXgXF*)za5@ud3Q*
zb2Zz|jZI5i+py?~N9C&P4<00dN7=nn#G|+89l9;C5w;fK=$Dt51qB2e^7s8@1J7G@
zo=DpN@0WH`ax&=3;j^>Nm5q#oN>mnEJ$?H0r0a>dx3@2bv?C$iXAUl|rro<iBQY*6
zDgw|lF89dQ)!~T-5>J$#f(C#1WUUg;%rN{EvL4icmrcF0>dpQA@)s{&EGRBM{QZ9Y
zdF$d8t~a;m%O@ozJ$U%Av89EDN7gE&L`4ZSy!xfecGBd@(5{=mzrV&*FBcaV1tTM&
zd-v{v{XdZzG7jFcqE|~tXA1WetGRs3{pYu}x3fDrJA>Nr0UDrAj0Lz2e?_IWwY8(S
z_vpjJ?VzDxk4Y+4LV=6_eV+gS!Oisft{xs7pcb@V?5>VJm)toQGmiM%|5dpUuHU-4
zxPJWn3F<seQek0Z`}9anNl9syIMmxL3>H;iG$3QaJZ#Ke-Q5>ghwHbrx1YYe_g>*~
z*+t1hk*(RE0=)x6LtB4-ex7`Bkt=Ab&F<$DVGC>P?mpMtkix=^HR?;E*19DoD(=~{
zXF<?P0Z~!bsa{97uIlXQIFSQQWEXW;ty;CA{(s$1y;EDZn8fU_lP$knIz46y4>z~-
z_jh+)-BmZ8P@iAZwEcda^yOu~ho{HaafXM7U!2&H623m}=#`bh3omADsQFoB^Y_c;
zMaqHFpc1gBhet(C&1v;j(14_$pC1PgPm79Yz{-#hpFcbAE_(|aNmp7V2F+$lSs{^;
zl4WmisfufUe|wvK@kI`Md;7{&*B2~M*s*(ecc0gl74mgI7(u<!6BCs|qg3;3tGoJK
zS{@(oSGKZ}0*xKV#K<r)F}b)eG6PlLCr_S)4pMb>cRzglwilAa9ae@Mx_mhp)S6Jr
zVug%BD=BsV{dPOwK!WE&*47KJzgiSM;fRTi6%-Iq@c(L+bw$I^(t}T1U7h{n#fvLe
ztZ;C0VggOvT%5Rq_wwtnpxNC$d-qP9Frne!-{0MRE^8wyD=jZwy7WXd5_B^C#$<OE
zcIf!v!Q;o>Ay&6StzM*NUHxrMjrh{A)vk_?j5fBmkfG4Z^S0kR`aDApw{nXc6h3l!
zb9+1g>uYPBb8^<a@VLUJ8@-LE`1!e`Eu6xjL93ECHv&skvRXfV`m`WyHK@_ne6Zot
zr66c+Hc17P)ARE3z-c^C8!~+?D0uVEL}m9UyTR@BpPy2{yuBSh?^Wo^kVWzP>lP&o
zJ$!a{cE!h|;v0*edewY5$X@aL?e>RHo~T%fZDlmizX!Vf5;TqZu$kZPKy?1zqq+S#
z%a$x*v6{;#)ypQ;%T`%g`Qgi#mY|iOnAe*6;oCRREN%yUY^LMHI#7E(|GwQ%y;EPl
zlz<wgFD@+n6gvgfSiiKi`^AbYZGS({|9?b#{hmX+udav`5fx25)WQk6w%jb|M#GC2
z85bw6Xf>AVwW#=@0L|LdrnQ0c*6-h^TTdJ~;IL!Ij*dQ1HqVuS=B+Dhyu7_P7C-mf
z=~4OM0HcMa<-z;+<M&N2dUIpr9Jjt%bHi32ecW%~*T~GSWM?<8{PUz(8Jh|LLqo%i
z>+58NgoHo^0LWe~J-un&6SB5SwYIi?`1GmCYpGL6h)9T*=$<`$AeHANXpQaSBq}cM
zy#6`}t-ku`#>V7=;$r83fC)BNSI?g>KWFY-SNEl650IvfL1R&p#%?7lS+0*BJu=9>
zWzr*M$`!pW$FX0|*2R61*b-<(=HufM6eMJ1Yz!J(J8;0kV-kz!qzA8GpU!Lm<?=+B
z3;3RXd3pI$ENDOqG!%Mkt2St6PwD9dMQ4}eOTylKdU_f(`pm<|9JW5LS2K87N1ux>
zsK{cMuW10yH_WiDHUqU=zP-KO-RG+7P*-PnCChY6l<uU-lLKR7c=Ge}JtnnubZ}^h
za8*=Qb%E>f6fsDbu;WCcWUt$kCr?heo_c$G`{P$vSMT`y?e^1^aiUzTzrMUww$j>a
zG<E7!&{XM$ijPU4p(k!}Jr__(aeR^3i(6Z>L9OOTj~{O=c^PzOmZ^7%N>M^;YU+)x
z+0$)Qv&+iN?%cgAC?urhfBMzq$I772xZuQ4SSAx&yl4@Vq@*M$f4?lbvA5d%)alcP
zIX4V`>YXZld~9Ly^K*+92WfAFwht#xoOokLp)z>FZ;{xOFE1~5^!2&b)!A*!yW4f)
zLcqm|Cm2D)A#1~w4Gjg^ni-caUHakUN5_y55fx7-4-by(k!qku1gwLUwGmWxLuQkk
z+4&FMyeYZZt#{J<MLaw_F714>F78XkbaZujh1Gl<*2nFgFkwOisGcuT$zt4bH=x$b
z%WJ{qm!OP2XHL)K<Nb#(Ul#USDg>ENgLJ6{1qE-)z|waXX#7A`)m1O(->1|11?A=L
z1qB9Eyi^YzKKu}rFf2|cEr(1UpPOgfy<>+33p;yvp9^2k*H>3(7^n07yZ`@p{f}R-
z*H^aZN~fDhO`JNl^~sYI(6qU(F0ZJlC}^NNB?Z(v6p)bMfJ_*5bacGwf;5_xvbOro
zu}~D(_*!KPnhIL%&fn773K}F_7?5ybf#ag&Anw4Rpr+;Xs<`a`{ZK~CBTsBzxnjkE
z?Dc!wmU>Tr^mhCGW9;%ZpamWmH+nR5i|aeBzIrO#Sxii9QTY0}0IjK@hJ)AArs>nC
zznB495p)*r0^uGvWj<Le6>-hr;NZfyw@fRlt51VR-oL!L8C()ll;E~l5Hzo1_veH2
zo*$38fBgA;{^6T9I#yzq4UZlr`OGrmv@U;l<kr^gk2jM0JNsPDu7Kw_&}?>En%b?c
z+3m<VPRSIsC?^wIuLjNrHMelgB`=R%VwHPukK}oq&pase$U-kpOjHJ~9Rc+!fBdMp
zQ+~g8k#eB%iSy^%qt>>$EpGH%?p#=CxM%O)r%EXq85*DwQ*cAQNCIlH;KT1LEqMvd
zB+DGxSNmH)Sh)Fi-frIe_5W?#cqEmqgg8Gu?zc~Rb!DZ5S&qb`M~^P74%fdp@q`~}
zNF(_;AEbk<Y;7$KT9LrZJ9T;L*N-0sLF3LHC*Va*NISkc<)+||TMJoPSu37QbT4>w
z!!YOG9!agKUL`77Zu4tCao(%@oon;;O7M?YtJgnx^-9Z1=w?J*oE&7tH_<=>G?WPL
zZA%-esIb85G{LPLFyGI7h;v4nGaxLiP0~2+!R-8f2SI~C)8p$ROH?*(-n7Zc=J%V;
zpb_YQ|Gw`}es^c*BISv_Q>ILDSbo`YZJ4sACa1dJoQCDg)u(tZjp=xEfB$|+iqjQ>
z<~kR#RjXDVYGh`AvNEpx-JQ-$mx6etOgOk&nY@+?f$Fo1i`!qUxZ=~}rfm1`NAjPi
z`t`6GW$?->olT%#(2--u9=*7@c#riqQ3I)7&^T|@+P1LOu2E4^T3T8U-oNMfoFpJ9
z*a(_FfmLi*9>L1^D=wgcwRN$(pIB>te|MLA@kNgK_;^U89ny>{n>JxWgZjJ*rn<Vi
zj_&T{#9dQw?k?9)N=gDP#8OdFDUiJ=wra%+j;g(KkdbasWpQ`6xssBSfTSenR4-Q0
z45%S!d190-v~2Il0o5J`5<Eo{KYe(3_{D{V%uLM8Pglmd_eveL&W~F8=1q=^yF2rb
zy&jfHM>r04o)E)2>~9<z76xiAc6N4xy1{48fQo+s2?-7VldoRCK5g0rvh__5w2)D<
z22CO_ue$oO#G?9}j#c@)p2Ek+pry=>4T+1ACxOZ;r1pY>xaP{IE7z<!^5^I0jTsk}
z_Wb+x`p1vQ{g7;Ls$_2;zfU-5{q@I}mU@5q_HA1C1g=&l(3Ds*Xqm`XO;`#u-F)Xx
z%ul^jQ>KXg`F1=1#pUJwHR4O179M!J{l1=+nrUEVrRBW(f0dwRh1}wLNA^^Hu22u-
zE`EAS)Mus<tJPdS?XWcmg8gk(t%R;FUbBX0<;s;8GE6RHn4CCwu5I^jYtZnSW@K$m
z4Wt#3bs1WZDG7nfpqVpgg6gr?UvKOzRzG#>6lel$r-P)JSQ~h#-YYC>Qwk@j%Lkgu
zjM!Ucdgsm^7k4G&Cr_U$T3Ja=*Nb(EiII`3c))mZ;)-dD-TR#uUsQnCV-j{X7D`G=
z3Z6nvPEI@a3knJfS_;4-TIR&p*VjQ!r^;Q|nc4Xm82<eE^JHaQb5m2rqP?vbGfY5D
zh&CR{rX4#hK&{CVm8=FtYwFSd|9|y=eFydb88tLD8~v6~UY=@O`ANmb)^=ft*3-<$
zpOIku^x*bI6c!rtur<dlv8no^ap%q*gR(afKmEMw>+9DQUT6CA=ks|`SqZ9LL1ktA
z|G$fr17-hx?5}^Y^?KalBb~w<tG;G|TgOYxPG^`XX=`(5ZIuEIsQUZ6ySlRe`TO^&
z(vue#7lTLewLrGdgw@)M#Gag)Y5XZ<ebibpP%glnJzgm{T`%^~63@w?agjB#yT$tL
z|Lu6;@umLM>C+z%aqB01eRVa4Ib^}2MM|Jmg_f3*kjCPRySvRHU4G=sD}@#2?WhfN
z=E(fi1Gkh;P1Oc1=(M@II%uWKe7jng<4dx%w6#CJTD?B$<)x*dHu=Yc?D89asNVSb
z`MF`@Ar??$RoXo7$YFka9jl<(fq{XId#k@IK~{FooH?_gu<#%=zm39u-j}ampRR4`
z=;&A>3R#)b(XnDGsE6a`)>b198rwW|`gGxW+wUh>LCvItppH`r(+AM3vHqS9OmbB(
z6ydYRTRkHqBRe`f8@s!?L2YEvQjUpHd;k2Ysf_hl8`gb#y8hwYx1;r(v_!bx@q;Ss
zwXi<E%i0jog3dQLpv(P0O{9}2IYCXNZqV>jL20R|?AEhhzP_OT&V}{y_9`kW5BjX%
z3COPW{rPV9dvNnu(wGg@JO=kzv!<Rpb!x(_Sz6+Xpuxm<@A@uW2mr0mP*Q5T>?aJW
zrWs+md8?qfUW|j6S69puo4P+1pk}0q2urIIXfcJoz5N!@ipDEuPmgp8cl7lg+gbcv
zKwP|iWAgE?zALXJd)@YYzgJ!H|L=Fh^m8&bACHO`6c!4~t`0qU_UzQ_ttJvY8oIhi
zI|P+Mg*Iq0OiRmwvuAz5eL$rwH@F)DLCfxzS6zMm)uR5N&93tIeH%6yXiW8LX>WhL
zZudJO+0DM7m0VX=22Y$arA2@LAEEO$pL<?-tPS(@<eXRcD-$$%d3u`e;WIOhUEQ-p
zAx*|7nUVhUY&!K~cY)TqT;BBU{rz}|)k3h2w^9?fY2x6$ZSC!g!`H_xTD&bPG&FRE
zeZ8HSZd6Nne647=m@as2b;R0JD}$GVM%|j4m}-8%-Oj<uDJZ-0s1dl{n$$hv<;#~V
z)~o@I@T+)&I!12&a%XdAfR?qV!2Eqt7c}PrX(NFad2ZSybhw>=`tmAXUf$OB_VyPm
zOk;LcF{{__RkCuM{OA4e{Ez?s?354|XwsjS-!OUd<QE=m4{e;!pZx8z@P)&x#l`Bs
zn*RE>JGMk+b?M6|UDm%#^1eOS)zWHmTRd?;7dQ9C-R1cnlUSyDu`Uhb)Yo61cHR|~
z5_OqjmH3qvlO_q}+}|f_HJ8t7F5k_YHw((jj?FMkUH}<yOgke1s;x85_0EcUb52ua
z)<LmzbFG>_|8zG@%GvTlW38L(Pu>)jztW3C{1@)ccE4CSE9d2%fZg_>!sgqXo6Sp>
zsDRcerKKG@dXzQ!c%Q3_3yX?p)B5%L+|NNyfp?fXP9$NOMSiOE^u$Ev*?S{4>V4!`
zH%(Gd(qc>G{OK!p{;Bz7GpX!v&h|wqb#?n}R9A<sKKk_Z^oMWX>VlVu$h_mr1nnTm
zl7!VIi`1;^{_L>1n(gJqr5Ce<L0?~ALxiiPz1?|b$fI-C@3&O*iK(vKy16uP6Qqg)
zt$FeCI`r^x`$I&AGBOeZjTZUN>jp*aEi>_pj37ow$BL)YCK&>3yizTZo6|t6W+Eda
zKh2%8e$OW^FK=(df(H&i^-gWrV6e{CUBx3WPjAwsNeeD!BtRN?g34|W4zkN1d33Z}
zP)LXgv>XcD<XAB^F>unq`s(lU(W$lX8UHLUD$ifk>LGnB^zqk2*ES|fIJtaeZ@xBn
zYUJF!Q%MF@%j4Rs)^p8lNQ?|tE<eE2Q5?0ytHqPUNByEu<npc8wH0PDm95r}HCe(v
zwcBLbQ~6B>RsRnZUz2~nW%<(fOTVgAea}_Sd;h)C?)>Hbv&#3+*Jofj&|vlZ&F17&
zQ#1`zPfY<eVjr!q|C{~h&Q9a2uS)OkDlL3;q;rNzW{`-u`0>)~vEtX`s&nU5zuVay
zYsKT8o16RbT6F%>Tbtx83KZP><zzRfo$b21I^5mU(=(>zqHA-k8Uw@OIp5YYFfhys
z%gxOV3=W<g<rx_tFCYKw()6TXUtX>ZTYq_(Z?~ZGuYdJhZf!TZlX`jI*1daezrDRZ
zolCL&-5p7Fzd0Q%gO|H`dU~FjXKTI8cedE`ImPE*YRfP*=-Vs=9rND&YO=qb=h{VU
z)~)N?|L3Xx#Oc$;jnmKdJbLs<Lr<^ITYs;~>TFI`$#+Jrljhg`$_xn&J^JnK?Z>_5
z_d1;0`9SMf7cW_&;^pPFXvYo<E-o&%<rxeN9ALB4XZ-#BeYw-AS+i#Sc(eI@(wiF_
zSB6eGdh}@F$D`uQ=W0($+2P$bY4yL)vu^AxPT%wKnDoZl-``fOUE3?D>~_TTdW>+V
zi;_^Mi_bh8%X3z**BsQ7WMEKo0v$+yK=Ms~{qN{EH#e(aef4#2`Mpk19!gA1%o2UN
zCUSGqmlqcW6{n>9xLyCC;LrD6@yGw?{9B)qo7-FX_?WBGM31#?Ht+X*X4~z;z~JEx
zHgH1Wn;RQ%Y)p1vbu~LTH+ReS?Z>BR27^3x&g%c`!o-J959>|Qk(pgre|C{erq66U
z<u0M6g(rU;TJx;rYQ>9+W5uc6avi>}uP>3E{PI_=<n8e8(_u$8eQLeicenI@)0OX~
z=hwY4S+?xk;~ftUebLTtU-Xxq?|6RveZgQZK37jq&zh&&@se*QF)%1-J9#oNFtn{X
zZ}(d#D=RDLZQTFDC(|F_m#;0m(K<;`P}iOB_!n>ej*k88^&s~8`Ts+0HfLq-`Sonx
z41>a;<(BTZqmr`{>y}%3vfE|#9JzY`goKxwd`{QQ;Nz|?OZJvspOqyYt(5;{MbFpr
zHL8}|3f^=?gl;rkxBq4P%EFTjo0DU2Z_DfZ`T3dK<Ask4A1po=5w_1@)oLx{YhT}4
z=O5+H4nO{Aljz+;w-)MMo;Qhsp<tPH^#*PR28M=zR{#Hee*A29e&6!>byiYRQjZSK
zw==z=`qZcH;EXND-~FqZ`d}Gv_O7|_HC5i|uDSj1m3QFA#B3LrD{pJpU!PUAEByLr
zS^IJx72}zKA(MX9ocwVpVpmbFh^kj|_0!Xt$M^rcb@Enwv;rpsgY(P)AqIwq#N;FP
zHJKZ{E#6LIyua-0UFVZNm)5$yd65yFy=CiGx4=avN=kLVCRZ+xNUbv6DxYqum;Ypi
zU-D<}V@LM1%k`#*>GtMEo0m)NetPuzBlquiCJRcL7#NoOfl>v7bHwL^%Q`G}ZcmCo
z_WjA*S8oG@el>S=RQ&1e>gdQ=vHo>>>&&mI>yNKXR`=hlBv-#k>Dl?&(x5=^m~1+)
zI&PjQD0J9_yqFjm4hUQgh!^j-{goi1>h-vK`@MUQZyegFyr|$!#}&JYGi7qKd%u_M
zoqKC_;ic5eN=n7t*AJRJ|5m+7BT(w}DRH;Y2bbN5`&ktBHi40$;d1_w1aZ&_;9q<<
z{mpVY(l)(LK0MBN^>xdWVQbH_&#vN8d;R*`kvGzLp0)mMldpzOHGKZ9`d4((xj%27
z`yV~C^6{cwtBhWkZD3$H@G^ZVs3hPq>}~IJf4uN<;1rGC^71QRGV}6vgX1H1TfN)y
z^!CcBQ%^E%*|o~(s@hkdOCKwLUE&jCV6fQR0=hZEz(qH9r<v3%`wsQ#)4yiM6<tjU
z|D9ESocI2IUC}DF`ncL+e;1c4{}c1)XX`|NahU&{fq~(0KPdVb+E)B&GW^S@rtG(^
z=&i;3sk+ihZh@ZL3x(DEx)!-)?)i4xw|3XReYfr!=KkujyUxnMz+(^29}-MaeKLN(
zE%zt**z9?+u_Ep2r5m3f70*2<o11;MV(+tN-;K{!J~jNj>%E)Hk!@>dKmK!(b)tDu
z$gPjUYIVk|R%<2SzIHbA^^2_dx9?^Y|GjGXZ*~0pFz;o%jBJzre;KngFj)LOmzAHN
zFaJh~fq@}GVNLyC|H3a3)iuvot>-P%WY*fbJ~>?W_6D;n*N^rd4OUW0D!kbR$|$R|
zubXW<a^=t;zvEe1_V2dXColW`{rfLZ+1KZvN$!4ie$K+Y|BZ(~?w<Sm@$}E>d}W#p
z3>Vb@{$C9`{M|x#6X#7epE*}D@5FxBmDuole%6WUXaD@WlWfu6&%j`CC*wXBDBc+u
zo=gFU9|Hr!2~BWu%fP@eAs8Gq3=9kk%fT_jz`)?($Egar>!V=~I30qtTdGcB0nrQ$
zMPA^9&M?FcYzV$k^rT=-by;dy@^#zYMt$41KHH(hz+myYN8$}AU=uco^u7I){&8Ba
zb<(FR+L!w7hVQn17E@okJh`{MZ@Fyrwik^zw$%CF`W*ZI=GDKSryn`oeQNWp=`a7?
zyti2+Q0nrs^Bs#^GGmPPZSXHm3wEx*=Ujg;a+}!nwH>KXxp&L%e!Y)%<@?w3VsB>p
z_`W?}c(7GGeNWoyiHAR4(LeRr{kxrrpx{~d*-2-EPbXjgWm<T9u6^H4^E*P}amL!F
z|5iy}KdSt{FkL5hr`ad&V>~B{85s@)B!Dw!d;}<C`o2BB^8Napn-dCiju-F#cVmuW
zPqy6+k=fVQcXo8N{o1wV`<mPw&)W65Ii9l7p&Je7MQ$~j7ZW$F?A|(iv+q^^ORUcM
z*5%uj*i2g&Bb}SOcH)j-(s#4oMx__|eOjJ%yxsPm@$ByxHZFToeIlfOSGkzr##Kql
z%XeM6x_ebpvWv@|()&#-ZhcG?QT0+*dUVzNdkL4y<YcowUw&(NO>w*0$6w8((!Xu%
zu}Q4okDV=k*WrCk{Mf~9*D_YD@BZ|3f7h*J(`J~}y4@)}y?ybnRYs=ihmLp}zF+8`
ze6p!}?F<%%2i&fpWOzV4%BUnNW}A}P+IZo!?6Y_EX4>5l`CoMM$CdB%!gl1=e_gub
z#s*U*rB~nfO)vAgcOvkv-Sb`<(d+lW9Pa1<7XjN!i?>&v{QWJxHFlTfPuAo|@6J2#
z^p(E$B_cgMHax6s>e=cS5yAf7UsdgU{QQaa>ytf;CS7?Ba_*(6*^4y-rEY7-`&s|{
zdfo5Zz1znB(jI>{OnhV>ygK`S{rCFd#`NR&pYO5Gdu5XU>5BHF)BkG{|D-+sy!RR(
z1H<7~aE5%85`DI#WAFR-ugdb?|K1(+yt-)1TGLy%qJj@z@vk>pAHP*cFIw>P^RvFv
zK73nJ4or`^I-@tm`l^q%H2W*tFUuZlU7z=)SLSMFPTj#7GrnI~oO$@ZuD;#$tfRLk
zPg8DBj{JFO$EQ~_S0<l){`S>2>-sxyZ@iJt>r8#hz4+;ghim3BGBC7RfeVBqC%4Vo
ze)s3&8TR>k+l$}7t+ECcEU!)Pt-B|uy41d-qvQDe6&)R4)_PYLU$5nU^zWy4(!V`B
z|IWHEesb!<?$cpkGHd+VKyF%oZPni1xi(+BKouXzIGG<S43+$@RlKXL+`Dc<Psfjh
z^Cz#)7ytkIM^AD{>s%)W2G&AP7srrEZzK1I+U&l)^U0nkr3?%SJA}bC;q$cn1>P<$
zZ&u%(YjrIke!A7Y$%}K>&OLP6bGmPL#~F}=zSnYtYCdx@f6vx5=Cup=>B&`pIjG?^
z<=FSUy?c*uY)y7|d3Zz6u=v#ux#PTFs!uGn+<sr!weu3F1fIojcJ$k+>6^3Ir3C}G
zfB)O@!ct=G`r9Ds9e++`@1A@5wDnFW)A0S#3=9^RIY8y(gJMulR8oq&xk<4!r~2vX
zm5*&#uD^X*bB|A3(bdqYe^;sIKUo24i?|$V*#6Upt;bx<zq5Y#_k}BNY}k6eR!f>+
zw*Q#(@#@@}Ru|qYUa$N1c{!+#P4kl#FV5R<{krn}ny6c^XNX^0*H_7JJF9H}nI{`l
zpK@>37h_;(GXO_e$%a))$vIK`)n@UVxq^z0tLtl(S6Aw<iIpwC^XYBKgXwq5H||=s
z>Hg}6pSX`5S)Ko`^VO<T5t|;|3$eZsJe5bHTWIOWcYU+$&c0onnx%KoS+BHa-o7o(
zZ_jR9I~$a?CohjPOt{X%(6G=4l-(F)W6FMh>FBue``@~X?{l{Y-LKxXzO4MthrhRj
z65~HTziR&7#l_{X{I_qr=Wz<FyB=*@8yFiZdES2aru)}D(_fz2dNJU?qs`7eYy3Y;
z@yq&G+laqkm~)Z2cAoJKsaLNbo&Rm$W4Zml@r|Vn3<o5gp;i_=JX-kwkE&t)y*oel
z`}3u3t$GKm^&cbE`pZLt0~eWuh31@Dm6{R%M7-x^xq+nM#hMK(FYjrr;|H}bw!Ad{
z6?6UNh8;PsE-u@zt_C%R&uzco(Jnr9d7tT(>#029@8|DVDR*UJI3Vc)vi^X0RMGll
zebr{uru<V-Qd&2wFm`)ktbP9NU6$wMV<(i|KhV*^DZF3uYUtFBxv!sH+1Te8cKrOy
zEYDs4mdVcxYM8q6-=8MKj~^Bte>5}HJNb0?`BJOv!Mksuv^M_VbN2t8@^1BA+2VEk
zt&Y`yeSJ6UWJvh3^f#XM&s<z$jP`v<(RH`}|8JVk4)bYK_1|3C_wCpt&5vsz-JJW(
zTt26(qr-E0?7XkGj0_1H)~omK-CMh%8`QXN-0<(K{n3lbZ$Hjmy>HspA5ZGqWmTgm
zPt&bZI5qvh*5e%|;P%EQquZ4;mt;@2dfzvDQPSaScCqTgva;*%2gHkm(rm}%)eO_8
z>YsUaYiqBr;Z}qFmp3-n@V{I)|H{UHIrBEI{&&VR%d*H~S$vga&dqJgTk}(HE@Dr*
z{L3`+c=+2N2BIl$e{4(cem(x|gucY(*MBE{leduBe|x8Won?L6wPFT_2R;g*#zn%7
z7ugz?BB0jT4ylQkv+q8yuDMrwzsc@=ZBb=pkBsH2^Tn-`7#Mg$Z-K78IUt}k!KV0*
z)%SN5`PXl6Twhi`|C#BP>#oj!*$ZFa*<BnW$-pqD64I#oJHfmt1XNXOh5fgYdi8qK
ztl|fYkKNdk=&KXEGwc8l!vXPAD|7Qetsb6PIp4F+r1iV}Qs1B8^XJjauODako<H8w
zIk`$UJ~mX6-!ACd@>&%}h6D=%aM2{7nqy=9<ZEL7iGOeGIT;uZH-h`%L^PzbpiOe-
zm*;)wAKTIWiG4TEiB5ZSS;;p-3=9k6!EWb~{<-*{rr(^5{_FRDUQU?KWLbR9QYxO2
z!QjiBtM~5Rv%BF6X_qk^o?gF}8N$ZeMq4Q;xG@2oE<lRf*8gWeddldLy^!}05Z}|)
K&t;ucLK6V<$NgIX

diff --git a/packages/ledgerstate/reality.go b/packages/ledgerstate/reality.go
index 4ed825f5..3645f106 100644
--- a/packages/ledgerstate/reality.go
+++ b/packages/ledgerstate/reality.go
@@ -1,63 +1,90 @@
 package ledgerstate
 
 import (
-	"fmt"
 	"sync"
+	"sync/atomic"
 
 	"github.com/iotaledger/goshimmer/packages/errors"
-
 	"github.com/iotaledger/goshimmer/packages/stringify"
 
 	"github.com/iotaledger/hive.go/objectstorage"
 )
 
 type Reality struct {
-	id                  RealityId
-	transferOutputCount int
-	parentRealities     map[RealityId]empty
-	conflictSets        map[ConflictSetId]empty
+	id                    RealityId
+	parentRealityIds      RealityIdSet
+	parentRealityIdsMutex sync.RWMutex
+	conflictIds           ConflictIdSet
+	conflictIdsMutex      sync.RWMutex
+	transferOutputCount   uint32
 
 	storageKey  []byte
 	ledgerState *LedgerState
-
-	bookingMutex             sync.RWMutex
-	transferOutputCountMutex sync.RWMutex
-	parentRealitiesMutex     sync.RWMutex
-	conflictSetsMutex        sync.RWMutex
 }
 
+// region DONE REVIEWING ///////////////////////////////////////////////////////////////////////////////////////////////
+
+// Creates a new Reality with the given id and parents. It is only used internally and therefore "private".
 func newReality(id RealityId, parentRealities ...RealityId) *Reality {
 	result := &Reality{
-		id:              id,
-		parentRealities: make(map[RealityId]empty),
-		conflictSets:    make(map[ConflictSetId]empty),
+		id:               id,
+		parentRealityIds: NewRealityIdSet(parentRealities...),
+		conflictIds:      NewConflictIdSet(),
 
 		storageKey: make([]byte, len(id)),
 	}
 	copy(result.storageKey, id[:])
 
-	for _, parentRealityId := range parentRealities {
-		result.parentRealities[parentRealityId] = void
-	}
-
 	return result
 }
 
+// Returns the id of this Reality. Since the id never changes, we do not need a mutex to protect this property.
 func (reality *Reality) GetId() RealityId {
 	return reality.id
 }
 
-func (reality *Reality) GetTransferOutputCount() (transferOutputCount int) {
-	reality.transferOutputCountMutex.RLock()
-	transferOutputCount = reality.transferOutputCount
-	reality.transferOutputCountMutex.RUnlock()
+// Returns the set of RealityIds that are the parents of this Reality (it creates a clone).
+func (reality *Reality) GetParentRealityIds() (realityIdSet RealityIdSet) {
+	reality.parentRealityIdsMutex.RLock()
+	realityIdSet = reality.parentRealityIds.Clone()
+	reality.parentRealityIdsMutex.RUnlock()
 
 	return
 }
 
-// [DONE] Checks if the Reality "descends" from the given RealityId. It returns true, if the RealityId addresses the
-// Reality itself, or one of its ancestors.
-func (reality *Reality) DescendsFromReality(realityId RealityId) bool {
+// Sets the set of RealityIds that are the parents of this Reality.
+func (reality *Reality) SetParentRealityIds(parentRealityIds RealityIdSet) {
+	reality.parentRealityIdsMutex.Lock()
+	reality.parentRealityIds = parentRealityIds
+	reality.parentRealityIdsMutex.Unlock()
+}
+
+// Returns the amount of TransferOutputs in this Reality.
+func (reality *Reality) GetTransferOutputCount() uint32 {
+	return atomic.LoadUint32(&(reality.transferOutputCount))
+}
+
+// Increases (and returns) the amount of TransferOutputs in this Reality.
+func (reality *Reality) IncreaseTransferOutputCount() uint32 {
+	return atomic.AddUint32(&(reality.transferOutputCount), 1)
+}
+
+// Decreases (and returns) the amount of TransferOutputs in this Reality.
+func (reality *Reality) DecreaseTransferOutputCount() uint32 {
+	return atomic.AddUint32(&(reality.transferOutputCount), ^uint32(0))
+}
+
+// Returns true, if this reality is an "aggregated reality" that combines multiple other realities.
+func (reality *Reality) IsAggregated() (isAggregated bool) {
+	reality.parentRealityIdsMutex.RLock()
+	isAggregated = len(reality.parentRealityIds) > 1
+	reality.parentRealityIdsMutex.RUnlock()
+
+	return
+}
+
+// Returns true if the given RealityId addresses the Reality itself or one of its ancestors.
+func (reality *Reality) DescendsFrom(realityId RealityId) bool {
 	if reality.id == realityId {
 		return true
 	} else {
@@ -75,25 +102,27 @@ func (reality *Reality) DescendsFromReality(realityId RealityId) bool {
 	}
 }
 
+// endregion ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+
 // [DONE] Returns a map of all parent realities (one level). They have to manually be "released" when they are not
 // needed anymore.
 func (reality *Reality) GetParentRealities() map[RealityId]*objectstorage.CachedObject {
 	parentRealities := make(map[RealityId]*objectstorage.CachedObject)
 
-	reality.parentRealitiesMutex.RLock()
+	reality.parentRealityIdsMutex.RLock()
 
-	for parentRealityId := range reality.parentRealities {
+	for parentRealityId := range reality.parentRealityIds {
 		loadedParentReality := reality.ledgerState.GetReality(parentRealityId)
 		if !loadedParentReality.Exists() {
-			reality.parentRealitiesMutex.RUnlock()
+			reality.parentRealityIdsMutex.RUnlock()
 
 			panic("could not load parent reality with id \"" + string(parentRealityId[:]) + "\"")
 		}
 
-		parentRealities[loadedParentReality.Get().(*Reality).GetId()] = loadedParentReality
+		parentRealities[loadedParentReality.Get().(*Reality).id] = loadedParentReality
 	}
 
-	reality.parentRealitiesMutex.RUnlock()
+	reality.parentRealityIdsMutex.RUnlock()
 
 	return parentRealities
 }
@@ -115,10 +144,10 @@ func (reality *Reality) GetAncestorRealities() (result map[RealityId]*objectstor
 }
 
 // [DONE] Registers the conflict set in the Reality.
-func (reality *Reality) AddConflictSet(conflictSetId ConflictSetId) {
-	reality.conflictSetsMutex.Lock()
-	reality.conflictSets[conflictSetId] = void
-	reality.conflictSetsMutex.Unlock()
+func (reality *Reality) AddConflictSet(conflictSetId ConflictId) {
+	reality.conflictIdsMutex.Lock()
+	reality.conflictIds[conflictSetId] = void
+	reality.conflictIdsMutex.Unlock()
 }
 
 // [DONE] Creates a new sub Reality and "stores" it. It has to manually be "released" when it is not needed anymore.
@@ -130,12 +159,8 @@ func (reality *Reality) CreateReality(id RealityId) *objectstorage.CachedObject
 }
 
 func (reality *Reality) BookTransfer(transfer *Transfer) (err error) {
-	reality.bookingMutex.RLock()
-
 	err = reality.bookTransfer(transfer.GetHash(), reality.ledgerState.getTransferInputs(transfer), transfer.GetOutputs())
 
-	reality.bookingMutex.RUnlock()
-
 	return
 }
 
@@ -153,15 +178,24 @@ func (reality *Reality) bookTransfer(transferHash TransferHash, inputs objectsto
 		var targetRealityId RealityId
 		copy(targetRealityId[:], transferHash[:])
 
-		for _, conflictSet := range conflictSets {
-			conflictSet.Get().(*ConflictSet).AddReality(targetRealityId)
-		}
-
 		reality.CreateReality(targetRealityId).Consume(func(object objectstorage.StorableObject) {
-			object.(*Reality).persistTransfer(transferHash, outputs)
+			targetReality := object.(*Reality)
+
+			for _, cachedConflictSet := range conflictSets {
+				conflictSet := cachedConflictSet.Get().(*Conflict)
+
+				conflictSet.AddReality(targetRealityId)
+				targetReality.AddConflictSet(conflictSet.GetId())
+			}
+
+			for addressHash, coloredBalances := range outputs {
+				targetReality.bookTransferOutput(NewTransferOutput(reality.ledgerState, emptyRealityId, transferHash, addressHash, coloredBalances...))
+			}
 		})
 	} else {
-		reality.persistTransfer(transferHash, outputs)
+		for addressHash, coloredBalances := range outputs {
+			reality.bookTransferOutput(NewTransferOutput(reality.ledgerState, emptyRealityId, transferHash, addressHash, coloredBalances...))
+		}
 	}
 
 	conflictSets.Release()
@@ -180,7 +214,7 @@ func (reality *Reality) verifyTransfer(inputs []*objectstorage.CachedObject, out
 		}
 
 		transferOutput := cachedInput.Get().(*TransferOutput)
-		if !reality.DescendsFromReality(transferOutput.GetRealityId()) {
+		if !reality.DescendsFrom(transferOutput.GetRealityId()) {
 			return errors.New("the referenced funds do not exist in this reality")
 		}
 
@@ -245,7 +279,7 @@ func (reality *Reality) retrieveConflictSetForConflictingInput(input *TransferOu
 
 		conflictSet = reality.ledgerState.conflictSets.Store(newConflictSet)
 
-		err = reality.elevateTransferOutputs(consumersToElevate, conflictSet.Get().(*ConflictSet))
+		err = reality.createRealityForConflictingConsumers(consumersToElevate, conflictSet.Get().(*Conflict))
 		if err != nil {
 			return
 		}
@@ -254,14 +288,14 @@ func (reality *Reality) retrieveConflictSetForConflictingInput(input *TransferOu
 		if err != nil {
 			return
 		}
-		conflictSet.Get().(*ConflictSet).ledgerState = reality.ledgerState
+		conflictSet.Get().(*Conflict).ledgerState = reality.ledgerState
 	}
 
 	return
 }
 
-func (reality *Reality) elevateTransferOutputs(transferOutputs map[TransferHash][]AddressHash, conflictSet *ConflictSet) (err error) {
-	for transferHash, addressHashes := range transferOutputs {
+func (reality *Reality) createRealityForConflictingConsumers(conflictingConsumers map[TransferHash][]AddressHash, conflictSet *Conflict) (err error) {
+	for transferHash, addressHashes := range conflictingConsumers {
 		// determine RealityId
 		elevatedRealityId := transferHash.ToRealityId()
 
@@ -269,11 +303,11 @@ func (reality *Reality) elevateTransferOutputs(transferOutputs map[TransferHash]
 		reality.CreateReality(elevatedRealityId).Consume(func(object objectstorage.StorableObject) {
 			elevatedReality := object.(*Reality)
 
-			// register Reality <-> ConflictSet
+			// register Reality <-> Conflict
 			conflictSet.AddReality(elevatedRealityId)
 			elevatedReality.AddConflictSet(conflictSet.GetId())
 
-			// elevate TransferOutputs
+			// elevate TransferOutputs to the new Reality
 			for _, addressHash := range addressHashes {
 				if err = reality.elevateTransferOutput(NewTransferOutputReference(transferHash, addressHash), elevatedReality); err != nil {
 					return
@@ -286,68 +320,65 @@ func (reality *Reality) elevateTransferOutputs(transferOutputs map[TransferHash]
 }
 
 func (reality *Reality) elevateTransferOutput(transferOutputReference *TransferOutputReference, newReality *Reality) (err error) {
-	if cachedTransferOutputToElevate := reality.ledgerState.GetTransferOutput(transferOutputReference); !cachedTransferOutputToElevate.Exists() {
+	cachedTransferOutputToElevate := reality.ledgerState.GetTransferOutput(transferOutputReference)
+	if !cachedTransferOutputToElevate.Exists() {
 		return errors.New("could not find TransferOutput to elevate")
-	} else {
-		cachedTransferOutputToElevate.Consume(func(object objectstorage.StorableObject) {
-			transferOutputToElevate := object.(*TransferOutput)
+	}
 
-			if transferOutputToElevate.GetRealityId() == reality.id {
-				if moveErr := newReality.bookTransferOutput(transferOutputToElevate); moveErr != nil {
-					err = moveErr
+	cachedTransferOutputToElevate.Consume(func(object objectstorage.StorableObject) {
+		transferOutputToElevate := object.(*TransferOutput)
 
-					return
-				}
+		if transferOutputToElevate.GetRealityId() == reality.id {
+			err = reality.elevateTransferOutputOfCurrentReality(transferOutputToElevate, newReality)
+		} else {
+			reality.ledgerState.GetReality(transferOutputToElevate.GetRealityId()).Consume(func(nestedReality objectstorage.StorableObject) {
+				err = nestedReality.(*Reality).elevateTransferOutputOfNestedReality(transferOutputToElevate, reality.id, newReality.id)
+			})
+		}
+	})
 
-				for transferHash, addresses := range transferOutputToElevate.GetConsumers() {
-					for _, addressHash := range addresses {
-						if elevateErr := reality.elevateTransferOutput(NewTransferOutputReference(transferHash, addressHash), newReality); elevateErr != nil {
-							err = elevateErr
+	return
+}
 
-							return
-						}
-					}
-				}
-			} else {
-				reality.ledgerState.GetReality(transferOutputToElevate.GetRealityId()).Consume(func(nestedReality objectstorage.StorableObject) {
-					nestedReality.(*Reality).elevateReality(reality.id, newReality.GetId())
-				})
+func (reality *Reality) elevateTransferOutputOfCurrentReality(transferOutput *TransferOutput, newReality *Reality) (err error) {
+	if err = newReality.bookTransferOutput(transferOutput); err != nil {
+		return
+	}
+
+	for transferHash, addresses := range transferOutput.GetConsumers() {
+		for _, addressHash := range addresses {
+			if elevateErr := reality.elevateTransferOutput(NewTransferOutputReference(transferHash, addressHash), newReality); elevateErr != nil {
+				err = elevateErr
+
+				return
 			}
-		})
+		}
 	}
 
 	return
 }
 
-func (reality *Reality) elevateReality(oldParentRealityId RealityId, newParentRealityId RealityId) {
-	reality.bookingMutex.Lock()
-	reality.parentRealitiesMutex.Lock()
+func (reality *Reality) elevateTransferOutputOfNestedReality(transferOutput *TransferOutput, oldParentRealityId RealityId, newParentRealityId RealityId) (err error) {
+	if !reality.IsAggregated() {
+		reality.parentRealityIdsMutex.Lock()
+		reality.parentRealityIds.Remove(oldParentRealityId).Add(newParentRealityId)
+		reality.parentRealityIdsMutex.Unlock()
 
-	fmt.Println(reality.id)
-
-	if len(reality.parentRealities) > 1 {
-		// aggregated reality
-		fmt.Println("AGGREGATED REALITY")
-		delete(reality.parentRealities, oldParentRealityId)
-		reality.parentRealities[newParentRealityId] = void
-	} else {
-		delete(reality.parentRealities, oldParentRealityId)
-		reality.parentRealities[newParentRealityId] = void
+		return
 	}
 
-	reality.parentRealitiesMutex.Unlock()
-	reality.bookingMutex.Unlock()
-}
+	newParentRealities := reality.GetParentRealityIds().Remove(oldParentRealityId).Add(newParentRealityId).ToList()
 
-func (reality *Reality) persistTransfer(transferHash TransferHash, transferOutputs map[AddressHash][]*ColoredBalance) {
-	for addressHash, coloredBalances := range transferOutputs {
-		reality.bookTransferOutput(NewTransferOutput(reality.ledgerState, emptyRealityId, transferHash, addressHash, coloredBalances...))
-	}
+	reality.ledgerState.AggregateRealities(newParentRealities...).Store().Consume(func(object objectstorage.StorableObject) {
+		err = reality.elevateTransferOutputOfCurrentReality(transferOutput, object.(*Reality))
+	})
+
+	return
 }
 
 func (reality *Reality) bookTransferOutput(transferOutput *TransferOutput) (err error) {
 	// retrieve required variables
-	realityId := reality.GetId()
+	realityId := reality.id
 	transferOutputRealityId := transferOutput.GetRealityId()
 	transferOutputAddressHash := transferOutput.GetAddressHash()
 	transferOutputSpent := len(transferOutput.consumers) >= 1
@@ -368,11 +399,10 @@ func (reality *Reality) bookTransferOutput(transferOutput *TransferOutput) (err
 			transferOutput.SetRealityId(realityId)
 
 			reality.ledgerState.GetReality(transferOutputRealityId).Consume(func(object objectstorage.StorableObject) {
-				oldReality := object.(*Reality)
-
-				oldReality.transferOutputCountMutex.Lock()
-				oldReality.transferOutputCount--
-				oldReality.transferOutputCountMutex.Unlock()
+				// decrease transferOutputCount and remove reality if it is empty
+				if object.(*Reality).DecreaseTransferOutputCount() == 0 {
+					reality.ledgerState.realities.Delete(transferOutputRealityId[:])
+				}
 			})
 
 			oldTransferOutputBooking.Delete().Release()
@@ -383,21 +413,18 @@ func (reality *Reality) bookTransferOutput(transferOutput *TransferOutput) (err
 	if transferOutputRealityId != realityId {
 		reality.ledgerState.storeTransferOutputBooking(newTransferOutputBooking(realityId, transferOutputAddressHash, transferOutputSpent, transferOutputTransferHash)).Release()
 
-		reality.transferOutputCountMutex.Lock()
-		reality.transferOutputCount++
-		reality.transferOutputCountMutex.Unlock()
+		reality.IncreaseTransferOutputCount()
 	}
 
 	return
 }
 
 func (reality *Reality) String() (result string) {
-	reality.parentRealitiesMutex.RLock()
-
-	parentRealities := make([]string, len(reality.parentRealities))
+	reality.parentRealityIdsMutex.RLock()
 
+	parentRealities := make([]string, len(reality.parentRealityIds))
 	i := 0
-	for parentRealityId := range reality.parentRealities {
+	for parentRealityId := range reality.parentRealityIds {
 		parentRealities[i] = parentRealityId.String()
 
 		i++
@@ -408,7 +435,7 @@ func (reality *Reality) String() (result string) {
 		stringify.StructField("parentRealities", parentRealities),
 	)
 
-	reality.parentRealitiesMutex.RUnlock()
+	reality.parentRealityIdsMutex.RUnlock()
 
 	return
 }
diff --git a/packages/ledgerstate/reality.objectstorage.go b/packages/ledgerstate/reality.objectstorage.go
index 8dabf056..7ccdc5ed 100644
--- a/packages/ledgerstate/reality.objectstorage.go
+++ b/packages/ledgerstate/reality.objectstorage.go
@@ -11,37 +11,33 @@ func (reality *Reality) GetStorageKey() []byte {
 }
 
 func (reality *Reality) Update(other objectstorage.StorableObject) {
-	reality.bookingMutex.Lock()
-
 	if otherReality, ok := other.(*Reality); !ok {
-		reality.bookingMutex.Unlock()
-
 		panic("Update method expects a *TransferOutputBooking")
 	} else {
-		reality.parentRealities = otherReality.parentRealities
+		reality.parentRealityIdsMutex.Lock()
+		reality.parentRealityIds = otherReality.parentRealityIds
+		reality.parentRealityIdsMutex.Unlock()
 	}
-
-	reality.bookingMutex.Unlock()
 }
 
 func (reality *Reality) MarshalBinary() ([]byte, error) {
-	reality.parentRealitiesMutex.RLock()
+	reality.parentRealityIdsMutex.RLock()
 
-	parentRealityCount := len(reality.parentRealities)
+	parentRealityCount := len(reality.parentRealityIds)
 
 	marshaledReality := make([]byte, 4+4+parentRealityCount*realityIdLength)
 
-	binary.LittleEndian.PutUint32(marshaledReality, uint32(reality.transferOutputCount))
+	binary.LittleEndian.PutUint32(marshaledReality, uint32(reality.GetTransferOutputCount()))
 
 	binary.LittleEndian.PutUint32(marshaledReality[4:], uint32(parentRealityCount))
 	i := 0
-	for parentRealityId := range reality.parentRealities {
+	for parentRealityId := range reality.parentRealityIds {
 		copy(marshaledReality[4+4+i*realityIdLength:], parentRealityId[:])
 
 		i++
 	}
 
-	reality.parentRealitiesMutex.RUnlock()
+	reality.parentRealityIdsMutex.RUnlock()
 
 	return marshaledReality, nil
 }
@@ -51,9 +47,9 @@ func (reality *Reality) UnmarshalBinary(serializedObject []byte) error {
 		return err
 	}
 
-	reality.parentRealities = make(map[RealityId]empty)
+	reality.parentRealityIds = NewRealityIdSet()
 
-	reality.transferOutputCount = int(binary.LittleEndian.Uint32(serializedObject))
+	reality.transferOutputCount = binary.LittleEndian.Uint32(serializedObject)
 
 	parentRealityCount := int(binary.LittleEndian.Uint32(serializedObject[4:]))
 	for i := 0; i < parentRealityCount; i++ {
@@ -62,7 +58,7 @@ func (reality *Reality) UnmarshalBinary(serializedObject []byte) error {
 			return err
 		}
 
-		reality.parentRealities[restoredRealityId] = void
+		reality.parentRealityIds[restoredRealityId] = void
 	}
 
 	return nil
diff --git a/packages/ledgerstate/reality_id_list.go b/packages/ledgerstate/reality_id_list.go
new file mode 100644
index 00000000..1d6189cd
--- /dev/null
+++ b/packages/ledgerstate/reality_id_list.go
@@ -0,0 +1,23 @@
+package ledgerstate
+
+type RealityIdList []RealityId
+
+func (realityIdList RealityIdList) Clone() (clone RealityIdList) {
+	clone = make(RealityIdList, len(realityIdList))
+
+	for key, value := range realityIdList {
+		clone[key] = value
+	}
+
+	return
+}
+
+func (realityIdList RealityIdList) ToSet() (set RealityIdSet) {
+	set = make(RealityIdSet)
+
+	for _, value := range realityIdList {
+		set[value] = void
+	}
+
+	return
+}
diff --git a/packages/ledgerstate/reality_id_set.go b/packages/ledgerstate/reality_id_set.go
new file mode 100644
index 00000000..e202a306
--- /dev/null
+++ b/packages/ledgerstate/reality_id_set.go
@@ -0,0 +1,48 @@
+package ledgerstate
+
+type RealityIdSet map[RealityId]empty
+
+func NewRealityIdSet(realityIds ...RealityId) (realityIdSet RealityIdSet) {
+	realityIdSet = make(RealityIdSet)
+
+	for _, realityId := range realityIds {
+		realityIdSet[realityId] = void
+	}
+
+	return
+}
+
+func (realityIdSet RealityIdSet) Add(realityId RealityId) RealityIdSet {
+	realityIdSet[realityId] = void
+
+	return realityIdSet
+}
+
+func (realityIdSet RealityIdSet) Remove(realityId RealityId) RealityIdSet {
+	delete(realityIdSet, realityId)
+
+	return realityIdSet
+}
+
+func (realityIdSet RealityIdSet) Clone() (clone RealityIdSet) {
+	clone = make(RealityIdSet, len(realityIdSet))
+
+	for key := range realityIdSet {
+		clone[key] = void
+	}
+
+	return
+}
+
+func (realityIdSet RealityIdSet) ToList() (list RealityIdList) {
+	list = make(RealityIdList, len(realityIdSet))
+
+	i := 0
+	for key := range realityIdSet {
+		list[i] = key
+
+		i++
+	}
+
+	return
+}
diff --git a/packages/ledgerstate_old/address.go b/packages/ledgerstate_old/address.go
deleted file mode 100644
index 95d2750a..00000000
--- a/packages/ledgerstate_old/address.go
+++ /dev/null
@@ -1,62 +0,0 @@
-package ledgerstate
-
-type AddressHash [addressHashLength]byte
-
-type Address struct {
-	ledgerState *LedgerState
-	realityId   RealityId
-	hash        AddressHash
-}
-
-func NewAddress(ledgerState *LedgerState, realityId RealityId, hash AddressHash) *Address {
-	return &Address{
-		ledgerState: ledgerState,
-		realityId:   realityId,
-		hash:        hash,
-	}
-}
-
-func (address *Address) GetHash() AddressHash {
-	return address.hash
-}
-
-func (address *Address) GetRealityId() RealityId {
-	return address.realityId
-}
-
-func (address *Address) GetReality() *Reality {
-	return address.ledgerState.GetReality(address.realityId)
-}
-
-func (address *Address) GetUnspentTransferOutputs() (unspentTransferOutputs []*TransferOutput) {
-	unspentTransferOutputs = make([]*TransferOutput, 0)
-
-	address.collectUnspentTransferOutputs(address.realityId, &unspentTransferOutputs)
-	for ancestorRealityId := range address.GetReality().GetAncestorRealities() {
-		address.collectUnspentTransferOutputs(ancestorRealityId, &unspentTransferOutputs)
-	}
-
-	return unspentTransferOutputs
-}
-
-func (address *Address) collectUnspentTransferOutputs(realityId RealityId, unspentTransferOutputs *[]*TransferOutput) {
-	address.ledgerState.ForEachTransferOutput(func(transferOutput *TransferOutput) {
-		*unspentTransferOutputs = append(*unspentTransferOutputs, transferOutput)
-	}, FilterRealities(realityId), FilterAddresses(address.hash), FilterUnspent())
-}
-
-func (address *Address) GetTransferOutputs() map[TransferHash]*TransferOutput {
-	return nil
-}
-
-func (address *Address) GetBalances() map[Color]uint64 {
-	balances := make(map[Color]uint64)
-
-	for _, unspentTransferOutput := range address.GetUnspentTransferOutputs() {
-		for colorHash, balance := range unspentTransferOutput.GetColoredBalances() {
-			balances[colorHash] += balance.GetValue()
-		}
-	}
-
-	return balances
-}
diff --git a/packages/ledgerstate_old/colored_balance.go b/packages/ledgerstate_old/colored_balance.go
deleted file mode 100644
index 71b690fa..00000000
--- a/packages/ledgerstate_old/colored_balance.go
+++ /dev/null
@@ -1,31 +0,0 @@
-package ledgerstate
-
-import (
-	"strconv"
-)
-
-type Color string
-
-type ColoredBalance struct {
-	color   Color
-	balance uint64
-}
-
-func NewColoredBalance(color Color, balance uint64) *ColoredBalance {
-	return &ColoredBalance{
-		color:   color,
-		balance: balance,
-	}
-}
-
-func (balance *ColoredBalance) GetColor() Color {
-	return balance.color
-}
-
-func (balance *ColoredBalance) GetValue() uint64 {
-	return balance.balance
-}
-
-func (coloredBalance *ColoredBalance) String() string {
-	return "ColoredBalance(\"" + string(coloredBalance.color) + "\", " + strconv.FormatUint(coloredBalance.balance, 10) + ")"
-}
diff --git a/packages/ledgerstate_old/constants.go b/packages/ledgerstate_old/constants.go
deleted file mode 100644
index e2449f56..00000000
--- a/packages/ledgerstate_old/constants.go
+++ /dev/null
@@ -1,24 +0,0 @@
-package ledgerstate
-
-var (
-	MAIN_REALITY_ID = [realityIdLength]byte{}
-)
-
-const (
-	UNSPENT_SEPARATOR_BYTE = byte(0)
-	SPENT_SEPARATOR_BYTE   = byte(1)
-
-	transferHashLength = 32
-	addressHashLength  = 32
-	realityIdLength    = 32
-
-	marshalTransferOutputBookingRealityIdStart    = 0
-	marshalTransferOutputBookingRealityIdEnd      = marshalTransferOutputBookingRealityIdStart + realityIdLength
-	marshalTransferOutputBookingAddressHashStart  = marshalTransferOutputBookingRealityIdEnd
-	marshalTransferOutputBookingAddressHashEnd    = marshalTransferOutputBookingAddressHashStart + addressHashLength
-	marshalTransferOutputBookingSpentStart        = marshalTransferOutputBookingAddressHashEnd
-	marshalTransferOutputBookingSpentEnd          = marshalTransferOutputBookingSpentStart + 1
-	marshalTransferOutputBookingTransferHashStart = marshalTransferOutputBookingSpentEnd
-	marshalTransferOutputBookingTransferHashEnd   = marshalTransferOutputBookingTransferHashStart + transferHashLength
-	marshalTransferOutputBookingTotalLength       = marshalTransferOutputBookingTransferHashEnd
-)
diff --git a/packages/ledgerstate_old/errors.go b/packages/ledgerstate_old/errors.go
deleted file mode 100644
index c531dcb8..00000000
--- a/packages/ledgerstate_old/errors.go
+++ /dev/null
@@ -1,8 +0,0 @@
-package ledgerstate
-
-import "github.com/iotaledger/goshimmer/packages/errors"
-
-var (
-	ErrInvalidTransfer = errors.New("invalid transfer")
-	ErrUnmarshalFailed = errors.New("unmarshal failed")
-)
diff --git a/packages/ledgerstate_old/ledgerstate.go b/packages/ledgerstate_old/ledgerstate.go
deleted file mode 100644
index 3c45d734..00000000
--- a/packages/ledgerstate_old/ledgerstate.go
+++ /dev/null
@@ -1,242 +0,0 @@
-package ledgerstate
-
-import (
-	"github.com/iotaledger/goshimmer/packages/errors"
-	"github.com/iotaledger/goshimmer/packages/objectstorage"
-)
-
-// region LedgerState //////////////////////////////////////////////////////////////////////////////////////////////////
-
-type LedgerState struct {
-	storageId       []byte
-	transferOutputs TransferOutputStorage
-	realities       RealityStorage
-	options         *LedgerStateOptions
-}
-
-func NewLedgerState(storageId []byte, options ...LedgerStateOption) (result *LedgerState) {
-	ledgerStateOptions := DEFAULT_LEDGER_STATE_OPTIONS.Override(options...)
-
-	realityStorage := ledgerStateOptions.RealityStorageFactory(storageId)
-
-	result = &LedgerState{
-		storageId:       storageId,
-		options:         ledgerStateOptions,
-		transferOutputs: ledgerStateOptions.TransferOutputStorageFactory(storageId),
-		realities:       realityStorage,
-	}
-
-	newReality := newReality(result, MAIN_REALITY_ID)
-	if storeErr := realityStorage.StoreReality(newReality); storeErr != nil {
-		panic(storeErr)
-	}
-
-	return
-}
-
-func (ledgerState *LedgerState) AddTransferOutput(transferHash TransferHash, addressHash AddressHash, balances ...*ColoredBalance) *LedgerState {
-	if err := ledgerState.transferOutputs.StoreTransferOutput(NewTransferOutput(ledgerState, MAIN_REALITY_ID, addressHash, transferHash, balances...)); err != nil {
-		panic(err)
-	}
-
-	return ledgerState
-}
-
-func (ledgerState *LedgerState) AddTransferOutputOld(transferOutput *TransferOutput) *LedgerState {
-	if err := ledgerState.transferOutputs.StoreTransferOutput(transferOutput); err != nil {
-		panic(err)
-	}
-
-	return ledgerState
-}
-
-func (ledgerState *LedgerState) GetTransferOutput(transferOutputReference *TransferOutputReference) *objectstorage.CachedObject {
-	if transferOutput, err := ledgerState.transferOutputs.LoadTransferOutput(transferOutputReference.GetId()); err != nil {
-		panic(err)
-	} else {
-		return transferOutput
-	}
-}
-
-func (ledgerState *LedgerState) ForEachTransferOutput(callback func(transferOutput *TransferOutput), filter ...TransferOutputStorageFilter) {
-	ledgerState.transferOutputs.ForEach(callback, filter...)
-}
-
-func (ledgerState *LedgerState) BookTransfer(transfer *Transfer) errors.IdentifiableError {
-	if !transfer.IsValid(ledgerState) {
-		return ErrInvalidTransfer.Derive("balance of transfer is invalid")
-	}
-
-	realities := make([]RealityId, 0)
-	for _, input := range transfer.GetInputs() {
-		transferOutput := ledgerState.GetTransferOutput(input)
-		if transferOutput == nil {
-			return ErrInvalidTransfer.Derive("referenced transfer output doesn't exist")
-		}
-
-		realities = append(realities, transferOutput.GetRealityId())
-	}
-
-	aggregatedReality := ledgerState.MergeRealities(realities...)
-	if err := ledgerState.realities.StoreReality(aggregatedReality); err != nil {
-		return err
-	}
-
-	aggregatedReality.BookTransfer(transfer)
-	// determine the transferoutputs
-	// aggregate their realities
-	// persist reality
-	// book funds in this reality
-
-	return nil
-}
-
-func (ledgerState *LedgerState) CreateReality(realityId RealityId) *Reality {
-	if loadedReality, err := ledgerState.realities.LoadReality(realityId); err != nil {
-		panic(err)
-	} else if loadedReality != nil {
-		return loadedReality
-	} else {
-		newReality := newReality(ledgerState, realityId, MAIN_REALITY_ID)
-
-		if storeErr := ledgerState.realities.StoreReality(newReality); storeErr != nil {
-			panic(storeErr)
-		}
-
-		return newReality
-	}
-}
-
-func (ledgerState *LedgerState) GetReality(realityId RealityId) *Reality {
-	if loadedReality, loadedRealityErr := ledgerState.realities.LoadReality(realityId); loadedRealityErr != nil {
-		panic(loadedRealityErr)
-	} else {
-		return loadedReality
-	}
-}
-
-func (ledgerState *LedgerState) MergeRealities(realityIds ...RealityId) *Reality {
-	switch len(realityIds) {
-	case 0:
-		if loadedReality, loadedRealityErr := ledgerState.realities.LoadReality(MAIN_REALITY_ID); loadedRealityErr != nil {
-			panic(loadedRealityErr)
-		} else {
-			return loadedReality
-		}
-	case 1:
-		if loadedReality, loadedRealityErr := ledgerState.realities.LoadReality(realityIds[0]); loadedRealityErr != nil {
-			panic(loadedRealityErr)
-		} else {
-			return loadedReality
-		}
-	default:
-		aggregatedRealities := make(map[RealityId]*Reality)
-
-		for _, realityId := range realityIds {
-			if _, exists := aggregatedRealities[realityId]; exists {
-				continue
-			}
-
-			switchedRealities := make(map[RealityId]*Reality)
-			realityIncluded := false
-			for independentRealityId, independentReality := range aggregatedRealities {
-				if independentReality.DescendsFromReality(realityId) {
-					realityIncluded = true
-
-					break
-				} else {
-					if loadedReality, loadedRealityErr := ledgerState.realities.LoadReality(realityId); loadedRealityErr != nil {
-						panic(loadedRealityErr)
-					} else if loadedReality == nil {
-						return nil
-					} else if loadedReality.DescendsFromReality(independentRealityId) {
-						switchedRealities[independentRealityId] = loadedReality
-
-						realityIncluded = true
-
-						break
-					}
-				}
-			}
-			for oldId, newReality := range switchedRealities {
-				delete(aggregatedRealities, oldId)
-				aggregatedRealities[newReality.GetId()] = newReality
-			}
-			if realityIncluded {
-				continue
-			}
-
-			if loadedReality, loadedRealityErr := ledgerState.realities.LoadReality(realityId); loadedRealityErr != nil {
-				panic(loadedRealityErr)
-			} else {
-				aggregatedRealities[realityId] = loadedReality
-			}
-		}
-
-		if len(aggregatedRealities) == 1 {
-			for _, independentReality := range aggregatedRealities {
-				return independentReality
-			}
-		} else {
-			sortedRealityIds := make([]RealityId, len(aggregatedRealities))
-			counter := 0
-			for realityId := range aggregatedRealities {
-				sortedRealityIds[counter] = realityId
-
-				counter++
-			}
-			// TODO: CALCULATE REALITY ID INSTEAD OF MAIN_REALITY_ID
-			newReality := newReality(ledgerState, MAIN_REALITY_ID, sortedRealityIds...)
-
-			if storeErr := ledgerState.realities.StoreReality(newReality); storeErr != nil {
-				panic(storeErr)
-			}
-
-			return newReality
-		}
-
-		return nil
-	}
-}
-
-func (ledgerState *LedgerState) ForEachReality(callback func(reality *Reality), filter ...*TransferOutputStorageFilter) {
-}
-
-// endregion ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-// region LedgerStateOptions ///////////////////////////////////////////////////////////////////////////////////////////
-
-var DEFAULT_LEDGER_STATE_OPTIONS = &LedgerStateOptions{
-	TransferOutputStorageFactory: newTransferOutputStorageMemory,
-	RealityStorageFactory:        newRealityStorageMemory,
-}
-
-func OptionTransferOutputStorageFactory(factory TransferOutputStorageFactory) LedgerStateOption {
-	return func(args *LedgerStateOptions) {
-		args.TransferOutputStorageFactory = factory
-	}
-}
-
-func OptionStorageFactory(factory RealityStorageFactory) LedgerStateOption {
-	return func(args *LedgerStateOptions) {
-		args.RealityStorageFactory = factory
-	}
-}
-
-type LedgerStateOptions struct {
-	TransferOutputStorageFactory TransferOutputStorageFactory
-	RealityStorageFactory        RealityStorageFactory
-}
-
-func (options LedgerStateOptions) Override(optionalOptions ...LedgerStateOption) *LedgerStateOptions {
-	result := &options
-	for _, option := range optionalOptions {
-		option(result)
-	}
-
-	return result
-}
-
-type LedgerStateOption func(*LedgerStateOptions)
-
-// endregion ///////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/packages/ledgerstate_old/ledgerstate_test.go b/packages/ledgerstate_old/ledgerstate_test.go
deleted file mode 100644
index 94f2da1e..00000000
--- a/packages/ledgerstate_old/ledgerstate_test.go
+++ /dev/null
@@ -1,103 +0,0 @@
-package ledgerstate
-
-import (
-	"testing"
-)
-
-func Benchmark(b *testing.B) {
-	address1 := NewAddressHash("ADDRESS1")
-	address2 := NewAddressHash("ADDRESS2")
-	address3 := NewAddressHash("ADDRESS3")
-	transfer1 := NewTransferHash("TRANSFER1")
-	transfer2 := NewTransferHash("TRANSFER2")
-
-	ledgerState := NewLedgerState([]byte("TESTLEDGER"))
-
-	ledgerState.AddTransferOutputOld(
-		NewTransferOutput(ledgerState, MAIN_REALITY_ID, address1, transfer1, NewColoredBalance("RED", 1337), NewColoredBalance("IOTA", 1338)),
-	)
-
-	b.ResetTimer()
-
-	for i := 0; i < b.N; i++ {
-		transfer := NewTransfer(transfer2).AddInput(
-			NewTransferOutputReferenceOld(MAIN_REALITY_ID, address1, transfer1),
-		).AddOutput(
-			address2, NewColoredBalance("IOTA", 338),
-		).AddOutput(
-			address2, NewColoredBalance("RED", 337),
-		).AddOutput(
-			address3, NewColoredBalance("IOTA", 1000),
-		).AddOutput(
-			address3, NewColoredBalance("RED", 1000),
-		)
-
-		if err := ledgerState.BookTransfer(transfer); err != nil {
-			panic(err)
-		}
-	}
-}
-
-func NewAddressHash(input string) (result AddressHash) {
-	copy(result[:], input)
-	return
-}
-
-func NewRealityId(input string) (result RealityId) {
-	copy(result[:], input)
-	return
-}
-
-func NewTransferHash(input string) (result TransferHash) {
-	copy(result[:], input)
-	return
-}
-
-func Test(t *testing.T) {
-	//pendingReality := NewRealityId("PENDING")
-	address1 := NewAddressHash("ADDRESS1")
-	//address2 := NewAddressHash("ADDRESS2")
-	//address3 := NewAddressHash("ADDRESS3")
-	//address4 := NewAddressHash("ADDRESS4")
-	transfer1 := NewTransferHash("TRANSFER1")
-	//transfer2 := NewTransferHash("TRANSFER2")
-	//transfer3 := NewTransferHash("TRANSFER3")
-
-	ledgerState := NewLedgerState([]byte("TESTLEDGER"))
-
-	ledgerState.AddTransferOutput(transfer1, address1, NewColoredBalance("RED", 1337), NewColoredBalance("IOTA", 1338))
-	ledgerState.GetTransferOutput(NewTransferOutputReference(transfer1, address1))
-
-	/*
-		ledgerState.CreateReality(pendingReality)
-
-		ledgerState.AddTransferOutputOld(
-			NewTransferOutput(ledgerState, MAIN_REALITY_ID, address1, transfer1, NewColoredBalance("RED", 1337), NewColoredBalance("IOTA", 1338)),
-		).AddTransferOutputOld(
-			NewTransferOutput(ledgerState, pendingReality, address1, transfer1, NewColoredBalance("RED", 7331), NewColoredBalance("IOTA", 8331)),
-		).AddTransferOutputOld(
-			NewTransferOutput(ledgerState, pendingReality, address2, transfer2, NewColoredBalance("RED", 7331), NewColoredBalance("IOTA", 8331)),
-		)
-
-		fmt.Println(ledgerState.GetReality(pendingReality).GetAddress(address1).GetUnspentTransferOutputs())
-
-		transfer := NewTransfer(transfer3).AddInput(
-			NewTransferOutputReferenceOld(MAIN_REALITY_ID, address1, transfer1),
-		).AddOutput(
-			address3, NewColoredBalance("IOTA", 338),
-		).AddOutput(
-			address3, NewColoredBalance("RED", 337),
-		).AddOutput(
-			address4, NewColoredBalance("IOTA", 1000),
-		).AddOutput(
-			address4, NewColoredBalance("RED", 1000),
-		)
-
-		if err := ledgerState.BookTransfer(transfer); err != nil {
-			t.Error(err)
-		}
-
-		fmt.Println(ledgerState.GetReality(MAIN_REALITY_ID).GetAddress(address3).GetBalances())
-		fmt.Println(ledgerState.GetReality(MAIN_REALITY_ID).GetAddress(address4).GetBalances())
-	*/
-}
diff --git a/packages/ledgerstate_old/reality.go b/packages/ledgerstate_old/reality.go
deleted file mode 100644
index 12b756cb..00000000
--- a/packages/ledgerstate_old/reality.go
+++ /dev/null
@@ -1,94 +0,0 @@
-package ledgerstate
-
-import (
-	"github.com/iotaledger/goshimmer/packages/errors"
-)
-
-type RealityId [realityIdLength]byte
-
-type Reality struct {
-	ledgerState      *LedgerState
-	id               RealityId
-	parentRealityIds []RealityId
-	parentRealities  map[RealityId]*Reality
-}
-
-func newReality(ledgerState *LedgerState, id RealityId, parentRealityIds ...RealityId) *Reality {
-	return &Reality{
-		ledgerState:      ledgerState,
-		id:               id,
-		parentRealityIds: parentRealityIds,
-	}
-}
-
-func (reality *Reality) SetLedgerState(ledgerState *LedgerState) {
-	reality.ledgerState = ledgerState
-}
-
-func (reality *Reality) GetId() RealityId {
-	return reality.id
-}
-
-func (reality *Reality) GetParentRealityIds() []RealityId {
-	return reality.parentRealityIds
-}
-
-func (reality *Reality) GetAddress(addressHash AddressHash) *Address {
-	return NewAddress(reality.ledgerState, reality.id, addressHash)
-}
-
-func (reality *Reality) GetParentRealities() map[RealityId]*Reality {
-	if reality.parentRealities == nil {
-		parentRealities := make(map[RealityId]*Reality)
-		for _, parentRealityId := range reality.parentRealityIds {
-			if loadedParentReality := reality.ledgerState.GetReality(parentRealityId); loadedParentReality == nil {
-				panic("could not load parent reality " + string(parentRealityId[:]))
-			} else {
-				parentRealities[loadedParentReality.GetId()] = loadedParentReality
-			}
-		}
-		reality.parentRealities = parentRealities
-	}
-
-	return reality.parentRealities
-}
-
-func (reality *Reality) GetAncestorRealities() (result map[RealityId]*Reality) {
-	result = make(map[RealityId]*Reality, 1)
-
-	for _, parentReality := range reality.GetParentRealities() {
-		result[parentReality.GetId()] = reality
-
-		for _, ancestor := range parentReality.GetAncestorRealities() {
-			result[ancestor.GetId()] = ancestor
-		}
-	}
-
-	return
-}
-
-func (reality *Reality) DescendsFromReality(realityId RealityId) bool {
-	if reality.id == realityId {
-		return true
-	} else {
-		_, exists := reality.GetAncestorRealities()[realityId]
-
-		return exists
-	}
-}
-
-func (reality *Reality) BookTransfer(transfer *Transfer) errors.IdentifiableError {
-	// process outputs
-	for addressHash, transferOutput := range transfer.GetOutputs() {
-		for _, coloredBalance := range transferOutput {
-			createdTransferOutput := NewTransferOutput(reality.ledgerState, reality.id, addressHash, transfer.GetHash(), coloredBalance)
-			reality.ledgerState.AddTransferOutputOld(createdTransferOutput)
-		}
-	}
-
-	return nil
-}
-
-func (reality *Reality) Exists() bool {
-	return reality != nil
-}
diff --git a/packages/ledgerstate_old/reality_storage.go b/packages/ledgerstate_old/reality_storage.go
deleted file mode 100644
index b32429e1..00000000
--- a/packages/ledgerstate_old/reality_storage.go
+++ /dev/null
@@ -1,49 +0,0 @@
-package ledgerstate
-
-import (
-	"sync"
-
-	"github.com/iotaledger/goshimmer/packages/errors"
-)
-
-type RealityStorage interface {
-	LoadReality(realityId RealityId) (result *Reality, err errors.IdentifiableError)
-	StoreReality(reality *Reality) (err errors.IdentifiableError)
-}
-
-type RealityStorageFactory func(id []byte) RealityStorage
-
-type RealityStorageMemory struct {
-	id        []byte
-	realities map[RealityId]*Reality
-	mutex     sync.RWMutex
-}
-
-var _ RealityStorage = &RealityStorageMemory{}
-
-func newRealityStorageMemory(id []byte) RealityStorage {
-	return &RealityStorageMemory{
-		id:        id,
-		realities: make(map[RealityId]*Reality),
-	}
-}
-
-func (storage *RealityStorageMemory) StoreReality(reality *Reality) (err errors.IdentifiableError) {
-	storage.mutex.Lock()
-
-	storage.realities[reality.GetId()] = reality
-
-	storage.mutex.Unlock()
-
-	return
-}
-
-func (storage *RealityStorageMemory) LoadReality(realityId RealityId) (result *Reality, err errors.IdentifiableError) {
-	storage.mutex.RLock()
-
-	result = storage.realities[realityId]
-
-	storage.mutex.RUnlock()
-
-	return
-}
diff --git a/packages/ledgerstate_old/transfer.go b/packages/ledgerstate_old/transfer.go
deleted file mode 100644
index f38d3a6e..00000000
--- a/packages/ledgerstate_old/transfer.go
+++ /dev/null
@@ -1,77 +0,0 @@
-package ledgerstate
-
-type TransferHash [transferHashLength]byte
-
-type Transfer struct {
-	hash    TransferHash
-	inputs  []*TransferOutputReferenceOld
-	outputs map[AddressHash]map[Color]*ColoredBalance
-}
-
-func NewTransfer(transferHash TransferHash) *Transfer {
-	return &Transfer{
-		hash:    transferHash,
-		inputs:  make([]*TransferOutputReferenceOld, 0),
-		outputs: make(map[AddressHash]map[Color]*ColoredBalance),
-	}
-}
-
-func (transfer *Transfer) GetHash() TransferHash {
-	return transfer.hash
-}
-
-func (transfer *Transfer) IsValid(ledgerState *LedgerState) bool {
-	totalColoredBalances := make(map[Color]uint64)
-
-	// process inputs
-	for _, transferOutputReference := range transfer.inputs {
-		if transferOutput := ledgerState.GetTransferOutput(transferOutputReference); transferOutput == nil {
-			return false
-		} else {
-			for colorHash, coloredBalance := range transferOutput.GetColoredBalances() {
-				totalColoredBalances[colorHash] += coloredBalance.GetValue()
-			}
-		}
-	}
-
-	// process outputs
-	for _, transferOutput := range transfer.outputs {
-		for colorHash, coloredBalance := range transferOutput {
-			totalColoredBalances[colorHash] -= coloredBalance.GetValue()
-
-			if totalColoredBalances[colorHash] == 0 {
-				delete(totalColoredBalances, colorHash)
-			}
-		}
-	}
-
-	// transfer is valid if sum of funds is 0
-	return len(totalColoredBalances) == 0
-}
-
-func (transfer *Transfer) AddInput(input *TransferOutputReferenceOld) *Transfer {
-	transfer.inputs = append(transfer.inputs, input)
-
-	return transfer
-}
-
-func (transfer *Transfer) GetInputs() []*TransferOutputReferenceOld {
-	return transfer.inputs
-}
-
-func (transfer *Transfer) AddOutput(address AddressHash, balance *ColoredBalance) *Transfer {
-	addressEntry, addressExists := transfer.outputs[address]
-	if !addressExists {
-		addressEntry = make(map[Color]*ColoredBalance)
-
-		transfer.outputs[address] = addressEntry
-	}
-
-	addressEntry[balance.GetColor()] = balance
-
-	return transfer
-}
-
-func (transfer *Transfer) GetOutputs() map[AddressHash]map[Color]*ColoredBalance {
-	return transfer.outputs
-}
diff --git a/packages/ledgerstate_old/transfer_output.go b/packages/ledgerstate_old/transfer_output.go
deleted file mode 100644
index b59af031..00000000
--- a/packages/ledgerstate_old/transfer_output.go
+++ /dev/null
@@ -1,97 +0,0 @@
-package ledgerstate
-
-import (
-	"github.com/iotaledger/goshimmer/packages/objectstorage"
-)
-
-// region TransferOutput ///////////////////////////////////////////////////////////////////////////////////////////////
-
-type TransferOutput struct {
-	ledgerState     *LedgerState
-	realityId       RealityId
-	addressHash     AddressHash
-	transferHash    TransferHash
-	coloredBalances map[Color]*ColoredBalance
-	consumers       []TransferHash
-}
-
-func NewTransferOutput(ledgerState *LedgerState, realityId RealityId, addressHash AddressHash, transferHash TransferHash, coloredBalances ...*ColoredBalance) (result *TransferOutput) {
-	result = &TransferOutput{
-		ledgerState:     ledgerState,
-		addressHash:     addressHash,
-		transferHash:    transferHash,
-		coloredBalances: make(map[Color]*ColoredBalance),
-		realityId:       realityId,
-		consumers:       make([]TransferHash, 0),
-	}
-
-	for _, balance := range coloredBalances {
-		result.coloredBalances[balance.GetColor()] = balance
-	}
-
-	return
-}
-
-func (transferOutput *TransferOutput) GetId() []byte {
-	return nil
-}
-
-func (transferOutput *TransferOutput) Update(otherObject objectstorage.StorableObject) {
-	if otherTransferOutput, ok := otherObject.(*TransferOutput); !ok {
-		panic("Update expects the passed in object to be a valid *TransferOutput")
-	} else {
-		transferOutput.realityId = otherTransferOutput.realityId
-	}
-}
-
-func (transferOutput *TransferOutput) Marshal() ([]byte, error) {
-	return nil, nil
-}
-func (transferOutput *TransferOutput) Unmarshal(key []byte, serializedObject []byte) (objectstorage.StorableObject, error) {
-	return &TransferOutput{}, nil
-}
-
-func (transferOutput *TransferOutput) GetRealityId() RealityId {
-	return transferOutput.realityId
-}
-
-func (transferOutput *TransferOutput) GetReality(realityId RealityId) *Reality {
-	return transferOutput.ledgerState.GetReality(realityId)
-}
-
-func (transferOutput *TransferOutput) GetAddressHash() AddressHash {
-	return transferOutput.addressHash
-}
-
-func (transferOutput *TransferOutput) GetTransferHash() TransferHash {
-	return transferOutput.transferHash
-}
-
-func (transferOutput *TransferOutput) GetColoredBalances() map[Color]*ColoredBalance {
-	return transferOutput.coloredBalances
-}
-
-func (transferOutput *TransferOutput) GetConsumers() []TransferHash {
-	return transferOutput.consumers
-}
-
-func (transferOutput *TransferOutput) Exists() bool {
-	return transferOutput != nil
-}
-
-func (transferOutput *TransferOutput) String() (result string) {
-	result = "TransferOutput {\n"
-	result += "    RealityHash:  \"" + string(transferOutput.realityId[:]) + "\",\n"
-	result += "    AddressHash:  \"" + string(transferOutput.addressHash[:]) + "\",\n"
-	result += "    TransferHash: \"" + string(transferOutput.transferHash[:]) + "\",\n"
-
-	for _, coloredBalance := range transferOutput.coloredBalances {
-		result += "    " + coloredBalance.String() + ",\n"
-	}
-
-	result += "}"
-
-	return
-}
-
-// endregion ///////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/packages/ledgerstate_old/transfer_output_booking.go b/packages/ledgerstate_old/transfer_output_booking.go
deleted file mode 100644
index 22a77fda..00000000
--- a/packages/ledgerstate_old/transfer_output_booking.go
+++ /dev/null
@@ -1,108 +0,0 @@
-package ledgerstate
-
-import (
-	"github.com/iotaledger/goshimmer/packages/objectstorage"
-)
-
-// region struct + constructor + public api ////////////////////////////////////////////////////////////////////////////
-
-type TransferOutputBooking struct {
-	id           [marshalTransferOutputBookingTotalLength]byte
-	realityId    RealityId
-	addressHash  AddressHash
-	spent        bool
-	transferHash TransferHash
-}
-
-func newTransferOutputBooking(realityId RealityId, addressHash AddressHash, spent bool, transferHash TransferHash) (result *TransferOutputBooking) {
-	result = &TransferOutputBooking{
-		realityId:    realityId,
-		addressHash:  addressHash,
-		spent:        spent,
-		transferHash: transferHash,
-	}
-
-	result.buildId()
-
-	return
-}
-
-func (booking *TransferOutputBooking) GetRealityId() RealityId {
-	return booking.realityId
-}
-
-func (booking *TransferOutputBooking) GetAddressHash() AddressHash {
-	return booking.addressHash
-}
-
-func (booking *TransferOutputBooking) IsSpent() bool {
-	return booking.spent
-}
-
-func (booking *TransferOutputBooking) GetTransferHash() TransferHash {
-	return booking.transferHash
-}
-
-// endregion ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-// region support object storage ///////////////////////////////////////////////////////////////////////////////////////
-
-func (booking *TransferOutputBooking) GetId() []byte {
-	return booking.id[:]
-}
-
-func (booking *TransferOutputBooking) Update(other objectstorage.StorableObject) {
-	if otherBooking, ok := other.(*TransferOutputBooking); !ok {
-		panic("Update method expects a *TransferOutputBooking")
-	} else {
-		booking.realityId = otherBooking.realityId
-		booking.addressHash = otherBooking.addressHash
-		booking.spent = otherBooking.spent
-		booking.transferHash = otherBooking.transferHash
-	}
-}
-
-func (booking *TransferOutputBooking) Marshal() ([]byte, error) {
-	return []byte{}, nil
-}
-
-func (booking *TransferOutputBooking) Unmarshal(key []byte, serializedObject []byte) (objectstorage.StorableObject, error) {
-	if len(key) < marshalTransferOutputBookingTotalLength {
-		return nil, ErrUnmarshalFailed.Derive("unmarshal failed: the length of the key is to short")
-	}
-
-	result := &TransferOutputBooking{}
-
-	copy(result.realityId[:], key[marshalTransferOutputBookingRealityIdStart:marshalTransferOutputBookingRealityIdEnd])
-	copy(result.addressHash[:], key[marshalTransferOutputBookingAddressHashStart:marshalTransferOutputBookingAddressHashEnd])
-	switch key[marshalTransferOutputBookingSpentStart] {
-	case UNSPENT_SEPARATOR_BYTE:
-		result.spent = false
-	case SPENT_SEPARATOR_BYTE:
-		result.spent = true
-	default:
-		return nil, ErrUnmarshalFailed.Derive("unmarshal failed: invalid spent separator in key")
-	}
-	copy(result.transferHash[:], key[marshalTransferOutputBookingTransferHashStart:marshalTransferOutputBookingTransferHashEnd])
-
-	result.buildId()
-
-	return result, nil
-}
-
-// endregion ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-// region private utility methods //////////////////////////////////////////////////////////////////////////////////////
-
-func (booking *TransferOutputBooking) buildId() {
-	copy(booking.id[marshalTransferOutputBookingRealityIdStart:marshalTransferOutputBookingRealityIdEnd], booking.realityId[:realityIdLength])
-	copy(booking.id[marshalTransferOutputBookingAddressHashStart:marshalTransferOutputBookingAddressHashEnd], booking.addressHash[:addressHashLength])
-	if booking.spent {
-		booking.id[marshalTransferOutputBookingSpentStart] = SPENT_SEPARATOR_BYTE
-	} else {
-		booking.id[marshalTransferOutputBookingSpentStart] = UNSPENT_SEPARATOR_BYTE
-	}
-	copy(booking.id[marshalTransferOutputBookingTransferHashStart:marshalTransferOutputBookingTransferHashEnd], booking.addressHash[:transferHashLength])
-}
-
-// endregion ///////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/packages/ledgerstate_old/transfer_output_reference.go b/packages/ledgerstate_old/transfer_output_reference.go
deleted file mode 100644
index 7b048d6b..00000000
--- a/packages/ledgerstate_old/transfer_output_reference.go
+++ /dev/null
@@ -1,31 +0,0 @@
-package ledgerstate
-
-type TransferOutputReference struct {
-	id           [transferHashLength + addressHashLength]byte
-	transferHash TransferHash
-	addressHash  AddressHash
-}
-
-func NewTransferOutputReference(transferHash TransferHash, addressHash AddressHash) (result *TransferOutputReference) {
-	result = &TransferOutputReference{
-		transferHash: transferHash,
-		addressHash:  addressHash,
-	}
-
-	copy(result.id[0:], transferHash[:transferHashLength])
-	copy(result.id[transferHashLength:], addressHash[:addressHashLength])
-
-	return
-}
-
-func (reference *TransferOutputReference) GetId() []byte {
-	return reference.id[:]
-}
-
-func (reference *TransferOutputReference) GetTransferHash() TransferHash {
-	return reference.transferHash
-}
-
-func (reference *TransferOutputReference) GetAddressHash() AddressHash {
-	return reference.addressHash
-}
diff --git a/packages/ledgerstate_old/transfer_output_reference_old.go b/packages/ledgerstate_old/transfer_output_reference_old.go
deleted file mode 100644
index 508f26e0..00000000
--- a/packages/ledgerstate_old/transfer_output_reference_old.go
+++ /dev/null
@@ -1,27 +0,0 @@
-package ledgerstate
-
-type TransferOutputReferenceOld struct {
-	realityId    RealityId
-	addressHash  AddressHash
-	transferHash TransferHash
-}
-
-func NewTransferOutputReferenceOld(realityId RealityId, addressHash AddressHash, transferHash TransferHash) *TransferOutputReferenceOld {
-	return &TransferOutputReferenceOld{
-		realityId:    realityId,
-		addressHash:  addressHash,
-		transferHash: transferHash,
-	}
-}
-
-func (reference *TransferOutputReferenceOld) GetRealityId() RealityId {
-	return reference.realityId
-}
-
-func (reference *TransferOutputReferenceOld) GetAddressHash() AddressHash {
-	return reference.addressHash
-}
-
-func (reference *TransferOutputReferenceOld) GetTransferHash() TransferHash {
-	return reference.transferHash
-}
diff --git a/packages/ledgerstate_old/transfer_output_storage.go b/packages/ledgerstate_old/transfer_output_storage.go
deleted file mode 100644
index 0187dc67..00000000
--- a/packages/ledgerstate_old/transfer_output_storage.go
+++ /dev/null
@@ -1,195 +0,0 @@
-package ledgerstate
-
-import (
-	"sync"
-
-	"github.com/iotaledger/goshimmer/packages/objectstorage"
-
-	"github.com/iotaledger/goshimmer/packages/errors"
-)
-
-// region TransferOutputStorage ////////////////////////////////////////////////////////////////////////////////////////
-
-type TransferOutputStorage interface {
-	LoadTransferOutput(transferOutputReference *TransferOutputReferenceOld) (result *TransferOutput, err errors.IdentifiableError)
-	StoreTransferOutput(transferOutput *TransferOutput) (err errors.IdentifiableError)
-	ForEach(callback func(transferOutput *TransferOutput), filters ...TransferOutputStorageFilter)
-}
-
-type TransferOutputStorageFactory func(id []byte) TransferOutputStorage
-
-// endregion ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-// region TransferOutputStorageFilters /////////////////////////////////////////////////////////////////////////////////
-
-type TransferOutputStorageFilters struct {
-	FilterUnspent bool
-	FilterSpent   bool
-	Realities     map[RealityId]bool
-	Addresses     map[AddressHash]bool
-}
-
-func newTransportOutputStorageFilters(optionalFilters ...TransferOutputStorageFilter) *TransferOutputStorageFilters {
-	result := &TransferOutputStorageFilters{
-		FilterUnspent: false,
-		FilterSpent:   false,
-		Realities:     make(map[RealityId]bool),
-		Addresses:     make(map[AddressHash]bool),
-	}
-
-	for _, optionalFilter := range optionalFilters {
-		optionalFilter(result)
-	}
-
-	return result
-}
-
-type TransferOutputStorageFilter func(*TransferOutputStorageFilters)
-
-func FilterSpent() TransferOutputStorageFilter {
-	return func(args *TransferOutputStorageFilters) {
-		args.FilterSpent = true
-	}
-}
-
-func FilterUnspent() TransferOutputStorageFilter {
-	return func(args *TransferOutputStorageFilters) {
-		args.FilterUnspent = true
-	}
-}
-
-func FilterRealities(realities ...RealityId) TransferOutputStorageFilter {
-	return func(args *TransferOutputStorageFilters) {
-		for _, reality := range realities {
-			args.Realities[reality] = true
-		}
-	}
-}
-
-func FilterAddresses(addresses ...AddressHash) TransferOutputStorageFilter {
-	return func(args *TransferOutputStorageFilters) {
-		for _, reality := range addresses {
-			args.Addresses[reality] = true
-		}
-	}
-}
-
-// endregion ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-// region TransportOutputStorageMemory /////////////////////////////////////////////////////////////////////////////////
-
-type TransferOutputStorageMemory struct {
-	id []byte
-	// the actual transfer outputs (prefixed by reality, address, spent/unspent, transfer hash)
-	transferOutputs        *objectstorage.ObjectStorage
-	transferOutputBookings *objectstorage.ObjectStorage
-
-	unspentTransferOutputsOld map[RealityId]map[AddressHash]map[TransferHash]bool
-	spentTransferOutputsOld   map[RealityId]map[AddressHash]map[TransferHash]bool
-	transferOutputsOld        map[AddressHash]map[TransferHash]*TransferOutput
-	mutex                     sync.RWMutex
-}
-
-func newTransferOutputStorageMemory(id []byte) TransferOutputStorage {
-	return &TransferOutputStorageMemory{
-		id:                     id,
-		transferOutputs:        objectstorage.New(string(id)+"TRANSFER_OUTPUTS", &TransferOutput{}),
-		transferOutputBookings: objectstorage.New(string(id)+"TRANSFER_OUTPUT_REFERENCES", &TransferOutputBooking{}),
-
-		unspentTransferOutputsOld: make(map[RealityId]map[AddressHash]map[TransferHash]bool),
-		spentTransferOutputsOld:   make(map[RealityId]map[AddressHash]map[TransferHash]bool),
-		transferOutputsOld:        make(map[AddressHash]map[TransferHash]*TransferOutput),
-	}
-}
-
-func (transferOutputStorage *TransferOutputStorageMemory) StoreTransferOutput(transferOutput *TransferOutput) (err errors.IdentifiableError) {
-	transferOutputStorage.transferOutputs.Store(transferOutput).Release()
-	transferOutputStorage.mutex.Lock()
-
-	var targetList map[RealityId]map[AddressHash]map[TransferHash]bool
-	if len(transferOutput.GetConsumers()) >= 1 {
-		targetList = transferOutputStorage.spentTransferOutputsOld
-	} else {
-		targetList = transferOutputStorage.unspentTransferOutputsOld
-	}
-
-	reality, realityExists := targetList[transferOutput.GetRealityId()]
-	if !realityExists {
-		reality = make(map[AddressHash]map[TransferHash]bool)
-
-		targetList[transferOutput.GetRealityId()] = reality
-	}
-
-	address, addressExists := reality[transferOutput.GetAddressHash()]
-	if !addressExists {
-		address = make(map[TransferHash]bool)
-
-		reality[transferOutput.GetAddressHash()] = address
-	}
-
-	address[transferOutput.GetTransferHash()] = true
-
-	transferOutputStorage.mutex.Unlock()
-
-	return
-}
-
-func (transferOutputStorage *TransferOutputStorageMemory) LoadTransferOutput(transferOutputReference *TransferOutputReferenceOld) (result *TransferOutput, err errors.IdentifiableError) {
-	if cachedTransferOutput, loadErr := transferOutputStorage.transferOutputs.Load([]byte{1, 2}[:]); loadErr != nil {
-		err = ErrInvalidTransfer.Derive(loadErr.Error())
-	} else if cachedTransferOutput.Exists() {
-		result = cachedTransferOutput.Get().(*TransferOutput)
-
-		cachedTransferOutput.Release()
-	}
-
-	return
-}
-
-func (transferOutputStorage *TransferOutputStorageMemory) IterateRealities(realities map[RealityId]map[AddressHash]map[TransferHash]*TransferOutput, filter *TransferOutputStorageFilters, callback func(transferOutput *TransferOutput)) {
-	if len(filter.Realities) >= 1 {
-		for realityId := range filter.Realities {
-			if reality, realityExists := realities[realityId]; realityExists {
-				transferOutputStorage.IterateAddresses(reality, filter, callback)
-			}
-		}
-	} else {
-		for _, reality := range realities {
-			transferOutputStorage.IterateAddresses(reality, filter, callback)
-		}
-	}
-}
-
-func (transferOutputStorage *TransferOutputStorageMemory) IterateAddresses(addresses map[AddressHash]map[TransferHash]*TransferOutput, filter *TransferOutputStorageFilters, callback func(transferOutput *TransferOutput)) {
-	if len(filter.Addresses) >= 1 {
-		for addressHash := range filter.Addresses {
-			if address, addressExists := addresses[addressHash]; addressExists {
-				transferOutputStorage.IterateTransferOutputs(address, filter, callback)
-			}
-		}
-	} else {
-		for _, address := range addresses {
-			transferOutputStorage.IterateTransferOutputs(address, filter, callback)
-		}
-	}
-}
-
-func (transferOutputStorage *TransferOutputStorageMemory) IterateTransferOutputs(transferOutputs map[TransferHash]*TransferOutput, filter *TransferOutputStorageFilters, callback func(transferOutput *TransferOutput)) {
-	for _, transferOutput := range transferOutputs {
-		callback(transferOutput)
-	}
-}
-
-func (transferOutputStorage *TransferOutputStorageMemory) ForEach(callback func(transferOutput *TransferOutput), filters ...TransferOutputStorageFilter) {
-	//filter := newTransportOutputStorageFilters(filters...)
-
-	/*
-		if filter.FilterUnspent || !filter.FilterUnspent && !filter.FilterSpent {
-			transferOutputStorage.IterateRealities(transferOutputStorage.unspentTransferOutputsOld, filter, callback)
-		}
-		if filter.FilterUnspent || !filter.FilterUnspent && !filter.FilterSpent {
-			transferOutputStorage.IterateRealities(transferOutputStorage.spentTransferOutputsOld, filter, callback)
-		}*/
-}
-
-// endregion ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-- 
GitLab