From 0c2b09a9ba771b3b04a0a08ed940823bd8601a9f Mon Sep 17 00:00:00 2001 From: Roman Chvanikov Date: Fri, 8 May 2020 22:08:11 +0300 Subject: [PATCH 001/108] Add migration for counter_cache table update --- ...00508092434_update_counter_cache_table.exs | 144 ++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 priv/repo/migrations/20200508092434_update_counter_cache_table.exs diff --git a/priv/repo/migrations/20200508092434_update_counter_cache_table.exs b/priv/repo/migrations/20200508092434_update_counter_cache_table.exs new file mode 100644 index 000000000..81a8d6397 --- /dev/null +++ b/priv/repo/migrations/20200508092434_update_counter_cache_table.exs @@ -0,0 +1,144 @@ +defmodule Pleroma.Repo.Migrations.UpdateCounterCacheTable do + use Ecto.Migration + + @function_name "update_status_visibility_counter_cache" + @trigger_name "status_visibility_counter_cache_trigger" + + def up do + execute("drop trigger if exists #{@trigger_name} on activities") + execute("drop function if exists #{@function_name}()") + drop_if_exists(unique_index(:counter_cache, [:name])) + drop_if_exists(table(:counter_cache)) + + create_if_not_exists table(:counter_cache) do + add(:instance, :string, null: false) + add(:direct, :bigint, null: false, default: 0) + add(:private, :bigint, null: false, default: 0) + add(:unlisted, :bigint, null: false, default: 0) + add(:public, :bigint, null: false, default: 0) + end + + create_if_not_exists(unique_index(:counter_cache, [:instance])) + + """ + CREATE OR REPLACE FUNCTION #{@function_name}() + RETURNS TRIGGER AS + $$ + DECLARE + token_id smallint; + hostname character varying(255); + visibility_new character varying(64); + visibility_old character varying(64); + actor character varying(255); + BEGIN + SELECT "tokid" INTO "token_id" FROM ts_token_type('default') WHERE "alias" = 'host'; + IF TG_OP = 'DELETE' THEN + actor := OLD.actor; + ELSE + actor := NEW.actor; + END IF; + SELECT "token" INTO "hostname" FROM ts_parse('default', actor) WHERE "tokid" = token_id; + IF hostname IS NULL THEN + hostname := split_part(actor, '/', 3); + END IF; + IF TG_OP = 'INSERT' THEN + visibility_new := activity_visibility(NEW.actor, NEW.recipients, NEW.data); + IF NEW.data->>'type' = 'Create' THEN + EXECUTE format('INSERT INTO "counter_cache" ("instance", %1$I) VALUES ($1, 1) + ON CONFLICT ("instance") DO + UPDATE SET %1$I = "counter_cache".%1$I + 1', visibility_new) + USING hostname; + END IF; + RETURN NEW; + ELSIF TG_OP = 'UPDATE' THEN + visibility_new := activity_visibility(NEW.actor, NEW.recipients, NEW.data); + visibility_old := activity_visibility(OLD.actor, OLD.recipients, OLD.data); + IF (NEW.data->>'type' = 'Create') and (OLD.data->>'type' = 'Create') and visibility_new != visibility_old THEN + EXECUTE format('UPDATE "counter_cache" SET + %1$I = greatest("counter_cache".%1$I - 1, 0), + %2$I = "counter_cache".%2$I + 1 + WHERE "instance" = $1', visibility_old, visibility_new) + USING hostname; + END IF; + RETURN NEW; + ELSIF TG_OP = 'DELETE' THEN + IF OLD.data->>'type' = 'Create' THEN + visibility_old := activity_visibility(OLD.actor, OLD.recipients, OLD.data); + EXECUTE format('UPDATE "counter_cache" SET + %1$I = greatest("counter_cache".%1$I - 1, 0) + WHERE "instance" = $1', visibility_old) + USING hostname; + END IF; + RETURN OLD; + END IF; + END; + $$ + LANGUAGE 'plpgsql'; + """ + |> execute() + + execute("DROP TRIGGER IF EXISTS #{@trigger_name} ON activities") + + """ + CREATE TRIGGER #{@trigger_name} + BEFORE + INSERT + OR UPDATE of recipients, data + OR DELETE + ON activities + FOR EACH ROW + EXECUTE PROCEDURE #{@function_name}(); + """ + |> execute() + end + + def down do + execute("DROP TRIGGER IF EXISTS #{@trigger_name} ON activities") + execute("DROP FUNCTION IF EXISTS #{@function_name}()") + drop_if_exists(unique_index(:counter_cache, [:instance])) + drop_if_exists(table(:counter_cache)) + + create_if_not_exists table(:counter_cache) do + add(:name, :string, null: false) + add(:count, :bigint, null: false, default: 0) + end + + create_if_not_exists(unique_index(:counter_cache, [:name])) + + """ + CREATE OR REPLACE FUNCTION #{@function_name}() + RETURNS TRIGGER AS + $$ + DECLARE + BEGIN + IF TG_OP = 'INSERT' THEN + IF NEW.data->>'type' = 'Create' THEN + EXECUTE 'INSERT INTO counter_cache (name, count) VALUES (''status_visibility_' || activity_visibility(NEW.actor, NEW.recipients, NEW.data) || ''', 1) ON CONFLICT (name) DO UPDATE SET count = counter_cache.count + 1'; + END IF; + RETURN NEW; + ELSIF TG_OP = 'UPDATE' THEN + IF (NEW.data->>'type' = 'Create') and (OLD.data->>'type' = 'Create') and activity_visibility(NEW.actor, NEW.recipients, NEW.data) != activity_visibility(OLD.actor, OLD.recipients, OLD.data) THEN + EXECUTE 'INSERT INTO counter_cache (name, count) VALUES (''status_visibility_' || activity_visibility(NEW.actor, NEW.recipients, NEW.data) || ''', 1) ON CONFLICT (name) DO UPDATE SET count = counter_cache.count + 1'; + EXECUTE 'update counter_cache SET count = counter_cache.count - 1 where count > 0 and name = ''status_visibility_' || activity_visibility(OLD.actor, OLD.recipients, OLD.data) || ''';'; + END IF; + RETURN NEW; + ELSIF TG_OP = 'DELETE' THEN + IF OLD.data->>'type' = 'Create' THEN + EXECUTE 'update counter_cache SET count = counter_cache.count - 1 where count > 0 and name = ''status_visibility_' || activity_visibility(OLD.actor, OLD.recipients, OLD.data) || ''';'; + END IF; + RETURN OLD; + END IF; + END; + $$ + LANGUAGE 'plpgsql'; + """ + |> execute() + + """ + CREATE TRIGGER #{@trigger_name} BEFORE INSERT OR UPDATE of recipients, data OR DELETE ON activities + FOR EACH ROW + EXECUTE PROCEDURE #{@function_name}(); + """ + |> execute() + end +end From 39d2f2118aed7906cb352d8a37f22da73f3a3aa3 Mon Sep 17 00:00:00 2001 From: Roman Chvanikov Date: Sat, 9 May 2020 01:20:50 +0300 Subject: [PATCH 002/108] update counter_cache logic --- .../tasks/pleroma/refresh_counter_cache.ex | 42 ++++++++---- lib/pleroma/counter_cache.ex | 66 +++++++++++++++---- lib/pleroma/stats.ex | 8 +-- 3 files changed, 82 insertions(+), 34 deletions(-) diff --git a/lib/mix/tasks/pleroma/refresh_counter_cache.ex b/lib/mix/tasks/pleroma/refresh_counter_cache.ex index 15b4dbfa6..280201bef 100644 --- a/lib/mix/tasks/pleroma/refresh_counter_cache.ex +++ b/lib/mix/tasks/pleroma/refresh_counter_cache.ex @@ -17,30 +17,46 @@ defmodule Mix.Tasks.Pleroma.RefreshCounterCache do def run([]) do Mix.Pleroma.start_pleroma() - ["public", "unlisted", "private", "direct"] - |> Enum.each(fn visibility -> - count = status_visibility_count_query(visibility) - name = "status_visibility_#{visibility}" - CounterCache.set(name, count) - Mix.Pleroma.shell_info("Set #{name} to #{count}") + Activity + |> distinct([a], true) + |> select([a], fragment("split_part(?, '/', 3)", a.actor)) + |> Repo.all() + |> Enum.each(fn instance -> + counters = instance_counters(instance) + CounterCache.set(instance, counters) + Mix.Pleroma.shell_info("Setting #{instance} counters: #{inspect(counters)}") end) Mix.Pleroma.shell_info("Done") end - defp status_visibility_count_query(visibility) do + defp instance_counters(instance) do + counters = %{"public" => 0, "unlisted" => 0, "private" => 0, "direct" => 0} + Activity - |> where( + |> where([a], fragment("(? ->> 'type'::text) = 'Create'", a.data)) + |> where([a], like(a.actor, ^"%#{instance}%")) + |> select( + [a], + {fragment( + "activity_visibility(?, ?, ?)", + a.actor, + a.recipients, + a.data + ), count(a.id)} + ) + |> group_by( [a], fragment( - "activity_visibility(?, ?, ?) = ?", + "activity_visibility(?, ?, ?)", a.actor, a.recipients, - a.data, - ^visibility + a.data ) ) - |> where([a], fragment("(? ->> 'type'::text) = 'Create'", a.data)) - |> Repo.aggregate(:count, :id, timeout: :timer.minutes(30)) + |> Repo.all(timeout: :timer.minutes(30)) + |> Enum.reduce(counters, fn {visibility, count}, acc -> + Map.put(acc, visibility, count) + end) end end diff --git a/lib/pleroma/counter_cache.ex b/lib/pleroma/counter_cache.ex index 4d348a413..b469e7b50 100644 --- a/lib/pleroma/counter_cache.ex +++ b/lib/pleroma/counter_cache.ex @@ -10,32 +10,70 @@ defmodule Pleroma.CounterCache do import Ecto.Query schema "counter_cache" do - field(:name, :string) - field(:count, :integer) + field(:instance, :string) + field(:public, :integer) + field(:unlisted, :integer) + field(:private, :integer) + field(:direct, :integer) end def changeset(struct, params) do struct - |> cast(params, [:name, :count]) - |> validate_required([:name]) - |> unique_constraint(:name) + |> cast(params, [:instance, :public, :unlisted, :private, :direct]) + |> validate_required([:instance]) + |> unique_constraint(:instance) end - def get_as_map(names) when is_list(names) do + def get_by_instance(instance) do CounterCache - |> where([cc], cc.name in ^names) - |> Repo.all() - |> Enum.group_by(& &1.name, & &1.count) - |> Map.new(fn {k, v} -> {k, hd(v)} end) + |> select([c], %{ + "public" => c.public, + "unlisted" => c.unlisted, + "private" => c.private, + "direct" => c.direct + }) + |> where([c], c.instance == ^instance) + |> Repo.one() + |> case do + nil -> %{"public" => 0, "unlisted" => 0, "private" => 0, "direct" => 0} + val -> val + end end - def set(name, count) do + def get_as_map() do + CounterCache + |> select([c], %{ + "public" => sum(c.public), + "unlisted" => sum(c.unlisted), + "private" => sum(c.private), + "direct" => sum(c.direct) + }) + |> Repo.one() + end + + def set(instance, values) do + params = + Enum.reduce( + ["public", "private", "unlisted", "direct"], + %{"instance" => instance}, + fn param, acc -> + Map.put_new(acc, param, Map.get(values, param, 0)) + end + ) + %CounterCache{} - |> changeset(%{"name" => name, "count" => count}) + |> changeset(params) |> Repo.insert( - on_conflict: [set: [count: count]], + on_conflict: [ + set: [ + public: params["public"], + private: params["private"], + unlisted: params["unlisted"], + direct: params["direct"] + ] + ], returning: true, - conflict_target: :name + conflict_target: :instance ) end end diff --git a/lib/pleroma/stats.ex b/lib/pleroma/stats.ex index 6b3a8a41f..4e355bd5c 100644 --- a/lib/pleroma/stats.ex +++ b/lib/pleroma/stats.ex @@ -98,13 +98,7 @@ def calculate_stat_data do end def get_status_visibility_count do - counter_cache = - CounterCache.get_as_map([ - "status_visibility_public", - "status_visibility_private", - "status_visibility_unlisted", - "status_visibility_direct" - ]) + counter_cache = CounterCache.get_as_map() %{ public: counter_cache["status_visibility_public"] || 0, From cbe383ae832f13d5d2a20ee8fb5e85498205fbc3 Mon Sep 17 00:00:00 2001 From: Roman Chvanikov Date: Sat, 9 May 2020 11:30:37 +0300 Subject: [PATCH 003/108] Update stats admin endpoint --- lib/pleroma/counter_cache.ex | 6 +- lib/pleroma/stats.ex | 15 ++--- .../web/admin_api/admin_api_controller.ex | 7 +-- ...00508092434_update_counter_cache_table.exs | 8 ++- test/stats_test.exs | 55 ++++++++++++++++--- .../admin_api/admin_api_controller_test.exs | 20 +++++++ 6 files changed, 87 insertions(+), 24 deletions(-) diff --git a/lib/pleroma/counter_cache.ex b/lib/pleroma/counter_cache.ex index b469e7b50..a940b5e50 100644 --- a/lib/pleroma/counter_cache.ex +++ b/lib/pleroma/counter_cache.ex @@ -40,7 +40,7 @@ def get_by_instance(instance) do end end - def get_as_map() do + def get_sum() do CounterCache |> select([c], %{ "public" => sum(c.public), @@ -49,6 +49,10 @@ def get_as_map() do "direct" => sum(c.direct) }) |> Repo.one() + |> Enum.map(fn {visibility, dec_count} -> + {visibility, Decimal.to_integer(dec_count)} + end) + |> Enum.into(%{}) end def set(instance, values) do diff --git a/lib/pleroma/stats.ex b/lib/pleroma/stats.ex index 4e355bd5c..9a03f01db 100644 --- a/lib/pleroma/stats.ex +++ b/lib/pleroma/stats.ex @@ -97,14 +97,11 @@ def calculate_stat_data do } end - def get_status_visibility_count do - counter_cache = CounterCache.get_as_map() - - %{ - public: counter_cache["status_visibility_public"] || 0, - unlisted: counter_cache["status_visibility_unlisted"] || 0, - private: counter_cache["status_visibility_private"] || 0, - direct: counter_cache["status_visibility_direct"] || 0 - } + def get_status_visibility_count(instance \\ nil) do + if is_nil(instance) do + CounterCache.get_sum() + else + CounterCache.get_by_instance(instance) + end end end diff --git a/lib/pleroma/web/admin_api/admin_api_controller.ex b/lib/pleroma/web/admin_api/admin_api_controller.ex index 9f1fd3aeb..4db9f4cac 100644 --- a/lib/pleroma/web/admin_api/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/admin_api_controller.ex @@ -1122,11 +1122,10 @@ def oauth_app_delete(conn, params) do end end - def stats(conn, _) do - count = Stats.get_status_visibility_count() + def stats(conn, params) do + counters = Stats.get_status_visibility_count(params["instance"]) - conn - |> json(%{"status_visibility" => count}) + json(conn, %{"status_visibility" => counters}) end defp errors(conn, {:error, :not_found}) do diff --git a/priv/repo/migrations/20200508092434_update_counter_cache_table.exs b/priv/repo/migrations/20200508092434_update_counter_cache_table.exs index 81a8d6397..3d9bfc877 100644 --- a/priv/repo/migrations/20200508092434_update_counter_cache_table.exs +++ b/priv/repo/migrations/20200508092434_update_counter_cache_table.exs @@ -43,7 +43,8 @@ def up do END IF; IF TG_OP = 'INSERT' THEN visibility_new := activity_visibility(NEW.actor, NEW.recipients, NEW.data); - IF NEW.data->>'type' = 'Create' THEN + IF NEW.data->>'type' = 'Create' + AND visibility_new IN ('public', 'unlisted', 'private', 'direct') THEN EXECUTE format('INSERT INTO "counter_cache" ("instance", %1$I) VALUES ($1, 1) ON CONFLICT ("instance") DO UPDATE SET %1$I = "counter_cache".%1$I + 1', visibility_new) @@ -53,7 +54,10 @@ def up do ELSIF TG_OP = 'UPDATE' THEN visibility_new := activity_visibility(NEW.actor, NEW.recipients, NEW.data); visibility_old := activity_visibility(OLD.actor, OLD.recipients, OLD.data); - IF (NEW.data->>'type' = 'Create') and (OLD.data->>'type' = 'Create') and visibility_new != visibility_old THEN + IF (NEW.data->>'type' = 'Create') + AND (OLD.data->>'type' = 'Create') + AND visibility_new != visibility_old + AND visibility_new IN ('public', 'unlisted', 'private', 'direct') THEN EXECUTE format('UPDATE "counter_cache" SET %1$I = greatest("counter_cache".%1$I - 1, 0), %2$I = "counter_cache".%2$I + 1 diff --git a/test/stats_test.exs b/test/stats_test.exs index c1aeb2c7f..33ed0b7dd 100644 --- a/test/stats_test.exs +++ b/test/stats_test.exs @@ -17,10 +17,11 @@ test "it ignores internal users" do end end - describe "status visibility count" do + describe "status visibility sum count" do test "on new status" do + instance2 = "instance2.tld" user = insert(:user) - other_user = insert(:user) + other_user = insert(:user, %{ap_id: "https://#{instance2}/@actor"}) CommonAPI.post(user, %{"visibility" => "public", "status" => "hey"}) @@ -45,24 +46,24 @@ test "on new status" do }) end) - assert %{direct: 3, private: 4, public: 1, unlisted: 2} = + assert %{"direct" => 3, "private" => 4, "public" => 1, "unlisted" => 2} = Pleroma.Stats.get_status_visibility_count() end test "on status delete" do user = insert(:user) {:ok, activity} = CommonAPI.post(user, %{"visibility" => "public", "status" => "hey"}) - assert %{public: 1} = Pleroma.Stats.get_status_visibility_count() + assert %{"public" => 1} = Pleroma.Stats.get_status_visibility_count() CommonAPI.delete(activity.id, user) - assert %{public: 0} = Pleroma.Stats.get_status_visibility_count() + assert %{"public" => 0} = Pleroma.Stats.get_status_visibility_count() end test "on status visibility update" do user = insert(:user) {:ok, activity} = CommonAPI.post(user, %{"visibility" => "public", "status" => "hey"}) - assert %{public: 1, private: 0} = Pleroma.Stats.get_status_visibility_count() + assert %{"public" => 1, "private" => 0} = Pleroma.Stats.get_status_visibility_count() {:ok, _} = CommonAPI.update_activity_scope(activity.id, %{"visibility" => "private"}) - assert %{public: 0, private: 1} = Pleroma.Stats.get_status_visibility_count() + assert %{"public" => 0, "private" => 1} = Pleroma.Stats.get_status_visibility_count() end test "doesn't count unrelated activities" do @@ -73,8 +74,46 @@ test "doesn't count unrelated activities" do CommonAPI.favorite(other_user, activity.id) CommonAPI.repeat(activity.id, other_user) - assert %{direct: 0, private: 0, public: 1, unlisted: 0} = + assert %{"direct" => 0, "private" => 0, "public" => 1, "unlisted" => 0} = Pleroma.Stats.get_status_visibility_count() end end + + describe "status visibility by instance count" do + test "single instance" do + local_instance = Pleroma.Web.Endpoint.url() |> String.split("//") |> Enum.at(1) + instance2 = "instance2.tld" + user1 = insert(:user) + user2 = insert(:user, %{ap_id: "https://#{instance2}/@actor"}) + + CommonAPI.post(user1, %{"visibility" => "public", "status" => "hey"}) + + Enum.each(1..5, fn _ -> + CommonAPI.post(user1, %{ + "visibility" => "unlisted", + "status" => "hey" + }) + end) + + Enum.each(1..10, fn _ -> + CommonAPI.post(user1, %{ + "visibility" => "direct", + "status" => "hey @#{user2.nickname}" + }) + end) + + Enum.each(1..20, fn _ -> + CommonAPI.post(user2, %{ + "visibility" => "private", + "status" => "hey" + }) + end) + + assert %{"direct" => 10, "private" => 0, "public" => 1, "unlisted" => 5} = + Pleroma.Stats.get_status_visibility_count(local_instance) + + assert %{"direct" => 0, "private" => 20, "public" => 0, "unlisted" => 0} = + Pleroma.Stats.get_status_visibility_count(instance2) + end + end end diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs index 4697af50e..c3de89ac0 100644 --- a/test/web/admin_api/admin_api_controller_test.exs +++ b/test/web/admin_api/admin_api_controller_test.exs @@ -3612,6 +3612,26 @@ test "status visibility count", %{conn: conn} do assert %{"direct" => 0, "private" => 0, "public" => 1, "unlisted" => 2} = response["status_visibility"] end + + test "by instance", %{conn: conn} do + admin = insert(:user, is_admin: true) + user1 = insert(:user) + instance2 = "instance2.tld" + user2 = insert(:user, %{ap_id: "https://#{instance2}/@actor"}) + + CommonAPI.post(user1, %{"visibility" => "public", "status" => "hey"}) + CommonAPI.post(user2, %{"visibility" => "unlisted", "status" => "hey"}) + CommonAPI.post(user2, %{"visibility" => "private", "status" => "hey"}) + + response = + conn + |> assign(:user, admin) + |> get("/api/pleroma/admin/stats", instance: instance2) + |> json_response(200) + + assert %{"direct" => 0, "private" => 1, "public" => 0, "unlisted" => 1} = + response["status_visibility"] + end end describe "POST /api/pleroma/admin/oauth_app" do From 01b06d6dbfdeff7e1733d575fb94eee4dafbb56a Mon Sep 17 00:00:00 2001 From: Roman Chvanikov Date: Sat, 9 May 2020 11:43:31 +0300 Subject: [PATCH 004/108] Show progress in refresh_counter_cache task --- .../tasks/pleroma/refresh_counter_cache.ex | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/mix/tasks/pleroma/refresh_counter_cache.ex b/lib/mix/tasks/pleroma/refresh_counter_cache.ex index 280201bef..b44e2545d 100644 --- a/lib/mix/tasks/pleroma/refresh_counter_cache.ex +++ b/lib/mix/tasks/pleroma/refresh_counter_cache.ex @@ -17,14 +17,21 @@ defmodule Mix.Tasks.Pleroma.RefreshCounterCache do def run([]) do Mix.Pleroma.start_pleroma() - Activity - |> distinct([a], true) - |> select([a], fragment("split_part(?, '/', 3)", a.actor)) - |> Repo.all() - |> Enum.each(fn instance -> + instances = + Activity + |> distinct([a], true) + |> select([a], fragment("split_part(?, '/', 3)", a.actor)) + |> Repo.all() + + instances + |> Enum.with_index(1) + |> Enum.each(fn {instance, i} -> counters = instance_counters(instance) CounterCache.set(instance, counters) - Mix.Pleroma.shell_info("Setting #{instance} counters: #{inspect(counters)}") + + Mix.Pleroma.shell_info( + "[#{i}/#{length(instances)}] Setting #{instance} counters: #{inspect(counters)}" + ) end) Mix.Pleroma.shell_info("Done") From 5c368b004b1a736836d4bc9f68c54714a33056cd Mon Sep 17 00:00:00 2001 From: Roman Chvanikov Date: Sat, 9 May 2020 11:49:54 +0300 Subject: [PATCH 005/108] Fix refresh_counter_cache test --- test/tasks/refresh_counter_cache_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/tasks/refresh_counter_cache_test.exs b/test/tasks/refresh_counter_cache_test.exs index b63f44c08..378664148 100644 --- a/test/tasks/refresh_counter_cache_test.exs +++ b/test/tasks/refresh_counter_cache_test.exs @@ -37,7 +37,7 @@ test "counts statuses" do assert capture_io(fn -> Mix.Tasks.Pleroma.RefreshCounterCache.run([]) end) =~ "Done\n" - assert %{direct: 3, private: 4, public: 1, unlisted: 2} = + assert %{"direct" => 3, "private" => 4, "public" => 1, "unlisted" => 2} = Pleroma.Stats.get_status_visibility_count() end end From 4f265397179e7286f27fafaf8365a0edc6972448 Mon Sep 17 00:00:00 2001 From: Roman Chvanikov Date: Sat, 9 May 2020 11:59:49 +0300 Subject: [PATCH 006/108] Fix credo warning --- lib/pleroma/counter_cache.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/counter_cache.ex b/lib/pleroma/counter_cache.ex index a940b5e50..aa6d38687 100644 --- a/lib/pleroma/counter_cache.ex +++ b/lib/pleroma/counter_cache.ex @@ -40,7 +40,7 @@ def get_by_instance(instance) do end end - def get_sum() do + def get_sum do CounterCache |> select([c], %{ "public" => sum(c.public), From 56819f7f0604e5d4eb69edba1d6828256acbc7fe Mon Sep 17 00:00:00 2001 From: Roman Chvanikov Date: Sat, 9 May 2020 13:13:26 +0300 Subject: [PATCH 007/108] Use index on refresh_counter_cache --- lib/mix/tasks/pleroma/refresh_counter_cache.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mix/tasks/pleroma/refresh_counter_cache.ex b/lib/mix/tasks/pleroma/refresh_counter_cache.ex index b44e2545d..efcbaa3b1 100644 --- a/lib/mix/tasks/pleroma/refresh_counter_cache.ex +++ b/lib/mix/tasks/pleroma/refresh_counter_cache.ex @@ -42,7 +42,7 @@ defp instance_counters(instance) do Activity |> where([a], fragment("(? ->> 'type'::text) = 'Create'", a.data)) - |> where([a], like(a.actor, ^"%#{instance}%")) + |> where([a], fragment("split_part(?, '/', 3) = ?", a.actor, ^instance)) |> select( [a], {fragment( From 4c197023903a183790fb2dc67b5637bfabd53bcb Mon Sep 17 00:00:00 2001 From: Roman Chvanikov Date: Sat, 9 May 2020 14:32:08 +0300 Subject: [PATCH 008/108] Add docs --- CHANGELOG.md | 12 ++++++++++++ docs/API/admin_api.md | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d469793f0..f2c9e106e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,9 +8,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Changed
API Changes + - **Breaking:** Emoji API: changed methods and renamed routes.
+
+ Admin API Changes + +- Status visibility stats: now can return stats per instance. + +- Mix task to refresh counter cache (`mix pleroma.refresh_counter_cache`) +
+ ### Removed - **Breaking:** removed `with_move` parameter from notifications timeline. @@ -76,6 +85,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). 2. Run database migrations (inside Pleroma directory): - OTP: `./bin/pleroma_ctl migrate` - From Source: `mix ecto.migrate` +3. Reset status visibility counters (inside Pleroma directory): + - OTP: `./bin/pleroma_ctl refresh_counter_cache` + - From Source: `mix pleroma.refresh_counter_cache` ## [2.0.2] - 2020-04-08 diff --git a/docs/API/admin_api.md b/docs/API/admin_api.md index c455047cc..fa74e7460 100644 --- a/docs/API/admin_api.md +++ b/docs/API/admin_api.md @@ -1096,6 +1096,10 @@ Loads json generated from `config/descriptions.exs`. ### Stats +- Query Params: + - *optional* `instance`: **string** instance hostname (without protocol) to get stats for +- Example: `https://mypleroma.org/api/pleroma/admin/stats?instance=lain.com` + - Response: ```json From f3f8ed9e19f1ab8863141ba8b31773c54f4771fb Mon Sep 17 00:00:00 2001 From: Roman Chvanikov Date: Sun, 10 May 2020 09:13:24 +0300 Subject: [PATCH 009/108] Set sum types in query --- lib/pleroma/counter_cache.ex | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lib/pleroma/counter_cache.ex b/lib/pleroma/counter_cache.ex index aa6d38687..ebd1f603d 100644 --- a/lib/pleroma/counter_cache.ex +++ b/lib/pleroma/counter_cache.ex @@ -43,16 +43,12 @@ def get_by_instance(instance) do def get_sum do CounterCache |> select([c], %{ - "public" => sum(c.public), - "unlisted" => sum(c.unlisted), - "private" => sum(c.private), - "direct" => sum(c.direct) + "public" => type(sum(c.public), :integer), + "unlisted" => type(sum(c.unlisted), :integer), + "private" => type(sum(c.private), :integer), + "direct" => type(sum(c.direct), :integer) }) |> Repo.one() - |> Enum.map(fn {visibility, dec_count} -> - {visibility, Decimal.to_integer(dec_count)} - end) - |> Enum.into(%{}) end def set(instance, values) do From 1be6b3056e97654612f377eaf3c8d80de6d8d77f Mon Sep 17 00:00:00 2001 From: Roman Chvanikov Date: Mon, 18 May 2020 12:38:16 +0300 Subject: [PATCH 010/108] Use indexed split_part/3 to get a hostname rather than ts_ functions --- .../20200508092434_update_counter_cache_table.exs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/priv/repo/migrations/20200508092434_update_counter_cache_table.exs b/priv/repo/migrations/20200508092434_update_counter_cache_table.exs index 3d9bfc877..738344868 100644 --- a/priv/repo/migrations/20200508092434_update_counter_cache_table.exs +++ b/priv/repo/migrations/20200508092434_update_counter_cache_table.exs @@ -25,22 +25,17 @@ def up do RETURNS TRIGGER AS $$ DECLARE - token_id smallint; hostname character varying(255); visibility_new character varying(64); visibility_old character varying(64); actor character varying(255); BEGIN - SELECT "tokid" INTO "token_id" FROM ts_token_type('default') WHERE "alias" = 'host'; IF TG_OP = 'DELETE' THEN actor := OLD.actor; ELSE actor := NEW.actor; END IF; - SELECT "token" INTO "hostname" FROM ts_parse('default', actor) WHERE "tokid" = token_id; - IF hostname IS NULL THEN - hostname := split_part(actor, '/', 3); - END IF; + hostname := split_part(actor, '/', 3); IF TG_OP = 'INSERT' THEN visibility_new := activity_visibility(NEW.actor, NEW.recipients, NEW.data); IF NEW.data->>'type' = 'Create' From d67b302810c53d92ace7c347c77eecc10be6bcd6 Mon Sep 17 00:00:00 2001 From: stwf Date: Tue, 12 May 2020 11:08:00 -0400 Subject: [PATCH 011/108] preload data into index.html --- config/config.exs | 25 ++-- .../web/fallback_redirect_controller.ex | 82 +++++++---- lib/pleroma/web/nodeinfo/nodeinfo.ex | 130 ++++++++++++++++++ .../web/nodeinfo/nodeinfo_controller.ex | 112 ++------------- lib/pleroma/web/preload.ex | 30 ++++ lib/pleroma/web/preload/instance.ex | 49 +++++++ lib/pleroma/web/preload/provider.ex | 7 + lib/pleroma/web/preload/timelines.ex | 42 ++++++ lib/pleroma/web/preload/user.ex | 25 ++++ lib/pleroma/web/router.ex | 2 +- test/plugs/instance_static_test.exs | 2 +- test/web/fallback_test.exs | 38 +++-- test/web/preload/instance_test.exs | 37 +++++ test/web/preload/timeline_test.exs | 74 ++++++++++ test/web/preload/user_test.exs | 33 +++++ 15 files changed, 532 insertions(+), 156 deletions(-) create mode 100644 lib/pleroma/web/nodeinfo/nodeinfo.ex create mode 100644 lib/pleroma/web/preload.ex create mode 100644 lib/pleroma/web/preload/instance.ex create mode 100644 lib/pleroma/web/preload/provider.ex create mode 100644 lib/pleroma/web/preload/timelines.ex create mode 100644 lib/pleroma/web/preload/user.ex create mode 100644 test/web/preload/instance_test.exs create mode 100644 test/web/preload/timeline_test.exs create mode 100644 test/web/preload/user_test.exs diff --git a/config/config.exs b/config/config.exs index d15998715..1539b15c6 100644 --- a/config/config.exs +++ b/config/config.exs @@ -240,18 +240,7 @@ account_field_value_length: 2048, external_user_synchronization: true, extended_nickname_format: true, - cleanup_attachments: false, - multi_factor_authentication: [ - totp: [ - # digits 6 or 8 - digits: 6, - period: 30 - ], - backup_codes: [ - number: 5, - length: 16 - ] - ] + cleanup_attachments: false config :pleroma, :feed, post_title: %{ @@ -360,8 +349,7 @@ reject: [], accept: [], avatar_removal: [], - banner_removal: [], - reject_deletes: [] + banner_removal: [] config :pleroma, :mrf_keyword, reject: [], @@ -427,6 +415,13 @@ ], unfurl_nsfw: false +config :pleroma, Pleroma.Web.Preload, + providers: [ + Pleroma.Web.Preload.Providers.Instance, + Pleroma.Web.Preload.Providers.User, + Pleroma.Web.Preload.Providers.Timelines + ] + config :pleroma, :http_security, enabled: true, sts: false, @@ -681,8 +676,6 @@ profiles: %{local: false, remote: false}, activities: %{local: false, remote: false} -config :pleroma, Pleroma.Web.ApiSpec.CastAndValidate, strict: false - # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{Mix.env()}.exs" diff --git a/lib/pleroma/web/fallback_redirect_controller.ex b/lib/pleroma/web/fallback_redirect_controller.ex index 0d9d578fc..932fb8d7e 100644 --- a/lib/pleroma/web/fallback_redirect_controller.ex +++ b/lib/pleroma/web/fallback_redirect_controller.ex @@ -4,11 +4,10 @@ defmodule Fallback.RedirectController do use Pleroma.Web, :controller - require Logger - alias Pleroma.User alias Pleroma.Web.Metadata + alias Pleroma.Web.Preload def api_not_implemented(conn, _params) do conn @@ -16,16 +15,7 @@ def api_not_implemented(conn, _params) do |> json(%{error: "Not implemented"}) end - def redirector(conn, _params, code \\ 200) - - # redirect to admin section - # /pleroma/admin -> /pleroma/admin/ - # - def redirector(conn, %{"path" => ["pleroma", "admin"]} = _, _code) do - redirect(conn, to: "/pleroma/admin/") - end - - def redirector(conn, _params, code) do + def redirector(conn, _params, code \\ 200) do conn |> put_resp_content_type("text/html") |> send_file(code, index_file_path()) @@ -43,28 +33,34 @@ def redirector_with_meta(conn, %{"maybe_nickname_or_id" => maybe_nickname_or_id} def redirector_with_meta(conn, params) do {:ok, index_content} = File.read(index_file_path()) - tags = - try do - Metadata.build_tags(params) - rescue - e -> - Logger.error( - "Metadata rendering for #{conn.request_path} failed.\n" <> - Exception.format(:error, e, __STACKTRACE__) - ) + tags = build_tags(conn, params) + preloads = preload_data(conn, params) - "" - end - - response = String.replace(index_content, "", tags) + response = + index_content + |> String.replace("", tags) + |> String.replace("", preloads) conn |> put_resp_content_type("text/html") |> send_resp(200, response) end - def index_file_path do - Pleroma.Plugs.InstanceStatic.file_path("index.html") + def redirector_with_preload(conn, %{"path" => ["pleroma", "admin"]}) do + redirect(conn, to: "/pleroma/admin/") + end + + def redirector_with_preload(conn, params) do + {:ok, index_content} = File.read(index_file_path()) + preloads = preload_data(conn, params) + + response = + index_content + |> String.replace("", preloads) + + conn + |> put_resp_content_type("text/html") + |> send_resp(200, response) end def registration_page(conn, params) do @@ -76,4 +72,36 @@ def empty(conn, _params) do |> put_status(204) |> text("") end + + defp index_file_path do + Pleroma.Plugs.InstanceStatic.file_path("index.html") + end + + defp build_tags(conn, params) do + try do + Metadata.build_tags(params) + rescue + e -> + Logger.error( + "Metadata rendering for #{conn.request_path} failed.\n" <> + Exception.format(:error, e, __STACKTRACE__) + ) + + "" + end + end + + defp preload_data(conn, params) do + try do + Preload.build_tags(conn, params) + rescue + e -> + Logger.error( + "Preloading for #{conn.request_path} failed.\n" <> + Exception.format(:error, e, __STACKTRACE__) + ) + + "" + end + end end diff --git a/lib/pleroma/web/nodeinfo/nodeinfo.ex b/lib/pleroma/web/nodeinfo/nodeinfo.ex new file mode 100644 index 000000000..d26b7c938 --- /dev/null +++ b/lib/pleroma/web/nodeinfo/nodeinfo.ex @@ -0,0 +1,130 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Nodeinfo.Nodeinfo do + alias Pleroma.Config + alias Pleroma.Stats + alias Pleroma.User + alias Pleroma.Web.ActivityPub.MRF + alias Pleroma.Web.Federator.Publisher + + # returns a nodeinfo 2.0 map, since 2.1 just adds a repository field + # under software. + def get_nodeinfo("2.0") do + stats = Stats.get_stats() + + quarantined = Config.get([:instance, :quarantined_instances], []) + + staff_accounts = + User.all_superusers() + |> Enum.map(fn u -> u.ap_id end) + + federation_response = + if Config.get([:instance, :mrf_transparency]) do + {:ok, data} = MRF.describe() + + data + |> Map.merge(%{quarantined_instances: quarantined}) + else + %{} + end + |> Map.put(:enabled, Config.get([:instance, :federating])) + + features = + [ + "pleroma_api", + "mastodon_api", + "mastodon_api_streaming", + "polls", + "pleroma_explicit_addressing", + "shareable_emoji_packs", + "multifetch", + "pleroma:api/v1/notifications:include_types_filter", + if Config.get([:media_proxy, :enabled]) do + "media_proxy" + end, + if Config.get([:gopher, :enabled]) do + "gopher" + end, + if Config.get([:chat, :enabled]) do + "chat" + end, + if Config.get([:instance, :allow_relay]) do + "relay" + end, + if Config.get([:instance, :safe_dm_mentions]) do + "safe_dm_mentions" + end, + "pleroma_emoji_reactions" + ] + |> Enum.filter(& &1) + + %{ + version: "2.0", + software: %{ + name: Pleroma.Application.name() |> String.downcase(), + version: Pleroma.Application.version() + }, + protocols: Publisher.gather_nodeinfo_protocol_names(), + services: %{ + inbound: [], + outbound: [] + }, + openRegistrations: Config.get([:instance, :registrations_open]), + usage: %{ + users: %{ + total: Map.get(stats, :user_count, 0) + }, + localPosts: Map.get(stats, :status_count, 0) + }, + metadata: %{ + nodeName: Config.get([:instance, :name]), + nodeDescription: Config.get([:instance, :description]), + private: !Config.get([:instance, :public], true), + suggestions: %{ + enabled: false + }, + staffAccounts: staff_accounts, + federation: federation_response, + pollLimits: Config.get([:instance, :poll_limits]), + postFormats: Config.get([:instance, :allowed_post_formats]), + uploadLimits: %{ + general: Config.get([:instance, :upload_limit]), + avatar: Config.get([:instance, :avatar_upload_limit]), + banner: Config.get([:instance, :banner_upload_limit]), + background: Config.get([:instance, :background_upload_limit]) + }, + fieldsLimits: %{ + maxFields: Config.get([:instance, :max_account_fields]), + maxRemoteFields: Config.get([:instance, :max_remote_account_fields]), + nameLength: Config.get([:instance, :account_field_name_length]), + valueLength: Config.get([:instance, :account_field_value_length]) + }, + accountActivationRequired: Config.get([:instance, :account_activation_required], false), + invitesEnabled: Config.get([:instance, :invites_enabled], false), + mailerEnabled: Config.get([Pleroma.Emails.Mailer, :enabled], false), + features: features, + restrictedNicknames: Config.get([Pleroma.User, :restricted_nicknames]), + skipThreadContainment: Config.get([:instance, :skip_thread_containment], false) + } + } + end + + def get_nodeinfo("2.1") do + raw_response = get_nodeinfo("2.0") + + updated_software = + raw_response + |> Map.get(:software) + |> Map.put(:repository, Pleroma.Application.repository()) + + raw_response + |> Map.put(:software, updated_software) + |> Map.put(:version, "2.1") + end + + def get_nodeinfo(_version) do + {:error, :missing} + end +end diff --git a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex index 721b599d4..8c7a9e565 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex @@ -5,12 +5,8 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do use Pleroma.Web, :controller - alias Pleroma.Config - alias Pleroma.Stats - alias Pleroma.User alias Pleroma.Web - alias Pleroma.Web.Federator.Publisher - alias Pleroma.Web.MastodonAPI.InstanceView + alias Pleroma.Web.Nodeinfo.Nodeinfo def schemas(conn, _params) do response = %{ @@ -29,102 +25,20 @@ def schemas(conn, _params) do json(conn, response) end - # returns a nodeinfo 2.0 map, since 2.1 just adds a repository field - # under software. - def raw_nodeinfo do - stats = Stats.get_stats() - - staff_accounts = - User.all_superusers() - |> Enum.map(fn u -> u.ap_id end) - - features = InstanceView.features() - federation = InstanceView.federation() - - %{ - version: "2.0", - software: %{ - name: Pleroma.Application.name() |> String.downcase(), - version: Pleroma.Application.version() - }, - protocols: Publisher.gather_nodeinfo_protocol_names(), - services: %{ - inbound: [], - outbound: [] - }, - openRegistrations: Config.get([:instance, :registrations_open]), - usage: %{ - users: %{ - total: Map.get(stats, :user_count, 0) - }, - localPosts: Map.get(stats, :status_count, 0) - }, - metadata: %{ - nodeName: Config.get([:instance, :name]), - nodeDescription: Config.get([:instance, :description]), - private: !Config.get([:instance, :public], true), - suggestions: %{ - enabled: false - }, - staffAccounts: staff_accounts, - federation: federation, - pollLimits: Config.get([:instance, :poll_limits]), - postFormats: Config.get([:instance, :allowed_post_formats]), - uploadLimits: %{ - general: Config.get([:instance, :upload_limit]), - avatar: Config.get([:instance, :avatar_upload_limit]), - banner: Config.get([:instance, :banner_upload_limit]), - background: Config.get([:instance, :background_upload_limit]) - }, - fieldsLimits: %{ - maxFields: Config.get([:instance, :max_account_fields]), - maxRemoteFields: Config.get([:instance, :max_remote_account_fields]), - nameLength: Config.get([:instance, :account_field_name_length]), - valueLength: Config.get([:instance, :account_field_value_length]) - }, - accountActivationRequired: Config.get([:instance, :account_activation_required], false), - invitesEnabled: Config.get([:instance, :invites_enabled], false), - mailerEnabled: Config.get([Pleroma.Emails.Mailer, :enabled], false), - features: features, - restrictedNicknames: Config.get([Pleroma.User, :restricted_nicknames]), - skipThreadContainment: Config.get([:instance, :skip_thread_containment], false) - } - } - end - # Schema definition: https://github.com/jhass/nodeinfo/blob/master/schemas/2.0/schema.json # and https://github.com/jhass/nodeinfo/blob/master/schemas/2.1/schema.json - def nodeinfo(conn, %{"version" => "2.0"}) do - conn - |> put_resp_header( - "content-type", - "application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8" - ) - |> json(raw_nodeinfo()) - end + def nodeinfo(conn, %{"version" => version}) do + case Nodeinfo.get_nodeinfo(version) do + {:error, :missing} -> + render_error(conn, :not_found, "Nodeinfo schema version not handled") - def nodeinfo(conn, %{"version" => "2.1"}) do - raw_response = raw_nodeinfo() - - updated_software = - raw_response - |> Map.get(:software) - |> Map.put(:repository, Pleroma.Application.repository()) - - response = - raw_response - |> Map.put(:software, updated_software) - |> Map.put(:version, "2.1") - - conn - |> put_resp_header( - "content-type", - "application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.1#; charset=utf-8" - ) - |> json(response) - end - - def nodeinfo(conn, _) do - render_error(conn, :not_found, "Nodeinfo schema version not handled") + node_info -> + conn + |> put_resp_header( + "content-type", + "application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8" + ) + |> json(node_info) + end end end diff --git a/lib/pleroma/web/preload.ex b/lib/pleroma/web/preload.ex new file mode 100644 index 000000000..c2211c597 --- /dev/null +++ b/lib/pleroma/web/preload.ex @@ -0,0 +1,30 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload do + alias Phoenix.HTML + require Logger + + def build_tags(_conn, params) do + preload_data = + Enum.reduce(Pleroma.Config.get([__MODULE__, :providers], []), %{}, fn parser, acc -> + Map.merge(acc, parser.generate_terms(params)) + end) + + rendered_html = + preload_data + |> Jason.encode!() + |> build_script_tag() + |> HTML.safe_to_string() + + rendered_html + end + + def build_script_tag(content) do + HTML.Tag.content_tag(:script, HTML.raw(content), + id: "initial-results", + type: "application/json" + ) + end +end diff --git a/lib/pleroma/web/preload/instance.ex b/lib/pleroma/web/preload/instance.ex new file mode 100644 index 000000000..0b6fd3313 --- /dev/null +++ b/lib/pleroma/web/preload/instance.ex @@ -0,0 +1,49 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.Instance do + alias Pleroma.Web.MastodonAPI.InstanceView + alias Pleroma.Web.Nodeinfo.Nodeinfo + alias Pleroma.Web.Preload.Providers.Provider + + @behaviour Provider + @instance_url :"/api/v1/instance" + @panel_url :"/instance/panel.html" + @nodeinfo_url :"/nodeinfo/2.0" + + @impl Provider + def generate_terms(_params) do + %{} + |> build_info_tag() + |> build_panel_tag() + |> build_nodeinfo_tag() + end + + defp build_info_tag(acc) do + info_data = InstanceView.render("show.json", %{}) + + Map.put(acc, @instance_url, info_data) + end + + defp build_panel_tag(acc) do + instance_path = Path.join(:code.priv_dir(:pleroma), "static/instance/panel.html") + + if File.exists?(instance_path) do + panel_data = File.read!(instance_path) + Map.put(acc, @panel_url, panel_data) + else + acc + end + end + + defp build_nodeinfo_tag(acc) do + case Nodeinfo.get_nodeinfo("2.0") do + {:error, _} -> + acc + + nodeinfo_data -> + Map.put(acc, @nodeinfo_url, nodeinfo_data) + end + end +end diff --git a/lib/pleroma/web/preload/provider.ex b/lib/pleroma/web/preload/provider.ex new file mode 100644 index 000000000..7ef595a34 --- /dev/null +++ b/lib/pleroma/web/preload/provider.ex @@ -0,0 +1,7 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.Provider do + @callback generate_terms(map()) :: map() +end diff --git a/lib/pleroma/web/preload/timelines.ex b/lib/pleroma/web/preload/timelines.ex new file mode 100644 index 000000000..dbd7db407 --- /dev/null +++ b/lib/pleroma/web/preload/timelines.ex @@ -0,0 +1,42 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.Timelines do + alias Pleroma.Web.ActivityPub.ActivityPub + alias Pleroma.Web.MastodonAPI.StatusView + alias Pleroma.Web.Preload.Providers.Provider + + @behaviour Provider + @public_url :"/api/v1/timelines/public" + + @impl Provider + def generate_terms(_params) do + build_public_tag(%{}) + end + + def build_public_tag(acc) do + if Pleroma.Config.get([:restrict_unauthenticated, :timelines, :federated], true) do + acc + else + Map.put(acc, @public_url, public_timeline(nil)) + end + end + + defp public_timeline(user) do + activities = + create_timeline_params(user) + |> Map.put("local_only", false) + |> ActivityPub.fetch_public_activities() + + StatusView.render("index.json", activities: activities, for: user, as: :activity) + end + + defp create_timeline_params(user) do + %{} + |> Map.put("type", ["Create", "Announce"]) + |> Map.put("blocking_user", user) + |> Map.put("muting_user", user) + |> Map.put("user", user) + end +end diff --git a/lib/pleroma/web/preload/user.ex b/lib/pleroma/web/preload/user.ex new file mode 100644 index 000000000..3a244845b --- /dev/null +++ b/lib/pleroma/web/preload/user.ex @@ -0,0 +1,25 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.User do + alias Pleroma.Web.MastodonAPI.AccountView + alias Pleroma.Web.Preload.Providers.Provider + + @behaviour Provider + @account_url :"/api/v1/accounts" + + @impl Provider + def generate_terms(%{user: user}) do + build_accounts_tag(%{}, user) + end + + def generate_terms(_params), do: %{} + + def build_accounts_tag(acc, nil), do: acc + + def build_accounts_tag(acc, user) do + account_data = AccountView.render("show.json", %{user: user, for: user}) + Map.put(acc, @account_url, account_data) + end +end diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index e493a4153..a1ef2633d 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -716,7 +716,7 @@ defmodule Pleroma.Web.Router do get("/registration/:token", RedirectController, :registration_page) get("/:maybe_nickname_or_id", RedirectController, :redirector_with_meta) get("/api*path", RedirectController, :api_not_implemented) - get("/*path", RedirectController, :redirector) + get("/*path", RedirectController, :redirector_with_preload) options("/*path", RedirectController, :empty) end diff --git a/test/plugs/instance_static_test.exs b/test/plugs/instance_static_test.exs index b8f070d6a..be2613ad0 100644 --- a/test/plugs/instance_static_test.exs +++ b/test/plugs/instance_static_test.exs @@ -16,7 +16,7 @@ defmodule Pleroma.Web.RuntimeStaticPlugTest do test "overrides index" do bundled_index = get(build_conn(), "/") - assert html_response(bundled_index, 200) == File.read!("priv/static/index.html") + refute html_response(bundled_index, 200) == "hello world" File.write!(@dir <> "/index.html", "hello world") diff --git a/test/web/fallback_test.exs b/test/web/fallback_test.exs index 3919ef93a..3b7a51d5e 100644 --- a/test/web/fallback_test.exs +++ b/test/web/fallback_test.exs @@ -6,22 +6,36 @@ defmodule Pleroma.Web.FallbackTest do use Pleroma.Web.ConnCase import Pleroma.Factory - test "GET /registration/:token", %{conn: conn} do - assert conn - |> get("/registration/foo") - |> html_response(200) =~ "" + describe "neither preloaded data nor metadata attached to" do + test "GET /registration/:token", %{conn: conn} do + response = get(conn, "/registration/foo") + + assert html_response(response, 200) =~ "" + assert html_response(response, 200) =~ "" + end end - test "GET /:maybe_nickname_or_id", %{conn: conn} do - user = insert(:user) + describe "preloaded data and metadata attached to" do + test "GET /:maybe_nickname_or_id", %{conn: conn} do + user = insert(:user) + user_missing = get(conn, "/foo") + user_present = get(conn, "/#{user.nickname}") - assert conn - |> get("/foo") - |> html_response(200) =~ "" + assert html_response(user_missing, 200) =~ "" + refute html_response(user_present, 200) =~ "" - refute conn - |> get("/" <> user.nickname) - |> html_response(200) =~ "" + assert html_response(user_missing, 200) =~ "" + refute html_response(user_present, 200) =~ "" + end + end + + describe "preloaded data only attached to" do + test "GET /*path", %{conn: conn} do + public_page = get(conn, "/main/public") + + assert html_response(public_page, 200) =~ "" + refute html_response(public_page, 200) =~ "" + end end test "GET /api*path", %{conn: conn} do diff --git a/test/web/preload/instance_test.exs b/test/web/preload/instance_test.exs new file mode 100644 index 000000000..52f9bab3b --- /dev/null +++ b/test/web/preload/instance_test.exs @@ -0,0 +1,37 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.InstanceTest do + use Pleroma.DataCase + alias Pleroma.Web.Preload.Providers.Instance + + setup do: {:ok, Instance.generate_terms(nil)} + + test "it renders the info", %{"/api/v1/instance": info} do + assert %{ + description: description, + email: "admin@example.com", + registrations: true + } = info + + assert String.equivalent?(description, "A Pleroma instance, an alternative fediverse server") + end + + test "it renders the panel", %{"/instance/panel.html": panel} do + assert String.contains?( + panel, + "

Welcome to Pleroma!

" + ) + end + + test "it renders the node_info", %{"/nodeinfo/2.0": nodeinfo} do + %{ + metadata: metadata, + version: "2.0" + } = nodeinfo + + assert metadata.private == false + assert metadata.suggestions == %{enabled: false} + end +end diff --git a/test/web/preload/timeline_test.exs b/test/web/preload/timeline_test.exs new file mode 100644 index 000000000..00b10d0ab --- /dev/null +++ b/test/web/preload/timeline_test.exs @@ -0,0 +1,74 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.TimelineTest do + use Pleroma.DataCase + import Pleroma.Factory + + alias Pleroma.Web.CommonAPI + alias Pleroma.Web.Preload.Providers.Timelines + + @public_url :"/api/v1/timelines/public" + + describe "unauthenticated timeliness when restricted" do + setup do + svd_config = Pleroma.Config.get([:restrict_unauthenticated, :timelines]) + Pleroma.Config.put([:restrict_unauthenticated, :timelines], %{local: true, federated: true}) + + on_exit(fn -> + Pleroma.Config.put([:restrict_unauthenticated, :timelines], svd_config) + end) + + :ok + end + + test "return nothing" do + tl_data = Timelines.generate_terms(%{}) + + refute Map.has_key?(tl_data, "/api/v1/timelines/public") + end + end + + describe "unauthenticated timeliness when unrestricted" do + setup do + svd_config = Pleroma.Config.get([:restrict_unauthenticated, :timelines]) + + Pleroma.Config.put([:restrict_unauthenticated, :timelines], %{ + local: false, + federated: false + }) + + on_exit(fn -> + Pleroma.Config.put([:restrict_unauthenticated, :timelines], svd_config) + end) + + {:ok, user: insert(:user)} + end + + test "returns the timeline when not restricted" do + assert Timelines.generate_terms(%{}) + |> Map.has_key?(@public_url) + end + + test "returns public items", %{user: user} do + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 1!"}) + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 2!"}) + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 3!"}) + + assert Timelines.generate_terms(%{}) + |> Map.fetch!(@public_url) + |> Enum.count() == 3 + end + + test "does not return non-public items", %{user: user} do + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 1!", "visibility" => "unlisted"}) + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 2!", "visibility" => "direct"}) + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 3!"}) + + assert Timelines.generate_terms(%{}) + |> Map.fetch!(@public_url) + |> Enum.count() == 1 + end + end +end diff --git a/test/web/preload/user_test.exs b/test/web/preload/user_test.exs new file mode 100644 index 000000000..99232cdfa --- /dev/null +++ b/test/web/preload/user_test.exs @@ -0,0 +1,33 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.UserTest do + use Pleroma.DataCase + import Pleroma.Factory + alias Pleroma.Web.Preload.Providers.User + + describe "returns empty when user doesn't exist" do + test "nil user specified" do + refute User.generate_terms(%{user: nil}) + |> Map.has_key?("/api/v1/accounts") + end + + test "missing user specified" do + refute User.generate_terms(%{user: :not_a_user}) + |> Map.has_key?("/api/v1/accounts") + end + end + + describe "specified user exists" do + setup do + user = insert(:user) + + {:ok, User.generate_terms(%{user: user})} + end + + test "account is rendered", %{"/api/v1/accounts": accounts} do + assert %{acct: user, username: user} = accounts + end + end +end From 954acdda2072cac343409b3d17d831b86ac6a18c Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Fri, 29 May 2020 15:16:44 -0500 Subject: [PATCH 012/108] Add `account_activation_required` to /api/v1/instance --- lib/pleroma/web/mastodon_api/views/instance_view.ex | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex index 6a630eafa..bb7bd2a9f 100644 --- a/lib/pleroma/web/mastodon_api/views/instance_view.ex +++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex @@ -36,6 +36,7 @@ def render("show.json", _) do background_image: Keyword.get(instance, :background_image), pleroma: %{ metadata: %{ + account_activation_required: Keyword.get(instance, :account_activation_required), features: features(), federation: federation() }, From f73b2063f484e83c0972527c00c42d4fbdd11a0c Mon Sep 17 00:00:00 2001 From: stwf Date: Tue, 2 Jun 2020 10:18:06 -0400 Subject: [PATCH 013/108] encode data properly --- .../web/fallback_redirect_controller.ex | 7 +-- lib/pleroma/web/preload.ex | 2 + lib/pleroma/web/preload/timelines.ex | 31 ++++++------- test/web/fallback_test.exs | 46 +++++++++++-------- test/web/preload/timeline_test.exs | 12 ++--- test/web/streamer/streamer_test.exs | 2 +- 6 files changed, 55 insertions(+), 45 deletions(-) diff --git a/lib/pleroma/web/fallback_redirect_controller.ex b/lib/pleroma/web/fallback_redirect_controller.ex index 932fb8d7e..431ad5485 100644 --- a/lib/pleroma/web/fallback_redirect_controller.ex +++ b/lib/pleroma/web/fallback_redirect_controller.ex @@ -4,7 +4,9 @@ defmodule Fallback.RedirectController do use Pleroma.Web, :controller + require Logger + alias Pleroma.User alias Pleroma.Web.Metadata alias Pleroma.Web.Preload @@ -38,8 +40,7 @@ def redirector_with_meta(conn, params) do response = index_content - |> String.replace("", tags) - |> String.replace("", preloads) + |> String.replace("", tags <> preloads) conn |> put_resp_content_type("text/html") @@ -56,7 +57,7 @@ def redirector_with_preload(conn, params) do response = index_content - |> String.replace("", preloads) + |> String.replace("", preloads) conn |> put_resp_content_type("text/html") diff --git a/lib/pleroma/web/preload.ex b/lib/pleroma/web/preload.ex index c2211c597..f13932b89 100644 --- a/lib/pleroma/web/preload.ex +++ b/lib/pleroma/web/preload.ex @@ -22,6 +22,8 @@ def build_tags(_conn, params) do end def build_script_tag(content) do + content = Base.encode64(content) + HTML.Tag.content_tag(:script, HTML.raw(content), id: "initial-results", type: "application/json" diff --git a/lib/pleroma/web/preload/timelines.ex b/lib/pleroma/web/preload/timelines.ex index dbd7db407..2bb57567b 100644 --- a/lib/pleroma/web/preload/timelines.ex +++ b/lib/pleroma/web/preload/timelines.ex @@ -11,32 +11,29 @@ defmodule Pleroma.Web.Preload.Providers.Timelines do @public_url :"/api/v1/timelines/public" @impl Provider - def generate_terms(_params) do - build_public_tag(%{}) + def generate_terms(params) do + build_public_tag(%{}, params) end - def build_public_tag(acc) do + def build_public_tag(acc, params) do if Pleroma.Config.get([:restrict_unauthenticated, :timelines, :federated], true) do acc else - Map.put(acc, @public_url, public_timeline(nil)) + Map.put(acc, @public_url, public_timeline(params)) end end - defp public_timeline(user) do + defp public_timeline(%{"path" => ["main", "all"]}), do: get_public_timeline(false) + + defp public_timeline(_params), do: get_public_timeline(true) + + defp get_public_timeline(local_only) do activities = - create_timeline_params(user) - |> Map.put("local_only", false) - |> ActivityPub.fetch_public_activities() + ActivityPub.fetch_public_activities(%{ + "type" => ["Create"], + "local_only" => local_only + }) - StatusView.render("index.json", activities: activities, for: user, as: :activity) - end - - defp create_timeline_params(user) do - %{} - |> Map.put("type", ["Create", "Announce"]) - |> Map.put("blocking_user", user) - |> Map.put("muting_user", user) - |> Map.put("user", user) + StatusView.render("index.json", activities: activities, for: nil, as: :activity) end end diff --git a/test/web/fallback_test.exs b/test/web/fallback_test.exs index 3b7a51d5e..a65865860 100644 --- a/test/web/fallback_test.exs +++ b/test/web/fallback_test.exs @@ -11,7 +11,12 @@ test "GET /registration/:token", %{conn: conn} do response = get(conn, "/registration/foo") assert html_response(response, 200) =~ "" - assert html_response(response, 200) =~ "" + end + + test "GET /*path", %{conn: conn} do + assert conn + |> get("/foo") + |> html_response(200) =~ "" end end @@ -21,20 +26,35 @@ test "GET /:maybe_nickname_or_id", %{conn: conn} do user_missing = get(conn, "/foo") user_present = get(conn, "/#{user.nickname}") - assert html_response(user_missing, 200) =~ "" + assert(html_response(user_missing, 200) =~ "") refute html_response(user_present, 200) =~ "" + assert html_response(user_present, 200) =~ "initial-results" + end - assert html_response(user_missing, 200) =~ "" - refute html_response(user_present, 200) =~ "" + test "GET /*path", %{conn: conn} do + assert conn + |> get("/foo") + |> html_response(200) =~ "" + + refute conn + |> get("/foo/bar") + |> html_response(200) =~ "" end end - describe "preloaded data only attached to" do - test "GET /*path", %{conn: conn} do + describe "preloaded data is attached to" do + test "GET /main/public", %{conn: conn} do public_page = get(conn, "/main/public") - assert html_response(public_page, 200) =~ "" - refute html_response(public_page, 200) =~ "" + refute html_response(public_page, 200) =~ "" + assert html_response(public_page, 200) =~ "initial-results" + end + + test "GET /main/all", %{conn: conn} do + public_page = get(conn, "/main/all") + + refute html_response(public_page, 200) =~ "" + assert html_response(public_page, 200) =~ "initial-results" end end @@ -48,16 +68,6 @@ test "GET /pleroma/admin -> /pleroma/admin/", %{conn: conn} do assert redirected_to(get(conn, "/pleroma/admin")) =~ "/pleroma/admin/" end - test "GET /*path", %{conn: conn} do - assert conn - |> get("/foo") - |> html_response(200) =~ "" - - assert conn - |> get("/foo/bar") - |> html_response(200) =~ "" - end - test "OPTIONS /*path", %{conn: conn} do assert conn |> options("/foo") diff --git a/test/web/preload/timeline_test.exs b/test/web/preload/timeline_test.exs index 00b10d0ab..da6a3aded 100644 --- a/test/web/preload/timeline_test.exs +++ b/test/web/preload/timeline_test.exs @@ -52,9 +52,9 @@ test "returns the timeline when not restricted" do end test "returns public items", %{user: user} do - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 1!"}) - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 2!"}) - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 3!"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 1!"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 2!"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 3!"}) assert Timelines.generate_terms(%{}) |> Map.fetch!(@public_url) @@ -62,9 +62,9 @@ test "returns public items", %{user: user} do end test "does not return non-public items", %{user: user} do - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 1!", "visibility" => "unlisted"}) - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 2!", "visibility" => "direct"}) - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 3!"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 1!", visibility: "unlisted"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 2!", visibility: "direct"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 3!"}) assert Timelines.generate_terms(%{}) |> Map.fetch!(@public_url) diff --git a/test/web/streamer/streamer_test.exs b/test/web/streamer/streamer_test.exs index 4cf640ce8..3f012259a 100644 --- a/test/web/streamer/streamer_test.exs +++ b/test/web/streamer/streamer_test.exs @@ -124,7 +124,7 @@ test "it streams boosts of mastodon user in the 'user' stream", %{user: user} do |> Map.put("object", activity.data["object"]) |> Map.put("actor", user.ap_id) - {:ok, %Pleroma.Activity{data: data, local: false} = announce} = + {:ok, %Pleroma.Activity{data: _data, local: false} = announce} = Pleroma.Web.ActivityPub.Transmogrifier.handle_incoming(data) assert_receive {:render_with_user, Pleroma.Web.StreamerView, "update.json", ^announce} From aa26dc6a130614b049696784ecb29e341956bbc2 Mon Sep 17 00:00:00 2001 From: stwf Date: Wed, 3 Jun 2020 13:40:48 -0400 Subject: [PATCH 014/108] add status_net/config --- config/config.exs | 3 ++- lib/pleroma/web/preload.ex | 10 +++++--- lib/pleroma/web/preload/status_net.ex | 24 +++++++++++++++++++ .../controllers/util_controller.ex | 13 ++-------- .../web/twitter_api/views/util_view.ex | 14 +++++++++++ test/web/preload/status_net_test.exs | 14 +++++++++++ 6 files changed, 63 insertions(+), 15 deletions(-) create mode 100644 lib/pleroma/web/preload/status_net.ex create mode 100644 test/web/preload/status_net_test.exs diff --git a/config/config.exs b/config/config.exs index 1539b15c6..394c24d85 100644 --- a/config/config.exs +++ b/config/config.exs @@ -419,7 +419,8 @@ providers: [ Pleroma.Web.Preload.Providers.Instance, Pleroma.Web.Preload.Providers.User, - Pleroma.Web.Preload.Providers.Timelines + Pleroma.Web.Preload.Providers.Timelines, + Pleroma.Web.Preload.Providers.StatusNet ] config :pleroma, :http_security, diff --git a/lib/pleroma/web/preload.ex b/lib/pleroma/web/preload.ex index f13932b89..90e454468 100644 --- a/lib/pleroma/web/preload.ex +++ b/lib/pleroma/web/preload.ex @@ -9,7 +9,13 @@ defmodule Pleroma.Web.Preload do def build_tags(_conn, params) do preload_data = Enum.reduce(Pleroma.Config.get([__MODULE__, :providers], []), %{}, fn parser, acc -> - Map.merge(acc, parser.generate_terms(params)) + terms = + params + |> parser.generate_terms() + |> Enum.map(fn {k, v} -> {k, Base.encode64(Jason.encode!(v))} end) + |> Enum.into(%{}) + + Map.merge(acc, terms) end) rendered_html = @@ -22,8 +28,6 @@ def build_tags(_conn, params) do end def build_script_tag(content) do - content = Base.encode64(content) - HTML.Tag.content_tag(:script, HTML.raw(content), id: "initial-results", type: "application/json" diff --git a/lib/pleroma/web/preload/status_net.ex b/lib/pleroma/web/preload/status_net.ex new file mode 100644 index 000000000..7e592d60d --- /dev/null +++ b/lib/pleroma/web/preload/status_net.ex @@ -0,0 +1,24 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.StatusNet do + alias Pleroma.Web.TwitterAPI.UtilView + alias Pleroma.Web.Preload.Providers.Provider + + @behaviour Provider + @config_url :"/api/statusnet/config.json" + + @impl Provider + def generate_terms(_params) do + %{} + |> build_config_tag() + end + + defp build_config_tag(acc) do + instance = Pleroma.Config.get(:instance) + info_data = UtilView.status_net_config(instance) + + Map.put(acc, @config_url, info_data) + end +end diff --git a/lib/pleroma/web/twitter_api/controllers/util_controller.ex b/lib/pleroma/web/twitter_api/controllers/util_controller.ex index fd2aee175..aaca182ec 100644 --- a/lib/pleroma/web/twitter_api/controllers/util_controller.ex +++ b/lib/pleroma/web/twitter_api/controllers/util_controller.ex @@ -15,6 +15,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do alias Pleroma.User alias Pleroma.Web alias Pleroma.Web.CommonAPI + alias Pleroma.Web.TwitterAPI.UtilView alias Pleroma.Web.WebFinger plug(Pleroma.Web.FederatingPlug when action == :remote_subscribe) @@ -90,17 +91,7 @@ def notifications_read(%{assigns: %{user: user}} = conn, %{"id" => notification_ def config(%{assigns: %{format: "xml"}} = conn, _params) do instance = Pleroma.Config.get(:instance) - - response = """ - - - #{Keyword.get(instance, :name)} - #{Web.base_url()} - #{Keyword.get(instance, :limit)} - #{!Keyword.get(instance, :registrations_open)} - - - """ + response = UtilView.status_net_config(instance) conn |> put_resp_content_type("application/xml") diff --git a/lib/pleroma/web/twitter_api/views/util_view.ex b/lib/pleroma/web/twitter_api/views/util_view.ex index 52054e020..d3bdb4f62 100644 --- a/lib/pleroma/web/twitter_api/views/util_view.ex +++ b/lib/pleroma/web/twitter_api/views/util_view.ex @@ -5,4 +5,18 @@ defmodule Pleroma.Web.TwitterAPI.UtilView do use Pleroma.Web, :view import Phoenix.HTML.Form + alias Pleroma.Web + + def status_net_config(instance) do + """ + + + #{Keyword.get(instance, :name)} + #{Web.base_url()} + #{Keyword.get(instance, :limit)} + #{!Keyword.get(instance, :registrations_open)} + + + """ + end end diff --git a/test/web/preload/status_net_test.exs b/test/web/preload/status_net_test.exs new file mode 100644 index 000000000..ab6823a7e --- /dev/null +++ b/test/web/preload/status_net_test.exs @@ -0,0 +1,14 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.StatusNetTest do + use Pleroma.DataCase + alias Pleroma.Web.Preload.Providers.StatusNet + + setup do: {:ok, StatusNet.generate_terms(nil)} + + test "it renders the info", %{"/api/statusnet/config.json": info} do + assert info =~ "Pleroma" + end +end From 29ae5bb77166d9d7f8108a965b0c3d147b747e80 Mon Sep 17 00:00:00 2001 From: stwf Date: Tue, 12 May 2020 11:08:00 -0400 Subject: [PATCH 015/108] preload data into index.html --- config/config.exs | 25 ++-- .../web/fallback_redirect_controller.ex | 82 +++++++---- lib/pleroma/web/nodeinfo/nodeinfo.ex | 130 ++++++++++++++++++ .../web/nodeinfo/nodeinfo_controller.ex | 112 ++------------- lib/pleroma/web/preload.ex | 30 ++++ lib/pleroma/web/preload/instance.ex | 49 +++++++ lib/pleroma/web/preload/provider.ex | 7 + lib/pleroma/web/preload/timelines.ex | 42 ++++++ lib/pleroma/web/preload/user.ex | 25 ++++ lib/pleroma/web/router.ex | 2 +- test/plugs/instance_static_test.exs | 2 +- test/web/fallback_test.exs | 38 +++-- test/web/preload/instance_test.exs | 37 +++++ test/web/preload/timeline_test.exs | 74 ++++++++++ test/web/preload/user_test.exs | 33 +++++ 15 files changed, 532 insertions(+), 156 deletions(-) create mode 100644 lib/pleroma/web/nodeinfo/nodeinfo.ex create mode 100644 lib/pleroma/web/preload.ex create mode 100644 lib/pleroma/web/preload/instance.ex create mode 100644 lib/pleroma/web/preload/provider.ex create mode 100644 lib/pleroma/web/preload/timelines.ex create mode 100644 lib/pleroma/web/preload/user.ex create mode 100644 test/web/preload/instance_test.exs create mode 100644 test/web/preload/timeline_test.exs create mode 100644 test/web/preload/user_test.exs diff --git a/config/config.exs b/config/config.exs index 9508ae077..ee81eb899 100644 --- a/config/config.exs +++ b/config/config.exs @@ -241,18 +241,7 @@ account_field_value_length: 2048, external_user_synchronization: true, extended_nickname_format: true, - cleanup_attachments: false, - multi_factor_authentication: [ - totp: [ - # digits 6 or 8 - digits: 6, - period: 30 - ], - backup_codes: [ - number: 5, - length: 16 - ] - ] + cleanup_attachments: false config :pleroma, :feed, post_title: %{ @@ -361,8 +350,7 @@ reject: [], accept: [], avatar_removal: [], - banner_removal: [], - reject_deletes: [] + banner_removal: [] config :pleroma, :mrf_keyword, reject: [], @@ -428,6 +416,13 @@ ], unfurl_nsfw: false +config :pleroma, Pleroma.Web.Preload, + providers: [ + Pleroma.Web.Preload.Providers.Instance, + Pleroma.Web.Preload.Providers.User, + Pleroma.Web.Preload.Providers.Timelines + ] + config :pleroma, :http_security, enabled: true, sts: false, @@ -682,8 +677,6 @@ profiles: %{local: false, remote: false}, activities: %{local: false, remote: false} -config :pleroma, Pleroma.Web.ApiSpec.CastAndValidate, strict: false - # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{Mix.env()}.exs" diff --git a/lib/pleroma/web/fallback_redirect_controller.ex b/lib/pleroma/web/fallback_redirect_controller.ex index 0d9d578fc..932fb8d7e 100644 --- a/lib/pleroma/web/fallback_redirect_controller.ex +++ b/lib/pleroma/web/fallback_redirect_controller.ex @@ -4,11 +4,10 @@ defmodule Fallback.RedirectController do use Pleroma.Web, :controller - require Logger - alias Pleroma.User alias Pleroma.Web.Metadata + alias Pleroma.Web.Preload def api_not_implemented(conn, _params) do conn @@ -16,16 +15,7 @@ def api_not_implemented(conn, _params) do |> json(%{error: "Not implemented"}) end - def redirector(conn, _params, code \\ 200) - - # redirect to admin section - # /pleroma/admin -> /pleroma/admin/ - # - def redirector(conn, %{"path" => ["pleroma", "admin"]} = _, _code) do - redirect(conn, to: "/pleroma/admin/") - end - - def redirector(conn, _params, code) do + def redirector(conn, _params, code \\ 200) do conn |> put_resp_content_type("text/html") |> send_file(code, index_file_path()) @@ -43,28 +33,34 @@ def redirector_with_meta(conn, %{"maybe_nickname_or_id" => maybe_nickname_or_id} def redirector_with_meta(conn, params) do {:ok, index_content} = File.read(index_file_path()) - tags = - try do - Metadata.build_tags(params) - rescue - e -> - Logger.error( - "Metadata rendering for #{conn.request_path} failed.\n" <> - Exception.format(:error, e, __STACKTRACE__) - ) + tags = build_tags(conn, params) + preloads = preload_data(conn, params) - "" - end - - response = String.replace(index_content, "", tags) + response = + index_content + |> String.replace("", tags) + |> String.replace("", preloads) conn |> put_resp_content_type("text/html") |> send_resp(200, response) end - def index_file_path do - Pleroma.Plugs.InstanceStatic.file_path("index.html") + def redirector_with_preload(conn, %{"path" => ["pleroma", "admin"]}) do + redirect(conn, to: "/pleroma/admin/") + end + + def redirector_with_preload(conn, params) do + {:ok, index_content} = File.read(index_file_path()) + preloads = preload_data(conn, params) + + response = + index_content + |> String.replace("", preloads) + + conn + |> put_resp_content_type("text/html") + |> send_resp(200, response) end def registration_page(conn, params) do @@ -76,4 +72,36 @@ def empty(conn, _params) do |> put_status(204) |> text("") end + + defp index_file_path do + Pleroma.Plugs.InstanceStatic.file_path("index.html") + end + + defp build_tags(conn, params) do + try do + Metadata.build_tags(params) + rescue + e -> + Logger.error( + "Metadata rendering for #{conn.request_path} failed.\n" <> + Exception.format(:error, e, __STACKTRACE__) + ) + + "" + end + end + + defp preload_data(conn, params) do + try do + Preload.build_tags(conn, params) + rescue + e -> + Logger.error( + "Preloading for #{conn.request_path} failed.\n" <> + Exception.format(:error, e, __STACKTRACE__) + ) + + "" + end + end end diff --git a/lib/pleroma/web/nodeinfo/nodeinfo.ex b/lib/pleroma/web/nodeinfo/nodeinfo.ex new file mode 100644 index 000000000..d26b7c938 --- /dev/null +++ b/lib/pleroma/web/nodeinfo/nodeinfo.ex @@ -0,0 +1,130 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Nodeinfo.Nodeinfo do + alias Pleroma.Config + alias Pleroma.Stats + alias Pleroma.User + alias Pleroma.Web.ActivityPub.MRF + alias Pleroma.Web.Federator.Publisher + + # returns a nodeinfo 2.0 map, since 2.1 just adds a repository field + # under software. + def get_nodeinfo("2.0") do + stats = Stats.get_stats() + + quarantined = Config.get([:instance, :quarantined_instances], []) + + staff_accounts = + User.all_superusers() + |> Enum.map(fn u -> u.ap_id end) + + federation_response = + if Config.get([:instance, :mrf_transparency]) do + {:ok, data} = MRF.describe() + + data + |> Map.merge(%{quarantined_instances: quarantined}) + else + %{} + end + |> Map.put(:enabled, Config.get([:instance, :federating])) + + features = + [ + "pleroma_api", + "mastodon_api", + "mastodon_api_streaming", + "polls", + "pleroma_explicit_addressing", + "shareable_emoji_packs", + "multifetch", + "pleroma:api/v1/notifications:include_types_filter", + if Config.get([:media_proxy, :enabled]) do + "media_proxy" + end, + if Config.get([:gopher, :enabled]) do + "gopher" + end, + if Config.get([:chat, :enabled]) do + "chat" + end, + if Config.get([:instance, :allow_relay]) do + "relay" + end, + if Config.get([:instance, :safe_dm_mentions]) do + "safe_dm_mentions" + end, + "pleroma_emoji_reactions" + ] + |> Enum.filter(& &1) + + %{ + version: "2.0", + software: %{ + name: Pleroma.Application.name() |> String.downcase(), + version: Pleroma.Application.version() + }, + protocols: Publisher.gather_nodeinfo_protocol_names(), + services: %{ + inbound: [], + outbound: [] + }, + openRegistrations: Config.get([:instance, :registrations_open]), + usage: %{ + users: %{ + total: Map.get(stats, :user_count, 0) + }, + localPosts: Map.get(stats, :status_count, 0) + }, + metadata: %{ + nodeName: Config.get([:instance, :name]), + nodeDescription: Config.get([:instance, :description]), + private: !Config.get([:instance, :public], true), + suggestions: %{ + enabled: false + }, + staffAccounts: staff_accounts, + federation: federation_response, + pollLimits: Config.get([:instance, :poll_limits]), + postFormats: Config.get([:instance, :allowed_post_formats]), + uploadLimits: %{ + general: Config.get([:instance, :upload_limit]), + avatar: Config.get([:instance, :avatar_upload_limit]), + banner: Config.get([:instance, :banner_upload_limit]), + background: Config.get([:instance, :background_upload_limit]) + }, + fieldsLimits: %{ + maxFields: Config.get([:instance, :max_account_fields]), + maxRemoteFields: Config.get([:instance, :max_remote_account_fields]), + nameLength: Config.get([:instance, :account_field_name_length]), + valueLength: Config.get([:instance, :account_field_value_length]) + }, + accountActivationRequired: Config.get([:instance, :account_activation_required], false), + invitesEnabled: Config.get([:instance, :invites_enabled], false), + mailerEnabled: Config.get([Pleroma.Emails.Mailer, :enabled], false), + features: features, + restrictedNicknames: Config.get([Pleroma.User, :restricted_nicknames]), + skipThreadContainment: Config.get([:instance, :skip_thread_containment], false) + } + } + end + + def get_nodeinfo("2.1") do + raw_response = get_nodeinfo("2.0") + + updated_software = + raw_response + |> Map.get(:software) + |> Map.put(:repository, Pleroma.Application.repository()) + + raw_response + |> Map.put(:software, updated_software) + |> Map.put(:version, "2.1") + end + + def get_nodeinfo(_version) do + {:error, :missing} + end +end diff --git a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex index 721b599d4..8c7a9e565 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex @@ -5,12 +5,8 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do use Pleroma.Web, :controller - alias Pleroma.Config - alias Pleroma.Stats - alias Pleroma.User alias Pleroma.Web - alias Pleroma.Web.Federator.Publisher - alias Pleroma.Web.MastodonAPI.InstanceView + alias Pleroma.Web.Nodeinfo.Nodeinfo def schemas(conn, _params) do response = %{ @@ -29,102 +25,20 @@ def schemas(conn, _params) do json(conn, response) end - # returns a nodeinfo 2.0 map, since 2.1 just adds a repository field - # under software. - def raw_nodeinfo do - stats = Stats.get_stats() - - staff_accounts = - User.all_superusers() - |> Enum.map(fn u -> u.ap_id end) - - features = InstanceView.features() - federation = InstanceView.federation() - - %{ - version: "2.0", - software: %{ - name: Pleroma.Application.name() |> String.downcase(), - version: Pleroma.Application.version() - }, - protocols: Publisher.gather_nodeinfo_protocol_names(), - services: %{ - inbound: [], - outbound: [] - }, - openRegistrations: Config.get([:instance, :registrations_open]), - usage: %{ - users: %{ - total: Map.get(stats, :user_count, 0) - }, - localPosts: Map.get(stats, :status_count, 0) - }, - metadata: %{ - nodeName: Config.get([:instance, :name]), - nodeDescription: Config.get([:instance, :description]), - private: !Config.get([:instance, :public], true), - suggestions: %{ - enabled: false - }, - staffAccounts: staff_accounts, - federation: federation, - pollLimits: Config.get([:instance, :poll_limits]), - postFormats: Config.get([:instance, :allowed_post_formats]), - uploadLimits: %{ - general: Config.get([:instance, :upload_limit]), - avatar: Config.get([:instance, :avatar_upload_limit]), - banner: Config.get([:instance, :banner_upload_limit]), - background: Config.get([:instance, :background_upload_limit]) - }, - fieldsLimits: %{ - maxFields: Config.get([:instance, :max_account_fields]), - maxRemoteFields: Config.get([:instance, :max_remote_account_fields]), - nameLength: Config.get([:instance, :account_field_name_length]), - valueLength: Config.get([:instance, :account_field_value_length]) - }, - accountActivationRequired: Config.get([:instance, :account_activation_required], false), - invitesEnabled: Config.get([:instance, :invites_enabled], false), - mailerEnabled: Config.get([Pleroma.Emails.Mailer, :enabled], false), - features: features, - restrictedNicknames: Config.get([Pleroma.User, :restricted_nicknames]), - skipThreadContainment: Config.get([:instance, :skip_thread_containment], false) - } - } - end - # Schema definition: https://github.com/jhass/nodeinfo/blob/master/schemas/2.0/schema.json # and https://github.com/jhass/nodeinfo/blob/master/schemas/2.1/schema.json - def nodeinfo(conn, %{"version" => "2.0"}) do - conn - |> put_resp_header( - "content-type", - "application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8" - ) - |> json(raw_nodeinfo()) - end + def nodeinfo(conn, %{"version" => version}) do + case Nodeinfo.get_nodeinfo(version) do + {:error, :missing} -> + render_error(conn, :not_found, "Nodeinfo schema version not handled") - def nodeinfo(conn, %{"version" => "2.1"}) do - raw_response = raw_nodeinfo() - - updated_software = - raw_response - |> Map.get(:software) - |> Map.put(:repository, Pleroma.Application.repository()) - - response = - raw_response - |> Map.put(:software, updated_software) - |> Map.put(:version, "2.1") - - conn - |> put_resp_header( - "content-type", - "application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.1#; charset=utf-8" - ) - |> json(response) - end - - def nodeinfo(conn, _) do - render_error(conn, :not_found, "Nodeinfo schema version not handled") + node_info -> + conn + |> put_resp_header( + "content-type", + "application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8" + ) + |> json(node_info) + end end end diff --git a/lib/pleroma/web/preload.ex b/lib/pleroma/web/preload.ex new file mode 100644 index 000000000..c2211c597 --- /dev/null +++ b/lib/pleroma/web/preload.ex @@ -0,0 +1,30 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload do + alias Phoenix.HTML + require Logger + + def build_tags(_conn, params) do + preload_data = + Enum.reduce(Pleroma.Config.get([__MODULE__, :providers], []), %{}, fn parser, acc -> + Map.merge(acc, parser.generate_terms(params)) + end) + + rendered_html = + preload_data + |> Jason.encode!() + |> build_script_tag() + |> HTML.safe_to_string() + + rendered_html + end + + def build_script_tag(content) do + HTML.Tag.content_tag(:script, HTML.raw(content), + id: "initial-results", + type: "application/json" + ) + end +end diff --git a/lib/pleroma/web/preload/instance.ex b/lib/pleroma/web/preload/instance.ex new file mode 100644 index 000000000..0b6fd3313 --- /dev/null +++ b/lib/pleroma/web/preload/instance.ex @@ -0,0 +1,49 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.Instance do + alias Pleroma.Web.MastodonAPI.InstanceView + alias Pleroma.Web.Nodeinfo.Nodeinfo + alias Pleroma.Web.Preload.Providers.Provider + + @behaviour Provider + @instance_url :"/api/v1/instance" + @panel_url :"/instance/panel.html" + @nodeinfo_url :"/nodeinfo/2.0" + + @impl Provider + def generate_terms(_params) do + %{} + |> build_info_tag() + |> build_panel_tag() + |> build_nodeinfo_tag() + end + + defp build_info_tag(acc) do + info_data = InstanceView.render("show.json", %{}) + + Map.put(acc, @instance_url, info_data) + end + + defp build_panel_tag(acc) do + instance_path = Path.join(:code.priv_dir(:pleroma), "static/instance/panel.html") + + if File.exists?(instance_path) do + panel_data = File.read!(instance_path) + Map.put(acc, @panel_url, panel_data) + else + acc + end + end + + defp build_nodeinfo_tag(acc) do + case Nodeinfo.get_nodeinfo("2.0") do + {:error, _} -> + acc + + nodeinfo_data -> + Map.put(acc, @nodeinfo_url, nodeinfo_data) + end + end +end diff --git a/lib/pleroma/web/preload/provider.ex b/lib/pleroma/web/preload/provider.ex new file mode 100644 index 000000000..7ef595a34 --- /dev/null +++ b/lib/pleroma/web/preload/provider.ex @@ -0,0 +1,7 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.Provider do + @callback generate_terms(map()) :: map() +end diff --git a/lib/pleroma/web/preload/timelines.ex b/lib/pleroma/web/preload/timelines.ex new file mode 100644 index 000000000..dbd7db407 --- /dev/null +++ b/lib/pleroma/web/preload/timelines.ex @@ -0,0 +1,42 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.Timelines do + alias Pleroma.Web.ActivityPub.ActivityPub + alias Pleroma.Web.MastodonAPI.StatusView + alias Pleroma.Web.Preload.Providers.Provider + + @behaviour Provider + @public_url :"/api/v1/timelines/public" + + @impl Provider + def generate_terms(_params) do + build_public_tag(%{}) + end + + def build_public_tag(acc) do + if Pleroma.Config.get([:restrict_unauthenticated, :timelines, :federated], true) do + acc + else + Map.put(acc, @public_url, public_timeline(nil)) + end + end + + defp public_timeline(user) do + activities = + create_timeline_params(user) + |> Map.put("local_only", false) + |> ActivityPub.fetch_public_activities() + + StatusView.render("index.json", activities: activities, for: user, as: :activity) + end + + defp create_timeline_params(user) do + %{} + |> Map.put("type", ["Create", "Announce"]) + |> Map.put("blocking_user", user) + |> Map.put("muting_user", user) + |> Map.put("user", user) + end +end diff --git a/lib/pleroma/web/preload/user.ex b/lib/pleroma/web/preload/user.ex new file mode 100644 index 000000000..3a244845b --- /dev/null +++ b/lib/pleroma/web/preload/user.ex @@ -0,0 +1,25 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.User do + alias Pleroma.Web.MastodonAPI.AccountView + alias Pleroma.Web.Preload.Providers.Provider + + @behaviour Provider + @account_url :"/api/v1/accounts" + + @impl Provider + def generate_terms(%{user: user}) do + build_accounts_tag(%{}, user) + end + + def generate_terms(_params), do: %{} + + def build_accounts_tag(acc, nil), do: acc + + def build_accounts_tag(acc, user) do + account_data = AccountView.render("show.json", %{user: user, for: user}) + Map.put(acc, @account_url, account_data) + end +end diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 80ea28364..3b55afede 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -718,7 +718,7 @@ defmodule Pleroma.Web.Router do get("/registration/:token", RedirectController, :registration_page) get("/:maybe_nickname_or_id", RedirectController, :redirector_with_meta) get("/api*path", RedirectController, :api_not_implemented) - get("/*path", RedirectController, :redirector) + get("/*path", RedirectController, :redirector_with_preload) options("/*path", RedirectController, :empty) end diff --git a/test/plugs/instance_static_test.exs b/test/plugs/instance_static_test.exs index b8f070d6a..be2613ad0 100644 --- a/test/plugs/instance_static_test.exs +++ b/test/plugs/instance_static_test.exs @@ -16,7 +16,7 @@ defmodule Pleroma.Web.RuntimeStaticPlugTest do test "overrides index" do bundled_index = get(build_conn(), "/") - assert html_response(bundled_index, 200) == File.read!("priv/static/index.html") + refute html_response(bundled_index, 200) == "hello world" File.write!(@dir <> "/index.html", "hello world") diff --git a/test/web/fallback_test.exs b/test/web/fallback_test.exs index 3919ef93a..3b7a51d5e 100644 --- a/test/web/fallback_test.exs +++ b/test/web/fallback_test.exs @@ -6,22 +6,36 @@ defmodule Pleroma.Web.FallbackTest do use Pleroma.Web.ConnCase import Pleroma.Factory - test "GET /registration/:token", %{conn: conn} do - assert conn - |> get("/registration/foo") - |> html_response(200) =~ "" + describe "neither preloaded data nor metadata attached to" do + test "GET /registration/:token", %{conn: conn} do + response = get(conn, "/registration/foo") + + assert html_response(response, 200) =~ "" + assert html_response(response, 200) =~ "" + end end - test "GET /:maybe_nickname_or_id", %{conn: conn} do - user = insert(:user) + describe "preloaded data and metadata attached to" do + test "GET /:maybe_nickname_or_id", %{conn: conn} do + user = insert(:user) + user_missing = get(conn, "/foo") + user_present = get(conn, "/#{user.nickname}") - assert conn - |> get("/foo") - |> html_response(200) =~ "" + assert html_response(user_missing, 200) =~ "" + refute html_response(user_present, 200) =~ "" - refute conn - |> get("/" <> user.nickname) - |> html_response(200) =~ "" + assert html_response(user_missing, 200) =~ "" + refute html_response(user_present, 200) =~ "" + end + end + + describe "preloaded data only attached to" do + test "GET /*path", %{conn: conn} do + public_page = get(conn, "/main/public") + + assert html_response(public_page, 200) =~ "" + refute html_response(public_page, 200) =~ "" + end end test "GET /api*path", %{conn: conn} do diff --git a/test/web/preload/instance_test.exs b/test/web/preload/instance_test.exs new file mode 100644 index 000000000..52f9bab3b --- /dev/null +++ b/test/web/preload/instance_test.exs @@ -0,0 +1,37 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.InstanceTest do + use Pleroma.DataCase + alias Pleroma.Web.Preload.Providers.Instance + + setup do: {:ok, Instance.generate_terms(nil)} + + test "it renders the info", %{"/api/v1/instance": info} do + assert %{ + description: description, + email: "admin@example.com", + registrations: true + } = info + + assert String.equivalent?(description, "A Pleroma instance, an alternative fediverse server") + end + + test "it renders the panel", %{"/instance/panel.html": panel} do + assert String.contains?( + panel, + "

Welcome to Pleroma!

" + ) + end + + test "it renders the node_info", %{"/nodeinfo/2.0": nodeinfo} do + %{ + metadata: metadata, + version: "2.0" + } = nodeinfo + + assert metadata.private == false + assert metadata.suggestions == %{enabled: false} + end +end diff --git a/test/web/preload/timeline_test.exs b/test/web/preload/timeline_test.exs new file mode 100644 index 000000000..00b10d0ab --- /dev/null +++ b/test/web/preload/timeline_test.exs @@ -0,0 +1,74 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.TimelineTest do + use Pleroma.DataCase + import Pleroma.Factory + + alias Pleroma.Web.CommonAPI + alias Pleroma.Web.Preload.Providers.Timelines + + @public_url :"/api/v1/timelines/public" + + describe "unauthenticated timeliness when restricted" do + setup do + svd_config = Pleroma.Config.get([:restrict_unauthenticated, :timelines]) + Pleroma.Config.put([:restrict_unauthenticated, :timelines], %{local: true, federated: true}) + + on_exit(fn -> + Pleroma.Config.put([:restrict_unauthenticated, :timelines], svd_config) + end) + + :ok + end + + test "return nothing" do + tl_data = Timelines.generate_terms(%{}) + + refute Map.has_key?(tl_data, "/api/v1/timelines/public") + end + end + + describe "unauthenticated timeliness when unrestricted" do + setup do + svd_config = Pleroma.Config.get([:restrict_unauthenticated, :timelines]) + + Pleroma.Config.put([:restrict_unauthenticated, :timelines], %{ + local: false, + federated: false + }) + + on_exit(fn -> + Pleroma.Config.put([:restrict_unauthenticated, :timelines], svd_config) + end) + + {:ok, user: insert(:user)} + end + + test "returns the timeline when not restricted" do + assert Timelines.generate_terms(%{}) + |> Map.has_key?(@public_url) + end + + test "returns public items", %{user: user} do + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 1!"}) + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 2!"}) + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 3!"}) + + assert Timelines.generate_terms(%{}) + |> Map.fetch!(@public_url) + |> Enum.count() == 3 + end + + test "does not return non-public items", %{user: user} do + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 1!", "visibility" => "unlisted"}) + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 2!", "visibility" => "direct"}) + {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 3!"}) + + assert Timelines.generate_terms(%{}) + |> Map.fetch!(@public_url) + |> Enum.count() == 1 + end + end +end diff --git a/test/web/preload/user_test.exs b/test/web/preload/user_test.exs new file mode 100644 index 000000000..99232cdfa --- /dev/null +++ b/test/web/preload/user_test.exs @@ -0,0 +1,33 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.UserTest do + use Pleroma.DataCase + import Pleroma.Factory + alias Pleroma.Web.Preload.Providers.User + + describe "returns empty when user doesn't exist" do + test "nil user specified" do + refute User.generate_terms(%{user: nil}) + |> Map.has_key?("/api/v1/accounts") + end + + test "missing user specified" do + refute User.generate_terms(%{user: :not_a_user}) + |> Map.has_key?("/api/v1/accounts") + end + end + + describe "specified user exists" do + setup do + user = insert(:user) + + {:ok, User.generate_terms(%{user: user})} + end + + test "account is rendered", %{"/api/v1/accounts": accounts} do + assert %{acct: user, username: user} = accounts + end + end +end From dbcc1b105ee1a2552595d189d8ac9d8484ffb601 Mon Sep 17 00:00:00 2001 From: stwf Date: Tue, 2 Jun 2020 10:18:06 -0400 Subject: [PATCH 016/108] encode data properly --- .../web/fallback_redirect_controller.ex | 7 +-- lib/pleroma/web/preload.ex | 2 + lib/pleroma/web/preload/timelines.ex | 31 ++++++------- test/web/fallback_test.exs | 46 +++++++++++-------- test/web/preload/timeline_test.exs | 12 ++--- 5 files changed, 54 insertions(+), 44 deletions(-) diff --git a/lib/pleroma/web/fallback_redirect_controller.ex b/lib/pleroma/web/fallback_redirect_controller.ex index 932fb8d7e..431ad5485 100644 --- a/lib/pleroma/web/fallback_redirect_controller.ex +++ b/lib/pleroma/web/fallback_redirect_controller.ex @@ -4,7 +4,9 @@ defmodule Fallback.RedirectController do use Pleroma.Web, :controller + require Logger + alias Pleroma.User alias Pleroma.Web.Metadata alias Pleroma.Web.Preload @@ -38,8 +40,7 @@ def redirector_with_meta(conn, params) do response = index_content - |> String.replace("", tags) - |> String.replace("", preloads) + |> String.replace("", tags <> preloads) conn |> put_resp_content_type("text/html") @@ -56,7 +57,7 @@ def redirector_with_preload(conn, params) do response = index_content - |> String.replace("", preloads) + |> String.replace("", preloads) conn |> put_resp_content_type("text/html") diff --git a/lib/pleroma/web/preload.ex b/lib/pleroma/web/preload.ex index c2211c597..f13932b89 100644 --- a/lib/pleroma/web/preload.ex +++ b/lib/pleroma/web/preload.ex @@ -22,6 +22,8 @@ def build_tags(_conn, params) do end def build_script_tag(content) do + content = Base.encode64(content) + HTML.Tag.content_tag(:script, HTML.raw(content), id: "initial-results", type: "application/json" diff --git a/lib/pleroma/web/preload/timelines.ex b/lib/pleroma/web/preload/timelines.ex index dbd7db407..2bb57567b 100644 --- a/lib/pleroma/web/preload/timelines.ex +++ b/lib/pleroma/web/preload/timelines.ex @@ -11,32 +11,29 @@ defmodule Pleroma.Web.Preload.Providers.Timelines do @public_url :"/api/v1/timelines/public" @impl Provider - def generate_terms(_params) do - build_public_tag(%{}) + def generate_terms(params) do + build_public_tag(%{}, params) end - def build_public_tag(acc) do + def build_public_tag(acc, params) do if Pleroma.Config.get([:restrict_unauthenticated, :timelines, :federated], true) do acc else - Map.put(acc, @public_url, public_timeline(nil)) + Map.put(acc, @public_url, public_timeline(params)) end end - defp public_timeline(user) do + defp public_timeline(%{"path" => ["main", "all"]}), do: get_public_timeline(false) + + defp public_timeline(_params), do: get_public_timeline(true) + + defp get_public_timeline(local_only) do activities = - create_timeline_params(user) - |> Map.put("local_only", false) - |> ActivityPub.fetch_public_activities() + ActivityPub.fetch_public_activities(%{ + "type" => ["Create"], + "local_only" => local_only + }) - StatusView.render("index.json", activities: activities, for: user, as: :activity) - end - - defp create_timeline_params(user) do - %{} - |> Map.put("type", ["Create", "Announce"]) - |> Map.put("blocking_user", user) - |> Map.put("muting_user", user) - |> Map.put("user", user) + StatusView.render("index.json", activities: activities, for: nil, as: :activity) end end diff --git a/test/web/fallback_test.exs b/test/web/fallback_test.exs index 3b7a51d5e..a65865860 100644 --- a/test/web/fallback_test.exs +++ b/test/web/fallback_test.exs @@ -11,7 +11,12 @@ test "GET /registration/:token", %{conn: conn} do response = get(conn, "/registration/foo") assert html_response(response, 200) =~ "" - assert html_response(response, 200) =~ "" + end + + test "GET /*path", %{conn: conn} do + assert conn + |> get("/foo") + |> html_response(200) =~ "" end end @@ -21,20 +26,35 @@ test "GET /:maybe_nickname_or_id", %{conn: conn} do user_missing = get(conn, "/foo") user_present = get(conn, "/#{user.nickname}") - assert html_response(user_missing, 200) =~ "" + assert(html_response(user_missing, 200) =~ "") refute html_response(user_present, 200) =~ "" + assert html_response(user_present, 200) =~ "initial-results" + end - assert html_response(user_missing, 200) =~ "" - refute html_response(user_present, 200) =~ "" + test "GET /*path", %{conn: conn} do + assert conn + |> get("/foo") + |> html_response(200) =~ "" + + refute conn + |> get("/foo/bar") + |> html_response(200) =~ "" end end - describe "preloaded data only attached to" do - test "GET /*path", %{conn: conn} do + describe "preloaded data is attached to" do + test "GET /main/public", %{conn: conn} do public_page = get(conn, "/main/public") - assert html_response(public_page, 200) =~ "" - refute html_response(public_page, 200) =~ "" + refute html_response(public_page, 200) =~ "" + assert html_response(public_page, 200) =~ "initial-results" + end + + test "GET /main/all", %{conn: conn} do + public_page = get(conn, "/main/all") + + refute html_response(public_page, 200) =~ "" + assert html_response(public_page, 200) =~ "initial-results" end end @@ -48,16 +68,6 @@ test "GET /pleroma/admin -> /pleroma/admin/", %{conn: conn} do assert redirected_to(get(conn, "/pleroma/admin")) =~ "/pleroma/admin/" end - test "GET /*path", %{conn: conn} do - assert conn - |> get("/foo") - |> html_response(200) =~ "" - - assert conn - |> get("/foo/bar") - |> html_response(200) =~ "" - end - test "OPTIONS /*path", %{conn: conn} do assert conn |> options("/foo") diff --git a/test/web/preload/timeline_test.exs b/test/web/preload/timeline_test.exs index 00b10d0ab..da6a3aded 100644 --- a/test/web/preload/timeline_test.exs +++ b/test/web/preload/timeline_test.exs @@ -52,9 +52,9 @@ test "returns the timeline when not restricted" do end test "returns public items", %{user: user} do - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 1!"}) - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 2!"}) - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 3!"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 1!"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 2!"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 3!"}) assert Timelines.generate_terms(%{}) |> Map.fetch!(@public_url) @@ -62,9 +62,9 @@ test "returns public items", %{user: user} do end test "does not return non-public items", %{user: user} do - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 1!", "visibility" => "unlisted"}) - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 2!", "visibility" => "direct"}) - {:ok, _} = CommonAPI.post(user, %{"status" => "it's post 3!"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 1!", visibility: "unlisted"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 2!", visibility: "direct"}) + {:ok, _} = CommonAPI.post(user, %{status: "it's post 3!"}) assert Timelines.generate_terms(%{}) |> Map.fetch!(@public_url) From 3b8180d7d1f52a9eae1913a59b9c970f6600e674 Mon Sep 17 00:00:00 2001 From: stwf Date: Wed, 3 Jun 2020 13:40:48 -0400 Subject: [PATCH 017/108] add status_net/config --- config/config.exs | 3 ++- lib/pleroma/web/preload.ex | 10 +++++--- lib/pleroma/web/preload/status_net.ex | 24 +++++++++++++++++++ .../controllers/util_controller.ex | 13 ++-------- .../web/twitter_api/views/util_view.ex | 14 +++++++++++ test/web/preload/status_net_test.exs | 14 +++++++++++ 6 files changed, 63 insertions(+), 15 deletions(-) create mode 100644 lib/pleroma/web/preload/status_net.ex create mode 100644 test/web/preload/status_net_test.exs diff --git a/config/config.exs b/config/config.exs index ee81eb899..0dca26152 100644 --- a/config/config.exs +++ b/config/config.exs @@ -420,7 +420,8 @@ providers: [ Pleroma.Web.Preload.Providers.Instance, Pleroma.Web.Preload.Providers.User, - Pleroma.Web.Preload.Providers.Timelines + Pleroma.Web.Preload.Providers.Timelines, + Pleroma.Web.Preload.Providers.StatusNet ] config :pleroma, :http_security, diff --git a/lib/pleroma/web/preload.ex b/lib/pleroma/web/preload.ex index f13932b89..90e454468 100644 --- a/lib/pleroma/web/preload.ex +++ b/lib/pleroma/web/preload.ex @@ -9,7 +9,13 @@ defmodule Pleroma.Web.Preload do def build_tags(_conn, params) do preload_data = Enum.reduce(Pleroma.Config.get([__MODULE__, :providers], []), %{}, fn parser, acc -> - Map.merge(acc, parser.generate_terms(params)) + terms = + params + |> parser.generate_terms() + |> Enum.map(fn {k, v} -> {k, Base.encode64(Jason.encode!(v))} end) + |> Enum.into(%{}) + + Map.merge(acc, terms) end) rendered_html = @@ -22,8 +28,6 @@ def build_tags(_conn, params) do end def build_script_tag(content) do - content = Base.encode64(content) - HTML.Tag.content_tag(:script, HTML.raw(content), id: "initial-results", type: "application/json" diff --git a/lib/pleroma/web/preload/status_net.ex b/lib/pleroma/web/preload/status_net.ex new file mode 100644 index 000000000..7e592d60d --- /dev/null +++ b/lib/pleroma/web/preload/status_net.ex @@ -0,0 +1,24 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.StatusNet do + alias Pleroma.Web.TwitterAPI.UtilView + alias Pleroma.Web.Preload.Providers.Provider + + @behaviour Provider + @config_url :"/api/statusnet/config.json" + + @impl Provider + def generate_terms(_params) do + %{} + |> build_config_tag() + end + + defp build_config_tag(acc) do + instance = Pleroma.Config.get(:instance) + info_data = UtilView.status_net_config(instance) + + Map.put(acc, @config_url, info_data) + end +end diff --git a/lib/pleroma/web/twitter_api/controllers/util_controller.ex b/lib/pleroma/web/twitter_api/controllers/util_controller.ex index fd2aee175..aaca182ec 100644 --- a/lib/pleroma/web/twitter_api/controllers/util_controller.ex +++ b/lib/pleroma/web/twitter_api/controllers/util_controller.ex @@ -15,6 +15,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do alias Pleroma.User alias Pleroma.Web alias Pleroma.Web.CommonAPI + alias Pleroma.Web.TwitterAPI.UtilView alias Pleroma.Web.WebFinger plug(Pleroma.Web.FederatingPlug when action == :remote_subscribe) @@ -90,17 +91,7 @@ def notifications_read(%{assigns: %{user: user}} = conn, %{"id" => notification_ def config(%{assigns: %{format: "xml"}} = conn, _params) do instance = Pleroma.Config.get(:instance) - - response = """ - - - #{Keyword.get(instance, :name)} - #{Web.base_url()} - #{Keyword.get(instance, :limit)} - #{!Keyword.get(instance, :registrations_open)} - - - """ + response = UtilView.status_net_config(instance) conn |> put_resp_content_type("application/xml") diff --git a/lib/pleroma/web/twitter_api/views/util_view.ex b/lib/pleroma/web/twitter_api/views/util_view.ex index 52054e020..d3bdb4f62 100644 --- a/lib/pleroma/web/twitter_api/views/util_view.ex +++ b/lib/pleroma/web/twitter_api/views/util_view.ex @@ -5,4 +5,18 @@ defmodule Pleroma.Web.TwitterAPI.UtilView do use Pleroma.Web, :view import Phoenix.HTML.Form + alias Pleroma.Web + + def status_net_config(instance) do + """ + + + #{Keyword.get(instance, :name)} + #{Web.base_url()} + #{Keyword.get(instance, :limit)} + #{!Keyword.get(instance, :registrations_open)} + + + """ + end end diff --git a/test/web/preload/status_net_test.exs b/test/web/preload/status_net_test.exs new file mode 100644 index 000000000..ab6823a7e --- /dev/null +++ b/test/web/preload/status_net_test.exs @@ -0,0 +1,14 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Preload.Providers.StatusNetTest do + use Pleroma.DataCase + alias Pleroma.Web.Preload.Providers.StatusNet + + setup do: {:ok, StatusNet.generate_terms(nil)} + + test "it renders the info", %{"/api/statusnet/config.json": info} do + assert info =~ "Pleroma" + end +end From 5677b21e824aa7f3b5124068ef65041e04002579 Mon Sep 17 00:00:00 2001 From: stwf Date: Wed, 3 Jun 2020 16:32:38 -0400 Subject: [PATCH 018/108] clean up --- config/config.exs | 18 ++++++++++++++++-- lib/pleroma/web/preload/status_net.ex | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/config/config.exs b/config/config.exs index 0dca26152..6e75b79ec 100644 --- a/config/config.exs +++ b/config/config.exs @@ -241,7 +241,18 @@ account_field_value_length: 2048, external_user_synchronization: true, extended_nickname_format: true, - cleanup_attachments: false + cleanup_attachments: false, + multi_factor_authentication: [ + totp: [ + # digits 6 or 8 + digits: 6, + period: 30 + ], + backup_codes: [ + number: 5, + length: 16 + ] + ] config :pleroma, :feed, post_title: %{ @@ -350,7 +361,8 @@ reject: [], accept: [], avatar_removal: [], - banner_removal: [] + banner_removal: [], + reject_deletes: [] config :pleroma, :mrf_keyword, reject: [], @@ -678,6 +690,8 @@ profiles: %{local: false, remote: false}, activities: %{local: false, remote: false} +config :pleroma, Pleroma.Web.ApiSpec.CastAndValidate, strict: false + # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{Mix.env()}.exs" diff --git a/lib/pleroma/web/preload/status_net.ex b/lib/pleroma/web/preload/status_net.ex index 7e592d60d..367442d5c 100644 --- a/lib/pleroma/web/preload/status_net.ex +++ b/lib/pleroma/web/preload/status_net.ex @@ -3,8 +3,8 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.Preload.Providers.StatusNet do - alias Pleroma.Web.TwitterAPI.UtilView alias Pleroma.Web.Preload.Providers.Provider + alias Pleroma.Web.TwitterAPI.UtilView @behaviour Provider @config_url :"/api/statusnet/config.json" From 75e886b5065dd5ef6b7c99cbbe162f405e1b105e Mon Sep 17 00:00:00 2001 From: stwf Date: Wed, 3 Jun 2020 17:32:03 -0400 Subject: [PATCH 019/108] fix config --- config/config.exs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/config/config.exs b/config/config.exs index 0dca26152..6e75b79ec 100644 --- a/config/config.exs +++ b/config/config.exs @@ -241,7 +241,18 @@ account_field_value_length: 2048, external_user_synchronization: true, extended_nickname_format: true, - cleanup_attachments: false + cleanup_attachments: false, + multi_factor_authentication: [ + totp: [ + # digits 6 or 8 + digits: 6, + period: 30 + ], + backup_codes: [ + number: 5, + length: 16 + ] + ] config :pleroma, :feed, post_title: %{ @@ -350,7 +361,8 @@ reject: [], accept: [], avatar_removal: [], - banner_removal: [] + banner_removal: [], + reject_deletes: [] config :pleroma, :mrf_keyword, reject: [], @@ -678,6 +690,8 @@ profiles: %{local: false, remote: false}, activities: %{local: false, remote: false} +config :pleroma, Pleroma.Web.ApiSpec.CastAndValidate, strict: false + # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{Mix.env()}.exs" From a42d135cce3e6326cd8a16f08f4ab83633386c2e Mon Sep 17 00:00:00 2001 From: stwf Date: Thu, 4 Jun 2020 10:51:24 -0400 Subject: [PATCH 020/108] test fix --- test/web/preload/instance_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/web/preload/instance_test.exs b/test/web/preload/instance_test.exs index 52f9bab3b..42a0d87bc 100644 --- a/test/web/preload/instance_test.exs +++ b/test/web/preload/instance_test.exs @@ -15,7 +15,7 @@ test "it renders the info", %{"/api/v1/instance": info} do registrations: true } = info - assert String.equivalent?(description, "A Pleroma instance, an alternative fediverse server") + assert String.equivalent?(description, "Pleroma: An efficient and flexible fediverse server") end test "it renders the panel", %{"/instance/panel.html": panel} do From faba1a6e337715af557e2e222e62de6fd35c9e8a Mon Sep 17 00:00:00 2001 From: stwf Date: Mon, 15 Jun 2020 12:25:03 -0400 Subject: [PATCH 021/108] fix tests --- lib/pleroma/web/preload/timelines.ex | 4 ++-- test/web/node_info_test.exs | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/web/preload/timelines.ex b/lib/pleroma/web/preload/timelines.ex index 2bb57567b..e531b8960 100644 --- a/lib/pleroma/web/preload/timelines.ex +++ b/lib/pleroma/web/preload/timelines.ex @@ -30,8 +30,8 @@ defp public_timeline(_params), do: get_public_timeline(true) defp get_public_timeline(local_only) do activities = ActivityPub.fetch_public_activities(%{ - "type" => ["Create"], - "local_only" => local_only + type: ["Create"], + local_only: local_only }) StatusView.render("index.json", activities: activities, for: nil, as: :activity) diff --git a/test/web/node_info_test.exs b/test/web/node_info_test.exs index 00925caad..9bcc07b37 100644 --- a/test/web/node_info_test.exs +++ b/test/web/node_info_test.exs @@ -145,8 +145,7 @@ test "it shows default features flags", %{conn: conn} do "shareable_emoji_packs", "multifetch", "pleroma_emoji_reactions", - "pleroma:api/v1/notifications:include_types_filter", - "pleroma_chat_messages" + "pleroma:api/v1/notifications:include_types_filter" ] assert MapSet.subset?( From 015f9258a9bd1430ab079f449b118b664c3b9664 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 16 Jun 2020 14:48:46 +0200 Subject: [PATCH 022/108] Transmogrifier: Extract user update handling tests. --- .../user_update_handling_test.exs | 154 +++++++++++++++++ test/web/activity_pub/transmogrifier_test.exs | 156 ------------------ 2 files changed, 154 insertions(+), 156 deletions(-) create mode 100644 test/web/activity_pub/transmogrifier/user_update_handling_test.exs diff --git a/test/web/activity_pub/transmogrifier/user_update_handling_test.exs b/test/web/activity_pub/transmogrifier/user_update_handling_test.exs new file mode 100644 index 000000000..8e5d3b883 --- /dev/null +++ b/test/web/activity_pub/transmogrifier/user_update_handling_test.exs @@ -0,0 +1,154 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.Transmogrifier.UserUpdateHandlingTest do + use Pleroma.DataCase + + alias Pleroma.Activity + alias Pleroma.User + alias Pleroma.Web.ActivityPub.Transmogrifier + + import Pleroma.Factory + + test "it works for incoming update activities" do + user = insert(:user, local: false) + + update_data = File.read!("test/fixtures/mastodon-update.json") |> Poison.decode!() + + object = + update_data["object"] + |> Map.put("actor", user.ap_id) + |> Map.put("id", user.ap_id) + + update_data = + update_data + |> Map.put("actor", user.ap_id) + |> Map.put("object", object) + + {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(update_data) + + assert data["id"] == update_data["id"] + + user = User.get_cached_by_ap_id(data["actor"]) + assert user.name == "gargle" + + assert user.avatar["url"] == [ + %{ + "href" => + "https://cd.niu.moe/accounts/avatars/000/033/323/original/fd7f8ae0b3ffedc9.jpeg" + } + ] + + assert user.banner["url"] == [ + %{ + "href" => + "https://cd.niu.moe/accounts/headers/000/033/323/original/850b3448fa5fd477.png" + } + ] + + assert user.bio == "

Some bio

" + end + + test "it works with alsoKnownAs" do + %{ap_id: actor} = insert(:user, local: false) + + assert User.get_cached_by_ap_id(actor).also_known_as == [] + + {:ok, _activity} = + "test/fixtures/mastodon-update.json" + |> File.read!() + |> Poison.decode!() + |> Map.put("actor", actor) + |> Map.update!("object", fn object -> + object + |> Map.put("actor", actor) + |> Map.put("id", actor) + |> Map.put("alsoKnownAs", [ + "http://mastodon.example.org/users/foo", + "http://example.org/users/bar" + ]) + end) + |> Transmogrifier.handle_incoming() + + assert User.get_cached_by_ap_id(actor).also_known_as == [ + "http://mastodon.example.org/users/foo", + "http://example.org/users/bar" + ] + end + + test "it works with custom profile fields" do + user = insert(:user, local: false) + + assert user.fields == [] + + update_data = File.read!("test/fixtures/mastodon-update.json") |> Poison.decode!() + + object = + update_data["object"] + |> Map.put("actor", user.ap_id) + |> Map.put("id", user.ap_id) + + update_data = + update_data + |> Map.put("actor", user.ap_id) + |> Map.put("object", object) + + {:ok, _update_activity} = Transmogrifier.handle_incoming(update_data) + + user = User.get_cached_by_ap_id(user.ap_id) + + assert user.fields == [ + %{"name" => "foo", "value" => "updated"}, + %{"name" => "foo1", "value" => "updated"} + ] + + Pleroma.Config.put([:instance, :max_remote_account_fields], 2) + + update_data = + put_in(update_data, ["object", "attachment"], [ + %{"name" => "foo", "type" => "PropertyValue", "value" => "bar"}, + %{"name" => "foo11", "type" => "PropertyValue", "value" => "bar11"}, + %{"name" => "foo22", "type" => "PropertyValue", "value" => "bar22"} + ]) + + {:ok, _} = Transmogrifier.handle_incoming(update_data) + + user = User.get_cached_by_ap_id(user.ap_id) + + assert user.fields == [ + %{"name" => "foo", "value" => "updated"}, + %{"name" => "foo1", "value" => "updated"} + ] + + update_data = put_in(update_data, ["object", "attachment"], []) + + {:ok, _} = Transmogrifier.handle_incoming(update_data) + + user = User.get_cached_by_ap_id(user.ap_id) + + assert user.fields == [] + end + + test "it works for incoming update activities which lock the account" do + user = insert(:user, local: false) + + update_data = File.read!("test/fixtures/mastodon-update.json") |> Poison.decode!() + + object = + update_data["object"] + |> Map.put("actor", user.ap_id) + |> Map.put("id", user.ap_id) + |> Map.put("manuallyApprovesFollowers", true) + + update_data = + update_data + |> Map.put("actor", user.ap_id) + |> Map.put("object", object) + + {:ok, %Activity{local: false}} = Transmogrifier.handle_incoming(update_data) + + user = User.get_cached_by_ap_id(user.ap_id) + assert user.locked == true + end +end diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 94d8552e8..b542bb7b8 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -401,162 +401,6 @@ test "it strips internal reactions" do refute Map.has_key?(object_data, "reaction_count") end - test "it works for incoming update activities" do - data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!() - - {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) - update_data = File.read!("test/fixtures/mastodon-update.json") |> Poison.decode!() - - object = - update_data["object"] - |> Map.put("actor", data["actor"]) - |> Map.put("id", data["actor"]) - - update_data = - update_data - |> Map.put("actor", data["actor"]) - |> Map.put("object", object) - - {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(update_data) - - assert data["id"] == update_data["id"] - - user = User.get_cached_by_ap_id(data["actor"]) - assert user.name == "gargle" - - assert user.avatar["url"] == [ - %{ - "href" => - "https://cd.niu.moe/accounts/avatars/000/033/323/original/fd7f8ae0b3ffedc9.jpeg" - } - ] - - assert user.banner["url"] == [ - %{ - "href" => - "https://cd.niu.moe/accounts/headers/000/033/323/original/850b3448fa5fd477.png" - } - ] - - assert user.bio == "

Some bio

" - end - - test "it works with alsoKnownAs" do - {:ok, %Activity{data: %{"actor" => actor}}} = - "test/fixtures/mastodon-post-activity.json" - |> File.read!() - |> Poison.decode!() - |> Transmogrifier.handle_incoming() - - assert User.get_cached_by_ap_id(actor).also_known_as == ["http://example.org/users/foo"] - - {:ok, _activity} = - "test/fixtures/mastodon-update.json" - |> File.read!() - |> Poison.decode!() - |> Map.put("actor", actor) - |> Map.update!("object", fn object -> - object - |> Map.put("actor", actor) - |> Map.put("id", actor) - |> Map.put("alsoKnownAs", [ - "http://mastodon.example.org/users/foo", - "http://example.org/users/bar" - ]) - end) - |> Transmogrifier.handle_incoming() - - assert User.get_cached_by_ap_id(actor).also_known_as == [ - "http://mastodon.example.org/users/foo", - "http://example.org/users/bar" - ] - end - - test "it works with custom profile fields" do - {:ok, activity} = - "test/fixtures/mastodon-post-activity.json" - |> File.read!() - |> Poison.decode!() - |> Transmogrifier.handle_incoming() - - user = User.get_cached_by_ap_id(activity.actor) - - assert user.fields == [ - %{"name" => "foo", "value" => "bar"}, - %{"name" => "foo1", "value" => "bar1"} - ] - - update_data = File.read!("test/fixtures/mastodon-update.json") |> Poison.decode!() - - object = - update_data["object"] - |> Map.put("actor", user.ap_id) - |> Map.put("id", user.ap_id) - - update_data = - update_data - |> Map.put("actor", user.ap_id) - |> Map.put("object", object) - - {:ok, _update_activity} = Transmogrifier.handle_incoming(update_data) - - user = User.get_cached_by_ap_id(user.ap_id) - - assert user.fields == [ - %{"name" => "foo", "value" => "updated"}, - %{"name" => "foo1", "value" => "updated"} - ] - - Pleroma.Config.put([:instance, :max_remote_account_fields], 2) - - update_data = - put_in(update_data, ["object", "attachment"], [ - %{"name" => "foo", "type" => "PropertyValue", "value" => "bar"}, - %{"name" => "foo11", "type" => "PropertyValue", "value" => "bar11"}, - %{"name" => "foo22", "type" => "PropertyValue", "value" => "bar22"} - ]) - - {:ok, _} = Transmogrifier.handle_incoming(update_data) - - user = User.get_cached_by_ap_id(user.ap_id) - - assert user.fields == [ - %{"name" => "foo", "value" => "updated"}, - %{"name" => "foo1", "value" => "updated"} - ] - - update_data = put_in(update_data, ["object", "attachment"], []) - - {:ok, _} = Transmogrifier.handle_incoming(update_data) - - user = User.get_cached_by_ap_id(user.ap_id) - - assert user.fields == [] - end - - test "it works for incoming update activities which lock the account" do - data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!() - - {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) - update_data = File.read!("test/fixtures/mastodon-update.json") |> Poison.decode!() - - object = - update_data["object"] - |> Map.put("actor", data["actor"]) - |> Map.put("id", data["actor"]) - |> Map.put("manuallyApprovesFollowers", true) - - update_data = - update_data - |> Map.put("actor", data["actor"]) - |> Map.put("object", object) - - {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(update_data) - - user = User.get_cached_by_ap_id(data["actor"]) - assert user.locked == true - end - test "it works for incomming unfollows with an existing follow" do user = insert(:user) From ed189568f3c2c6fc6ae9ba4d676e95902b3019d1 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Sat, 21 Mar 2020 09:47:05 +0300 Subject: [PATCH 023/108] moving mrf settings from instance to separate group --- CHANGELOG.md | 5 +- config/config.exs | 8 ++- config/description.exs | 64 +++++++++++-------- docs/configuration/cheatsheet.md | 45 +++++++------ docs/configuration/mrf.md | 14 ++-- lib/pleroma/config/config_db.ex | 8 ++- lib/pleroma/config/deprecation_warnings.ex | 44 +++++++++++++ lib/pleroma/web/activity_pub/mrf.ex | 4 +- .../web/activity_pub/mrf/simple_policy.ex | 28 ++++---- .../web/mastodon_api/views/instance_view.ex | 2 +- ...rf_config_move_from_instance_namespace.exs | 39 +++++++++++ test/config/deprecation_warnings_test.exs | 57 +++++++++++++++++ test/tasks/config_test.exs | 5 +- test/web/activity_pub/mrf/mrf_test.exs | 4 +- test/web/federator_test.exs | 4 +- test/web/node_info_test.exs | 46 ++++--------- 16 files changed, 256 insertions(+), 121 deletions(-) create mode 100644 priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs create mode 100644 test/config/deprecation_warnings_test.exs diff --git a/CHANGELOG.md b/CHANGELOG.md index d2629bf84..12e8d58e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,10 +4,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [unreleased] - ### Changed - MFR policy to set global expiration for all local Create activities - OGP rich media parser merged with TwitterCard +- Configuration: `rewrite_policy` renamed to `policies` and moved from `instance` to `mrf` group. Old config namespace is deprecated. +- Configuration: `mrf_transparency` renamed to `transparency` and moved from `instance` to `mrf` group. Old config namespace is deprecated. +- Configuration: `mrf_transparency_exclusions` renamed to `transparency_exclusions` and moved from `instance` to `mrf` group. Old config namespace is deprecated. +
API Changes - **Breaking:** Emoji API: changed methods and renamed routes. diff --git a/config/config.exs b/config/config.exs index 6a7bb9e06..3d6336a66 100644 --- a/config/config.exs +++ b/config/config.exs @@ -209,7 +209,6 @@ Pleroma.Web.ActivityPub.Publisher ], allow_relay: true, - rewrite_policy: Pleroma.Web.ActivityPub.MRF.NoOpPolicy, public: true, quarantined_instances: [], managed_config: true, @@ -220,8 +219,6 @@ "text/markdown", "text/bbcode" ], - mrf_transparency: true, - mrf_transparency_exclusions: [], autofollowed_nicknames: [], max_pinned_statuses: 1, attachment_links: false, @@ -685,6 +682,11 @@ config :pleroma, Pleroma.Web.ApiSpec.CastAndValidate, strict: false +config :pleroma, :mrf, + policies: Pleroma.Web.ActivityPub.MRF.NoOpPolicy, + transparency: true, + transparency_exclusions: [] + # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{Mix.env()}.exs" diff --git a/config/description.exs b/config/description.exs index b21d7840c..2ab95e5ab 100644 --- a/config/description.exs +++ b/config/description.exs @@ -689,17 +689,6 @@ type: :boolean, description: "Enable Pleroma's Relay, which makes it possible to follow a whole instance" }, - %{ - key: :rewrite_policy, - type: [:module, {:list, :module}], - description: - "A list of enabled MRF policies. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name.", - suggestions: - Generator.list_modules_in_dir( - "lib/pleroma/web/activity_pub/mrf", - "Elixir.Pleroma.Web.ActivityPub.MRF." - ) - }, %{ key: :public, type: :boolean, @@ -742,23 +731,6 @@ "text/bbcode" ] }, - %{ - key: :mrf_transparency, - label: "MRF transparency", - type: :boolean, - description: - "Make the content of your Message Rewrite Facility settings public (via nodeinfo)" - }, - %{ - key: :mrf_transparency_exclusions, - label: "MRF transparency exclusions", - type: {:list, :string}, - description: - "Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value.", - suggestions: [ - "exclusion.com" - ] - }, %{ key: :extended_nickname_format, type: :boolean, @@ -3325,5 +3297,41 @@ suggestions: [false] } ] + }, + %{ + group: :pleroma, + key: :mrf, + type: :group, + description: "General MRF settings", + children: [ + %{ + key: :policies, + type: [:module, {:list, :module}], + description: + "A list of MRF policies enabled. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name.", + suggestions: + Generator.list_modules_in_dir( + "lib/pleroma/web/activity_pub/mrf", + "Elixir.Pleroma.Web.ActivityPub.MRF." + ) + }, + %{ + key: :transparency, + label: "MRF transparency", + type: :boolean, + description: + "Make the content of your Message Rewrite Facility settings public (via nodeinfo)" + }, + %{ + key: :transparency_exclusions, + label: "MRF transparency exclusions", + type: {:list, :string}, + description: + "Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value.", + suggestions: [ + "exclusion.com" + ] + } + ] } ] diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index fad67fc4d..e9af604e2 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -36,26 +36,10 @@ To add configuration to your config file, you can copy it from the base config. * `federation_incoming_replies_max_depth`: Max. depth of reply-to activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. If set to `nil`, threads of any depth will be fetched. Lower this value if you experience out-of-memory crashes. * `federation_reachability_timeout_days`: Timeout (in days) of each external federation target being unreachable prior to pausing federating to it. * `allow_relay`: Enable Pleroma’s Relay, which makes it possible to follow a whole instance. -* `rewrite_policy`: Message Rewrite Policy, either one or a list. Here are the ones available by default: - * `Pleroma.Web.ActivityPub.MRF.NoOpPolicy`: Doesn’t modify activities (default). - * `Pleroma.Web.ActivityPub.MRF.DropPolicy`: Drops all activities. It generally doesn’t makes sense to use in production. - * `Pleroma.Web.ActivityPub.MRF.SimplePolicy`: Restrict the visibility of activities from certain instances (See [`:mrf_simple`](#mrf_simple)). - * `Pleroma.Web.ActivityPub.MRF.TagPolicy`: Applies policies to individual users based on tags, which can be set using pleroma-fe/admin-fe/any other app that supports Pleroma Admin API. For example it allows marking posts from individual users nsfw (sensitive). - * `Pleroma.Web.ActivityPub.MRF.SubchainPolicy`: Selectively runs other MRF policies when messages match (See [`:mrf_subchain`](#mrf_subchain)). - * `Pleroma.Web.ActivityPub.MRF.RejectNonPublic`: Drops posts with non-public visibility settings (See [`:mrf_rejectnonpublic`](#mrf_rejectnonpublic)). - * `Pleroma.Web.ActivityPub.MRF.EnsureRePrepended`: Rewrites posts to ensure that replies to posts with subjects do not have an identical subject and instead begin with re:. - * `Pleroma.Web.ActivityPub.MRF.AntiLinkSpamPolicy`: Rejects posts from likely spambots by rejecting posts from new users that contain links. - * `Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy`: Crawls attachments using their MediaProxy URLs so that the MediaProxy cache is primed. - * `Pleroma.Web.ActivityPub.MRF.MentionPolicy`: Drops posts mentioning configurable users. (See [`:mrf_mention`](#mrf_mention)). - * `Pleroma.Web.ActivityPub.MRF.VocabularyPolicy`: Restricts activities to a configured set of vocabulary. (See [`:mrf_vocabulary`](#mrf_vocabulary)). - * `Pleroma.Web.ActivityPub.MRF.ObjectAgePolicy`: Rejects or delists posts based on their age when received. (See [`:mrf_object_age`](#mrf_object_age)). - * `Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy`: Adds expiration to all local Create activities (see [`:mrf_activity_expiration`](#mrf_activity_expiration)). * `public`: Makes the client API in authenticated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network. * `quarantined_instances`: List of ActivityPub instances where private(DMs, followers-only) activities will not be send. * `managed_config`: Whenether the config for pleroma-fe is configured in [:frontend_configurations](#frontend_configurations) or in ``static/config.json``. * `allowed_post_formats`: MIME-type list of formats allowed to be posted (transformed into HTML). -* `mrf_transparency`: Make the content of your Message Rewrite Facility settings public (via nodeinfo). -* `mrf_transparency_exclusions`: Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value. * `extended_nickname_format`: Set to `true` to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames. * `max_pinned_statuses`: The maximum number of pinned statuses. `0` will disable the feature. @@ -78,11 +62,30 @@ To add configuration to your config file, you can copy it from the base config. * `external_user_synchronization`: Enabling following/followers counters synchronization for external users. * `cleanup_attachments`: Remove attachments along with statuses. Does not affect duplicate files and attachments without status. Enabling this will increase load to database when deleting statuses on larger instances. +## Message rewrite facility + +### :mrf +* `policies`: Message Rewrite Policy, either one or a list. Here are the ones available by default: + * `Pleroma.Web.ActivityPub.MRF.NoOpPolicy`: Doesn’t modify activities (default). + * `Pleroma.Web.ActivityPub.MRF.DropPolicy`: Drops all activities. It generally doesn’t makes sense to use in production. + * `Pleroma.Web.ActivityPub.MRF.SimplePolicy`: Restrict the visibility of activities from certains instances (See [`:mrf_simple`](#mrf_simple)). + * `Pleroma.Web.ActivityPub.MRF.TagPolicy`: Applies policies to individual users based on tags, which can be set using pleroma-fe/admin-fe/any other app that supports Pleroma Admin API. For example it allows marking posts from individual users nsfw (sensitive). + * `Pleroma.Web.ActivityPub.MRF.SubchainPolicy`: Selectively runs other MRF policies when messages match (See [`:mrf_subchain`](#mrf_subchain)). + * `Pleroma.Web.ActivityPub.MRF.RejectNonPublic`: Drops posts with non-public visibility settings (See [`:mrf_rejectnonpublic`](#mrf_rejectnonpublic)). + * `Pleroma.Web.ActivityPub.MRF.EnsureRePrepended`: Rewrites posts to ensure that replies to posts with subjects do not have an identical subject and instead begin with re:. + * `Pleroma.Web.ActivityPub.MRF.AntiLinkSpamPolicy`: Rejects posts from likely spambots by rejecting posts from new users that contain links. + * `Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy`: Crawls attachments using their MediaProxy URLs so that the MediaProxy cache is primed. + * `Pleroma.Web.ActivityPub.MRF.MentionPolicy`: Drops posts mentioning configurable users. (See [`:mrf_mention`](#mrf_mention)). + * `Pleroma.Web.ActivityPub.MRF.VocabularyPolicy`: Restricts activities to a configured set of vocabulary. (See [`:mrf_vocabulary`](#mrf_vocabulary)). + * `Pleroma.Web.ActivityPub.MRF.ObjectAgePolicy`: Rejects or delists posts based on their age when received. (See [`:mrf_object_age`](#mrf_object_age)). +* `transparency`: Make the content of your Message Rewrite Facility settings public (via nodeinfo). +* `transparency_exclusions`: Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value. + ## Federation ### MRF policies !!! note - Configuring MRF policies is not enough for them to take effect. You have to enable them by specifying their module in `rewrite_policy` under [:instance](#instance) section. + Configuring MRF policies is not enough for them to take effect. You have to enable them by specifying their module in `policies` under [:mrf](#mrf) section. #### :mrf_simple * `media_removal`: List of instances to remove media from. @@ -969,13 +972,13 @@ config :pleroma, :database_config_whitelist, [ Restrict access for unauthenticated users to timelines (public and federate), user profiles and statuses. -* `timelines` - public and federated timelines - * `local` - public timeline +* `timelines`: public and federated timelines + * `local`: public timeline * `federated` -* `profiles` - user profiles +* `profiles`: user profiles * `local` * `remote` -* `activities` - statuses +* `activities`: statuses * `local` * `remote` diff --git a/docs/configuration/mrf.md b/docs/configuration/mrf.md index d48d0cc99..31c66e098 100644 --- a/docs/configuration/mrf.md +++ b/docs/configuration/mrf.md @@ -34,9 +34,9 @@ config :pleroma, :instance, To use `SimplePolicy`, you must enable it. Do so by adding the following to your `:instance` config object, so that it looks like this: ```elixir -config :pleroma, :instance, +config :pleroma, :mrf, [...] - rewrite_policy: Pleroma.Web.ActivityPub.MRF.SimplePolicy + policies: Pleroma.Web.ActivityPub.MRF.SimplePolicy ``` Once `SimplePolicy` is enabled, you can configure various groups in the `:mrf_simple` config object. These groups are: @@ -58,8 +58,8 @@ Servers should be configured as lists. This example will enable `SimplePolicy`, block media from `illegalporn.biz`, mark media as NSFW from `porn.biz` and `porn.business`, reject messages from `spam.com`, remove messages from `spam.university` from the federated timeline and block reports (flags) from `whiny.whiner`: ```elixir -config :pleroma, :instance, - rewrite_policy: [Pleroma.Web.ActivityPub.MRF.SimplePolicy] +config :pleroma, :mrf, + policies: [Pleroma.Web.ActivityPub.MRF.SimplePolicy] config :pleroma, :mrf_simple, media_removal: ["illegalporn.biz"], @@ -75,7 +75,7 @@ The effects of MRF policies can be very drastic. It is important to use this fun ## Writing your own MRF Policy -As discussed above, the MRF system is a modular system that supports pluggable policies. This means that an admin may write a custom MRF policy in Elixir or any other language that runs on the Erlang VM, by specifying the module name in the `rewrite_policy` config setting. +As discussed above, the MRF system is a modular system that supports pluggable policies. This means that an admin may write a custom MRF policy in Elixir or any other language that runs on the Erlang VM, by specifying the module name in the `policies` config setting. For example, here is a sample policy module which rewrites all messages to "new message content": @@ -125,8 +125,8 @@ end If you save this file as `lib/pleroma/web/activity_pub/mrf/rewrite_policy.ex`, it will be included when you next rebuild Pleroma. You can enable it in the configuration like so: ```elixir -config :pleroma, :instance, - rewrite_policy: [ +config :pleroma, :mrf, + policies: [ Pleroma.Web.ActivityPub.MRF.SimplePolicy, Pleroma.Web.ActivityPub.MRF.RewritePolicy ] diff --git a/lib/pleroma/config/config_db.ex b/lib/pleroma/config/config_db.ex index 30bd51b05..c0f3fe888 100644 --- a/lib/pleroma/config/config_db.ex +++ b/lib/pleroma/config/config_db.ex @@ -54,13 +54,13 @@ def changeset(config, params \\ %{}) do defp create(params) do %ConfigDB{} - |> changeset(params) + |> changeset(params, transform?) |> Repo.insert() end defp update(%ConfigDB{} = config, %{value: value}) do config - |> changeset(%{value: value}) + |> changeset(%{value: value}, transform?) |> Repo.update() end @@ -167,7 +167,9 @@ defp only_full_update?(%ConfigDB{group: group, key: key}) do end) end - @spec delete(map()) :: {:ok, ConfigDB.t()} | {:error, Changeset.t()} + @spec delete(ConfigDB.t() | map()) :: {:ok, ConfigDB.t()} | {:error, Changeset.t()} + def delete(%ConfigDB{} = config), do: Repo.delete(config) + def delete(params) do search_opts = Map.delete(params, :subkeys) diff --git a/lib/pleroma/config/deprecation_warnings.ex b/lib/pleroma/config/deprecation_warnings.ex index b68ded01f..0a6c724fb 100644 --- a/lib/pleroma/config/deprecation_warnings.ex +++ b/lib/pleroma/config/deprecation_warnings.ex @@ -3,9 +3,23 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Config.DeprecationWarnings do + alias Pleroma.Config + require Logger alias Pleroma.Config + @type config_namespace() :: [atom()] + @type config_map() :: {config_namespace(), config_namespace(), String.t()} + + @mrf_config_map [ + {[:instance, :rewrite_policy], [:mrf, :policies], + "\n* `config :pleroma, :instance, rewrite_policy` is now `config :pleroma, :mrf, policies`"}, + {[:instance, :mrf_transparency], [:mrf, :transparency], + "\n* `config :pleroma, :instance, mrf_transparency` is now `config :pleroma, :mrf, transparency`"}, + {[:instance, :mrf_transparency_exclusions], [:mrf, :transparency_exclusions], + "\n* `config :pleroma, :instance, mrf_transparency_exclusions` is now `config :pleroma, :mrf, transparency_exclusions`"} + ] + def check_hellthread_threshold do if Config.get([:mrf_hellthread, :threshold]) do Logger.warn(""" @@ -39,5 +53,35 @@ def mrf_user_allowlist do def warn do check_hellthread_threshold() mrf_user_allowlist() + check_old_mrf_config() + end + + def check_old_mrf_config do + warning_preface = """ + !!!DEPRECATION WARNING!!! + Your config is using old namespaces for MRF configuration. They should work for now, but you are advised to change to new namespaces to prevent possible issues later: + """ + + move_namespace_and_warn(@mrf_config_map, warning_preface) + end + + @spec move_namespace_and_warn([config_map()], String.t()) :: :ok + def move_namespace_and_warn(config_map, warning_preface) do + warning = + Enum.reduce(config_map, "", fn + {old, new, err_msg}, acc -> + old_config = Config.get(old) + + if old_config do + Config.put(new, old_config) + acc <> err_msg + else + acc + end + end) + + if warning != "" do + Logger.warn(warning_preface <> warning) + end end end diff --git a/lib/pleroma/web/activity_pub/mrf.ex b/lib/pleroma/web/activity_pub/mrf.ex index 5a4a76085..206d6af52 100644 --- a/lib/pleroma/web/activity_pub/mrf.ex +++ b/lib/pleroma/web/activity_pub/mrf.ex @@ -16,7 +16,7 @@ def filter(policies, %{} = object) do def filter(%{} = object), do: get_policies() |> filter(object) def get_policies do - Pleroma.Config.get([:instance, :rewrite_policy], []) |> get_policies() + Pleroma.Config.get([:mrf, :policies], []) |> get_policies() end defp get_policies(policy) when is_atom(policy), do: [policy] @@ -51,7 +51,7 @@ def describe(policies) do get_policies() |> Enum.map(fn policy -> to_string(policy) |> String.split(".") |> List.last() end) - exclusions = Pleroma.Config.get([:instance, :mrf_transparency_exclusions]) + exclusions = Pleroma.Config.get([:mrf, :transparency_exclusions]) base = %{ diff --git a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex index b7dcb1b86..9cea6bcf9 100644 --- a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex @@ -3,21 +3,23 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do - alias Pleroma.User - alias Pleroma.Web.ActivityPub.MRF @moduledoc "Filter activities depending on their origin instance" @behaviour Pleroma.Web.ActivityPub.MRF + alias Pleroma.Config + alias Pleroma.User + alias Pleroma.Web.ActivityPub.MRF + require Pleroma.Constants defp check_accept(%{host: actor_host} = _actor_info, object) do accepts = - Pleroma.Config.get([:mrf_simple, :accept]) + Config.get([:mrf_simple, :accept]) |> MRF.subdomains_regex() cond do accepts == [] -> {:ok, object} - actor_host == Pleroma.Config.get([Pleroma.Web.Endpoint, :url, :host]) -> {:ok, object} + actor_host == Config.get([Pleroma.Web.Endpoint, :url, :host]) -> {:ok, object} MRF.subdomain_match?(accepts, actor_host) -> {:ok, object} true -> {:reject, nil} end @@ -25,7 +27,7 @@ defp check_accept(%{host: actor_host} = _actor_info, object) do defp check_reject(%{host: actor_host} = _actor_info, object) do rejects = - Pleroma.Config.get([:mrf_simple, :reject]) + Config.get([:mrf_simple, :reject]) |> MRF.subdomains_regex() if MRF.subdomain_match?(rejects, actor_host) do @@ -41,7 +43,7 @@ defp check_media_removal( ) when length(child_attachment) > 0 do media_removal = - Pleroma.Config.get([:mrf_simple, :media_removal]) + Config.get([:mrf_simple, :media_removal]) |> MRF.subdomains_regex() object = @@ -65,7 +67,7 @@ defp check_media_nsfw( } = object ) do media_nsfw = - Pleroma.Config.get([:mrf_simple, :media_nsfw]) + Config.get([:mrf_simple, :media_nsfw]) |> MRF.subdomains_regex() object = @@ -85,7 +87,7 @@ defp check_media_nsfw(_actor_info, object), do: {:ok, object} defp check_ftl_removal(%{host: actor_host} = _actor_info, object) do timeline_removal = - Pleroma.Config.get([:mrf_simple, :federated_timeline_removal]) + Config.get([:mrf_simple, :federated_timeline_removal]) |> MRF.subdomains_regex() object = @@ -108,7 +110,7 @@ defp check_ftl_removal(%{host: actor_host} = _actor_info, object) do defp check_report_removal(%{host: actor_host} = _actor_info, %{"type" => "Flag"} = object) do report_removal = - Pleroma.Config.get([:mrf_simple, :report_removal]) + Config.get([:mrf_simple, :report_removal]) |> MRF.subdomains_regex() if MRF.subdomain_match?(report_removal, actor_host) do @@ -122,7 +124,7 @@ defp check_report_removal(_actor_info, object), do: {:ok, object} defp check_avatar_removal(%{host: actor_host} = _actor_info, %{"icon" => _icon} = object) do avatar_removal = - Pleroma.Config.get([:mrf_simple, :avatar_removal]) + Config.get([:mrf_simple, :avatar_removal]) |> MRF.subdomains_regex() if MRF.subdomain_match?(avatar_removal, actor_host) do @@ -136,7 +138,7 @@ defp check_avatar_removal(_actor_info, object), do: {:ok, object} defp check_banner_removal(%{host: actor_host} = _actor_info, %{"image" => _image} = object) do banner_removal = - Pleroma.Config.get([:mrf_simple, :banner_removal]) + Config.get([:mrf_simple, :banner_removal]) |> MRF.subdomains_regex() if MRF.subdomain_match?(banner_removal, actor_host) do @@ -197,10 +199,10 @@ def filter(object), do: {:ok, object} @impl true def describe do - exclusions = Pleroma.Config.get([:instance, :mrf_transparency_exclusions]) + exclusions = Config.get([:mrf, :transparency_exclusions]) mrf_simple = - Pleroma.Config.get(:mrf_simple) + Config.get(:mrf_simple) |> Enum.map(fn {k, v} -> {k, Enum.reject(v, fn v -> v in exclusions end)} end) |> Enum.into(%{}) diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex index c498fe632..4f0ae4e8f 100644 --- a/lib/pleroma/web/mastodon_api/views/instance_view.ex +++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex @@ -78,7 +78,7 @@ def features do def federation do quarantined = Config.get([:instance, :quarantined_instances], []) - if Config.get([:instance, :mrf_transparency]) do + if Config.get([:mrf, :transparency]) do {:ok, data} = MRF.describe() data diff --git a/priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs b/priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs new file mode 100644 index 000000000..6f6094613 --- /dev/null +++ b/priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs @@ -0,0 +1,39 @@ +defmodule Pleroma.Repo.Migrations.MrfConfigMoveFromInstanceNamespace do + use Ecto.Migration + + alias Pleroma.ConfigDB + + @old_keys [:rewrite_policy, :mrf_transparency, :mrf_transparency_exclusions] + def change do + config = ConfigDB.get_by_params(%{group: ":pleroma", key: ":instance"}) + + if config do + old_instance = ConfigDB.from_binary(config.value) + + mrf = + old_instance + |> Keyword.take(@old_keys) + |> Keyword.new(fn + {:rewrite_policy, policies} -> {:policies, policies} + {:mrf_transparency, transparency} -> {:transparency, transparency} + {:mrf_transparency_exclusions, exclusions} -> {:transparency_exclusions, exclusions} + end) + + if mrf != [] do + {:ok, _} = + ConfigDB.create( + %{group: ":pleroma", key: ":mrf", value: ConfigDB.to_binary(mrf)}, + false + ) + + new_instance = Keyword.drop(old_instance, @old_keys) + + if new_instance != [] do + {:ok, _} = ConfigDB.update(config, %{value: ConfigDB.to_binary(new_instance)}, false) + else + {:ok, _} = ConfigDB.delete(config) + end + end + end + end +end diff --git a/test/config/deprecation_warnings_test.exs b/test/config/deprecation_warnings_test.exs new file mode 100644 index 000000000..548ee87b0 --- /dev/null +++ b/test/config/deprecation_warnings_test.exs @@ -0,0 +1,57 @@ +defmodule Pleroma.Config.DeprecationWarningsTest do + use ExUnit.Case, async: true + use Pleroma.Tests.Helpers + + import ExUnit.CaptureLog + + test "check_old_mrf_config/0" do + clear_config([:instance, :rewrite_policy], Pleroma.Web.ActivityPub.MRF.NoOpPolicy) + clear_config([:instance, :mrf_transparency], true) + clear_config([:instance, :mrf_transparency_exclusions], []) + + assert capture_log(fn -> Pleroma.Config.DeprecationWarnings.check_old_mrf_config() end) =~ + """ + !!!DEPRECATION WARNING!!! + Your config is using old namespaces for MRF configuration. They should work for now, but you are advised to change to new namespaces to prevent possible issues later: + + * `config :pleroma, :instance, rewrite_policy` is now `config :pleroma, :mrf, policies` + * `config :pleroma, :instance, mrf_transparency` is now `config :pleroma, :mrf, transparency` + * `config :pleroma, :instance, mrf_transparency_exclusions` is now `config :pleroma, :mrf, transparency_exclusions` + """ + end + + test "move_namespace_and_warn/2" do + old_group1 = [:group, :key] + old_group2 = [:group, :key2] + old_group3 = [:group, :key3] + + new_group1 = [:another_group, :key4] + new_group2 = [:another_group, :key5] + new_group3 = [:another_group, :key6] + + clear_config(old_group1, 1) + clear_config(old_group2, 2) + clear_config(old_group3, 3) + + clear_config(new_group1) + clear_config(new_group2) + clear_config(new_group3) + + config_map = [ + {old_group1, new_group1, "\n error :key"}, + {old_group2, new_group2, "\n error :key2"}, + {old_group3, new_group3, "\n error :key3"} + ] + + assert capture_log(fn -> + Pleroma.Config.DeprecationWarnings.move_namespace_and_warn( + config_map, + "Warning preface" + ) + end) =~ "Warning preface\n error :key\n error :key2\n error :key3" + + assert Pleroma.Config.get(new_group1) == 1 + assert Pleroma.Config.get(new_group2) == 2 + assert Pleroma.Config.get(new_group3) == 3 + end +end diff --git a/test/tasks/config_test.exs b/test/tasks/config_test.exs index e1bddfebf..bae171074 100644 --- a/test/tasks/config_test.exs +++ b/test/tasks/config_test.exs @@ -120,14 +120,11 @@ test "load a settings with large values and pass to file", %{temp_file: temp_fil federation_reachability_timeout_days: 7, federation_publisher_modules: [Pleroma.Web.ActivityPub.Publisher], allow_relay: true, - rewrite_policy: Pleroma.Web.ActivityPub.MRF.NoOpPolicy, public: true, quarantined_instances: [], managed_config: true, static_dir: "instance/static/", allowed_post_formats: ["text/plain", "text/html", "text/markdown", "text/bbcode"], - mrf_transparency: true, - mrf_transparency_exclusions: [], autofollowed_nicknames: [], max_pinned_statuses: 1, attachment_links: false, @@ -174,7 +171,7 @@ test "load a settings with large values and pass to file", %{temp_file: temp_fil end assert file == - "#{header}\n\nconfig :pleroma, :instance,\n name: \"Pleroma\",\n email: \"example@example.com\",\n notify_email: \"noreply@example.com\",\n description: \"A Pleroma instance, an alternative fediverse server\",\n limit: 5000,\n chat_limit: 5000,\n remote_limit: 100_000,\n upload_limit: 16_000_000,\n avatar_upload_limit: 2_000_000,\n background_upload_limit: 4_000_000,\n banner_upload_limit: 4_000_000,\n poll_limits: %{\n max_expiration: 31_536_000,\n max_option_chars: 200,\n max_options: 20,\n min_expiration: 0\n },\n registrations_open: true,\n federating: true,\n federation_incoming_replies_max_depth: 100,\n federation_reachability_timeout_days: 7,\n federation_publisher_modules: [Pleroma.Web.ActivityPub.Publisher],\n allow_relay: true,\n rewrite_policy: Pleroma.Web.ActivityPub.MRF.NoOpPolicy,\n public: true,\n quarantined_instances: [],\n managed_config: true,\n static_dir: \"instance/static/\",\n allowed_post_formats: [\"text/plain\", \"text/html\", \"text/markdown\", \"text/bbcode\"],\n mrf_transparency: true,\n mrf_transparency_exclusions: [],\n autofollowed_nicknames: [],\n max_pinned_statuses: 1,\n attachment_links: false,\n welcome_user_nickname: nil,\n welcome_message: nil,\n max_report_comment_size: 1000,\n safe_dm_mentions: false,\n healthcheck: false,\n remote_post_retention_days: 90,\n skip_thread_containment: true,\n limit_to_local_content: :unauthenticated,\n user_bio_length: 5000,\n user_name_length: 100,\n max_account_fields: 10,\n max_remote_account_fields: 20,\n account_field_name_length: 512,\n account_field_value_length: 2048,\n external_user_synchronization: true,\n extended_nickname_format: true,\n multi_factor_authentication: [\n totp: [digits: 6, period: 30],\n backup_codes: [number: 2, length: 6]\n ]\n" + "#{header}\n\nconfig :pleroma, :instance,\n name: \"Pleroma\",\n email: \"example@example.com\",\n notify_email: \"noreply@example.com\",\n description: \"A Pleroma instance, an alternative fediverse server\",\n limit: 5000,\n chat_limit: 5000,\n remote_limit: 100_000,\n upload_limit: 16_000_000,\n avatar_upload_limit: 2_000_000,\n background_upload_limit: 4_000_000,\n banner_upload_limit: 4_000_000,\n poll_limits: %{\n max_expiration: 31_536_000,\n max_option_chars: 200,\n max_options: 20,\n min_expiration: 0\n },\n registrations_open: true,\n federating: true,\n federation_incoming_replies_max_depth: 100,\n federation_reachability_timeout_days: 7,\n federation_publisher_modules: [Pleroma.Web.ActivityPub.Publisher],\n allow_relay: true,\n public: true,\n quarantined_instances: [],\n managed_config: true,\n static_dir: \"instance/static/\",\n allowed_post_formats: [\"text/plain\", \"text/html\", \"text/markdown\", \"text/bbcode\"],\n autofollowed_nicknames: [],\n max_pinned_statuses: 1,\n attachment_links: false,\n welcome_user_nickname: nil,\n welcome_message: nil,\n max_report_comment_size: 1000,\n safe_dm_mentions: false,\n healthcheck: false,\n remote_post_retention_days: 90,\n skip_thread_containment: true,\n limit_to_local_content: :unauthenticated,\n user_bio_length: 5000,\n user_name_length: 100,\n max_account_fields: 10,\n max_remote_account_fields: 20,\n account_field_name_length: 512,\n account_field_value_length: 2048,\n external_user_synchronization: true,\n extended_nickname_format: true,\n multi_factor_authentication: [\n totp: [digits: 6, period: 30],\n backup_codes: [number: 2, length: 6]\n ]\n" end end end diff --git a/test/web/activity_pub/mrf/mrf_test.exs b/test/web/activity_pub/mrf/mrf_test.exs index c941066f2..a63b25423 100644 --- a/test/web/activity_pub/mrf/mrf_test.exs +++ b/test/web/activity_pub/mrf/mrf_test.exs @@ -60,8 +60,6 @@ test "matches are case-insensitive" do end describe "describe/0" do - setup do: clear_config([:instance, :rewrite_policy]) - test "it works as expected with noop policy" do expected = %{ mrf_policies: ["NoOpPolicy"], @@ -72,7 +70,7 @@ test "it works as expected with noop policy" do end test "it works as expected with mock policy" do - Pleroma.Config.put([:instance, :rewrite_policy], [MRFModuleMock]) + clear_config([:mrf, :policies], [MRFModuleMock]) expected = %{ mrf_policies: ["MRFModuleMock"], diff --git a/test/web/federator_test.exs b/test/web/federator_test.exs index de90aa6e0..592fdccd1 100644 --- a/test/web/federator_test.exs +++ b/test/web/federator_test.exs @@ -23,7 +23,7 @@ defmodule Pleroma.Web.FederatorTest do setup_all do: clear_config([:instance, :federating], true) setup do: clear_config([:instance, :allow_relay]) - setup do: clear_config([:instance, :rewrite_policy]) + setup do: clear_config([:mrf, :policies]) setup do: clear_config([:mrf_keyword]) describe "Publish an activity" do @@ -158,7 +158,7 @@ test "it does not crash if MRF rejects the post" do Pleroma.Config.put([:mrf_keyword, :reject], ["lain"]) Pleroma.Config.put( - [:instance, :rewrite_policy], + [:mrf, :policies], Pleroma.Web.ActivityPub.MRF.KeywordPolicy ) diff --git a/test/web/node_info_test.exs b/test/web/node_info_test.exs index 00925caad..06b33607f 100644 --- a/test/web/node_info_test.exs +++ b/test/web/node_info_test.exs @@ -67,10 +67,10 @@ test "returns software.repository field in nodeinfo 2.1", %{conn: conn} do end test "returns fieldsLimits field", %{conn: conn} do - Config.put([:instance, :max_account_fields], 10) - Config.put([:instance, :max_remote_account_fields], 15) - Config.put([:instance, :account_field_name_length], 255) - Config.put([:instance, :account_field_value_length], 2048) + clear_config([:instance, :max_account_fields], 10) + clear_config([:instance, :max_remote_account_fields], 15) + clear_config([:instance, :account_field_name_length], 255) + clear_config([:instance, :account_field_value_length], 2048) response = conn @@ -84,8 +84,7 @@ test "returns fieldsLimits field", %{conn: conn} do end test "it returns the safe_dm_mentions feature if enabled", %{conn: conn} do - option = Config.get([:instance, :safe_dm_mentions]) - Config.put([:instance, :safe_dm_mentions], true) + clear_config([:instance, :safe_dm_mentions], true) response = conn @@ -102,8 +101,6 @@ test "it returns the safe_dm_mentions feature if enabled", %{conn: conn} do |> json_response(:ok) refute "safe_dm_mentions" in response["metadata"]["features"] - - Config.put([:instance, :safe_dm_mentions], option) end describe "`metadata/federation/enabled`" do @@ -156,14 +153,11 @@ test "it shows default features flags", %{conn: conn} do end test "it shows MRF transparency data if enabled", %{conn: conn} do - config = Config.get([:instance, :rewrite_policy]) - Config.put([:instance, :rewrite_policy], [Pleroma.Web.ActivityPub.MRF.SimplePolicy]) - - option = Config.get([:instance, :mrf_transparency]) - Config.put([:instance, :mrf_transparency], true) + clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.SimplePolicy]) + clear_config([:mrf, :transparency], true) simple_config = %{"reject" => ["example.com"]} - Config.put(:mrf_simple, simple_config) + clear_config(:mrf_simple, simple_config) response = conn @@ -171,26 +165,17 @@ test "it shows MRF transparency data if enabled", %{conn: conn} do |> json_response(:ok) assert response["metadata"]["federation"]["mrf_simple"] == simple_config - - Config.put([:instance, :rewrite_policy], config) - Config.put([:instance, :mrf_transparency], option) - Config.put(:mrf_simple, %{}) end test "it performs exclusions from MRF transparency data if configured", %{conn: conn} do - config = Config.get([:instance, :rewrite_policy]) - Config.put([:instance, :rewrite_policy], [Pleroma.Web.ActivityPub.MRF.SimplePolicy]) - - option = Config.get([:instance, :mrf_transparency]) - Config.put([:instance, :mrf_transparency], true) - - exclusions = Config.get([:instance, :mrf_transparency_exclusions]) - Config.put([:instance, :mrf_transparency_exclusions], ["other.site"]) + clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.SimplePolicy]) + clear_config([:mrf, :transparency], true) + clear_config([:mrf, :transparency_exclusions], ["other.site"]) simple_config = %{"reject" => ["example.com", "other.site"]} - expected_config = %{"reject" => ["example.com"]} + clear_config(:mrf_simple, simple_config) - Config.put(:mrf_simple, simple_config) + expected_config = %{"reject" => ["example.com"]} response = conn @@ -199,10 +184,5 @@ test "it performs exclusions from MRF transparency data if configured", %{conn: assert response["metadata"]["federation"]["mrf_simple"] == expected_config assert response["metadata"]["federation"]["exclusions"] == true - - Config.put([:instance, :rewrite_policy], config) - Config.put([:instance, :mrf_transparency], option) - Config.put([:instance, :mrf_transparency_exclusions], exclusions) - Config.put(:mrf_simple, %{}) end end From b66e6eb521c2901da119179016c99751cb5e6f95 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Tue, 16 Jun 2020 19:03:45 +0300 Subject: [PATCH 024/108] fixes for tests --- docs/configuration/storing_remote_media.md | 4 ++-- lib/pleroma/config/config_db.ex | 4 ++-- test/web/activity_pub/activity_pub_test.exs | 4 ++-- test/workers/cron/purge_expired_activities_worker_test.exs | 6 +----- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/docs/configuration/storing_remote_media.md b/docs/configuration/storing_remote_media.md index 7e91fe7d9..c01985d25 100644 --- a/docs/configuration/storing_remote_media.md +++ b/docs/configuration/storing_remote_media.md @@ -33,6 +33,6 @@ as soon as the post is received by your instance. Add to your `prod.secret.exs`: ``` -config :pleroma, :instance, - rewrite_policy: [Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy] +config :pleroma, :mrf, + policies: [Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy] ``` diff --git a/lib/pleroma/config/config_db.ex b/lib/pleroma/config/config_db.ex index c0f3fe888..134116863 100644 --- a/lib/pleroma/config/config_db.ex +++ b/lib/pleroma/config/config_db.ex @@ -54,13 +54,13 @@ def changeset(config, params \\ %{}) do defp create(params) do %ConfigDB{} - |> changeset(params, transform?) + |> changeset(params) |> Repo.insert() end defp update(%ConfigDB{} = config, %{value: value}) do config - |> changeset(%{value: value}, transform?) + |> changeset(%{value: value}) |> Repo.update() end diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 7693f6400..1c684df1a 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -2055,11 +2055,11 @@ test "it just returns the input if the user has no following/follower addresses" end describe "global activity expiration" do - setup do: clear_config([:instance, :rewrite_policy]) + setup do: clear_config([:mrf, :policies]) test "creates an activity expiration for local Create activities" do Pleroma.Config.put( - [:instance, :rewrite_policy], + [:mrf, :policies], Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy ) diff --git a/test/workers/cron/purge_expired_activities_worker_test.exs b/test/workers/cron/purge_expired_activities_worker_test.exs index 6d2991a60..b1db59fdf 100644 --- a/test/workers/cron/purge_expired_activities_worker_test.exs +++ b/test/workers/cron/purge_expired_activities_worker_test.exs @@ -13,7 +13,6 @@ defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorkerTest do setup do clear_config([ActivityExpiration, :enabled]) - clear_config([:instance, :rewrite_policy]) end test "deletes an expiration activity" do @@ -42,10 +41,7 @@ test "deletes an expiration activity" do test "works with ActivityExpirationPolicy" do Pleroma.Config.put([ActivityExpiration, :enabled], true) - Pleroma.Config.put( - [:instance, :rewrite_policy], - Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy - ) + clear_config([:mrf, :policies], Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy) user = insert(:user) From abda3f2d92eda0888e018cea0a2fffb21d9e0a60 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Wed, 17 Jun 2020 10:47:20 +0300 Subject: [PATCH 025/108] suggestion for changelog --- CHANGELOG.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12e8d58e6..6095cf139 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Changed - MFR policy to set global expiration for all local Create activities - OGP rich media parser merged with TwitterCard -- Configuration: `rewrite_policy` renamed to `policies` and moved from `instance` to `mrf` group. Old config namespace is deprecated. -- Configuration: `mrf_transparency` renamed to `transparency` and moved from `instance` to `mrf` group. Old config namespace is deprecated. -- Configuration: `mrf_transparency_exclusions` renamed to `transparency_exclusions` and moved from `instance` to `mrf` group. Old config namespace is deprecated. +- Configuration: `:instance, rewrite_policy` moved to `:mrf, policies`, `:instance, :mrf_transparency` moved to `:mrf, :transparency`, `:instance, :mrf_transparency_exclusions` moved to `:mrf, :transparency_exclusions`. Old config namespace is deprecated.
API Changes From 9a82de219c264f467b485316570c5425e3fe2f00 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Wed, 17 Jun 2020 10:50:05 +0300 Subject: [PATCH 026/108] formatting --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6095cf139..fab87b569 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [unreleased] + ### Changed - MFR policy to set global expiration for all local Create activities - OGP rich media parser merged with TwitterCard From abdb540d450b5e68ea452f78d865d63bca764a49 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 19 Jun 2020 15:30:30 +0200 Subject: [PATCH 027/108] ObjectValidators: Add basic UpdateValidator. --- lib/pleroma/web/activity_pub/builder.ex | 15 +++++++ .../web/activity_pub/object_validator.ex | 11 +++++ .../object_validators/update_validator.ex | 43 +++++++++++++++++++ .../activity_pub/object_validator_test.exs | 20 +++++++++ 4 files changed, 89 insertions(+) create mode 100644 lib/pleroma/web/activity_pub/object_validators/update_validator.ex diff --git a/lib/pleroma/web/activity_pub/builder.ex b/lib/pleroma/web/activity_pub/builder.ex index 1aac62c69..135a5c431 100644 --- a/lib/pleroma/web/activity_pub/builder.ex +++ b/lib/pleroma/web/activity_pub/builder.ex @@ -123,6 +123,21 @@ def like(actor, object) do end end + # Retricted to user updates for now, always public + @spec update(User.t(), Object.t()) :: {:ok, map(), keyword()} + def update(actor, object) do + to = [Pleroma.Constants.as_public(), actor.follower_address] + + {:ok, + %{ + "id" => Utils.generate_activity_id(), + "type" => "Update", + "actor" => actor.ap_id, + "object" => object, + "to" => to + }, []} + end + @spec announce(User.t(), Object.t(), keyword()) :: {:ok, map(), keyword()} def announce(actor, object, options \\ []) do public? = Keyword.get(options, :public, false) diff --git a/lib/pleroma/web/activity_pub/object_validator.ex b/lib/pleroma/web/activity_pub/object_validator.ex index 6a83a2c33..804a9d06e 100644 --- a/lib/pleroma/web/activity_pub/object_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validator.ex @@ -19,10 +19,21 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do alias Pleroma.Web.ActivityPub.ObjectValidators.EmojiReactValidator alias Pleroma.Web.ActivityPub.ObjectValidators.LikeValidator alias Pleroma.Web.ActivityPub.ObjectValidators.UndoValidator + alias Pleroma.Web.ActivityPub.ObjectValidators.UpdateValidator @spec validate(map(), keyword()) :: {:ok, map(), keyword()} | {:error, any()} def validate(object, meta) + def validate(%{"type" => "Update"} = object, meta) do + with {:ok, object} <- + object + |> UpdateValidator.cast_and_validate() + |> Ecto.Changeset.apply_action(:insert) do + object = stringify_keys(object) + {:ok, object, meta} + end + end + def validate(%{"type" => "Undo"} = object, meta) do with {:ok, object} <- object diff --git a/lib/pleroma/web/activity_pub/object_validators/update_validator.ex b/lib/pleroma/web/activity_pub/object_validators/update_validator.ex new file mode 100644 index 000000000..94d72491b --- /dev/null +++ b/lib/pleroma/web/activity_pub/object_validators/update_validator.ex @@ -0,0 +1,43 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.ObjectValidators.UpdateValidator do + use Ecto.Schema + + alias Pleroma.EctoType.ActivityPub.ObjectValidators + + import Ecto.Changeset + import Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations + + @primary_key false + + embedded_schema do + field(:id, ObjectValidators.ObjectID, primary_key: true) + field(:type, :string) + field(:actor, ObjectValidators.ObjectID) + field(:to, ObjectValidators.Recipients, default: []) + field(:cc, ObjectValidators.Recipients, default: []) + # In this case, we save the full object in this activity instead of just a + # reference, so we can always see what was actually changed by this. + field(:object, :map) + end + + def cast_data(data) do + %__MODULE__{} + |> cast(data, __schema__(:fields)) + end + + def validate_data(cng) do + cng + |> validate_required([:id, :type, :actor, :to, :cc, :object]) + |> validate_inclusion(:type, ["Update"]) + |> validate_actor_presence() + end + + def cast_and_validate(data) do + data + |> cast_data + |> validate_data + end +end diff --git a/test/web/activity_pub/object_validator_test.exs b/test/web/activity_pub/object_validator_test.exs index 31224abe0..adb56092d 100644 --- a/test/web/activity_pub/object_validator_test.exs +++ b/test/web/activity_pub/object_validator_test.exs @@ -622,4 +622,24 @@ test "returns an error if the actor can't announce the object", %{ assert {:actor, {"can not announce this object publicly", []}} in cng.errors end end + + describe "updates" do + setup do + user = insert(:user) + + object = %{ + "id" => user.ap_id, + "name" => "A new name", + "summary" => "A new bio" + } + + {:ok, valid_update, []} = Builder.update(user, object) + + %{user: user, valid_update: valid_update} + end + + test "validates a basic object", %{valid_update: valid_update} do + assert {:ok, _update, []} = ObjectValidator.validate(valid_update, []) + end + end end From 75670a99e46a09f9bddc0959c680c2cb173e1f3b Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 19 Jun 2020 16:38:57 +0200 Subject: [PATCH 028/108] UpdateValidator: Only allow updates from the user themselves. --- .../object_validators/update_validator.ex | 16 ++++++++++++++++ test/web/activity_pub/object_validator_test.exs | 12 ++++++++++++ 2 files changed, 28 insertions(+) diff --git a/lib/pleroma/web/activity_pub/object_validators/update_validator.ex b/lib/pleroma/web/activity_pub/object_validators/update_validator.ex index 94d72491b..b4ba5ede0 100644 --- a/lib/pleroma/web/activity_pub/object_validators/update_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/update_validator.ex @@ -33,6 +33,7 @@ def validate_data(cng) do |> validate_required([:id, :type, :actor, :to, :cc, :object]) |> validate_inclusion(:type, ["Update"]) |> validate_actor_presence() + |> validate_updating_rights() end def cast_and_validate(data) do @@ -40,4 +41,19 @@ def cast_and_validate(data) do |> cast_data |> validate_data end + + # For now we only support updating users, and here the rule is easy: + # object id == actor id + def validate_updating_rights(cng) do + with actor = get_field(cng, :actor), + object = get_field(cng, :object), + {:ok, object_id} <- ObjectValidators.ObjectID.cast(object), + true <- actor == object_id do + cng + else + _e -> + cng + |> add_error(:object, "Can't be updated by this actor") + end + end end diff --git a/test/web/activity_pub/object_validator_test.exs b/test/web/activity_pub/object_validator_test.exs index adb56092d..770a8dcf8 100644 --- a/test/web/activity_pub/object_validator_test.exs +++ b/test/web/activity_pub/object_validator_test.exs @@ -641,5 +641,17 @@ test "returns an error if the actor can't announce the object", %{ test "validates a basic object", %{valid_update: valid_update} do assert {:ok, _update, []} = ObjectValidator.validate(valid_update, []) end + + test "returns an error if the object can't be updated by the actor", %{ + valid_update: valid_update + } do + other_user = insert(:user) + + update = + valid_update + |> Map.put("actor", other_user.ap_id) + + assert {:error, _cng} = ObjectValidator.validate(update, []) + end end end From 31a4d42ce0470d74417279a855192294650cff97 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 22 Jun 2020 13:15:37 +0200 Subject: [PATCH 029/108] SideEffects: Handle user updating. --- lib/pleroma/web/activity_pub/side_effects.ex | 12 ++++++++++++ test/web/activity_pub/side_effects_test.exs | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index 1a1cc675c..09fd7d7c9 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -20,6 +20,18 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do def handle(object, meta \\ []) + # Tasks this handles: + # Update the user + def handle(%{data: %{"type" => "Update", "object" => updated_object}} = object, meta) do + {:ok, new_user_data} = ActivityPub.user_data_from_user_object(updated_object) + + User.get_by_ap_id(updated_object["id"]) + |> User.remote_user_changeset(new_user_data) + |> User.update_and_set_cache() + + {:ok, object, meta} + end + # Tasks this handles: # - Add like to object # - Set up notification diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index 6bbbaae87..1d7c2736b 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -64,6 +64,22 @@ test "it streams out notifications and streams" do end end + describe "update users" do + setup do + user = insert(:user) + {:ok, update_data, []} = Builder.update(user, %{"id" => user.ap_id, "name" => "new name!"}) + {:ok, update, _meta} = ActivityPub.persist(update_data, local: true) + + %{user: user, update_data: update_data, update: update} + end + + test "it updates the user", %{user: user, update: update} do + {:ok, _, _} = SideEffects.handle(update) + user = User.get_by_id(user.id) + assert user.name == "new name!" + end + end + describe "delete objects" do setup do user = insert(:user) From 9438f83f83305f101b9fed65f68a5b9fd622bcbb Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 22 Jun 2020 13:16:05 +0200 Subject: [PATCH 030/108] Transmogrifier: Handle `Update` with the pipeline. --- .../web/activity_pub/transmogrifier.ex | 33 +++---------------- 1 file changed, 5 insertions(+), 28 deletions(-) diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 851f474b8..8165218ee 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -684,35 +684,12 @@ def handle_incoming(%{"type" => type} = data, _options) end def handle_incoming( - %{"type" => "Update", "object" => %{"type" => object_type} = object, "actor" => actor_id} = - data, + %{"type" => "Update"} = data, _options - ) - when object_type in [ - "Person", - "Application", - "Service", - "Organization" - ] do - with %User{ap_id: ^actor_id} = actor <- User.get_cached_by_ap_id(object["id"]) do - {:ok, new_user_data} = ActivityPub.user_data_from_user_object(object) - - actor - |> User.remote_user_changeset(new_user_data) - |> User.update_and_set_cache() - - ActivityPub.update(%{ - local: false, - to: data["to"] || [], - cc: data["cc"] || [], - object: object, - actor: actor_id, - activity_id: data["id"] - }) - else - e -> - Logger.error(e) - :error + ) do + with {:ok, %User{}} <- ObjectValidator.fetch_actor(data), + {:ok, activity, _} <- Pipeline.common_pipeline(data, local: false) do + {:ok, activity} end end From 1e7ca2443011f65aa766c3ddd5cd1203e79db50b Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 22 Jun 2020 13:23:21 +0200 Subject: [PATCH 031/108] Update Handling Test: Fix for re-used update ids. --- .../transmogrifier/user_update_handling_test.exs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test/web/activity_pub/transmogrifier/user_update_handling_test.exs b/test/web/activity_pub/transmogrifier/user_update_handling_test.exs index 8e5d3b883..64636656c 100644 --- a/test/web/activity_pub/transmogrifier/user_update_handling_test.exs +++ b/test/web/activity_pub/transmogrifier/user_update_handling_test.exs @@ -106,11 +106,13 @@ test "it works with custom profile fields" do Pleroma.Config.put([:instance, :max_remote_account_fields], 2) update_data = - put_in(update_data, ["object", "attachment"], [ + update_data + |> put_in(["object", "attachment"], [ %{"name" => "foo", "type" => "PropertyValue", "value" => "bar"}, %{"name" => "foo11", "type" => "PropertyValue", "value" => "bar11"}, %{"name" => "foo22", "type" => "PropertyValue", "value" => "bar22"} ]) + |> Map.put("id", update_data["id"] <> ".") {:ok, _} = Transmogrifier.handle_incoming(update_data) @@ -121,7 +123,10 @@ test "it works with custom profile fields" do %{"name" => "foo1", "value" => "updated"} ] - update_data = put_in(update_data, ["object", "attachment"], []) + update_data = + update_data + |> put_in(["object", "attachment"], []) + |> Map.put("id", update_data["id"] <> ".") {:ok, _} = Transmogrifier.handle_incoming(update_data) From e785cd5caeab2c610f12a9071cade31a6b4549a4 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 22 Jun 2020 13:59:45 +0200 Subject: [PATCH 032/108] ActivityPub: Remove `update` and switch to pipeline. --- lib/pleroma/web/activity_pub/activity_pub.ex | 22 -------- lib/pleroma/web/activity_pub/side_effects.ex | 18 +++++-- .../controllers/account_controller.ex | 53 +++++++++++-------- test/web/activity_pub/activity_pub_test.exs | 46 ---------------- test/web/activity_pub/side_effects_test.exs | 9 ++++ 5 files changed, 52 insertions(+), 96 deletions(-) diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 3e4f3ad30..4cc9fe16c 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -321,28 +321,6 @@ defp accept_or_reject(type, %{to: to, actor: actor, object: object} = params) do end end - @spec update(map()) :: {:ok, Activity.t()} | {:error, any()} - def update(%{to: to, cc: cc, actor: actor, object: object} = params) do - local = !(params[:local] == false) - activity_id = params[:activity_id] - - data = - %{ - "to" => to, - "cc" => cc, - "type" => "Update", - "actor" => actor, - "object" => object - } - |> Maps.put_if_present("id", activity_id) - - with {:ok, activity} <- insert(data, local), - _ <- notify_and_stream(activity), - :ok <- maybe_federate(activity) do - {:ok, activity} - end - end - @spec follow(User.t(), User.t(), String.t() | nil, boolean(), keyword()) :: {:ok, Activity.t()} | {:error, any()} def follow(follower, followed, activity_id \\ nil, local \\ true, opts \\ []) do diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index 09fd7d7c9..de143b8f0 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -21,13 +21,21 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do def handle(object, meta \\ []) # Tasks this handles: - # Update the user + # - Update the user + # + # For a local user, we also get a changeset with the full information, so we + # can update non-federating, non-activitypub settings as well. def handle(%{data: %{"type" => "Update", "object" => updated_object}} = object, meta) do - {:ok, new_user_data} = ActivityPub.user_data_from_user_object(updated_object) + if changeset = Keyword.get(meta, :user_update_changeset) do + changeset + |> User.update_and_set_cache() + else + {:ok, new_user_data} = ActivityPub.user_data_from_user_object(updated_object) - User.get_by_ap_id(updated_object["id"]) - |> User.remote_user_changeset(new_user_data) - |> User.update_and_set_cache() + User.get_by_ap_id(updated_object["id"]) + |> User.remote_user_changeset(new_user_data) + |> User.update_and_set_cache() + end {:ok, object, meta} end diff --git a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex index c38c2b895..f0499621a 100644 --- a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex @@ -20,6 +20,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountController do alias Pleroma.Plugs.RateLimiter alias Pleroma.User alias Pleroma.Web.ActivityPub.ActivityPub + alias Pleroma.Web.ActivityPub.Pipeline + alias Pleroma.Web.ActivityPub.Builder alias Pleroma.Web.CommonAPI alias Pleroma.Web.MastodonAPI.ListView alias Pleroma.Web.MastodonAPI.MastodonAPI @@ -179,34 +181,39 @@ def update_credentials(%{assigns: %{user: user}, body_params: params} = conn, _p |> Maps.put_if_present(:default_scope, params["source"]["privacy"]) |> Maps.put_if_present(:actor_type, params[:actor_type]) - changeset = User.update_changeset(user, user_params) - - with {:ok, user} <- User.update_and_set_cache(changeset) do - user - |> build_update_activity_params() - |> ActivityPub.update() - - render(conn, "show.json", user: user, for: user, with_pleroma_settings: true) + # What happens here: + # + # We want to update the user through the pipeline, but the ActivityPub + # update information is not quite enough for this, because this also + # contains local settings that don't federate and don't even appear + # in the Update activity. + # + # So we first build the normal local changeset, then apply it to the + # user data, but don't persist it. With this, we generate the object + # data for our update activity. We feed this and the changeset as meta + # inforation into the pipeline, where they will be properly updated and + # federated. + with changeset <- User.update_changeset(user, user_params), + {:ok, unpersisted_user} <- Ecto.Changeset.apply_action(changeset, :update), + updated_object <- + Pleroma.Web.ActivityPub.UserView.render("user.json", user: user) + |> Map.delete("@context"), + {:ok, update_data, []} <- Builder.update(user, updated_object), + {:ok, _update, _} <- + Pipeline.common_pipeline(update_data, + local: true, + user_update_changeset: changeset + ) do + render(conn, "show.json", + user: unpersisted_user, + for: unpersisted_user, + with_pleroma_settings: true + ) else _e -> render_error(conn, :forbidden, "Invalid request") end end - # Hotfix, handling will be redone with the pipeline - defp build_update_activity_params(user) do - object = - Pleroma.Web.ActivityPub.UserView.render("user.json", user: user) - |> Map.delete("@context") - - %{ - local: true, - to: [user.follower_address], - cc: [], - object: object, - actor: user.ap_id - } - end - defp normalize_fields_attributes(fields) do if Enum.all?(fields, &is_tuple/1) do Enum.map(fields, fn {_, v} -> v end) diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 7693f6400..ce35c9605 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -1092,52 +1092,6 @@ test "it filters broken threads" do end end - describe "update" do - setup do: clear_config([:instance, :max_pinned_statuses]) - - test "it creates an update activity with the new user data" do - user = insert(:user) - {:ok, user} = User.ensure_keys_present(user) - user_data = Pleroma.Web.ActivityPub.UserView.render("user.json", %{user: user}) - - {:ok, update} = - ActivityPub.update(%{ - actor: user_data["id"], - to: [user.follower_address], - cc: [], - object: user_data - }) - - assert update.data["actor"] == user.ap_id - assert update.data["to"] == [user.follower_address] - assert embedded_object = update.data["object"] - assert embedded_object["id"] == user_data["id"] - assert embedded_object["type"] == user_data["type"] - end - end - - test "returned pinned statuses" do - Config.put([:instance, :max_pinned_statuses], 3) - user = insert(:user) - - {:ok, activity_one} = CommonAPI.post(user, %{status: "HI!!!"}) - {:ok, activity_two} = CommonAPI.post(user, %{status: "HI!!!"}) - {:ok, activity_three} = CommonAPI.post(user, %{status: "HI!!!"}) - - CommonAPI.pin(activity_one.id, user) - user = refresh_record(user) - - CommonAPI.pin(activity_two.id, user) - user = refresh_record(user) - - CommonAPI.pin(activity_three.id, user) - user = refresh_record(user) - - activities = ActivityPub.fetch_user_activities(user, nil, %{pinned: true}) - - assert 3 = length(activities) - end - describe "flag/1" do setup do reporter = insert(:user) diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index 1d7c2736b..12c9ef1da 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -78,6 +78,15 @@ test "it updates the user", %{user: user, update: update} do user = User.get_by_id(user.id) assert user.name == "new name!" end + + test "it uses a given changeset to update", %{user: user, update: update} do + changeset = Ecto.Changeset.change(user, %{default_scope: "direct"}) + + assert user.default_scope == "public" + {:ok, _, _} = SideEffects.handle(update, user_update_changeset: changeset) + user = User.get_by_id(user.id) + assert user.default_scope == "direct" + end end describe "delete objects" do From b05f795326b77edd881ffea2c004d7ca0ddd7df9 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 22 Jun 2020 14:02:29 +0200 Subject: [PATCH 033/108] Credo fixes --- .../web/mastodon_api/controllers/account_controller.ex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex index f0499621a..d4605c518 100644 --- a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex @@ -20,8 +20,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountController do alias Pleroma.Plugs.RateLimiter alias Pleroma.User alias Pleroma.Web.ActivityPub.ActivityPub - alias Pleroma.Web.ActivityPub.Pipeline alias Pleroma.Web.ActivityPub.Builder + alias Pleroma.Web.ActivityPub.Pipeline alias Pleroma.Web.CommonAPI alias Pleroma.Web.MastodonAPI.ListView alias Pleroma.Web.MastodonAPI.MastodonAPI @@ -186,8 +186,8 @@ def update_credentials(%{assigns: %{user: user}, body_params: params} = conn, _p # We want to update the user through the pipeline, but the ActivityPub # update information is not quite enough for this, because this also # contains local settings that don't federate and don't even appear - # in the Update activity. - # + # in the Update activity. + # # So we first build the normal local changeset, then apply it to the # user data, but don't persist it. With this, we generate the object # data for our update activity. We feed this and the changeset as meta From 2737809bbf249696d06d4a351837a405d79d47e3 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 23 Jun 2020 11:03:32 +0200 Subject: [PATCH 034/108] An act of desperation. --- test/web/activity_pub/activity_pub_controller_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index e490a5744..6ea50fd96 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -665,7 +665,7 @@ test "it accepts announces with to as string instead of array", %{conn: conn} do |> post("/users/#{user.nickname}/inbox", data) assert "ok" == json_response(conn, 200) - ObanHelpers.perform(all_enqueued(worker: ReceiverWorker)) + ObanHelpers.perform_all() %Activity{} = activity = Activity.get_by_ap_id(data["id"]) assert "https://www.w3.org/ns/activitystreams#Public" in activity.recipients end From d93e01137b0682dd97b95b848f7b8656de89e3cf Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 23 Jun 2020 11:43:20 +0200 Subject: [PATCH 035/108] ActivityPubControllerTest: Testing changes. --- .../web/activity_pub/activity_pub_controller_test.exs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index 6ea50fd96..e5f801b22 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -648,11 +648,14 @@ test "it accepts messages with bcc as string instead of array", %{conn: conn, da test "it accepts announces with to as string instead of array", %{conn: conn} do user = insert(:user) + {:ok, post} = CommonAPI.post(user, %{status: "hey"}) + announcer = insert(:user, local: false) + data = %{ "@context" => "https://www.w3.org/ns/activitystreams", - "actor" => "http://mastodon.example.org/users/admin", - "id" => "http://mastodon.example.org/users/admin/statuses/19512778738411822/activity", - "object" => "https://mastodon.social/users/emelie/statuses/101849165031453009", + "actor" => announcer.ap_id, + "id" => "#{announcer.ap_id}/statuses/19512778738411822/activity", + "object" => post.data["object"], "to" => "https://www.w3.org/ns/activitystreams#Public", "cc" => [user.ap_id], "type" => "Announce" @@ -665,7 +668,7 @@ test "it accepts announces with to as string instead of array", %{conn: conn} do |> post("/users/#{user.nickname}/inbox", data) assert "ok" == json_response(conn, 200) - ObanHelpers.perform_all() + ObanHelpers.perform(all_enqueued(worker: ReceiverWorker)) %Activity{} = activity = Activity.get_by_ap_id(data["id"]) assert "https://www.w3.org/ns/activitystreams#Public" in activity.recipients end From adc199c6a8932f893bc1098acbf222e64cdb07d9 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 23 Jun 2020 12:04:51 +0200 Subject: [PATCH 036/108] ActivityPubControllerTest: Capture error log --- test/web/activity_pub/activity_pub_controller_test.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index e5f801b22..e722f7c04 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -536,6 +536,7 @@ test "accept follow activity", %{conn: conn} do assert_receive {:mix_shell, :info, ["relay.mastodon.host"]} end + @tag capture_log: true test "without valid signature, " <> "it only accepts Create activities and requires enabled federation", %{conn: conn} do From aee815b478aea5d74959c5a445c6c5d87f25168e Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 23 Jun 2020 12:37:05 +0200 Subject: [PATCH 037/108] ObjectValidator: Clarify type of object. --- lib/pleroma/web/activity_pub/object_validator.ex | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/web/activity_pub/object_validator.ex b/lib/pleroma/web/activity_pub/object_validator.ex index 804a9d06e..2c657b467 100644 --- a/lib/pleroma/web/activity_pub/object_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validator.ex @@ -24,13 +24,13 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do @spec validate(map(), keyword()) :: {:ok, map(), keyword()} | {:error, any()} def validate(object, meta) - def validate(%{"type" => "Update"} = object, meta) do - with {:ok, object} <- - object + def validate(%{"type" => "Update"} = update_activity, meta) do + with {:ok, update_activity} <- + update_activity |> UpdateValidator.cast_and_validate() |> Ecto.Changeset.apply_action(:insert) do - object = stringify_keys(object) - {:ok, object, meta} + update_activity = stringify_keys(update_activity) + {:ok, update_activity, meta} end end From 54039100fe05e8daf03274ea5c56ca8dab341e9b Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 23 Jun 2020 11:17:26 -0500 Subject: [PATCH 038/108] Remove reference to defunct distsn.org --- config/description.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/description.exs b/config/description.exs index f9523936a..bc781e4c8 100644 --- a/config/description.exs +++ b/config/description.exs @@ -979,7 +979,7 @@ key: :instance_thumbnail, type: :string, description: - "The instance thumbnail image. It will appear in [Pleroma Instances](http://distsn.org/pleroma-instances.html)", + "The instance thumbnail is the Mastodon landing page image and used by some apps to identify the instance.", suggestions: ["/instance/thumbnail.jpeg"] } ] From cb96c82f70e94e24bdf71e832db4548086f4e7c5 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Tue, 23 Jun 2020 20:18:27 +0300 Subject: [PATCH 039/108] moving to mrf namespace migration fix --- ...rf_config_move_from_instance_namespace.exs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs b/priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs index 6f6094613..ef36c4eb7 100644 --- a/priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs +++ b/priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs @@ -5,13 +5,11 @@ defmodule Pleroma.Repo.Migrations.MrfConfigMoveFromInstanceNamespace do @old_keys [:rewrite_policy, :mrf_transparency, :mrf_transparency_exclusions] def change do - config = ConfigDB.get_by_params(%{group: ":pleroma", key: ":instance"}) + config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance}) if config do - old_instance = ConfigDB.from_binary(config.value) - mrf = - old_instance + config.value |> Keyword.take(@old_keys) |> Keyword.new(fn {:rewrite_policy, policies} -> {:policies, policies} @@ -21,15 +19,17 @@ def change do if mrf != [] do {:ok, _} = - ConfigDB.create( - %{group: ":pleroma", key: ":mrf", value: ConfigDB.to_binary(mrf)}, - false - ) + %ConfigDB{} + |> ConfigDB.changeset(%{group: :pleroma, key: :mrf, value: mrf}) + |> Pleroma.Repo.insert() - new_instance = Keyword.drop(old_instance, @old_keys) + new_instance = Keyword.drop(config.value, @old_keys) if new_instance != [] do - {:ok, _} = ConfigDB.update(config, %{value: ConfigDB.to_binary(new_instance)}, false) + {:ok, _} = + config + |> ConfigDB.changeset(%{value: new_instance}) + |> Pleroma.Repo.update() else {:ok, _} = ConfigDB.delete(config) end From 721fc7c554425ccc7df693776c282c30e95ae2bb Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Wed, 24 Jun 2020 09:12:32 +0300 Subject: [PATCH 040/108] added wrapper Pleroma.HTTP for Tzdata.HTTPClient --- config/config.exs | 2 ++ lib/pleroma/http/http.ex | 8 ++++++-- lib/pleroma/http/tzdata.ex | 25 +++++++++++++++++++++++++ mix.exs | 2 +- mix.lock | 2 +- test/http/tzdata_test.exs | 35 +++++++++++++++++++++++++++++++++++ test/http_test.exs | 9 +++++++++ 7 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 lib/pleroma/http/tzdata.ex create mode 100644 test/http/tzdata_test.exs diff --git a/config/config.exs b/config/config.exs index a81ffcd3b..bd559c835 100644 --- a/config/config.exs +++ b/config/config.exs @@ -695,6 +695,8 @@ transparency: true, transparency_exclusions: [] +config :tzdata, :http_client, Pleroma.HTTP.Tzdata + # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{Mix.env()}.exs" diff --git a/lib/pleroma/http/http.ex b/lib/pleroma/http/http.ex index 583b56484..66ca75367 100644 --- a/lib/pleroma/http/http.ex +++ b/lib/pleroma/http/http.ex @@ -16,6 +16,7 @@ defmodule Pleroma.HTTP do require Logger @type t :: __MODULE__ + @type method() :: :get | :post | :put | :delete | :head @doc """ Performs GET request. @@ -28,6 +29,9 @@ def get(url, headers \\ [], options \\ []) def get(nil, _, _), do: nil def get(url, headers, options), do: request(:get, url, "", headers, options) + @spec head(Request.url(), Request.headers(), keyword()) :: {:ok, Env.t()} | {:error, any()} + def head(url, headers \\ [], options \\ []), do: request(:head, url, "", headers, options) + @doc """ Performs POST request. @@ -42,7 +46,7 @@ def post(url, body, headers \\ [], options \\ []), Builds and performs http request. # Arguments: - `method` - :get, :post, :put, :delete + `method` - :get, :post, :put, :delete, :head `url` - full url `body` - request body `headers` - a keyworld list of headers, e.g. `[{"content-type", "text/plain"}]` @@ -52,7 +56,7 @@ def post(url, body, headers \\ [], options \\ []), `{:ok, %Tesla.Env{}}` or `{:error, error}` """ - @spec request(atom(), Request.url(), String.t(), Request.headers(), keyword()) :: + @spec request(method(), Request.url(), String.t(), Request.headers(), keyword()) :: {:ok, Env.t()} | {:error, any()} def request(method, url, body, headers, options) when is_binary(url) do uri = URI.parse(url) diff --git a/lib/pleroma/http/tzdata.ex b/lib/pleroma/http/tzdata.ex new file mode 100644 index 000000000..34bb253a7 --- /dev/null +++ b/lib/pleroma/http/tzdata.ex @@ -0,0 +1,25 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.HTTP.Tzdata do + @moduledoc false + + @behaviour Tzdata.HTTPClient + + alias Pleroma.HTTP + + @impl true + def get(url, headers, options) do + with {:ok, %Tesla.Env{} = env} <- HTTP.get(url, headers, options) do + {:ok, {env.status, env.headers, env.body}} + end + end + + @impl true + def head(url, headers, options) do + with {:ok, %Tesla.Env{} = env} <- HTTP.head(url, headers, options) do + {:ok, {env.status, env.headers}} + end + end +end diff --git a/mix.exs b/mix.exs index 4d13e95d7..b638be541 100644 --- a/mix.exs +++ b/mix.exs @@ -117,7 +117,7 @@ defp oauth_deps do defp deps do [ {:phoenix, "~> 1.4.8"}, - {:tzdata, "~> 0.5.21"}, + {:tzdata, "~> 1.0.3"}, {:plug_cowboy, "~> 2.0"}, {:phoenix_pubsub, "~> 1.1"}, {:phoenix_ecto, "~> 4.0"}, diff --git a/mix.lock b/mix.lock index 5383c2c6e..5ad49391d 100644 --- a/mix.lock +++ b/mix.lock @@ -110,7 +110,7 @@ "tesla": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/tesla.git", "61b7503cef33f00834f78ddfafe0d5d9dec2270b", [ref: "61b7503cef33f00834f78ddfafe0d5d9dec2270b"]}, "timex": {:hex, :timex, "3.6.1", "efdf56d0e67a6b956cc57774353b0329c8ab7726766a11547e529357ffdc1d56", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5 or ~> 1.0.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "f354efb2400dd7a80fd9eb6c8419068c4f632da4ac47f3d8822d6e33f08bc852"}, "trailing_format_plug": {:hex, :trailing_format_plug, "0.0.7", "64b877f912cf7273bed03379936df39894149e35137ac9509117e59866e10e45", [:mix], [{:plug, "> 0.12.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "bd4fde4c15f3e993a999e019d64347489b91b7a9096af68b2bdadd192afa693f"}, - "tzdata": {:hex, :tzdata, "0.5.22", "f2ba9105117ee0360eae2eca389783ef7db36d533899b2e84559404dbc77ebb8", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "cd66c8a1e6a9e121d1f538b01bef459334bb4029a1ffb4eeeb5e4eae0337e7b6"}, + "tzdata": {:hex, :tzdata, "1.0.3", "73470ad29dde46e350c60a66e6b360d3b99d2d18b74c4c349dbebbc27a09a3eb", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "a6e1ee7003c4d04ecbd21dd3ec690d4c6662db5d3bbdd7262d53cdf5e7c746c1"}, "ueberauth": {:hex, :ueberauth, "0.6.2", "25a31111249d60bad8b65438b2306a4dc91f3208faa62f5a8c33e8713989b2e8", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "db9fbfb5ac707bc4f85a297758406340bf0358b4af737a88113c1a9eee120ac7"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.5.0", "8516502659002cec19e244ebd90d312183064be95025a319a6c7e89f4bccd65b", [:rebar3], [], "hexpm", "d48d002e15f5cc105a696cf2f1bbb3fc72b4b770a184d8420c8db20da2674b38"}, "unsafe": {:hex, :unsafe, "1.0.1", "a27e1874f72ee49312e0a9ec2e0b27924214a05e3ddac90e91727bc76f8613d8", [:mix], [], "hexpm", "6c7729a2d214806450d29766abc2afaa7a2cbecf415be64f36a6691afebb50e5"}, diff --git a/test/http/tzdata_test.exs b/test/http/tzdata_test.exs new file mode 100644 index 000000000..4b37299cd --- /dev/null +++ b/test/http/tzdata_test.exs @@ -0,0 +1,35 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.HTTP.TzdaraTest do + use ExUnit.Case + + import Tesla.Mock + alias Pleroma.HTTP + @url "https://data.iana.org/time-zones/tzdata-latest.tar.gz" + + setup do + mock(fn + %{method: :head, url: @url} -> + %Tesla.Env{status: 200, body: ""} + + %{method: :get, url: @url} -> + %Tesla.Env{status: 200, body: "hello"} + end) + + :ok + end + + describe "head/1" do + test "returns successfully result" do + assert HTTP.Tzdata.head(@url, [], []) == {:ok, {200, []}} + end + end + + describe "get/1" do + test "returns successfully result" do + assert HTTP.Tzdata.get(@url, [], []) == {:ok, {200, [], "hello"}} + end + end +end diff --git a/test/http_test.exs b/test/http_test.exs index 618485b55..d394bb942 100644 --- a/test/http_test.exs +++ b/test/http_test.exs @@ -17,6 +17,9 @@ defmodule Pleroma.HTTPTest do } -> json(%{"my" => "data"}) + %{method: :head, url: "http://example.com/hello"} -> + %Tesla.Env{status: 200, body: ""} + %{method: :get, url: "http://example.com/hello"} -> %Tesla.Env{status: 200, body: "hello"} @@ -27,6 +30,12 @@ defmodule Pleroma.HTTPTest do :ok end + describe "head/1" do + test "returns successfully result" do + assert HTTP.head("http://example.com/hello") == {:ok, %Tesla.Env{status: 200, body: ""}} + end + end + describe "get/1" do test "returns successfully result" do assert HTTP.get("http://example.com/hello") == { From 65f3eb333b001586771247ea9949e40bfec0a947 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 24 Jun 2020 08:50:33 +0000 Subject: [PATCH 041/108] Apply suggestion to test/http/tzdata_test.exs --- test/http/tzdata_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/http/tzdata_test.exs b/test/http/tzdata_test.exs index 4b37299cd..3e605d33b 100644 --- a/test/http/tzdata_test.exs +++ b/test/http/tzdata_test.exs @@ -2,7 +2,7 @@ # Copyright © 2017-2020 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only -defmodule Pleroma.HTTP.TzdaraTest do +defmodule Pleroma.HTTP.TzdataTest do use ExUnit.Case import Tesla.Mock From 35f6770436837e2e500971a54d51984bd059adfd Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 24 Jun 2020 13:29:08 +0200 Subject: [PATCH 042/108] StatusView: Add pleroma.parent_visible --- lib/pleroma/web/activity_pub/visibility.ex | 6 ++++-- .../web/mastodon_api/views/status_view.ex | 5 +++-- .../mastodon_api/views/status_view_test.exs | 19 ++++++++++++++++++- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/web/activity_pub/visibility.ex b/lib/pleroma/web/activity_pub/visibility.ex index 453a6842e..343f41caa 100644 --- a/lib/pleroma/web/activity_pub/visibility.ex +++ b/lib/pleroma/web/activity_pub/visibility.ex @@ -47,6 +47,10 @@ def is_list?(_), do: false @spec visible_for_user?(Activity.t(), User.t() | nil) :: boolean() def visible_for_user?(%{actor: ap_id}, %User{ap_id: ap_id}), do: true + def visible_for_user?(nil, _), do: false + + def visible_for_user?(%{data: %{"listMessage" => _}}, nil), do: false + def visible_for_user?(%{data: %{"listMessage" => list_ap_id}} = activity, %User{} = user) do user.ap_id in activity.data["to"] || list_ap_id @@ -54,8 +58,6 @@ def visible_for_user?(%{data: %{"listMessage" => list_ap_id}} = activity, %User{ |> Pleroma.List.member?(user) end - def visible_for_user?(%{data: %{"listMessage" => _}}, nil), do: false - def visible_for_user?(%{local: local} = activity, nil) do cfg_key = if local, diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index 2c49bedb3..6ee17f4dd 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -21,7 +21,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do alias Pleroma.Web.MastodonAPI.StatusView alias Pleroma.Web.MediaProxy - import Pleroma.Web.ActivityPub.Visibility, only: [get_visibility: 1] + import Pleroma.Web.ActivityPub.Visibility, only: [get_visibility: 1, visible_for_user?: 2] # TODO: Add cached version. defp get_replied_to_activities([]), do: %{} @@ -364,7 +364,8 @@ def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} expires_at: expires_at, direct_conversation_id: direct_conversation_id, thread_muted: thread_muted?, - emoji_reactions: emoji_reactions + emoji_reactions: emoji_reactions, + parent_visible: visible_for_user?(reply_to, opts[:for]) } } end diff --git a/test/web/mastodon_api/views/status_view_test.exs b/test/web/mastodon_api/views/status_view_test.exs index 5cbadf0fc..f90a0c273 100644 --- a/test/web/mastodon_api/views/status_view_test.exs +++ b/test/web/mastodon_api/views/status_view_test.exs @@ -226,7 +226,8 @@ test "a note activity" do expires_at: nil, direct_conversation_id: nil, thread_muted: false, - emoji_reactions: [] + emoji_reactions: [], + parent_visible: false } } @@ -620,4 +621,20 @@ test "visibility/list" do assert status.visibility == "list" end + + test "has a field for parent visibility" do + user = insert(:user) + poster = insert(:user) + + {:ok, invisible} = CommonAPI.post(poster, %{status: "hey", visibility: "private"}) + + {:ok, visible} = + CommonAPI.post(poster, %{status: "hey", visibility: "private", in_reply_to_id: invisible.id}) + + status = StatusView.render("show.json", activity: visible, for: user) + refute status.pleroma.parent_visible + + status = StatusView.render("show.json", activity: visible, for: poster) + assert status.pleroma.parent_visible + end end From 637bae42b4ac59e54164f2b9545017b3f8d2960f Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 24 Jun 2020 13:31:42 +0200 Subject: [PATCH 043/108] Docs: Document added parent_visible field. --- docs/API/differences_in_mastoapi_responses.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/API/differences_in_mastoapi_responses.md b/docs/API/differences_in_mastoapi_responses.md index be3c802af..f6e8a6800 100644 --- a/docs/API/differences_in_mastoapi_responses.md +++ b/docs/API/differences_in_mastoapi_responses.md @@ -27,6 +27,7 @@ Has these additional fields under the `pleroma` object: - `expires_at`: a datetime (iso8601) that states when the post will expire (be deleted automatically), or empty if the post won't expire - `thread_muted`: true if the thread the post belongs to is muted - `emoji_reactions`: A list with emoji / reaction maps. The format is `{name: "☕", count: 1, me: true}`. Contains no information about the reacting users, for that use the `/statuses/:id/reactions` endpoint. +- `parent_visible`: If the parent of this post is visible to the user or not. ## Media Attachments From 79ee914bc2956f005c83046be53dbd38771d29ef Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 24 Jun 2020 13:32:14 +0200 Subject: [PATCH 044/108] Changelog: Add info about parent_visible field --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fc2231d1..cfffc279b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added +- StatusView: Add pleroma.parents_visible field. - Chats: Added support for federated chats. For details, see the docs. - ActivityPub: Added support for existing AP ids for instances migrated from Mastodon. - Instance: Add `background_image` to configuration and `/api/v1/instance` From 1702239428ea7e3b49fcf8985f1d2fbbadb020b5 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 24 Jun 2020 14:30:12 +0200 Subject: [PATCH 045/108] Changelog: Put info under API header. --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cfffc279b..f04e12ade 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,7 +23,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added -- StatusView: Add pleroma.parents_visible field. - Chats: Added support for federated chats. For details, see the docs. - ActivityPub: Added support for existing AP ids for instances migrated from Mastodon. - Instance: Add `background_image` to configuration and `/api/v1/instance` @@ -43,6 +42,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
API Changes +- Mastodon API: Add pleroma.parents_visible field to statuses. - Mastodon API: Extended `/api/v1/instance`. - Mastodon API: Support for `include_types` in `/api/v1/notifications`. - Mastodon API: Added `/api/v1/notifications/:id/dismiss` endpoint. From 4c5fb831b3b59309a475a141eb73cc440533d0ff Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 24 Jun 2020 14:33:00 +0200 Subject: [PATCH 046/108] Status schema: Add parent_visible. --- lib/pleroma/web/api_spec/schemas/status.ex | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/pleroma/web/api_spec/schemas/status.ex b/lib/pleroma/web/api_spec/schemas/status.ex index 8b87cb25b..28cde963e 100644 --- a/lib/pleroma/web/api_spec/schemas/status.ex +++ b/lib/pleroma/web/api_spec/schemas/status.ex @@ -184,6 +184,10 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Status do thread_muted: %Schema{ type: :boolean, description: "`true` if the thread the post belongs to is muted" + }, + parent_visible: %Schema{ + type: :boolean, + description: "`true` if the parent post is visible to the user" } } }, From aae1af8cf1d860243eb8c8a642682441294967e1 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Wed, 24 Jun 2020 18:06:30 +0300 Subject: [PATCH 047/108] fix for emoji pagination in pack show --- lib/pleroma/emoji/pack.ex | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/pleroma/emoji/pack.ex b/lib/pleroma/emoji/pack.ex index 787ff8141..d076ae312 100644 --- a/lib/pleroma/emoji/pack.ex +++ b/lib/pleroma/emoji/pack.ex @@ -45,6 +45,7 @@ def show(opts) do shortcodes = pack.files |> Map.keys() + |> Enum.sort() |> paginate(opts[:page], opts[:page_size]) pack = Map.put(pack, :files, Map.take(pack.files, shortcodes)) From 67ab5805536ed64ca842998bfd4b3b0e63d13dd3 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 24 Jun 2020 17:18:53 -0500 Subject: [PATCH 048/108] Filter outstanding follower requests from deactivated accounts --- lib/pleroma/following_relationship.ex | 1 + test/user_test.exs | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/lib/pleroma/following_relationship.ex b/lib/pleroma/following_relationship.ex index 093b1f405..c2020d30a 100644 --- a/lib/pleroma/following_relationship.ex +++ b/lib/pleroma/following_relationship.ex @@ -124,6 +124,7 @@ def get_follow_requests(%User{id: id}) do |> join(:inner, [r], f in assoc(r, :follower)) |> where([r], r.state == ^:follow_pending) |> where([r], r.following_id == ^id) + |> where([r, f], f.deactivated != true) |> select([r, f], f) |> Repo.all() end diff --git a/test/user_test.exs b/test/user_test.exs index 311b6c683..9b66f3f51 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -199,6 +199,16 @@ test "doesn't return already accepted or duplicate follow requests" do assert [^pending_follower] = User.get_follow_requests(locked) end + test "doesn't return follow requests for deactivated accounts" do + locked = insert(:user, locked: true) + pending_follower = insert(:user, %{deactivated: true}) + + CommonAPI.follow(pending_follower, locked) + + assert true == pending_follower.deactivated + assert [] = User.get_follow_requests(locked) + end + test "clears follow requests when requester is blocked" do followed = insert(:user, locked: true) follower = insert(:user) From 439a1a0218fe032ac35bb2e84516a8a4bf8563b4 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Thu, 25 Jun 2020 07:12:29 +0300 Subject: [PATCH 049/108] added wrapper Pleroma.HTTP for ExAws.S3 --- config/config.exs | 2 ++ lib/pleroma/http/ex_aws.ex | 22 ++++++++++++++++ test/http/ex_aws_test.exs | 54 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 lib/pleroma/http/ex_aws.ex create mode 100644 test/http/ex_aws_test.exs diff --git a/config/config.exs b/config/config.exs index bd559c835..5aad26e95 100644 --- a/config/config.exs +++ b/config/config.exs @@ -697,6 +697,8 @@ config :tzdata, :http_client, Pleroma.HTTP.Tzdata +config :ex_aws, http_client: Pleroma.HTTP.ExAws + # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{Mix.env()}.exs" diff --git a/lib/pleroma/http/ex_aws.ex b/lib/pleroma/http/ex_aws.ex new file mode 100644 index 000000000..e53e64077 --- /dev/null +++ b/lib/pleroma/http/ex_aws.ex @@ -0,0 +1,22 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.HTTP.ExAws do + @moduledoc false + + @behaviour ExAws.Request.HttpClient + + alias Pleroma.HTTP + + @impl true + def request(method, url, body \\ "", headers \\ [], http_opts \\ []) do + case HTTP.request(method, url, body, headers, http_opts) do + {:ok, env} -> + {:ok, %{status_code: env.status, headers: env.headers, body: env.body}} + + {:error, reason} -> + {:error, %{reason: reason}} + end + end +end diff --git a/test/http/ex_aws_test.exs b/test/http/ex_aws_test.exs new file mode 100644 index 000000000..d0b00ca26 --- /dev/null +++ b/test/http/ex_aws_test.exs @@ -0,0 +1,54 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.HTTP.ExAwsTest do + use ExUnit.Case + + import Tesla.Mock + alias Pleroma.HTTP + + @url "https://s3.amazonaws.com/test_bucket/test_image.jpg" + + setup do + mock(fn + %{method: :get, url: @url, headers: [{"x-amz-bucket-region", "us-east-1"}]} -> + %Tesla.Env{ + status: 200, + body: "image-content", + headers: [{"x-amz-bucket-region", "us-east-1"}] + } + + %{method: :post, url: @url, body: "image-content-2"} -> + %Tesla.Env{status: 200, body: "image-content-2"} + end) + + :ok + end + + describe "request" do + test "get" do + assert HTTP.ExAws.request(:get, @url, "", [{"x-amz-bucket-region", "us-east-1"}]) == { + :ok, + %{ + body: "image-content", + headers: [{"x-amz-bucket-region", "us-east-1"}], + status_code: 200 + } + } + end + + test "post" do + assert HTTP.ExAws.request(:post, @url, "image-content-2", [ + {"x-amz-bucket-region", "us-east-1"} + ]) == { + :ok, + %{ + body: "image-content-2", + headers: [], + status_code: 200 + } + } + end + end +end From d137f934dfed199141ee7cb4215520b64e3ecb4f Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 10:54:00 +0200 Subject: [PATCH 050/108] Transmogrifier Test: Extract block handling. --- .../transmogrifier/block_handling_test.exs | 63 +++++++++++++++++++ test/web/activity_pub/transmogrifier_test.exs | 50 --------------- 2 files changed, 63 insertions(+), 50 deletions(-) create mode 100644 test/web/activity_pub/transmogrifier/block_handling_test.exs diff --git a/test/web/activity_pub/transmogrifier/block_handling_test.exs b/test/web/activity_pub/transmogrifier/block_handling_test.exs new file mode 100644 index 000000000..71f1a0ed5 --- /dev/null +++ b/test/web/activity_pub/transmogrifier/block_handling_test.exs @@ -0,0 +1,63 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.Transmogrifier.BlockHandlingTest do + use Pleroma.DataCase + + alias Pleroma.Activity + alias Pleroma.User + alias Pleroma.Web.ActivityPub.Transmogrifier + + import Pleroma.Factory + + test "it works for incoming blocks" do + user = insert(:user) + + data = + File.read!("test/fixtures/mastodon-block-activity.json") + |> Poison.decode!() + |> Map.put("object", user.ap_id) + + blocker = insert(:user, ap_id: data["actor"]) + + {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) + + assert data["type"] == "Block" + assert data["object"] == user.ap_id + assert data["actor"] == "http://mastodon.example.org/users/admin" + + assert User.blocks?(blocker, user) + end + + test "incoming blocks successfully tear down any follow relationship" do + blocker = insert(:user) + blocked = insert(:user) + + data = + File.read!("test/fixtures/mastodon-block-activity.json") + |> Poison.decode!() + |> Map.put("object", blocked.ap_id) + |> Map.put("actor", blocker.ap_id) + + {:ok, blocker} = User.follow(blocker, blocked) + {:ok, blocked} = User.follow(blocked, blocker) + + assert User.following?(blocker, blocked) + assert User.following?(blocked, blocker) + + {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) + + assert data["type"] == "Block" + assert data["object"] == blocked.ap_id + assert data["actor"] == blocker.ap_id + + blocker = User.get_cached_by_ap_id(data["actor"]) + blocked = User.get_cached_by_ap_id(data["object"]) + + assert User.blocks?(blocker, blocked) + + refute User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + end +end diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 100821056..6a53fd3f0 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -445,56 +445,6 @@ test "it works for incoming follows to locked account" do assert [^pending_follower] = User.get_follow_requests(user) end - test "it works for incoming blocks" do - user = insert(:user) - - data = - File.read!("test/fixtures/mastodon-block-activity.json") - |> Poison.decode!() - |> Map.put("object", user.ap_id) - - {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) - - assert data["type"] == "Block" - assert data["object"] == user.ap_id - assert data["actor"] == "http://mastodon.example.org/users/admin" - - blocker = User.get_cached_by_ap_id(data["actor"]) - - assert User.blocks?(blocker, user) - end - - test "incoming blocks successfully tear down any follow relationship" do - blocker = insert(:user) - blocked = insert(:user) - - data = - File.read!("test/fixtures/mastodon-block-activity.json") - |> Poison.decode!() - |> Map.put("object", blocked.ap_id) - |> Map.put("actor", blocker.ap_id) - - {:ok, blocker} = User.follow(blocker, blocked) - {:ok, blocked} = User.follow(blocked, blocker) - - assert User.following?(blocker, blocked) - assert User.following?(blocked, blocker) - - {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) - - assert data["type"] == "Block" - assert data["object"] == blocked.ap_id - assert data["actor"] == blocker.ap_id - - blocker = User.get_cached_by_ap_id(data["actor"]) - blocked = User.get_cached_by_ap_id(data["object"]) - - assert User.blocks?(blocker, blocked) - - refute User.following?(blocker, blocked) - refute User.following?(blocked, blocker) - end - test "it works for incoming accepts which were pre-accepted" do follower = insert(:user) followed = insert(:user) From 89e5b2046bd15b3fead7a6194a2b9cecd2fedbd3 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 11:13:35 +0200 Subject: [PATCH 051/108] ObjectValidator: Basic `Block` support. --- lib/pleroma/web/activity_pub/builder.ex | 12 ++++++ .../web/activity_pub/object_validator.ex | 11 +++++ .../object_validators/block_validator.ex | 42 +++++++++++++++++++ .../activity_pub/object_validator_test.exs | 27 ++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 lib/pleroma/web/activity_pub/object_validators/block_validator.ex diff --git a/lib/pleroma/web/activity_pub/builder.ex b/lib/pleroma/web/activity_pub/builder.ex index 135a5c431..cabc28de9 100644 --- a/lib/pleroma/web/activity_pub/builder.ex +++ b/lib/pleroma/web/activity_pub/builder.ex @@ -138,6 +138,18 @@ def update(actor, object) do }, []} end + @spec block(User.t(), User.t()) :: {:ok, map(), keyword()} + def block(blocker, blocked) do + {:ok, + %{ + "id" => Utils.generate_activity_id(), + "type" => "Block", + "actor" => blocker.ap_id, + "object" => blocked.ap_id, + "to" => [blocked.ap_id] + }, []} + end + @spec announce(User.t(), Object.t(), keyword()) :: {:ok, map(), keyword()} def announce(actor, object, options \\ []) do public? = Keyword.get(options, :public, false) diff --git a/lib/pleroma/web/activity_pub/object_validator.ex b/lib/pleroma/web/activity_pub/object_validator.ex index 2c657b467..737c0fd64 100644 --- a/lib/pleroma/web/activity_pub/object_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validator.ex @@ -13,6 +13,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do alias Pleroma.Object alias Pleroma.User alias Pleroma.Web.ActivityPub.ObjectValidators.AnnounceValidator + alias Pleroma.Web.ActivityPub.ObjectValidators.BlockValidator alias Pleroma.Web.ActivityPub.ObjectValidators.ChatMessageValidator alias Pleroma.Web.ActivityPub.ObjectValidators.CreateChatMessageValidator alias Pleroma.Web.ActivityPub.ObjectValidators.DeleteValidator @@ -24,6 +25,16 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do @spec validate(map(), keyword()) :: {:ok, map(), keyword()} | {:error, any()} def validate(object, meta) + def validate(%{"type" => "Block"} = block_activity, meta) do + with {:ok, block_activity} <- + block_activity + |> BlockValidator.cast_and_validate() + |> Ecto.Changeset.apply_action(:insert) do + block_activity = stringify_keys(block_activity) + {:ok, block_activity, meta} + end + end + def validate(%{"type" => "Update"} = update_activity, meta) do with {:ok, update_activity} <- update_activity diff --git a/lib/pleroma/web/activity_pub/object_validators/block_validator.ex b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex new file mode 100644 index 000000000..1dde77198 --- /dev/null +++ b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex @@ -0,0 +1,42 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.ObjectValidators.BlockValidator do + use Ecto.Schema + + alias Pleroma.EctoType.ActivityPub.ObjectValidators + + import Ecto.Changeset + import Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations + + @primary_key false + + embedded_schema do + field(:id, ObjectValidators.ObjectID, primary_key: true) + field(:type, :string) + field(:actor, ObjectValidators.ObjectID) + field(:to, ObjectValidators.Recipients, default: []) + field(:cc, ObjectValidators.Recipients, default: []) + field(:object, ObjectValidators.ObjectID) + end + + def cast_data(data) do + %__MODULE__{} + |> cast(data, __schema__(:fields)) + end + + def validate_data(cng) do + cng + |> validate_required([:id, :type, :actor, :to, :cc, :object]) + |> validate_inclusion(:type, ["Block"]) + |> validate_actor_presence() + |> validate_actor_presence(field_name: :object) + end + + def cast_and_validate(data) do + data + |> cast_data + |> validate_data + end +end diff --git a/test/web/activity_pub/object_validator_test.exs b/test/web/activity_pub/object_validator_test.exs index 770a8dcf8..e96552763 100644 --- a/test/web/activity_pub/object_validator_test.exs +++ b/test/web/activity_pub/object_validator_test.exs @@ -654,4 +654,31 @@ test "returns an error if the object can't be updated by the actor", %{ assert {:error, _cng} = ObjectValidator.validate(update, []) end end + + describe "blocks" do + setup do + user = insert(:user) + blocked = insert(:user) + + {:ok, valid_block, []} = Builder.block(user, blocked) + + %{user: user, valid_block: valid_block} + end + + test "validates a basic object", %{ + valid_block: valid_block + } do + assert {:ok, _block, []} = ObjectValidator.validate(valid_block, []) + end + + test "returns an error if we don't know the blocked user", %{ + valid_block: valid_block + } do + block = + valid_block + |> Map.put("object", "https://gensokyo.2hu/users/raymoo") + + assert {:error, _cng} = ObjectValidator.validate(block, []) + end + end end From e38293c8f1adca40447ba39f4919b2b08bf0329a Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 11:33:54 +0200 Subject: [PATCH 052/108] Transmogrifier: Switch to pipeline for Blocks. --- lib/pleroma/web/activity_pub/side_effects.ex | 16 ++++++++++++ .../web/activity_pub/transmogrifier.ex | 22 +++------------- test/web/activity_pub/side_effects_test.exs | 25 +++++++++++++++++++ 3 files changed, 45 insertions(+), 18 deletions(-) diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index de143b8f0..48350d2b3 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -20,6 +20,22 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do def handle(object, meta \\ []) + # Tasks this handles: + # - Unfollow and block + def handle( + %{data: %{"type" => "Block", "object" => blocked_user, "actor" => blocking_user}} = + object, + meta + ) do + with %User{} = blocker <- User.get_cached_by_ap_id(blocking_user), + %User{} = blocked <- User.get_cached_by_ap_id(blocked_user) do + User.unfollow(blocker, blocked) + User.block(blocker, blocked) + end + + {:ok, object, meta} + end + # Tasks this handles: # - Update the user # diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 4e318e89c..278fbbeab 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -673,7 +673,7 @@ def handle_incoming( end def handle_incoming(%{"type" => type} = data, _options) - when type in ["Like", "EmojiReact", "Announce"] do + when type in ~w{Like EmojiReact Announce} do with :ok <- ObjectValidator.fetch_actor_and_object(data), {:ok, activity, _meta} <- Pipeline.common_pipeline(data, local: false) do @@ -684,9 +684,10 @@ def handle_incoming(%{"type" => type} = data, _options) end def handle_incoming( - %{"type" => "Update"} = data, + %{"type" => type} = data, _options - ) do + ) + when type in ~w{Update Block} do with {:ok, %User{}} <- ObjectValidator.fetch_actor(data), {:ok, activity, _} <- Pipeline.common_pipeline(data, local: false) do {:ok, activity} @@ -765,21 +766,6 @@ def handle_incoming( end end - def handle_incoming( - %{"type" => "Block", "object" => blocked, "actor" => blocker, "id" => id} = _data, - _options - ) do - with %User{local: true} = blocked = User.get_cached_by_ap_id(blocked), - {:ok, %User{} = blocker} = User.get_or_fetch_by_ap_id(blocker), - {:ok, activity} <- ActivityPub.block(blocker, blocked, id, false) do - User.unfollow(blocker, blocked) - User.block(blocker, blocked) - {:ok, activity} - else - _e -> :error - end - end - def handle_incoming( %{ "type" => "Move", diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index 12c9ef1da..5e883bb09 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -64,6 +64,31 @@ test "it streams out notifications and streams" do end end + describe "blocking users" do + setup do + user = insert(:user) + blocked = insert(:user) + User.follow(blocked, user) + User.follow(user, blocked) + + {:ok, block_data, []} = Builder.block(user, blocked) + {:ok, block, _meta} = ActivityPub.persist(block_data, local: true) + + %{user: user, blocked: blocked, block: block} + end + + test "it unfollows and blocks", %{user: user, blocked: blocked, block: block} do + assert User.following?(user, blocked) + assert User.following?(blocked, user) + + {:ok, _, _} = SideEffects.handle(block) + + refute User.following?(user, blocked) + refute User.following?(blocked, user) + assert User.blocks?(user, blocked) + end + end + describe "update users" do setup do user = insert(:user) From 8cfb58a8c0a2ee0c69eb727cc810e8571289f813 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 11:44:04 +0200 Subject: [PATCH 053/108] AccountController: Extract blocking to CommonAPI. --- lib/pleroma/web/common_api/common_api.ex | 7 +++++++ .../web/mastodon_api/controllers/account_controller.ex | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index 04e081a8e..fd7149079 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -25,6 +25,13 @@ defmodule Pleroma.Web.CommonAPI do require Pleroma.Constants require Logger + def block(blocker, blocked) do + with {:ok, block_data, _} <- Builder.block(blocker, blocked), + {:ok, block, _} <- Pipeline.common_pipeline(block_data, local: true) do + {:ok, block} + end + end + def post_chat_message(%User{} = user, %User{} = recipient, content, opts \\ []) do with maybe_attachment <- opts[:media_id] && Object.get_by_id(opts[:media_id]), :ok <- validate_chat_content_length(content, !!maybe_attachment), diff --git a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex index 7a88a847c..b5008d69b 100644 --- a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex @@ -385,8 +385,7 @@ def unmute(%{assigns: %{user: muter, account: muted}} = conn, _params) do @doc "POST /api/v1/accounts/:id/block" def block(%{assigns: %{user: blocker, account: blocked}} = conn, _params) do - with {:ok, _user_block} <- User.block(blocker, blocked), - {:ok, _activity} <- ActivityPub.block(blocker, blocked) do + with {:ok, _activity} <- CommonAPI.block(blocker, blocked) do render(conn, "relationship.json", user: blocker, target: blocked) else {:error, message} -> json_response(conn, :forbidden, %{error: message}) From 44bb7cfccdf2c25ae641b4cffa8e5c7fdedc3f54 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 11:51:33 +0200 Subject: [PATCH 054/108] ActivityPub: Remove `block`. --- lib/pleroma/user.ex | 3 +- lib/pleroma/web/activity_pub/activity_pub.ex | 27 ----------- test/web/activity_pub/activity_pub_test.exs | 48 -------------------- test/web/activity_pub/side_effects_test.exs | 3 +- test/web/activity_pub/utils_test.exs | 16 ++----- 5 files changed, 5 insertions(+), 92 deletions(-) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 1d70a37ef..c3e2a89ad 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1527,8 +1527,7 @@ def perform(:blocks_import, %User{} = blocker, blocked_identifiers) blocked_identifiers, fn blocked_identifier -> with {:ok, %User{} = blocked} <- get_or_fetch(blocked_identifier), - {:ok, _user_block} <- block(blocker, blocked), - {:ok, _} <- ActivityPub.block(blocker, blocked) do + {:ok, _block} <- CommonAPI.block(blocker, blocked) do blocked else err -> diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 7cd3eab39..05bd824f5 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -366,33 +366,6 @@ defp do_unfollow(follower, followed, activity_id, local) do end end - @spec block(User.t(), User.t(), String.t() | nil, boolean()) :: - {:ok, Activity.t()} | {:error, any()} - def block(blocker, blocked, activity_id \\ nil, local \\ true) do - with {:ok, result} <- - Repo.transaction(fn -> do_block(blocker, blocked, activity_id, local) end) do - result - end - end - - defp do_block(blocker, blocked, activity_id, local) do - unfollow_blocked = Config.get([:activitypub, :unfollow_blocked]) - - if unfollow_blocked and fetch_latest_follow(blocker, blocked) do - unfollow(blocker, blocked, nil, local) - end - - block_data = make_block_data(blocker, blocked, activity_id) - - with {:ok, activity} <- insert(block_data, local), - _ <- notify_and_stream(activity), - :ok <- maybe_federate(activity) do - {:ok, activity} - else - {:error, error} -> Repo.rollback(error) - end - end - @spec flag(map()) :: {:ok, Activity.t()} | {:error, any()} def flag( %{ diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index be7ab2ae4..575e0c5db 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -992,54 +992,6 @@ test "creates an undo activity for a pending follow request" do end end - describe "blocking" do - test "reverts block activity on error" do - [blocker, blocked] = insert_list(2, :user) - - with_mock(Utils, [:passthrough], maybe_federate: fn _ -> {:error, :reverted} end) do - assert {:error, :reverted} = ActivityPub.block(blocker, blocked) - end - - assert Repo.aggregate(Activity, :count, :id) == 0 - assert Repo.aggregate(Object, :count, :id) == 0 - end - - test "creates a block activity" do - clear_config([:instance, :federating], true) - blocker = insert(:user) - blocked = insert(:user) - - with_mock Pleroma.Web.Federator, - publish: fn _ -> nil end do - {:ok, activity} = ActivityPub.block(blocker, blocked) - - assert activity.data["type"] == "Block" - assert activity.data["actor"] == blocker.ap_id - assert activity.data["object"] == blocked.ap_id - - assert called(Pleroma.Web.Federator.publish(activity)) - end - end - - test "works with outgoing blocks disabled, but doesn't federate" do - clear_config([:instance, :federating], true) - clear_config([:activitypub, :outgoing_blocks], false) - blocker = insert(:user) - blocked = insert(:user) - - with_mock Pleroma.Web.Federator, - publish: fn _ -> nil end do - {:ok, activity} = ActivityPub.block(blocker, blocked) - - assert activity.data["type"] == "Block" - assert activity.data["actor"] == blocker.ap_id - assert activity.data["object"] == blocked.ap_id - - refute called(Pleroma.Web.Federator.publish(:_)) - end - end - end - describe "timeline post-processing" do test "it filters broken threads" do user1 = insert(:user) diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index 5e883bb09..36792f015 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -267,8 +267,7 @@ test "when activation is required", %{delete: delete, user: user} do {:ok, like} = CommonAPI.favorite(user, post.id) {:ok, reaction} = CommonAPI.react_with_emoji(post.id, user, "👍") {:ok, announce} = CommonAPI.repeat(post.id, user) - {:ok, block} = ActivityPub.block(user, poster) - User.block(user, poster) + {:ok, block} = CommonAPI.block(user, poster) {:ok, undo_data, _meta} = Builder.undo(user, like) {:ok, like_undo, _meta} = ActivityPub.persist(undo_data, local: true) diff --git a/test/web/activity_pub/utils_test.exs b/test/web/activity_pub/utils_test.exs index 15f03f193..2f9ecb5a3 100644 --- a/test/web/activity_pub/utils_test.exs +++ b/test/web/activity_pub/utils_test.exs @@ -27,16 +27,6 @@ test "fetches the latest Follow activity" do end end - describe "fetch the latest Block" do - test "fetches the latest Block activity" do - blocker = insert(:user) - blocked = insert(:user) - {:ok, activity} = ActivityPub.block(blocker, blocked) - - assert activity == Utils.fetch_latest_block(blocker, blocked) - end - end - describe "determine_explicit_mentions()" do test "works with an object that has mentions" do object = %{ @@ -344,9 +334,9 @@ test "fetches last block activities" do user1 = insert(:user) user2 = insert(:user) - assert {:ok, %Activity{} = _} = ActivityPub.block(user1, user2) - assert {:ok, %Activity{} = _} = ActivityPub.block(user1, user2) - assert {:ok, %Activity{} = activity} = ActivityPub.block(user1, user2) + assert {:ok, %Activity{} = _} = CommonAPI.block(user1, user2) + assert {:ok, %Activity{} = _} = CommonAPI.block(user1, user2) + assert {:ok, %Activity{} = activity} = CommonAPI.block(user1, user2) assert Utils.fetch_latest_block(user1, user2) == activity end From 84f9ca19568777861ff9520cbef09a0259efd536 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 12:03:14 +0200 Subject: [PATCH 055/108] Blocking: Don't federate if the options is set. --- .../web/activity_pub/object_validator.ex | 9 ++++ test/web/common_api/common_api_test.exs | 46 +++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/lib/pleroma/web/activity_pub/object_validator.ex b/lib/pleroma/web/activity_pub/object_validator.ex index 737c0fd64..bb6324460 100644 --- a/lib/pleroma/web/activity_pub/object_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validator.ex @@ -31,6 +31,15 @@ def validate(%{"type" => "Block"} = block_activity, meta) do |> BlockValidator.cast_and_validate() |> Ecto.Changeset.apply_action(:insert) do block_activity = stringify_keys(block_activity) + outgoing_blocks = Pleroma.Config.get([:activitypub, :outgoing_blocks]) + + meta = + if !outgoing_blocks do + Keyword.put(meta, :do_not_federate, true) + else + meta + end + {:ok, block_activity, meta} end end diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index 6bd26050e..fc3bb845d 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -25,6 +25,52 @@ defmodule Pleroma.Web.CommonAPITest do setup do: clear_config([:instance, :limit]) setup do: clear_config([:instance, :max_pinned_statuses]) + describe "blocking" do + setup do + blocker = insert(:user) + blocked = insert(:user) + User.follow(blocker, blocked) + User.follow(blocked, blocker) + %{blocker: blocker, blocked: blocked} + end + + test "it blocks and federates", %{blocker: blocker, blocked: blocked} do + clear_config([:instance, :federating], true) + + with_mock Pleroma.Web.Federator, + publish: fn _ -> nil end do + assert {:ok, block} = CommonAPI.block(blocker, blocked) + + assert block.local + assert User.blocks?(blocker, blocked) + refute User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + + assert called(Pleroma.Web.Federator.publish(block)) + end + end + + test "it blocks and does not federate if outgoing blocks are disabled", %{ + blocker: blocker, + blocked: blocked + } do + clear_config([:instance, :federating], true) + clear_config([:activitypub, :outgoing_blocks], false) + + with_mock Pleroma.Web.Federator, + publish: fn _ -> nil end do + assert {:ok, block} = CommonAPI.block(blocker, blocked) + + assert block.local + assert User.blocks?(blocker, blocked) + refute User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + + refute called(Pleroma.Web.Federator.publish(block)) + end + end + end + describe "posting chat messages" do setup do: clear_config([:instance, :chat_limit]) From f585622f852f4204f8f8dcaa6626ed4cd025edfe Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 10:17:16 +0000 Subject: [PATCH 056/108] Apply suggestion to config/description.exs --- config/description.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/description.exs b/config/description.exs index bc781e4c8..5ed7f753e 100644 --- a/config/description.exs +++ b/config/description.exs @@ -979,7 +979,7 @@ key: :instance_thumbnail, type: :string, description: - "The instance thumbnail is the Mastodon landing page image and used by some apps to identify the instance.", + "The instance thumbnail can be any image that represents your instance and is used by some apps or services when they display information about your instance.", suggestions: ["/instance/thumbnail.jpeg"] } ] From 04abee782b8745b21d0f9e58b27a805db6a94aa7 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 12:40:39 +0200 Subject: [PATCH 057/108] AntiSpamLinkPolicy: Exempt local users. --- .../activity_pub/mrf/anti_link_spam_policy.ex | 5 ++++- .../mrf/anti_link_spam_policy_test.exs | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/activity_pub/mrf/anti_link_spam_policy.ex b/lib/pleroma/web/activity_pub/mrf/anti_link_spam_policy.ex index 9e7800997..a7e187b5e 100644 --- a/lib/pleroma/web/activity_pub/mrf/anti_link_spam_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/anti_link_spam_policy.ex @@ -27,11 +27,14 @@ defp contains_links?(_), do: false @impl true def filter(%{"type" => "Create", "actor" => actor, "object" => object} = message) do - with {:ok, %User{} = u} <- User.get_or_fetch_by_ap_id(actor), + with {:ok, %User{local: false} = u} <- User.get_or_fetch_by_ap_id(actor), {:contains_links, true} <- {:contains_links, contains_links?(object)}, {:old_user, true} <- {:old_user, old_user?(u)} do {:ok, message} else + {:ok, %User{local: true}} -> + {:ok, message} + {:contains_links, false} -> {:ok, message} diff --git a/test/web/activity_pub/mrf/anti_link_spam_policy_test.exs b/test/web/activity_pub/mrf/anti_link_spam_policy_test.exs index 1a13699be..6867c9853 100644 --- a/test/web/activity_pub/mrf/anti_link_spam_policy_test.exs +++ b/test/web/activity_pub/mrf/anti_link_spam_policy_test.exs @@ -33,7 +33,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.AntiLinkSpamPolicyTest do describe "with new user" do test "it allows posts without links" do - user = insert(:user) + user = insert(:user, local: false) assert user.note_count == 0 @@ -45,7 +45,7 @@ test "it allows posts without links" do end test "it disallows posts with links" do - user = insert(:user) + user = insert(:user, local: false) assert user.note_count == 0 @@ -55,6 +55,18 @@ test "it disallows posts with links" do {:reject, _} = AntiLinkSpamPolicy.filter(message) end + + test "it allows posts with links for local users" do + user = insert(:user) + + assert user.note_count == 0 + + message = + @linkful_message + |> Map.put("actor", user.ap_id) + + {:ok, _message} = AntiLinkSpamPolicy.filter(message) + end end describe "with old user" do From 28d4e60f668ec5fa6c5be21ee28612d01b51a6a0 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Thu, 25 Jun 2020 12:32:06 -0500 Subject: [PATCH 058/108] MastoAPI differences: Document not implemented features --- docs/API/differences_in_mastoapi_responses.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/docs/API/differences_in_mastoapi_responses.md b/docs/API/differences_in_mastoapi_responses.md index be3c802af..7c3546f4f 100644 --- a/docs/API/differences_in_mastoapi_responses.md +++ b/docs/API/differences_in_mastoapi_responses.md @@ -234,3 +234,43 @@ Has these additional fields under the `pleroma` object: ## Streaming There is an additional `user:pleroma_chat` stream. Incoming chat messages will make the current chat be sent to this `user` stream. The `event` of an incoming chat message is `pleroma:chat_update`. The payload is the updated chat with the incoming chat message in the `last_message` field. + +## Not implemented + +Pleroma is generally compatible with the Mastodon 2.7.2 API, but some newer features and non-essential features are omitted. These features usually return an HTTP 200 status code, but with an empty response. While they may be added in the future, they are considered low priority. + +### Suggestions + +*Added in Mastodon 2.4.3* + +- `GET /api/v1/suggestions`: Returns an empty array, `[]` + +### Trends + +*Added in Mastodon 3.0.0* + +- `GET /api/v1/trends`: Returns an empty array, `[]` + +### Identity proofs + +*Added in Mastodon 2.8.0* + +- `GET /api/v1/identity_proofs`: Returns an empty array, `[]` + +### Endorsements + +*Added in Mastodon 2.5.0* + +- `GET /api/v1/endorsements`: Returns an empty array, `[]` + +### Profile directory + +*Added in Mastodon 3.0.0* + +- `GET /api/v1/directory`: Returns HTTP 404 + +### Featured tags + +*Added in Mastodon 3.0.0* + +- `GET /api/v1/featured_tags`: Returns HTTP 404 From d9e462362823c9178e354ebe9b7c6761f94d387f Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 25 Jun 2020 14:55:00 -0500 Subject: [PATCH 059/108] Update AdminFE build --- .../{app.796ca6d4.css => app.6684eb28.css} | Bin ...8.af0d89cd.css => chunk-070d.d2dd6533.css} | Bin priv/static/adminfe/chunk-0cbc.60bba79b.css | Bin 0 -> 3385 bytes priv/static/adminfe/chunk-143c.43ada4fc.css | Bin 0 -> 692 bytes priv/static/adminfe/chunk-1609.408dae86.css | Bin 0 -> 1381 bytes priv/static/adminfe/chunk-176e.5d7d957b.css | Bin 0 -> 2163 bytes priv/static/adminfe/chunk-22d2.813009b9.css | Bin 6282 -> 0 bytes priv/static/adminfe/chunk-43ca.0de86b6d.css | Bin 0 -> 23710 bytes ...1.d3692214.css => chunk-4e7e.5afe1978.css} | Bin priv/static/adminfe/chunk-5882.f65db7f2.css | Bin 0 -> 4401 bytes priv/static/adminfe/chunk-6b68.0cc00484.css | Bin 692 -> 0 bytes ...1.0e80d020.css => chunk-6e81.ca3b222f.css} | Bin priv/static/adminfe/chunk-7506.f01f6c2a.css | Bin 0 -> 3290 bytes priv/static/adminfe/chunk-7637.941c4edb.css | Bin 1347 -> 0 bytes ...8.d9e7180a.css => chunk-7c6b.d9e7180a.css} | Bin priv/static/adminfe/chunk-7e30.f2b9674a.css | Bin 23982 -> 0 bytes priv/static/adminfe/chunk-970d.f59cca8c.css | Bin 6173 -> 0 bytes ...4.d50ed383.css => chunk-c5f4.0827b1ce.css} | Bin 5605 -> 5669 bytes .../static/adminfe/chunk-commons.7f6d2d11.css | Bin 0 -> 2495 bytes priv/static/adminfe/chunk-d38a.cabdc22e.css | Bin 3332 -> 0 bytes priv/static/adminfe/chunk-e404.a56021ae.css | Bin 0 -> 5063 bytes priv/static/adminfe/chunk-e458.6c0703cb.css | Bin 3863 -> 0 bytes priv/static/adminfe/index.html | 2 +- priv/static/adminfe/static/js/app.0146039c.js | Bin 190274 -> 0 bytes .../adminfe/static/js/app.0146039c.js.map | Bin 421137 -> 0 bytes priv/static/adminfe/static/js/app.3fcec8f6.js | Bin 0 -> 192591 bytes .../adminfe/static/js/app.3fcec8f6.js.map | Bin 0 -> 426204 bytes ...558.75954137.js => chunk-070d.7e10a520.js} | Bin 7919 -> 7919 bytes ...4137.js.map => chunk-070d.7e10a520.js.map} | Bin 17438 -> 17438 bytes .../static/js/chunk-0778.b17650df.js.map | Bin 32393 -> 0 bytes .../adminfe/static/js/chunk-0cbc.43ff796f.js | Bin 0 -> 21585 bytes .../static/js/chunk-0cbc.43ff796f.js.map | Bin 0 -> 86326 bytes .../adminfe/static/js/chunk-143c.fc1825bf.js | Bin 0 -> 13814 bytes .../static/js/chunk-143c.fc1825bf.js.map | Bin 0 -> 37014 bytes .../adminfe/static/js/chunk-1609.98da6b01.js | Bin 0 -> 10740 bytes .../static/js/chunk-1609.98da6b01.js.map | Bin 0 -> 46790 bytes .../adminfe/static/js/chunk-176e.c4995511.js | Bin 0 -> 10092 bytes .../static/js/chunk-176e.c4995511.js.map | Bin 0 -> 32132 bytes .../adminfe/static/js/chunk-22d2.a0cf7976.js | Bin 30624 -> 0 bytes .../static/js/chunk-22d2.a0cf7976.js.map | Bin 103450 -> 0 bytes .../adminfe/static/js/chunk-3384.b2ebeeca.js | Bin 24591 -> 0 bytes .../static/js/chunk-3384.b2ebeeca.js.map | Bin 86706 -> 0 bytes .../adminfe/static/js/chunk-43ca.3debeff7.js | Bin 0 -> 119060 bytes .../static/js/chunk-43ca.3debeff7.js.map | Bin 0 -> 402101 bytes ...961.ef33e81b.js => chunk-4e7e.91b5e73a.js} | Bin 5112 -> 5112 bytes ...e81b.js.map => chunk-4e7e.91b5e73a.js.map} | Bin 19744 -> 19744 bytes ...f9e.c49aa694.js => chunk-5118.7c48ad58.js} | Bin 24606 -> 24606 bytes ...a694.js.map => chunk-5118.7c48ad58.js.map} | Bin 74431 -> 74431 bytes .../adminfe/static/js/chunk-5882.7cbc4c1b.js | Bin 0 -> 24347 bytes .../static/js/chunk-5882.7cbc4c1b.js.map | Bin 0 -> 81471 bytes .../adminfe/static/js/chunk-6b68.fbc0f684.js | Bin 14790 -> 0 bytes .../static/js/chunk-6b68.fbc0f684.js.map | Bin 40172 -> 0 bytes ...e81.3733ace2.js => chunk-6e81.6efb01f4.js} | Bin 2080 -> 2080 bytes ...ace2.js.map => chunk-6e81.6efb01f4.js.map} | Bin 9090 -> 9090 bytes .../adminfe/static/js/chunk-7506.a3364e53.js | Bin 0 -> 17041 bytes .../static/js/chunk-7506.a3364e53.js.map | Bin 0 -> 58197 bytes .../adminfe/static/js/chunk-7637.8f5fb36e.js | Bin 10877 -> 0 bytes .../static/js/chunk-7637.8f5fb36e.js.map | Bin 44563 -> 0 bytes ...778.b17650df.js => chunk-7c6b.e63ae1da.js} | Bin 9756 -> 8606 bytes .../static/js/chunk-7c6b.e63ae1da.js.map | Bin 0 -> 28838 bytes .../adminfe/static/js/chunk-7e30.ec42e302.js | Bin 119434 -> 0 bytes .../static/js/chunk-7e30.ec42e302.js.map | Bin 403603 -> 0 bytes .../adminfe/static/js/chunk-970d.2457e066.js | Bin 26608 -> 0 bytes .../static/js/chunk-970d.2457e066.js.map | Bin 100000 -> 0 bytes .../adminfe/static/js/chunk-c5f4.304479e7.js | Bin 0 -> 23657 bytes .../static/js/chunk-c5f4.304479e7.js.map | Bin 0 -> 83935 bytes .../static/js/chunk-commons.5a106955.js | Bin 0 -> 9443 bytes .../static/js/chunk-commons.5a106955.js.map | Bin 0 -> 33718 bytes .../adminfe/static/js/chunk-d38a.a851004a.js | Bin 20205 -> 0 bytes .../static/js/chunk-d38a.a851004a.js.map | Bin 81345 -> 0 bytes .../adminfe/static/js/chunk-e404.554bc2e3.js | Bin 0 -> 19723 bytes .../static/js/chunk-e404.554bc2e3.js.map | Bin 0 -> 75596 bytes .../adminfe/static/js/chunk-e458.bb460d81.js | Bin 17199 -> 0 bytes .../static/js/chunk-e458.bb460d81.js.map | Bin 57478 -> 0 bytes .../adminfe/static/js/runtime.5bae86dc.js | Bin 0 -> 4229 bytes .../adminfe/static/js/runtime.5bae86dc.js.map | Bin 0 -> 17240 bytes .../adminfe/static/js/runtime.b08eb412.js | Bin 4032 -> 0 bytes .../adminfe/static/js/runtime.b08eb412.js.map | Bin 16879 -> 0 bytes 78 files changed, 1 insertion(+), 1 deletion(-) rename priv/static/adminfe/{app.796ca6d4.css => app.6684eb28.css} (100%) rename priv/static/adminfe/{chunk-0558.af0d89cd.css => chunk-070d.d2dd6533.css} (100%) create mode 100644 priv/static/adminfe/chunk-0cbc.60bba79b.css create mode 100644 priv/static/adminfe/chunk-143c.43ada4fc.css create mode 100644 priv/static/adminfe/chunk-1609.408dae86.css create mode 100644 priv/static/adminfe/chunk-176e.5d7d957b.css delete mode 100644 priv/static/adminfe/chunk-22d2.813009b9.css create mode 100644 priv/static/adminfe/chunk-43ca.0de86b6d.css rename priv/static/adminfe/{chunk-0961.d3692214.css => chunk-4e7e.5afe1978.css} (100%) create mode 100644 priv/static/adminfe/chunk-5882.f65db7f2.css delete mode 100644 priv/static/adminfe/chunk-6b68.0cc00484.css rename priv/static/adminfe/{chunk-6e81.0e80d020.css => chunk-6e81.ca3b222f.css} (100%) create mode 100644 priv/static/adminfe/chunk-7506.f01f6c2a.css delete mode 100644 priv/static/adminfe/chunk-7637.941c4edb.css rename priv/static/adminfe/{chunk-0778.d9e7180a.css => chunk-7c6b.d9e7180a.css} (100%) delete mode 100644 priv/static/adminfe/chunk-7e30.f2b9674a.css delete mode 100644 priv/static/adminfe/chunk-970d.f59cca8c.css rename priv/static/adminfe/{chunk-3384.d50ed383.css => chunk-c5f4.0827b1ce.css} (76%) create mode 100644 priv/static/adminfe/chunk-commons.7f6d2d11.css delete mode 100644 priv/static/adminfe/chunk-d38a.cabdc22e.css create mode 100644 priv/static/adminfe/chunk-e404.a56021ae.css delete mode 100644 priv/static/adminfe/chunk-e458.6c0703cb.css delete mode 100644 priv/static/adminfe/static/js/app.0146039c.js delete mode 100644 priv/static/adminfe/static/js/app.0146039c.js.map create mode 100644 priv/static/adminfe/static/js/app.3fcec8f6.js create mode 100644 priv/static/adminfe/static/js/app.3fcec8f6.js.map rename priv/static/adminfe/static/js/{chunk-0558.75954137.js => chunk-070d.7e10a520.js} (98%) rename priv/static/adminfe/static/js/{chunk-0558.75954137.js.map => chunk-070d.7e10a520.js.map} (99%) delete mode 100644 priv/static/adminfe/static/js/chunk-0778.b17650df.js.map create mode 100644 priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js create mode 100644 priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js.map create mode 100644 priv/static/adminfe/static/js/chunk-143c.fc1825bf.js create mode 100644 priv/static/adminfe/static/js/chunk-143c.fc1825bf.js.map create mode 100644 priv/static/adminfe/static/js/chunk-1609.98da6b01.js create mode 100644 priv/static/adminfe/static/js/chunk-1609.98da6b01.js.map create mode 100644 priv/static/adminfe/static/js/chunk-176e.c4995511.js create mode 100644 priv/static/adminfe/static/js/chunk-176e.c4995511.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-22d2.a0cf7976.js delete mode 100644 priv/static/adminfe/static/js/chunk-22d2.a0cf7976.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-3384.b2ebeeca.js delete mode 100644 priv/static/adminfe/static/js/chunk-3384.b2ebeeca.js.map create mode 100644 priv/static/adminfe/static/js/chunk-43ca.3debeff7.js create mode 100644 priv/static/adminfe/static/js/chunk-43ca.3debeff7.js.map rename priv/static/adminfe/static/js/{chunk-0961.ef33e81b.js => chunk-4e7e.91b5e73a.js} (97%) rename priv/static/adminfe/static/js/{chunk-0961.ef33e81b.js.map => chunk-4e7e.91b5e73a.js.map} (99%) rename priv/static/adminfe/static/js/{chunk-7f9e.c49aa694.js => chunk-5118.7c48ad58.js} (99%) rename priv/static/adminfe/static/js/{chunk-7f9e.c49aa694.js.map => chunk-5118.7c48ad58.js.map} (99%) create mode 100644 priv/static/adminfe/static/js/chunk-5882.7cbc4c1b.js create mode 100644 priv/static/adminfe/static/js/chunk-5882.7cbc4c1b.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-6b68.fbc0f684.js delete mode 100644 priv/static/adminfe/static/js/chunk-6b68.fbc0f684.js.map rename priv/static/adminfe/static/js/{chunk-6e81.3733ace2.js => chunk-6e81.6efb01f4.js} (97%) rename priv/static/adminfe/static/js/{chunk-6e81.3733ace2.js.map => chunk-6e81.6efb01f4.js.map} (98%) create mode 100644 priv/static/adminfe/static/js/chunk-7506.a3364e53.js create mode 100644 priv/static/adminfe/static/js/chunk-7506.a3364e53.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-7637.8f5fb36e.js delete mode 100644 priv/static/adminfe/static/js/chunk-7637.8f5fb36e.js.map rename priv/static/adminfe/static/js/{chunk-0778.b17650df.js => chunk-7c6b.e63ae1da.js} (83%) create mode 100644 priv/static/adminfe/static/js/chunk-7c6b.e63ae1da.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-7e30.ec42e302.js delete mode 100644 priv/static/adminfe/static/js/chunk-7e30.ec42e302.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-970d.2457e066.js delete mode 100644 priv/static/adminfe/static/js/chunk-970d.2457e066.js.map create mode 100644 priv/static/adminfe/static/js/chunk-c5f4.304479e7.js create mode 100644 priv/static/adminfe/static/js/chunk-c5f4.304479e7.js.map create mode 100644 priv/static/adminfe/static/js/chunk-commons.5a106955.js create mode 100644 priv/static/adminfe/static/js/chunk-commons.5a106955.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-d38a.a851004a.js delete mode 100644 priv/static/adminfe/static/js/chunk-d38a.a851004a.js.map create mode 100644 priv/static/adminfe/static/js/chunk-e404.554bc2e3.js create mode 100644 priv/static/adminfe/static/js/chunk-e404.554bc2e3.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-e458.bb460d81.js delete mode 100644 priv/static/adminfe/static/js/chunk-e458.bb460d81.js.map create mode 100644 priv/static/adminfe/static/js/runtime.5bae86dc.js create mode 100644 priv/static/adminfe/static/js/runtime.5bae86dc.js.map delete mode 100644 priv/static/adminfe/static/js/runtime.b08eb412.js delete mode 100644 priv/static/adminfe/static/js/runtime.b08eb412.js.map diff --git a/priv/static/adminfe/app.796ca6d4.css b/priv/static/adminfe/app.6684eb28.css similarity index 100% rename from priv/static/adminfe/app.796ca6d4.css rename to priv/static/adminfe/app.6684eb28.css diff --git a/priv/static/adminfe/chunk-0558.af0d89cd.css b/priv/static/adminfe/chunk-070d.d2dd6533.css similarity index 100% rename from priv/static/adminfe/chunk-0558.af0d89cd.css rename to priv/static/adminfe/chunk-070d.d2dd6533.css diff --git a/priv/static/adminfe/chunk-0cbc.60bba79b.css b/priv/static/adminfe/chunk-0cbc.60bba79b.css new file mode 100644 index 0000000000000000000000000000000000000000..c6280f7efeb53788f7af1a2631e7ad0b4e536078 GIT binary patch literal 3385 zcmd5ilQUEF%x(Zd0%uzFPk}?L}@YdUKn$hsPfcN2~simxrM-Ffg8`$r9C; z1a3^aPP_=UYIC)hy*eDh=q2F+h-Kx8t6FLLVV!=1qR0v)6tcp1f0w4=BtoQrr$Ar{ zuYm8a6KlmR)h;ob0=>ifQvA6>gDb>>NG;@!R_XzH%R6mw|5gbP!>F2T{e5>``3l;) zGksfrPj5YomKn2GIwu+oSYp)<`tA`htYqyfnTr~0{}xHO2=6!tyPAVsbKnYvj0B~f zL`~xpcw9JD8&UzomG{);h!1C7j#g(_@~+B`y`43cRLcmyr_=e6vnZRjH>?22CCMG0 zW!oC=@3q>`9)FMGAgN_IUp(0TmMh2mG#fZ)P{vHMhOJWQg~4mb%0WJi95!0-a_!kV zDc%6nyoxU6$7xnfC{G3wo4lbAH46Q$)cF6MDad`&zFWZNapp(oC^Z~|-x%=+=xT%7 zeEALKtjmGa$0GIv{JM+_bJ5$bA6}20FpT|3dOG&Z)whperG*=-Xp2^GR*!~7E;Qcq zoaacqF}a8Rh`u~Q^XwXlyo3Wn(Z|Qt3;R)>33~HP|Gm93jS3}xcKCtd4`{iX%^3+} zcqjB)m_zwpg|NY@MnL^L5a$7OGd14g5a{zAOh`8-$hKB|7YAg2YsR58ox2lmdiN}Y ziI#-qOqQU(OnG?~XFATonEnzT9Lh;;nmO;5Gl8MD$*7AAb7SA#GLk0<`r# iIKd`e;^6`rR literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/chunk-143c.43ada4fc.css b/priv/static/adminfe/chunk-143c.43ada4fc.css new file mode 100644 index 0000000000000000000000000000000000000000..b580e0699600bda09e49226c2e94d2b90f6f3a39 GIT binary patch literal 692 zcmd5)(Qd*p4E&fq8!-@-mVC;zhct1DM~JJ$rA3H;UkKGk1s||SpU;->d@EyxIA&-E z5sshEh=CJq+=t)V9e!N|Cjk?viz=WOJ(82X+V0l0j)a!3Ufkv0JSl$j}>mP~Srq@@Eb6#1fsm^$d)na+yJBQAWgg zU10#1xOY6h(Ch;nQHi>}R3;TIfR5x@%F(2bB2=#0-E0uk{cG(DBkzy3#UM<7MlR4= z00|zmx)bjjZ^3x>V~)gZ$fgD(GVJ;EA_%I&7t4W@dTZ9rrfGCre%mD;qANDmhWB3E LA>~3cgYfkSL=FK= literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/chunk-1609.408dae86.css b/priv/static/adminfe/chunk-1609.408dae86.css new file mode 100644 index 0000000000000000000000000000000000000000..483d885451de29c8701c41702b0f1cf748911c44 GIT binary patch literal 1381 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/chunk-0961.d3692214.css b/priv/static/adminfe/chunk-4e7e.5afe1978.css similarity index 100% rename from priv/static/adminfe/chunk-0961.d3692214.css rename to priv/static/adminfe/chunk-4e7e.5afe1978.css diff --git a/priv/static/adminfe/chunk-5882.f65db7f2.css b/priv/static/adminfe/chunk-5882.f65db7f2.css new file mode 100644 index 0000000000000000000000000000000000000000..b5e2a00b019f8d43b76b6ca72efb98bbaef0b1f1 GIT binary patch literal 4401 zcmc&%?T*_v5PTH@MSvCv1=*ML+0viBi9uOwo3SJc6n(ZM=-s=^4~dc;*=1bG0uUtW{unl-#AM14pX_(vZ< zTF!Q|)?Cz}xGyN1#r~Etw_-Z# zzM4~^)@h4tfaRbs0CoRo1%=>|tjk-}?i3D1ye^{OD}H4*tZ!?KzC{Z;&9aI%ZhNnzY1o8mr)EQ!+1-1*lu%K z+&Y&ore)(&_H5~1s)`8>)z_b&(D1gsNL3&~KL6;&EHbA`7q3rmH>?$PbDpnF z9);DO^NNULiMcN&*Qp{Pd}f18t`nQdXAxR(9ITt4q;YyZ?}*dhE?q90Ym|61VB``u_x5(tap8!O zCK3HJZlQTzf*+?5`-v!HK1FfOD?m|=v^OTh-?`?BxsU&vw@mOEyk#Eh?|53#*<>FS+9%h5b(LR}E1NFl9wjrORJD0pDS58#BbL?PILNK^-JI^=r(Uba4H zeh9)^e8YNR9a7XsKx_0S#m`!1K^1X~GlID&-h_I&9MN!?aqYB5|KVjH6Q2+)B6{Gl z{}biIV?SMw;##s+bB*P;_10+x;m@2&S=}3vDxf3}u?1=S zM?MpRE|s9d{*L8F?07k85DI|@lN&qkjP^HvK~&FGol$dvxcK>Q)be-rX5yWO;G8xv zWZU%EYz(lYvQM^UDqttEnWEdE=s=O??<;^WX2HHogwP>xdX0FXh(|q%Xbu@BZg`Xz z)+m9tI0~3{2oy(|nRw3X4JWuGjX$Nd;dHYhd-u$AD_xnlOJ^y+Thzy^`ZU-+`M%gX7<%tVe02SK?-D)~N|CLs?wRJ=Q2b(m~P3c&RRpTpWnnbS$Ec9yAjj;yYpDMz-^1R zVIp!r46O52<7MmvM9HR*7i^HtyK#e$m+_7yIiox4rB5V46PzjH7Bdo&S|VMzBj^b? zpD?i7iv}N>>{phO{sR8-!JQPK&Y?D?7FB@R#1VfF`C9A~*>cPhC(Ro#>IQ?A5MX_ml38wG=wF$;EZG+ypHLF%&Sq z?zEJ8Z_WxvYz`#Q@T7mSV*=-KddBXxej-C}+JpKTl8`%Vm?xI#+%0Ed5S8)_LW43Q zhU*GF*vP%*@r`EZ*@%kN?WHg&YXP(*uTqXCb`+p+Rdu&PO!u#~FN}OVw#^1%{4;Wa zmI6rdnAC&#(0C8Vs~>YDW<$0m7=dBWr#C@R1-`WGIjWC(U2p4JH~F_+V`(_& NbUVb9NoEkf-T+8Z{RaR5 diff --git a/priv/static/adminfe/chunk-6e81.0e80d020.css b/priv/static/adminfe/chunk-6e81.ca3b222f.css similarity index 100% rename from priv/static/adminfe/chunk-6e81.0e80d020.css rename to priv/static/adminfe/chunk-6e81.ca3b222f.css diff --git a/priv/static/adminfe/chunk-7506.f01f6c2a.css b/priv/static/adminfe/chunk-7506.f01f6c2a.css new file mode 100644 index 0000000000000000000000000000000000000000..93d3eac8477746d92e2cc33a728fe2134345968d GIT binary patch literal 3290 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 fF<2m5HzweZedpLA2?VOD-4_IB`+R=) z-a8h~Gv7MGnH5LHY$-Ka8}E&x%e>haytU3)+8C)l*wbRPJzFr&O{@K}mKsO}vaCFP zSmCLS(VjT@7wGb5NMdTt@nw~-9#*UQ9JDg8V2>X5o(SN^GB1s$trlQI`ioNn829p( zc@W2#y|i#BCWSoX&6v|m&T7JHS!$}J5cOp)saOfeofN*J5Bb-No4VCZsxs|Z=2u&+ zX%QQOmv65gpv_h7t};8Kj0Li85oq1RUc<)I$7X*~KtjC7T1eN_>_Ev5)?4YZS^MG~ zQ;uwE*pFl3cQM+Wkl+ydS&(#M8tuR$(t~m|ZoE+wHh@_Y!0Ahny6eHZHhfz|Oqckk zBC(_Uo@iz}zP$BdqM3sE^f3?3$8-yKb?nkdLitufTa$IFkZ_!KVi3iuX@*Rwfx_vsd$ zIXVO)cN{rIXx&7>=p;8Vun?3_*yQ|MPLqTrpoU-@@n(Ohfl7}+@FMZjn}%Yp`Kvd^ zpl*IleK2MItgbYSZ|R@bdAT_Zq?tt1DoHR>hpXr(;CBFe!op8%v1g?_b1n*f9;BW0 z6?$S{-8Iyw-wK3enbGwjbKGLl8Pg*Brr4fD*ZB2}mHCa9?JDFwRvgF>R%5A}rMV{!(vG#&m6|T1!IEMQnOSr7@k>fR0&5$QJXPE0cY* z?!%;3IcQh9-)q?-VsdX`YYD5wO414no1Gn3*5NkwxQ&GquB2r`g5KxCG!@%XvVrAV zSUiz!b{wk>DJs~WkGbF3*<{i%zNWuhV@0vcNQ~%@#;<-?kd_*Z0kQzo)mJiBpy#B`{RlXKJH&CP!`bMn_KSQ`I$Tm@ylrbE3h3C04DWJ6R+HqC9gb zkIm})+8hNo32PiDyYmQElml02QYb#!N<hGiJqr zz2rap=f^rAty8$d7+jlg9m4;og4kP{my;~p^-+$RS((sJgea`w` ze3{0HglJQjA1^yd=&QcFygv8H)sJ^mrG@K|=x|nWR`q;87aA{YPGS--Kkj4KZBJj& z2isaAFJX&Nbo1lriTx~|x)@nn18}Q!l4`_Nf8q*WT`Ss3gVGQL@6~Y3u z>H+odKpY3qwa0iNL!gh>DIuLJl4Yg%I`+Em0*oF!Y@q{g;@RNRu9@LKLUJZopl^q~ zyqITN&cT@OJ{=s&No^Q8?v^7HLvDkP85!m}xVtbUuMoyXzi9-HXYX)=MLNZ2M|_On YbE12UxY7NElyC8Ia^~N&C%iBI1vz}&N&o-= diff --git a/priv/static/adminfe/chunk-e404.a56021ae.css b/priv/static/adminfe/chunk-e404.a56021ae.css new file mode 100644 index 0000000000000000000000000000000000000000..7d8596ef656a60cf8fb093481d3a803eb8763750 GIT binary patch literal 5063 zcmd5=e{bV94E-tw4hP%;Rp6ve*4h8;dklwzY%7UY+cIRONoM%FkEBG~Nt!gb>kUJI zw$TrYBHw$YDm$kRP82FPRyu9!WLFo;mbzB`tTs-Gt&%X%iM`5Rv=f;*2wCb)on*3A zxGoh{E7qmD7^h`IJ5{yg;;qt~txKNb<`52$xihvabla5jm`u(|hp}(~oIQ-;f$3y% za4J`|Q}*1YFgkU}4^3SVwX9TENxRW?5~sn@#q;Rst8~%|U2VF(F5EVmFPj6eqrd%T zVd;u68O&#73MV-y<4kVKT~())sq@j`XfACL zA^?eY&Qx?qo;48L+C7}$Vhw|$)qkt$%7B?6eKbK1!KCHZUDI=w!QS2`ID zvm*D-B`wSO4N9_*+gwu;KNa?P758!1S_kUEX&@wW0d5qfJ!hw;ji|9)w z55gnl=^1eTwVSC@U~IpC50PnPQRsS;%wam3|27~cOb6_(MhJP51bl_mjI$pV?_UYA zH*(Peo!ppLpCCUtr79tohWmc|biq&`KAGocSGx`s2{elsxL9%0JU}1eE3m-Woc6Gmv$Vh?2f73H_|luNnn32n*^&6vMEBlxi@liq8AAvFg~5 zNFmV}a6%9{M^Og!*jTuB0r015ttEcaVH?70K~jr*Ot!%Ox`r96)m~sl zjGAsDdJuD{z+wOd)3eG*3tSVZ`U>?V_6;s^Z9=3l|dgLr?{ zsXSn$P`SzJHu&t0rAo8|dgXx%9(GnW#=2EYER1 zTm|X;qK@y;f;C~%9t9*h?aHzB8thX4xrT-&$V8wbk}+(A7(2o@ukh@NQ|fAcJm@&y z(TYYwe@Cq@?^)2M=@xDd{VA<*x}sK>cRT_Oq9@!&Kjyzfa9F9(IkN*r5+FG*7bV53 ztv9R+0cFkYTGa;20`&?@L_ceHS%v-f4%)DK=pM7uptDJV0M+&Rf zHSB2YbJkv={rwG$clZ}l{6A|wsC)EH2KS(V3FtHZ*m*xWHXk3+z;J2s>EfV5v zQUw_u@IAyEdj(Us0Sy<5>*R(l_&P%+kIfUiCOUIkCa5I&rI$d*-hoQ)$RFlHgw>zF zgqC4%Wz#^lV5XO9?Goxg0MDv~CyH2WRTh61@RAa*Lgo46YQ2=-LS=qjVtu(EmG{`3 zW3@lMGV<$=Q=a2FH1DCM*Y(iS<7ju+eU|a(evBOUMpR8Pt(h@QZjQ!UuHyM}6@TOS z(eohq4lmNsVWQ+*F^V-D-r~AM`5BJ8v>(t$y(lTz0y__S!gA`u8)JZCJKAGZ-f)iT<>^z(x%;*Y-hrd9pqv3V*O{4hP2jFTtm%}l)?0nQZh@Jiyh^UKJEeQ&1^ zdO{{V)QeVb)TM#(O~T|MGGnQ`aV1D5Ji=~T8+!`+*UJ55XO{j5xHPJs6t_1Bp i3UUBJj==)ix|4v{VlcTluExoJ6O#C literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/chunk-e458.6c0703cb.css b/priv/static/adminfe/chunk-e458.6c0703cb.css deleted file mode 100644 index 6d2a5d996b7dc2a50052d7bba8b9e372522dfc28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3863 zcmcInYmb{c5dAAiRi&;}MI^Y`hbYnP+z`DN677^Rs=@2LJziGHe6}K#s$QD2;YWiQr%Dqel*GMcT-QSK z!hWHOi+yGAX4@W%Qb~h4@h`{g$Ju$JA$xv42xcn0$vVO)h zIokDLw2Us)yfpaB?7rYkbc2bmt;q?a1K&Lh1CAeyVXWy;S@UB$W}k~>F(S3tOH8>m zTo)+pn2x$7NEqI9Vd0gR(Wc+T5RI(2(F7qKn!8%j=fZ=u2A_%mulpZDrXApaau`X{ z@a5zEIXI7pZ#FN1w^QsioRNTWA96|yKn?%q+6YSO393wJP93kL(v6*r$c{5q)qNui z8xeFpx(qO_IDLj_Mv8dIzP{up1>S;%=Y+o&`)htL-^F;%4QFAqIn^8s15BVrh?h|< zo~J{gLd6NB)8Av<68emP^_>yrX~b|c8fH=O7I!cUxx~$ZbGhu>L6}PQCT^Mgc=^$A zCP=1aeabqj;iQa6mVIi-5qTOveFJTIIInn(8s2qQ1R4+?Kl#mO`8Z>;naC1hOai*x!8F+aMLrTLRjqBYlEM-bgvi;BKl* z?#35yavR{QjnBB3Ng@mW@T_`Nmi|6oNXn` zZmb-N+;Du9L%S;}gJ6P(Y_ue^RQ1JYB{~H4L`YmJ+IOGBv9H}!DNw`nPH9MfIKNgJ ze_)iAd|QO4ZNA-X;i=ahOfp`QzBZRtRJPHmE0TJMN>M|ZN*2XBbC-yR;`3;0d$JKt zWMvTS$>>e7nH=_}x>|&w+0r#cTl1Y#P}zNV5Lshm8kgs>v_5$vfpk-Yganh<>dNU-6zb%2r(Di!f0YiW*%L~^E zrdHh{|9>W~%f0s{?t5xi$Z(Fwc5X30j43(zl<*t3kW81?r;7+>N_rl z?x69h1Vk_Bv~L5DecwQuFwu8-sPFe4FO~U}-tmClNKN9U535!ScuyGKc7hSmO(NIM zMiZc^c^yo1A75iczk^mbYU;~CfEC4PA^uR7Yg!jVv6Ix diff --git a/priv/static/adminfe/index.html b/priv/static/adminfe/index.html index 73e680115..c8f62d0c7 100644 --- a/priv/static/adminfe/index.html +++ b/priv/static/adminfe/index.html @@ -1 +1 @@ -Admin FE
\ No newline at end of file +Admin FE
\ No newline at end of file diff --git a/priv/static/adminfe/static/js/app.0146039c.js b/priv/static/adminfe/static/js/app.0146039c.js deleted file mode 100644 index ab08475ad53edb4085f6145168cc7186d5c4c662..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190274 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%0ACVv!FL`2DxhB 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 jyT97pywjexhuk+K4(Vls*Q@^r*^&_5 diff --git a/priv/static/adminfe/static/js/app.0146039c.js.map b/priv/static/adminfe/static/js/app.0146039c.js.map deleted file mode 100644 index 178715dc68bdf1c3b6d2a0ec617f0c1d6750f9c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 421137 zcmeFaX;ULfviJK{j*a!Zs&4kB&YQN(lmHb70fM6G`&^R=k$^x*LJQmTceofBx~9p7)!r z+y7ozSom#WIA|@jTfOdZVfb*h(7(9+jo*KKezQ>8>vz)k%calhuf2ZSeXV4xch~QA z)9z@vkap5L9)2CS7j~L==i|XuI#_6TFVd&q9>(eKo0ngf-yT!?)E@nMIqr0ZtwH*F zmy?-x)8Qz+cx`Bta-(ZT_I|O;-r(;2QWwqP^?9#3c(vbVzr8RXwL8P#Zia79czE6G z_uJj8_d7iwf1psiJ4y%L<_L0WcHVFE{{Hg+hDB&8y)z@{DlSo9B!3Do^lxHEv&||F!(uKqmz|&FdG!HW z=r@PM$KLBmp0wGwl{9?6^E=kb^ZUipr{>*0rq z+E`nf#;{QT;ri26ojCqIm4DyZY|V_^yPsN%g|X~6AI_TtqxYqi%{lb`e#LpS{a4lc z{d|36uIgY?cA>qr*?omfLIKl3W>=Yz``U=>$P*y6P#L9n0@IJocDC;CtIKOMAbuM= zvkm-A=X;Xd(z=>ozFbZ>@R50E)u(HIY}o&dy1!p+Znl1=^8mXHZ@*tIp3hLuN2Wj1 z%FhgBtNqlj)nnAQS-Sfe6#ofBm}%no)y?HEKQony3cqqbE66?q&Ak3!>ijQN{(bq& z#pb*g3QVzJzRcBOn=4;t_<$z=@do}{_kXSS?;9(ttMi(8jR8(6;FpU_GpgHLXfIa% z*)D&!9(-ecJ-}YfoeT3B?5u`3xN8sP zNO=VcQaA@`r}_Lbjq}Z--d4Xi7=5&{x5}!u+=%i%f& z>0R%peSkCX?IvA}&L5t8Bi<_Uj$PPK-&r5PMiUA?o%y4<6DOUY<%)Q7Ji30Rz=s6U zMRRrST~1Sw$ORt#`*LfgIj`=-k&`~P(hs=J%-Qss8)4EK>t^s;sn;f3u*;gOi!<7W zbG}Ijk7?_=`KkkGnqa$lHk%zp!K({m(yk=NYXhH@dTICHFNCA${X)aEIcQzKUv7j? z`2A8Bz1CP>X!CD;p!lHqs$;c4NJZW7;i`hGz2MyZvOM2bnE>m3pSB#6Z>}vXfKPn> z^0M5Q*VdNTeT}a_cBZV^n1rZCM9Fddfq;8kdRlu$P} z*5`WRKU%-FxHQL?@WI;ic<*1R8nE`z9JJ+)#=R}f{lB08(QV%O4q2lS_Q)DSTYHc; z8jNAUze!H|WSW=dKpu_r=50D?494A2`z~#q4|Yv z{gYZNjMJgQU?o=DG8I^5{FQKvdrv&U3r4VFo|+fRZ%Dgq1dn#(uH9`nKw2Yx8V#DQ zQKR1(qZ~Fa*w)BqeKVY{qv8P|wq6?)7^IhtjmFY+L0n&1!A|=;JPsR1H3z-nXwRWK z+kT&{LLaI+)6epo{p5uU{rCFXkQ;`El%ap4=YHzL2^oux_C;g;OKZKg)>>^0TWq>s zG)4o>1KD7JdL7SBfr9aQbC~Y41bA$B(LuVc?6o<#GRY|Z)=9fpqiY_eNQzRjZuDO zdfEjfPfLcOcdGQ7A7GY zzbzEiHQr{_K~l1)nV<&$wlEu2LdqOVhSZ6{^4mf|MdqcTN%A%oMWFYIajUm^kv61H zNBdYpKEy(J%x??dnKZvGOh;ja_q?`L-pR|HNR{7+1DT4>AYl@HqL)0}ftQKe|Jwoz zUmZwpgFLccA{1a^>+hfDEXjEc%$v(Sm(7V?N0Z1JMis@JI~3lgS7dq|j= z)x1oc1HUaytYmx6Lo0YI#4YhQF@S$F=T;8RDObR63*Xu1i4?IX$!%0&{szT3B;zFR zbsnTK^!TUWvVsWsZK1F6bDKU(X{epwq%ChGtKhmEc|nop2`6y_zsrPmwg&A!3Z0Y~ z)GbO#L+2-71I6e4+)+VlL)ysbx~mya8j{cn}y za=lUBkK(;@DWvX2``ahcwhDzxN9DLyI}X|P%Ad-@{E&{$Q>)V(rrJ4;n*&~frRYmP zf*Le?*Vcgcr|4DH1p}AIg&xeq72yWv{AVo zs*U-n3{H5jr=yAo;7nkvfy-qI8218q1Eb#6RVOWF*i*9hO+9%U zEZR%XyvjV{*%$nxQmIisI;tHt_G;Un%-{ZasI`n4Xsl(gr|8tn6nn!T8-?e7bI`m~ zQ+6Rd!Q)RGVU3}s8wp8W12y zc^gD@fs(Ao8&3k9k1S8LB2^Ed>e*UtJPDGGCqd5(PiOn`TTyOUetL#+PGYclw|3JD zhX$Zj0K+ip;fNr!nGGq_@{TDbE7phZMJDfB5FmhmQK_;oL})#aH7{jFrD|orUdUA< z-i-25bX=+J2i$$1*hp$8`&v7#FtkZyq2?Wj(|mM|Q^0R;zK&rOAMYjAix4ELkn zs43=XWpn5^reA&1tch&xOyE;U4BVP+B?YHtOs+9M`L6lYa5n}L4WH4lVdk#$tZ(gR zSxOe;YCLIKp!=%LLb@qoRS;s=@glzP-Up{Rd*LKVMRMERV z*Lkr{)sW$3cE0lx89yRU%R2DKS+vYg#wXMd-U%>tVhscYMOq;v!PNUFb5KA?V{U5I zHAX50-H|7Sk*O*D!#Tsx#n{6nc|5`g{*dlZpyYtgUhi4f)`#yq znVD{YIb^MPp`?S?g+i_H+aCTZX>22Ty6YG#er#WuGwM2RUtMdGd0)eZ@0q49HaIQEU!4ujtf13{oeS7Vgf+}(+6oH(E4Mcr=2Rvkq>$p8K=#IkgFQ%>` zJ%{Nr-fK$AiOo-IOG>rcK(|nW3^{ujo%b#aG(_;O%2^{7lRc$k6)XU9H7-<_Ee>j& zA$@t%JV~jd`%2977^;Q09nP&7k%e;YE^t?Z{!zM~!mTdCOUWiaNP&Q9kT79)jAMpS z{Gr*gcub!}n5pai4bRSHtLJ`mM_y@Jo zzPPZ$-CnUFF9og2ln%XHlu~$}P+tItC@|Y$YF`!^c>%CfC}?&b2~Sd|48yTz`whIo zv}80iw7MI@pG}HixT*XfJjv|*Rh{w-IN2i~|7xt`*KV%_L0t46jjY|=3q&^IosBT6 zH&C7L#nD6lTwpG36xvRw**EE(QBmFlm1INbiz94^O@zTO22P5#Cas(kHFHIJ_u^Ml z&1a#B#nR?whEJs)yCv?@<=5}BUH*ka(j;jk>oSa%l!ADjM2Wrulumjn=sVeZ4Yl$B zot4s#VeJtwea1IInp1@-XvnizPc@NT0j(f-1GUjxQXc>35 z+7fHBTBkvh{*sDHdY6}&fLR*hTYIRjDxWU|(s;jY4~C&BSXX!o;|mRj{wfN!w;J7x z>{*TwABTJ){?xpL74Q3N%|;QX;X?{9=P6u1J@EQd#T=44Wj3`$P%hCsj7{qt+(TLu zO&fqUEdx6b8j&F&Q*UxA95xuA9X)#kr<2ZU>!CetqmA+8ZW-~V7VIsXCp=C~hLU7_ z)0sCF4;}GnWM&d_5{E_dV^DcfpF$IkSEd7$zPp6j*+&qLNYj~BRk`N0Rl-$6PW4}|Q79EQt0{9@GRs%GBQ z?3h%L9p~vmSz^|ajmlCqtf?%$_$m+~@*<~r#{1Jtgu!)viW;;vt`0TC6&{?W4R~_5 z(^O$AwMyQox5uIr*<=N4D58U525+?{SB13^bvng#^YZje4eX%F<;@Jy!8Ky}^a5QV z{$p`ciN;PF`Z;oMF9ugwj_9x?|6yI}No-1;X=qc+5aCqmZW%i!U}hkqMCcFGvCw)x z9*x`%a961qHp%j8N-=3(WxDkR_P1FAqP#)#F>GsN_W@Zu6RlcqVr0XhWMM6%d{kk3 zZ!F~&WIS1tq5RZb+TB)XY{DSq(gnIX20_F3pWbLaGa#Igp|qGvjq-u8)trja*}S)h z)!w;#t=nK1t|DeEAn;>KqbuO3Am*avgc2D-;Y2>&Wi7bG0h6uU+ITdi3T4BNSq`E+ ziHC2dRv$4jV;R^W=Ahle?LKCtlt7#1^tqmp8g{6(6bg|P;8e^d6^s&ht*-H?^Y@&& z^V97m0z6OdmP&_(ma-&ru>urDUC0b6#qWYtoozc$+6q@nQO!HmECL!oNP>3 zuS((Qv_U$sV0n@~Q+bv%y3-m`IeyS*5AwiW-p#3SWKrzAx#J;!)yR~koWe5}Y%sX^ zZTOZ1N=Q0N^U~9=RzZUeE(|M{&$hf5oz=;dANWWwJeSIQ<>PYxTC7LzmYgMdBku3W zU!%gH3(thCw9TVjnjY!&E4#4WtF#_AG8)sb0aiv|j3NV8_Acjh@QpjkRZ5iV_C~2a zEv9W%_MkcnCI$m@S%15eridr*L(GWv(+U;=f?9-A2FHTq60(i1RC|ELD6`}0Zi`t~T5k)D5 zNwDJ?c5LRPSrQO24ytZu6CC)(65pl3urAxCt+_f^Ec{)HTRaF9I`fJJ)@R4vaZVHl z?R(qPlu+m(*(*m!jgx~?q!>u3?wB105#>?2TKmQ}ou@Rmj%wAc7`d|3#Jey)!-g_J zP7v8If!0C~l<<8U1)#wgr4vZ2#}z+`k!*~5A^myRyh5V=C^@ds{c#l22Ak^qRdT6Z zPmU@F+Sdpvb;h6U@Zu9isJe(%=`eUr2cLLh)`)|#sZ5X;ndTz9_!gW|=9JoL4v)v^ zx}q-2-tTp%6Y@6?y33|em>7MQ&I`SUJxk`K5jo6@V{CW(=9&BshFQ^LkVMTaKk&jW z@!Uc;zFvz7S_;cll$*`>*m5wrFFX{cNaMQ%RbEj}Ak$xX)6Oy_y@u zb0}L!)k(w_*5#4ur#y+%F>xEp;nW?Gn@+7Io!kftCTcvzTRc#8fC(yo<2SfQu1U2T_ zDA2PtFuw;LgM$=J`@dw{B4*fM9QVH49qb2-Uu{jdj!Bk2)wBtqyxQ>&=E_ue5RT}hFzZ{f#3|p3rDzUQS$a{Q5v!pHta>4RW*|Z26-&Q0Jk#)Ihi8dX!?P3( zZz@YK7*W9~V^6Se_au0h8Ms*in0P2^PsO4n%ocU`jw%dkivn3fUT-RWQavQ&11eOu zx7nH`PFEY7&=h-|%z}N-b~k=LfdK^7n&|l1B(aB(n}t>i0R8^($WKf0=8mIGKOeBv zdfLLuENrY!i}52Kjn>Jq0C!C$RJ7A2;dz*16O72aqMebQqtHt_(lB*&*x&YX;D!0ml_j+* z`&%{MiLIHz)gTROt-BdenLU1yDP~~{JQhH~rndQXaj2SaV|xm0jpY3SBTRIvOxEjBh$JvqNO*?)Ji5Rw(DX5CwSv#C0nyPq0U(pKtVJ5sB2dE@>1?;? zYqLo#Xn9w%0X&(?iLGfm<&$ZYLCed^c#V8&Ps@v%;nT7Q2rWxb4>j^Ku5_7J8Gi@lw>XG1#fzxExVbBm`$gQH6QVsbw5=wv}S|PTGLBT z2(Ht*G4-_Ogs^7CpVoZ5Yc}4w6+-J)E^A#cJhO>osdsFL;EB3rW0b+clZAz3y;WcR1LkI4G*GmJeOnfU++1GG@TIDWG&I{jRE~90|4=_GL641tqZ+=<@|;qQ>+=%xwCUMSx|mLPmw~#TPH()HajD^_7pgH7q%ExZFl?Tg zbJ?;oQ_5_4%E6MQe#sOzF(WKZB#sQcOevdUK#Bq)FN3n+S3ivo4CHzdl=G}dsvs*14A!$uVnX;Wvfkh8_0!ssHU#uq)Rx>8*El>WADxAk zg!X#F9oROo8B(BFq;0{Xu>USW6ELIIg+mTk(RtKwZ<(E?(;jY>3FJDpQhe8TLnfmO z&pfi(XyvmfcZvH2Dax36hXQ6*hsK<=(szmiM)j=j5Ei@9LcZANCgPkjHG$PE&SUJM z!B%02#FW))`h)1=6(;gVmTHT&7@_PJRIAdoax?R)YAXVf9*ni>LCn<)+PsuM^QuzD zQ}rO$cVXQ)S}PVgSV$p1U#^DP={L1uj7|^Yy*E8mQaf<9YyjxAQ-U?qSfvHe&j=jU zcsUKbqM`?5#2HUjw!2HSR`QlrRv`84Kx0!c-i2#@DxE>nwUy9?WeY8#1r;>u6>6JS zkd@Vo%rrJSv+)?8AQ`Xj{PfU{2^KY8lyycE?k>(C*_e3^)$_5NR8u=e*<(afAKU)u zBvyOq2@LMoj;UA|`My$PZer*zqqP+wAnYS}O%X`gsGB5Y>TXV>rcCwm;xxi3rb(bq zgMAH{u-Y-p2^&Svx}9CW&X%*tw+ewWN;MX0cRukVGl+e~i8s{~vTX6pu(y%a_V%I! zjzZx)s@AEhJoiuPW{NCD8!>FS&iEihYF03~OD47D_oT`1(^Z2E&1i1E1hl%AmY~VO zA~BT8y4DJiNCm=w?0!roPjGwE6TXmw(!H|C@bzb{tL_GV^@)=4=dVTzeU)JCJ8G&@%N zoKzil$x2W_OpT+Q`L$=E-kfAr^yKfV7nY0bRMuWbZ{H_rH?KfoysB)VF*A=ChHDGO zmb@XGsD{9XpGG@3RrU^<#L+zQQ`hy~{IdC?3%r%$H%IXl;;|FAsV50|`p1YZTJ^F|2aAzj-gb-p;@QGt)wIQv4#Czr1b z?1nH(b(-h4i>31e(Ulx(=jrH?FEXg*@!h$(54!fSWk(4-Vu%z9T;RjAqg=x_Z=>E; z`^l8YQSX@T+#$X{;O-SXEUN60gqOaGFfr^H3#;BDUj(=dg>k@ThaLGMcaE!jdGP&& z4IhQjnQm{p7yBBwAk)x%IX^hu&;5PJ?LMt@D7j?^THm`$<6{MJ#AH#WCfa>hF!OQw zoA|qhuK(}t9Bk_=fKF_UTaNzv?Ho&}mT%vl@*bN1bvXG?xTPorIlgnL#^vVPa%=T+ z`RDE_`qx4Df9B;u;cS`KiT=&MI%;|IBHg$ICGXMykK7)FOER1W%pzSd`KMwmTw==6 zF!ZgHT&J@@Ps}vpdq-r`RM=O}nrej8DBQY+yvc7kyG}cB^&$HezK8khwQFmQMuFMd z83mLJMOB3{AOJ@&T#1m7dld%5CK3nE>S^}gxbkK^FSkSnPLsw-Tozm=qt0D-uixZB&$;+8FG<~MbAqO zpLE6fOS|VG`wb(oS6RL&5sKZ_i8Iq~Y=9_3aw7`q*}E%>P+A`CC!bkYWT{r{S+v1g zP;&86K~p^i`XA(3VX@f)n(eIogs!amGljk%fvr0;-$nI$u+dhW9BY?^tvL$R8V6-8 zem|JV+58+Hlio5)W|iCMLhznXQ*l_9YSRmRV)#pVpb@T9vV4CGY$EH*2B(^)t+`_~ z>rR2}SS4g~NTT~SwBxZW7$1I*al;{{Z3hn``!fVY30 z(E3kM3oJ(D9i?DtV`*da^0M`FN&#k5#ZTaeBl$*sGCA_AvGiQL6pMGebINdbl^zsB z;q${IQ>k|ED#h~y5S4IVO*ga1GAHk5*z18krbSKtEFul$H%gr^1iCNlAnZgtP@V^*(E-@&a1=*s$Gbp7e6p$jW(}#o85Ce zh~LunuL1}w)-IOCZEfrdN4^4!?3n|$*<-l-_j%znk?%i+yK3$r(*wOlJ9 zk1Mp)!iA!u{BEm1EyZr+B8^}azu~upDQ9JTA0`~`CGn=sXoBCX!h*w330m2ltNg~evgtP#!?;#mNK_Q)9$shG~1)p;6*$9^vCD; zlXU)>rtMU2OD&2p%tvB$m&Kcw?Pg%r(lrFvy$!2=#^gp3-qV|UrFM`~qn z?$0q_ulcG&@GZ9q_@<13KilG=(q!k3mn?QBoLMqVe(qot7@Mhsq*^6gY z30ShDmRWW&A?tP$&oYxD$V~<`DfV5O7gS73u~6Y%1z6VHL_55Emi0VSdxDdH`&}jIs_vcc_A)=Zs8!cx zn5$d5_n1(8(h3pwh1C3LB-fCK;Co}Q(x1nZ#q6w47Z|iM#k_@?Q)tMj8&NSS!o3=W z-u0PJ4nhv?3;Q2wPKxjus@xxy8{Q`^{44&pt;g5^`@RG6ZLxEfdVy zoCwFv0?w;L?E?7jQ{o5eji^J4i7`v)_OdoyQXzr-q@6J%gIIPlV8C6c=F*2~bZJSp z`JhyPh8xtU4hP6u~B*M&l!OK;zkFCzbP4Aqzo$Q;D2Y&M*zJhBT z9PWWV4l#xeW3%t6bIFw^b|l;%*w-_^P_}a2IpTa*Ot+*HZecfEcMd#fTaQKq#SGt0 z45aZ0vD-e{anI9dTA5IJi0&<#)WudMk{`UUG%fX7A}*L)Y9@;5z9dLVvjcxEP=CPP z{-k9S%CBOD_O#(+%BYn5t!^L2R&36F(3>v25sM$I@etMAR~xJ z9scn9MK7D3j`a1q-8@!!s~fFrKe(`Eob6U?uryPAjreMhU(*JkFgD60DRbBC(x*+C zH(gF~+U|5R3N18p+zXzbOazgKz>dR786oPCnlbpvjEAsy9t~@Dz}7ZnvoSG#qI_ot zI!Vm0R`9#Rtg7<|IEg@nNhiD9troqTX{yX%cugnhoG+zJ!i7$aca^0~6nB~@sfD)O z;Y5AcCX1LJ_R|&@LKT|`Nrn0xC3G)C|M?it7f~)@48h@E=CVx^HLn+OwuyZh?6FYp zPcC2$2RrShmM#{~abg+B`llB-!?1Q~ zWK`*f$%QEV?9HX070JfpNqK?kSPSiE6RV?X_!69iUC8`UEiFE~o6{Fmp5)6rBkIPS zsELN7v^W~XcmuJX2es(^azaliqE(zSk==2U-8)6X4!l)@B;?y=R^d6%@(YTyo12W`d-=(B0mksL<&uYNQlX1)^~S= z%TbqvYx3;oldz?u^zg_xaoc9bX8-+e`=q zu^RvVkM?%Nf1k_zNy1;He6HjPJC^+Ukc5goezm{5_IK;EN^jfqzWud=HG4d;zg{q* zU^yy#5gKpDSu@*FauX|?UQZ)Vv{~Pu+p#^X+s{{p=et2EDmT3^Yp%L$74~T%`5MOX zDM^kmx2&_j!K_-7S@jAt@noAI2fqK)CKYfZI{7>-%&Lg1@zY1AWhiVK!Y-Xg1Q(}E zC!iBi$YS&JI7yG9T zpXkcO&jJDok@$(96G|qZYhp$kgG;9^OE#Gm<&W3#XRtA{!j+QhH!Gj3QB?h$M#+W5 z-Cq53ohBkxEYW7tiLK}6uDU*@9CC5bYKD|nRDCKXpOYv$lYooew>*Zf#yxT6v?Ca=Lf;}x3Mxl!e}2quzGu3 z-}Cpeojx$DWsItK6`a4<@_mH>3p{E3@E~ElmykbT;d`u@9Z+-v}&m}~*0b*G*m2z_?gB1&N`mr@hWnJVY zUVAn(IkeK86fZm$8e{?H4Hl9g3(45^d6B{Z3+;jSyu>RF7D^Y#S8TgbWd7qTO=Ev& zKr1#^7;2$Ju?<<^0ZxSy#Wsr1^T$-^r2xLdtGm&#@ z(cNMX$(9-&C);vwfg%mrAcYwz6b3Tju^pF{QXBb3kqGmw=Oz>5E1hnr8c5yE|5Tx0 zbAf?AcetrV++Km1GBKKHiEmq%(ZJ=HKrJ~XCis8t;=nb;WrG$_23KW`?YCasU5 z4I@nH#On2(uDoK`XVKes0Q!=$#qz3V8pjx(G7vsJ)@G)53n#_%C&<-rdq6Hs3v6mBYr8b32hx5n4 zrLC5afUD;k!O;X>&J+#`@bZPQZ}8eRa2*II)guk7rR3xfQI$Nl(WyCaPjH9`8|ICD z*jC1J{J8y@RrXjK;IQ3}mddOg1aLW_1^tDXp#vKBzm?Cp9-?7vt0zkm3m8#d0@(mq z?nBqKey9ZiQ81X3uf;~1@?*1l21(b1{uzT#{u~=&R`-e}sVbUCHsW1vs0t78`ws2H zRv91bn^ni6PHYVq3t!WdW^V*vu^~W^ z3}GWao|A!F{w7HT_R@jpl(0#c@g)BX-nzH>pqh zxUfE|-iK`^SF3_P>xZH@tW{hM5xCcYF0F7~g;$t?+ON9@-%7v4H5PrKA4p%Luc>f9 zwtexcaUsZw@!hZ)UH}c+#Fmo&5!8=r3h z)DG3>b!^03J=7YjS)b=l90405v9DxqKgC8Q&_gpSIit+@C<8*8Ad=S|?bk^eqE7aO z%F-|~F4&J5CZOFO#1O)1^wsDpXT?l13c5pJulMSeg(SK|k^`k^DAj}{6?REbwR9hc z@R61LX%<~MTU2Xb|J2@c1z>Cb>g8*n1xXSMnYr;6w2_>b@7_9%ovzwo4@VAh#>~(U znL#bud(hwA#M1UkU7ytn^Q`XO+9Ya$`i=9{ZLJ;y@BMC!P-J?2uadLys=#6T=2r)e zU@-PVlvQ>v;7keJjt)y#Uxf&GMoPBB&iL9J2)OoQaE}}T(wnq}rN0LHFt$0M|1ift z?8OHDqdvq|j(GheN5IheINz0e+ zJ25cJ7CBI)HJVt8@5Py)@+K3;$ri$%K?ceUl8)Cyr89sQHaVnDFrtKIj*dY00 zBU*Oue`(xmFD$+1`14gM*?TZvo|=9$if>FzgvH`}9!~VW*rNs4@$$7ct4yMCYw9RS z{H?8LCbVHe2?$WgE`uDp1{FMPw${ zu#ba1D6Z-lTHBgtsuM)JD!e?U3J(lAq3RqQewZ;z*U^A-X7>@xVfBNSL(i6F^nuE3#apSA4f(hX(qNR)(P}!E>ul98fh}1JYKLzK;qZSSRM0dSX}-Vpe|OT`a46WZsHRs>&;v%CvQh zr*V@e!T+Ekty=j}?B1*@uNsn6&FzQyMXFqK*t5A{gr#89*})fgalEU!X8thoTN_bO zoPzjRajqSl)&ETXp9GDn)Hhkjt8-B4ZKX9+{?Rzhq2h{b=^+V<)rTa7*4u{9DCh3w z+jwY6^^tLw?^Q8s)!I8?XbUB(7L^kNz*bQsuH+iATf+s7cz0Qql9i-uz0^Jvk`k?= za)3zJnRkIJC2mR(y0B|Bh!ES3_EA1;ZLT>2-`1pu?&a(5Of&sllU}W|zNQpuh9n%n zP7pzpMiI$1X&;Ge(rt&OCy8dGQ5eJbPNxq`kHe;G)#oC!!=`arGir_oW^x|h13Yx< z!S_1#W9&@qtYbs^9+kD|m_^V6@CK~oQpX2+VA_a#P;#ktvKr%l1S3~5qLJTu?R_&L zf0B$f@o%Ld2h`qKP7_V+XBR!`g4FP&pO_u%I{j_@XkfgHucZhjYgwigZPPa|(C5Wu zq7Nzji;jY)d1SDQKJ-~0>j7sF6OYzr8k;B*?tZ*WR;?Wf zn&M{^=f}k)?)o>yPwUYs zabd^iAOed%Ik$k@QZ{m-?o1$J??@$&RIA_{5kbU`R8cVk#UuJ0~+1?KAduDwauC7m;okgYZ4(T^WM6N zgF2V%pxd`GAOZI6U;@n3GXn2Y9^p3|$R1v> zk8799zWe?3)hIZ(k%M+wD}AbISK**&Z;al<*F?Q!To@T9_=IBjmoK`|==;yT|2Pua zeN+_#n)|l!U@K(~Mn5dpYWI%RgMoR^d3EVy<2cxeO^DUjW5g~5eq!S~c)&MUj%wpX zN@>)zQ6BV5%$?L;X=uA@NV{@$uvRh*)K*L5ZPW_AJ8KGCiZ%grn-+X0^LUEYlqx0}5hk-yESa}fP zEdSQty5-ij%gEUi(}D+HA#;0ca-VM#{=$d!QuKJzhmuz2Q|(n;x<8P)rA@t*at^As z_vm)n%ej?-iJa4|?_y)`t5a9UoH~QoY7TY&h?~gJauxS*#n%{fKW@^|RlFM0NKTR0 z@d#Q}x{lU}CT%>|akoUoh|=#$7;Zwdjqo~NDz#E_Hl7S@q-LZlfqkE|(+t_eP{IX$lXP8$4A!zd6+=F);v zhVdRd8K5%kQKPcMNOlcTWl;~ChrXLEhts}^Lq!|BU{g9(InpNXFYAkVhTLUP^slNP5r4?J66YSSY?w(c1!XwUcdEn$G%`Rl7Iz&m*gw1mB#nLTUr-N=ec5Ij-Vf&*1+vN%H+J0alOhKiB!LB8SUVHVZ9*$w9CZaH7;m1km*$ZQ zVLRG1XYHm}7SVx0?i(D11~#>wfDJy=0Pf$vWe5IaoEmA7?jgH>-!XcB*U4vZnwt(N9}_4)8~g{|1@{eIOslTIDnE1U)c zQKAHCX&G=621J_l7?A{zO%h;|;%K%Dk>JHbAaewlwkzhgIJ7sPjRh&f@X2~LzZdHlyj>HY>ovQWa&KE|NU{4Zvc3Z{oT}j6A4MN|KjGXLz zP0v4{ZC5Xig+v`Ql_M6u=_cXw4bkF)p6Nz-Hk5;1p3b7}=t@xwNrW=mA{3Z4T#nc< z(tI8rqsSy91(cI=L_||9`l@2P(aZk4Vt_5et7g(qQ*%PX*v5dYn9Y4QveVHJyM|_e zJmPhkGu2b1Vw-4D^u;=Ay4v)~r?s&!v~s^1Z;+UjQRU`Dd4H80KY89 zl>_G)CxW>h1Equf?ED3k(e3CJIs>^FCLtO(1_uaNkawx+?18y2{=^YfJ(ulmxR^1E@nao1a#}sI8tS`VmzJ& z0~w(8EXF7sg=^=ElZ)6L*XYb48+~3)N@oK$66P$OZ?H^^IK$Q}g~i2cgdgJ)a3rO8(HKGX+u%_Wv zdImuYf)&G0IPf8`@mPk?d{X*rdXJGnm6kwbD97`>a=^_(g&wkUko>WRuqOtd?6Ua> zd4;87QzSaov01)151;91iUL3^8T87-6VZyojFV{ONspnZlAb(i@kErNQk!lV*IVl9 z)bP!u8Cgv$3$eiPiSX#)9+QYTfVV@(!Z2g^T#lu0N zyYNRRO^o~1fxr3+d>kyuqmGy`{Rm&_Y0`~{RR}*h8|>qI5&UuLh!U3kcu0WxnV7DH zlSHGkn44nDPNe4O`N7ziiPH%8nZQ3V?iM||^syFAO^se;)h5xRcJOFX)wSYzY%*+Z z1Mmpz3y%X<0MR^^Rcq*M?G>o>U=h=2eAZ0j6?J1+HC-+c5(waD&-l8D zQAw5pqK`S(h)!i-yRL`U+`6ec+m_PGfrM2#2KOa4>VLdgr@M=a`Y#{QCP*q1AZFpH z5Rq{(uqMi0QQ2gFRU1jsDdjpYIBSFltP+Bo|exl=8e+t`G^VZ+R#u4i#P?Jtl zc#~QqIkP4air3Nv_@j%vFBixBQp5}0!(6q5NYkj?DOP}X$aWmB(>;k=D23Y(~g!-@k zZcTxSI>+`FOoL!>y1soP{bD;Bn-&q_$wf5{E6ss!vduZ1hp{^rBGZ4eQ(A7j2#6?u z;zf*({|sxouBj5a&+5>IZu@WIAG@X^2a{sq4*m z5DTghTuq@ctV4;MPtgyOSYvVOIW?=(DS5i|i(P%TSoU&k(y5XWj_<1#EjynGTXv$W zu)&oLR2cCft%xlF0o#|HHfW;9^MGe>|LNRG3Wu}AE1XEc=1myeu(KmxIqV-y_C+(KOk~G4)D++*sXA?#yKHCW5|UR-aI=a>#gf81Q4qO(P2yjqc0Sc$w;P z$y8*PATt`qkFHE$1-#PMZH{9(eeMJ1=90+N5Rzwa(x%rp#nf=WIE{Nhp@h2dHqM!( z#^=Qx*}WNL1CmWM$NCRRC-g^Jd)ICExf2aU9aasr2I|&lCcJD8kQ%;@RT0OELmhz% zBO50hrqUeFg~z=)qx*QYk7gwzW}D1B z_Uw&m*}U(%)7GD~&2n`Ajdiytfrk;PrRsw9y2*I(&`BG@a788Z+%Hb|kM1cYXghg| zD<~EwMr1M15hIv}vx=!vR#7qiL8q-&QN9LbsKH^hUwWG`K+(9Ev;x=}Pz|G5&We|> zH{XQ$=dZUuP+}HE2(T!C_VN|0(Q-GPV^mF$ynOA4sdEbWrY@Rwd zSI!qt`gF=1Wh`ml_`NkzSF{z(Y5sJN&WOwmNg^<k8yO1ds%c@n=Wl?jbG z8;kc*ik{~7A-{)8$Z>9-st=82(Z{mlO|G6AfGzYHQdP{k)HkDDnMnELp(OBLxMrhk zB2>^qojlNgAr`{Ru=2npAc5(LJQoB^+i=!-RG!z!bMf zIl5dGaes8p7Kd{m*HvwuctLQZ0qYP;=7kNOa*f(Wfiv$snPa+E+Qr`=Hh%GzOF;Nk^U6pu2;dCeF(6HSaAl3zfy>`v-#{&`Fb(^ z*VUiZ()}Nf7;3fImSXkez^bZ_1cmW>XE9IiU?WMq@-bd;I%#XEvdGNI2Y2<PJjd>&3U9deuh|n6#7b{>rY6dX+nIch1uTO!?MjunQ+V zWYKLL>nM0i)F=A0IDjShWcp~?q_RI{Jm6c~bv~nQC>ufl%qmP9oSWYa7CHeTJByRy zk{(!m8uMsgjVrrN82jpkz9eJtBg(N7Ox=$0_2^j+qa=Fq78cJW7IY)cp~P*S4p!XY z^zjps;TX}390{iBMH^m!^Nc~2(cLDcbR~tRF9rQ|{)wB|74nm4KttK+_m=;}`c z=(R^FGCJFx+oM7FWGuAf#gg*2rQwwoDU;ieu0Na060JNKp1Bmo9UJxR)`u`N*CC8H zgK1#axf%XO(oU6uESy3_$lqVREZDAIfHj5(gs)}Q`f^k)0|weUN8-f+4~!Np~Q6E)^5ctyq;Th{K#WCe%^PFvT|oN5!pNv9aESpSCAB2tyzun^+pHZQkN2R%;FmFZFO{HCZk~p*vEo0zPT= zgfm4y1H~?uqi_=E<`2V;JFCL#&UTu`&J>$a(XvyUuvc{&n)cD_Z;(Awm)xAQ(hl`q z8p@v-X8@W^mP=jVy3 z!XOJX9ax*f9-myqAj43_fI$z_G7JXl4koQd3DSwilA+Or263_?5Q364MUJ%UE$HgD zfI<$j{6Z%&;z9*ceocO~0Y!@r9dC|c*$J*fbEwYZ&5pkpvrXljG{hQHefCvMajjzh zd~@RQbN}pv6hNq9hFy6PPdJ33u{rTrylL>R9ZZPFGXwF|qLfAv-AkqyFX}!o>q5-J zNq)_dEjJ<%n+~Ti?s4ZE4L2T1VdC(U6Ls0(VNUF@*ktt?5hr*KH32v1kj4@RPBSi; z6^MsRR5aL!BI{94j3ghM&tle6nFD!Z}>$R&+@ou zDy|(Cj@G2f5JH-WQLQkxQ#_--KD=t@+?Iz!Y`tk@$HsKz<6 z1*wAh@}wsW8^<}@eS~;yOHeeU8Rd#)z;i({GTD5aEdqPs-fD1ZjxBG5ee z4{rhueq1GTL{-2oR>eVUP}Q38Rlxauy=?k&0_q}Y{OW4J4xu<4w+Y{1S}!(%=Pf1X zb{QS0ba0j2*&dRXgDcf2Kbjk?VhX~jRa%O3^QcR#kj&){i>n^pZi7GTW66#n3W=~a zHyB2`A`L-&YMhU=?G`|f6Hyz6tCHuXXvs$q%E&BW9t0EymnSxtCh*vD67a5kc-}aJ z-K80an6;TX-p%`4j=nhAv~j%9&=()sv)U_1Yu@>lonBWH?3*}2L0;kr0|`x>Dbl~W zjvg@gcGQNZmDSo!7IrJd5NmR0qn6?9J7Z!@q)GCv5dIcjJ0f2ko0^D$T;Kr zjx#D{cd!olF#`pDRpmLji`U#;yd2oFO1;Qc5Up?HegI?DO9%E;Kery?7&ZdX57i<8 z8{$rDPV%d^!j?zBCha;>IcaQ# zaaq%FJHex9b5q~!F0+Oa`%K^!vux4Nd4xris$_1Q1r9K=m0c{jtaIl-%DMpBt@s?& z^PMN5WeEiij8C-(S9#D+NnNOA9${vFyPfU7nC#JpIp0?)*p_YcXyOiHY$1RMq-oOJ z4QbtDMQW$uIUalm69#X$1ktIFD@;mb%Oc>w7Ot=s3^8gxwQShxE3#D?FmtUS6S$|# z1Dow*jrB)1lOC3r0!c}eS+)>{Uh?8p$kwM|M3}8QwLe^IAu8zlnj`!nqlsa{mY_7%~D@;5#2Kh%R1_N>po$(R*DD=+v>&x-9jmV#*5RG zFdAG-*n%3_Byob@VRZ_>qiTj<2EMrSv1w$4%=TyKMkxN2d~6yP9QoZe3K(84PYomZ zG1+7l?AGJ1_xcX7Y|G)TULL1=c@<~aR!v}uZB>}-@(1VIOG?cZyD$!|S8BUy5s+*p z;&?bKzW#J>6dKH8+!-FK0*yKYmdIJ(EzR%b((T2JldDP3faouH_*tVI zJPc8+0DYW?r81Cku(TFj%f?Afg!{UFPM(6lyinGK|5J6%VDea9Y)J$y$FL3|Q!gAQ zG#mQiz=1G6=$TXf3MKY2&ijis2e-#wm@AcK43)(&1PpDC!cqd zt-C7z_DaI{Q>q;|=Ak`23JP-ppV|{mP!^0*xNSvh=boVrxnJM9EMG~vOUmwjGTpr_ z29c!Vao6#RX)U|!rreL?ECj}05A~PxufwJWRei9}SJlntzl}L5K zK>ie>f+g+tE;Q#3vVq~80UfR>H4%~z4Gdky%N}K;ZY|_pXFC=L+J^t;75{dy} zEfe5_4@3NaTM;p(CTGOxOz?r9Ci^cnru$?cuiR2R+G>0qLjm<@Pj&ppRU&#AbdB4F z3pI&gMe@{E%_`qjycVb2q;Qwi%zC^Y-`f^{mi44Ytcxqa0MWIgV|8(2_jc|wET&gS zF`?B%*}NFu21Zlj-vc9ly$Kj0hJOYa(Y3p!yJ=D}e1LJz6TBqAP_#9oglX`@%p33Pbm!1qSWW2ARd}mTQpM2xuX-<|0 zFw4xb;n|YFUWcd?88R9PJ)lQ=U7KDdf{wL5F=vrKfzvL9*5_E{VHq(@BD*S##+az7 zYu`uPjAxl>bnQ-ve~og_P^Oh=9G6U(iE7$U-ZdgaYz_SdqL1>k34+dpEd*fzRW)PO z(mPBQTxD@rc?klWl_ybum8^NYu24qbhm~ZapE2AgS*u<(7#Ib0Co8NWt=^3j5Ga}+_vN3I{;QcJJ$9^J%C zsa~q|n(X6xU=oJ}JMd#V^cfE7kR6>NvTPzuU6)+j6fN|BdWz=7`MUORo1(BcGwXjL zARxrU0w6ji3y-?x3fv;Df#w=FQw!I=v>m|zT3pWo#D~!jW1mGo6t7!)4gG4T9T(=k zR5C;SmZQzz%^OFSCeBIvoU(pw;t*hwhK0?KknlTm06g`=3_1vIhJMeDzQq}^C>9dA zfRe8_wruS4pFg-te{urol(R@+?rDYu7-n$|z7YD%$RE*Qre>g!qE3lzS1o}H%?ST@s{MRr|Mz)SfU$BIqnd$x(a4tg!-{zx9r2?s@1|ronwcN3OQ$Jl4$k-^9y5t5?HOShYV2Hj^v! zrh>jU4Zs;xytmN*U2P(WvvCHojG2b$vmmnyGMr^+n-H94M^vI9kngIpOse{ZX+XOB zf^z|@eu>PcoY~vkay6BY9|9p4aQn}Y|8tQ4S0tg7j~SJK9_ra5m3+wfDaYtIc7|HS z%Jp69<{;)|1+UMjM!V7ZSHc4-QEQ;!HBxoe_HJ~sLs)1fN(b>~NVWLA%N=vWas6aW zd^)9dQ<|=4*}qm4cANCJg)+Kf52X3PI{!fkv#>b6HlgHlzR=MucYC%I=BJ*XOfkn*lPp#27V_0N6!96nTWUFjNF*iV|(& z94cYr6>Fg5Jx=PNd1sSkx1owVCL) zenR3&Pv|L!>*Xumri})l556CR?~o4$l+?{FpO<2ER~)fsLu*tr9AgYX=INr8J-%>o z4YKNd=*GNU>6kZaa2@-ldc@-7&5Xuqcxli5OZq8%<6`y(mv9l{iPapqgUwCPpT55% z3nC1ms*owpFpRrD%nLC0BTl=zp*X*IldaDqFKeUvC*0s-`vhsvKr)IuX#kc$mId2E zMbYw~1~Y*93e32LjXHcG!dj>e4C)TM_pWBQ6$5U>vwY(U-4VJ3-8LHU)3SYdzNbds zkAe@5&r`*3Sf{wr>q0-HKV-GDO-W!&P4-3FtooR@mOV zV6BU}M-SkdaW{wjLN4bJ|NeyyVh}=!%=PG-S0B9=KityE;WDP&61Vx0Yw?HN(s`T0 zhx(;+&<%-{p<#2!v14p(9hQ^bLp0}tPP^h0=I57fSHlIJ+Kj~;O0=~MBpZ}3uG*F8 z0)Mm9R+Y{`5`KPFc)~3s8np6VUrMXygW;OW3xQ1K8C0ZxoDLwt0h%{ zA)M6?7&=V)#pe2j=B)c0%MGJx`I$lwfaw|QwJ2jG3j(RlhpCW&qpcS;oE+j+XZJ?| zuo*#av{demo6P@>SA#a~XnE;ebe}XO`lCb1qSC;xOuF}bL6?v)fH%LoXwJQ$748MK zHGSsdXWk`BUpX$%#+qLX`n7m1=;Sj^O{mm%vg*+saxe z-HAehe&WD}WWs22W^x~xWryD>7A?;x#pH$6(b6#v zSk)TXa3i~KEwR3O%FZ~Ee0PF=xC z6sUqYY;@RxIi0j!9qPYACIr?mLnmi^BC1Fz>=C|AD9cWxOZw4gBd!GUes=fa&ydQ; zC0H-^HQtZUrML3x*IgO8^wE?p5}}7V%yqCZbiXRL&&`J-E<%f#DkRg-NQU)s6&uYA z;!Yd{QxKm9&xs5TD1MB$fh#aRGwE7;oo=4=;Syo)Q!acK@+cBw z(86D4Tl!uN-!#Ej->@H7DZjj<{sb*+qWu`B%|rN&gDTUJ@B`}jwpLtzp(0fChT?PI zlzOvg>J7Vjg0i^*T)XjYkGDUu8Z^mgU}Vq?whW578Z(VMsDMSia@nqhiUj&8Nicz| zE97?Yh-hjyYS37^+1}i$fIo%2@X;UbJ`3O8i-8xM)%rCD=kWC5XU4rA^orK=b7h z;~dUz%`fQH-76EY&HJiB-EVEB98Beh?WG={B1R9aaM#K?zC93K#(SWh97s}* zW}{i`Aq7MGm1%qxR$^Bq@XZ3N6wZ;Hb8?Yng$+&2tJLD_SVH6^PnW`Zjqe&zd?|jm z^NZEzORZ*Z?c<0sRbS$^#ZorCij{fiqX~;v)<0;A^{qa*$bde$tlOxkig04^t!rs9 zT&0FGU~|!+R=h$_S^Hnp+b)n$4yC{N|9l%jVhV7A!bv~Y^17Q&(P1#pYVKLaF+g+M@?6TveakOc z{j#-U;1BLiP4YOi1xEqye&U}OTk5u+%>u?LYPqpRlhH!)xfMyoaX zEbzt1X4&GldJ|PfXBP|pWrxroc)a>2ncR@wUz5I^Gd(cr_nS_QeRm zkb0~idM7+#CEhSy-97|DK!NAcENky3!SioZl5^^l#tkcTgyhrYi*E0I=*$n47fCL_ z{@P-Z3eI)dr@Rp3_+SXlop1x6)12Al<2bboOIb$5#Y27UDQS2e|4i|YuH@%}iAB5C zj{E8lEi4!;ISsuXE$Z8Ckk%UCfl>X{62stkt;9?Ks`-65)Za{P*E$Vu_5LilPLr#ox=2@Ov!~ZA8!Bd9oD5#2o-*Di=3l*|Jy6P> zrqFNs+RjTKa*qhDoY=8~T}$I`zxFrQblAlSSq}gUmbT#^JZ88WD9&L3xO?lf4+<_Z?N)RW946cL(F(G1FbC^M@QH@ifgIiNE}-W&rdVo#mhz| zWHPXt_G`IfSANgkKd1)%b;5Sz$VfFJ{$U#>j`alsu1hZQuSzDect>RA1o%jlG~<3^ z3sRGI@%kxVHS$={=ZKi`>7C8Ar>}BTxF5qx)q=5wGt4~_|70ie1d+|f?V>WyPm>t2 z{Pp9+=4;dcb_^ATMR}TRCe=rvEh-yWg`hpZPGTnyrB7B;(&?Xx1Ll0_$W1l>>a|6{ zJD2dAEPZd%Sp9CtiLSN^E18wvjEQwT z+)^c-DdNX%F8o@e4TtGZ>O7KD)-t>*_>JD*zuNv>{PYGCTon+2c+&=+m&Sdd%eQ^m?R4ORodYH~2Q=MQfq{ zLdl%uP^#Vp;J@6=FTxO=VTSM!FZsr)EQ8#h51y_cw&wwCaCbS}_@45)A>NO}6)5uY z+^BQob-4PM3^!u}-+||k!S!G63;0R6x;CeaQ*&DVsKGz^j3KM~#|-|fKa!D@MZ%aW zDI4U3o>b03jLd#50Nbo2zJ~|~86hT7?SKud4la`N_xfB5Oa8s&xP6Y)NOTJy(UQ@s zT_jW9`htO?7@<%6$`KCxrbhB&oChVvSbp`9SKVZDRJMD{xEV-=6y61nC1{x(_5=d94A0o0a5`6fV(;C1ahrqM-LiMc!WJTqCU;BlG947?{lGHeNM#$rDGqhZb$}Q%n#Z z%~x0LCbB_dC#@e#lT<+4FH5#;@7ScS;su}eJV0sr&^>F7X%Av;M9}zstX&%(JY@o? z78gE~e6j4u$^3SWde;jd-x--y>@!0<7D~W5L~F?N8SY16AF`wEOx!I|b1}I3~J2C8XN*dsw2e+ljej$(-S3dx?{1dFwh*EhVG2^N6 z5?@^!^CQ_-7?_~l($GW}%CZeH?9bmPg8;fjDHG6b#(pIFOFVYqaUCPAJjW}JotJo- z2bH(a?tp$GF)7fAAMG}Q8UmNsQ`_r|{$Qt5He50`^0|#WKBy@M#JGTvz9ewud}!Th z_nY@TDC@=!c)0bbt+$bvNa%!U=+x{A4ChwYa=zsq2% zPl(Bx-WJi7YOvgcL`C6~7FkV8Wj|syTXz&Y@%NJXZJ*+*A)@es&yeIyq8spmeMLXd zhL45#lP#W4@q+!@`ve(}G3U>i-&4#1G{Cg$AmM|)j*PCcj0rN%I#&EoyV!w94({Hg zHe)g1KIo=Noo{1E0k~a0T?a5P9JVb7?Vf2mhu{~+zvD3V5?d{Y=uVjRs!?*C2-^uf zy8)h`;=CCsV67AYIaTG-p|~E;YwwhWfJwDdl4Ou``IcY4s#J9RtwHO+bl9pf+=BISI}4=6waet*Ej+ROPQbU2ns0 zZ8Iq_X>WHNuX}s#*ggOA8ro-MKZnR0}%~pB%DhzE{t8 ztAdzIF?yP|f#PB; z?baDD0>ftK3jaRyXAf9@Q}L!|ch$_PI3E894|!`aMU_BO5HZC1q~TBjDtrV%X5&8Ho%8g`x4*Gyn?^VSTj z$yT8J4+hBB{N#7BubXasDIKhgbV#LxWh7ms5dJ3VCB4{;b(ZlLpRN7v!> zHAY~YDFE{by3coTfnmODo;PxjLi7Ft8}Myh#>c0jZHe)v=sL zO}kFSok#JGInjnOAK;kC;ZgjJyMFojO?ycc&{X?@+CS=^?{D%A5L}L1?!57gn#+P=F%q1_+8Q8p(It2v$9w9zAM?NB# zLor$mU#1qr|3}@qcBSzwZT|zg*HQ!&U(O5%2_eK7lju7&2IQoGM?U@YyQ+GI0l`D| zf8WpESu4T}Gu_qIb?WM>YB_&jXNFy;=n}#tQxmB`F`=BEEHnz^2r_gS)P{&N+I)Qc z`<*0}_{xf#9mIboHc)N|5TRdy9K=uYZusFbmfRIvV5;kG3i93b`u z!6?4<0R$`b#GMR7Y4)aJuyw)x z;0TVUtb~LYcV+*imOAhJqGls=F^XBmpNrq{Y0^Q*_dQP8_TZtTVt@j3fz@q4nbxLW zU}zB?ev>4=c#N)UYT;G(P6B(cgu7AxokW>;@HdB%F_cLX_&Z@itUmp4$64|@Re4uh z;N}_3)ze3r5PR*3qqi)YF0FNEC*wt|0Tz6=uid6#tthNk5S2GD*iQ0wHq(Nkz}Y>l z4}#qzbnhgD2{0!INywS6Bwe?C4w4>Un8Q;E1ezbH&IO-CZ2EA9-3g#s|ik5<* zIzv9|={s$a0Cre2T#<3W-9Oa2vzw-+kM=Hg^V|L<6h_22)h)R+Bcl3?0}vsrZbE7L zoK(UZ))j`TeOP(NLfo}1DoL&dARS-%YTPG_$4_LTR}@pR&4TYsyRTT4?waQm z6u}54Z5H&()bSRyrf;c4yH3ne(3ft+t7N)fW=Q&=1g}1fUv7POYn>8(uUGJdRj5a! zZYLKv1{61LeKO7d+{UVM^KFZOhJzqt4C3wNAXac1$0#M7sl+#?>8Fokn|KFwK}D3Xm6WOnR>2ktYD*RKcjZ?q zJt$SB8XkaM{;3e(iSF{ifk0jDD{eJXEEX!|)n zcP$e7)nUz}AF{4$Y^yb7P#^#YWcB3;k%%v@Y-hWTpwXt`wkw8pw#KkJ^&qpAgUJbQ z7*#JV^yXXFs`IjR$0qT$+IRy7aO2%n8(k+E*bTRC^uw#M@w(iYtfN5cZFRe50qd}1 zDCyRSChJBdwxKE`g)`RgOqsEP z68O$VyKk8WF`3UnyM~>`@a5HZSGVr2lWh}i&0Tr`ojv$WQY_W=eA8y8>Zw5;F*-P+clp4K0CwdpO2AU1N*r<46H;wbKOZ31R za(=%dj0<_!DQY_&yKS>&wyea00rHdtTb6(>9?%w00Bu~Y*b}2Fffv&GcC}x1+htGD zg%D6DfPPym{}#MAwbE~U+J|yb^95z41`#6j4{Cuj7bfU?wty{z!NXRblYt8YGEuer z5)HXzQnsoizrXGEjK_Zax^7|P3TV0FVGA3NMhy=ePwp&SZv(R~2q+l5cx5&FX864; zta-7&95&uPv02mlVuN|lY3gn>P5DOXAldyRM4wEZf`SAzUA$QWzSrc@>isW*qFW`W zvZH@ZWMAAl?jMsGUtj>%BT9U}2w^$vB;x|v|4uNpM?kQbVk~=*V_96p;>7u8^lmx% zM0406W7?TBO%#y*SL`~YPis)fb*XsEE%`LG1Qa!l16UHA&&ie}bDrFJ@6U)SJYdXX3iD8#mvlv*D&3HYXvZgz)DmAwZMh_x`JlkzLO!;6jw5VzNOrLb(+yh}J;?&Hi)o61vI}m(puRB<{js;5uy5g; z%5=sKsFlRiaz*>==V>&(wxz(eyy(f7-3yx^J^y3U6soi~O8$gbeMgJKDfy{gOUy3$ga1-?9%AtCT?u6Qzu6UB2UB2V>3xz<9rxX#Gulxdt4U zBl1FN;2=SZea+S{5Osfa{Wm?cT_G5Xmw3W2Q6N8mRg*o?R?1Y6xFkbReRD9D9nt*u_8@4s{#qH4)X8-MkwAs;1eJvQXFlwBu`RQrby ze*gMVj&nA0xRn~6SXjDWKZ4*4hi{B~W1C<=hdieIm zMf;uaH)Z=hCiKk^e33KJ4Xe)sfYW2kYu85f^XnrJ{Y+CPBy_k5APk9Q33@&;>f$@H z{+Frlj$nyOdWOB>aEpaWg2#gw-1Wa@!@f&@=JYJp?PNfH%$z&qz`1T^8)DF=GBBt! zA+dSBx)sH}*BL8pMcq4N1*fK7VYvWgtBmEV3xD`StYl!LXcxSMS5xK!h*LjVs>Ue3 zG;SKlzikQ6HHLJ?O=Fz!LhmSk^puUjPvdx+^o(&v@g(W;O|J-CvKo?M_+={@@NK~% zY`N83WU&iZlN8H%WE>Z2a@wh@otpf3DVL1naeW?s8P%Wp2A}ArGg~ev1nqzCoO13l z+$RqP$XedGjXC5*8(IH%+@XpWwpklW3cTD-dXe67Z7hqo6)4wn#~#%KU=Nhi{?a~> zQuSV^#IO%!1i2SeX#&JHXyw5-MW-g1+~$$HP(wUtWe9m9l-0*F;oIg)QE^r<;%=##)R+x41!IC>){=e5}J-G9|8oI}bIK(SeMS?#+ zjTOOnCwL51X}Ga3j`R6p?_Iy1M5E-{r=A)tR2-vm-2oEG1FIr2X1X6F6GxmKd7qa^ z?B1W-{aw=JBqR*hFhkl$Cs}?XmN_MMMHozO(tMzSpo=p>>3)U-I z%rl?*7SfZm1TE8+Em*C=lCk4#>1WK%J5ES8*S%Is!dL2kKH?zWLxawB&qMObP99o3 z0rfm5moBZAnw7aZ@%k%iCXpur%@b01&{ra&&H zDf4n6bhg*7Lps`+uzdE2qmqP7GomqC9kt|AOPz&m>vZrYU0)1-RPA&DTZ6Z}os$hK z7eFfipAB#Rp5Z~?&q-tN5(LbX!|kwvCPBShJ=`}AOl_TAF$LQQs^y0XL&cGB37T35 zmdT^7q2)l~ocycpQ`KfhweYgjnPxMf>H-WiFf(QWOILuiK!&>1YcE3D(^p z$_g7q*`QYKKH6T+kfk`igoVR{QR{1K6nR1cEm9y(wmxC`qkA6jMuN32o&q+?lghR@~N5bCMO$khgFkSC-hv z5I$PHNvuGv^}i-A$~83K~(R*81-g8n<-@ ziOzdtkUVlzOH6DKd0z3=x8Y+}|D1{qDT?cONo@3!5RoXKgVPyN(Epw!nb&dASa`>C zVA#CBPd2UZ5U2=FCN)Y3d(mlmgVZS1zYbh#lbuF*jv}x!v&E1_up0vR zi!n)}nT5eZV_+o^S(ThgA>H~?@Hlnxz-9Y!AqZJ5VocBweI7)jT&mb67O?S@?ArqF zSiZX2uK}wqcB03PMF7gE@toXUXoxGY$y#NsWRLSD58cQEQCRBm1^9*^gwI`$4&U7} ze2Q_wvM2=jIP$oL0r<#LP5@dw3GsG5UnIo3&Ltz3FD$Y{+1XU{On44ljg#;~rbbY> z#aMoFY@>tF6-G-fsx+tp2?#9Di=Nt2B@oYh=~)&E=Kc>YUaz*~I!&UBM-_f;_L6%$MoFfPz%49+OQjPB7gdg1>J)nCp<{{>0YQsnSiu8P^v0cO z;~f14pwb755@5}Q$unOEAFB7Tt z83KW!e%kZJ_`uG-Aayl|CH3OghbApO99Ck^&2+0>5Xx;h>B+SijwjZt1>Cfvqj5qd zbeGUZ8a=ZuNY%3XB|bgj=xWDE4g?|CeR5jh;c2(op_Yh0$zO^|=ShorkTiD~mIM6N zX<2*DGwt9I1$AJ}G|XfC?3%{Udxk1#r|GBTxDFE4rnp8dKx6Hh*|bMRueB2>wqoZf z9~Cc!@~4F2?R1usGY1SY!j3bC4uSR&e#YG=^acNePt9V;5SxZ?lk!)`Hn*aaVRCbv z-_aQ6Cj}^$#7js>OBtYSeg;5fL$ko8pUMq!W;_3 zI!R`X^DqRy?S_*hHQ->1`&UuMZ75MG(qPM1j5`Upj0d~%lQ$Xgy+Rz2B*xA>t6SE%c;uu&1-`{bPBaI_ zY>|OD@c@~FJbhZWk97pYx|*&{$+&iE;^BaiTF?ucl9VHJ(1lmY0ibO%2Tp=B!{E{a zjB($(^&<2jUK-yh^q^DF`BBtV8@HyojhsK>LDo!r74{q$fil7&T1FW+0mubqJjh|mww-%SxymSmXMr%K zjCOSLlt}fWwQJg*;Y2-`5oOcI$rZT~49t>Xhw<0~FFEtjbSAZ~weOXDGparg+T6}x z$E@;aQzgP(tg*7r*SLx}<52K;7pg8>XsF0C1pj^iAI$N>L%W^0~+>q z5C>IAya6|_j@TQp2A)C#p^{b4HVl%l!T)a!kQ&_;YR+tOW9sPpEuRdn_)hfWpGm&@ zCeJ3>L3T7GQV4KiPqC>`s|2`0g4}iLD(DASK`Ppg@9~`g?{^(X0bGT5!Ubb)fGeYh zoo|AxAKXAg*?HIXdwG7)Y2~1j1~0q|zk)di$+eTGPtYksIfZbb3BV1y9y*7# z+;M!5!Jvx*Pq=-6ZJ{L9MQFC~v2DdW-iSwQoahB!Bx!<~j6$4zBy&d{iAzu&_I=H! zYOvz9Ix}StVCvSa7EkE#t$q(8$RbBbcTp4@ipxy14aePFEl#_^rSPp{qO*3xsL^$H znntwGY6A$*Nn)Vi7At+W4YcD7M3(CoZTk}~d6vZScPf(_9m^5MB_O&a0T0c!}Mc5uWW=^%hX+>vvLwvMZ(ETO(dW`M!$A|Vzlk(Hdy^E&% zZ4|*Lk5eJs-Qg1um27MkQ}8dH{V-LdDM)^JP^T=p2ll6J=Sd;8n$0Zkg>Xjvfrg0* zK78i?bR2y77KFzdNXY8EIglCN2}a7p`M6vY$|sCQgrOlt54K1kn-rzU3ae;9Ufp=# zcX7eLIJxbHizhx`C1st<1n5PZO2|z^{0E8j$Y}J}=6P&LCuP;e@V|J4cVE$G^pM6U zyjtKr!5-!0xaO5A=`^DrrIqkI%cH1-SX(Bbfxak&mk~>)B%hvDT-#TT--eb@WG>$? zJBGH7lgU@KpUjYZkO|fNm~)*q$GMVO3sOGkifg6m-<%ML0UzP-&;lTlGO5*tjz(Q8 z6uC4-oN8Eq62;4d{SKikyv}*z#uIHW>5J7Z>%KoTmRO>0d*L>`z?zH~`dWVRzRo6N z#yM1*7kcp?Fy~x>)9}s~J@e92yv-NAr5k{LWv{88sBB^DCJ=t7%d5OX;TCVBts7Y7 zq`uJ8kXMYAG?c*eApnxYc}#Y-3B?3eRwvOG8j0dh^@3N-{v8Tt z+f~%EL0n7<#-AR~8Wc+h%ajhN=Hr;{>GD)oLgLxE0oGsjmWR&jFna#XEs~W=Zs^*yTpo^%I_|ozq@sP^PkZ{;d zcqG}3|j9rxDw8G?Rn2C4lA`=i_CNcx});A!n`rMqDmXU zc$_q^-j-G8Ny!R)xz`l8uV%=!Y1;O|7|P2(;~mp-x)Z^d`Sk*Kz7ic8P!{5J z$NfQR?GlVNm7M^s(v2EEfVN?W6Kq=+!X183q^N3KS0BPaWG9T`EEV1TNZxpV1orVUY$jFZid`$7q4v54+x6=U=5HYJBebRZEtUBu}uE>{_lD z2>`aFQY9r_K~ZM8Ifd+6^y~6p_s7)ukEPofscVD4o`?xpI~7-9QkS@JgUmV zRu1{cg`hbxcMadM6w(-CQ-1UmJgO#7=m&B_%)rk&idAQHJOxp#K{rSpR{St$V_CE2 zWZ^r_TFGdi=NG4=qKQ&(%A(grPwG#OSW2(eDtw~LdrQGIQqPhUo5c$LQ--OMS^CJu zCF4KW9gmKS(mFzrWRO^E>_C=ykYZk_pkiUUmDuAB(M1$9QI9=L1KaV}9ou6LQGmT# zAvQlxx3&`;J(mVUulAG-G{N24V?v20IAuR^P2^??+6V%^jh};9mp#Uf@98rxGe&m8 zYr0t3qiY&cnP|{_`ebJdFaL-O)uaE}YQfh>UbPwi8v}Zo4WSR3Hk1f&3TM~7BFy=UDWMUcn|xCW{Z+dMt4*ygM#)X*5qkZ(@1JN^UbG14S7!2k+TpKK zvN?4qXVI^w1v67wty|IgRg|9Ucv7QOTo~JkU)7t2SxpMSc-NjeX`%XsD;?4xc;`D>}Wc=+VyyqEz zTgkN%6On#*pa9g#gnc*Cp8~c%R!yYD%T-o;~7l#uOvXHLv75WnjSFWaTufOyZ^ z?j|?P5$&CXb~`(+;LXvZ`$oLeH;N9tKUy6b=-!n@tohrsuzZ&A>nJZl=UOUNwSciv zab=@IR((N0iw+b!B_#e$mUEbpnbY=N?A~33lPNdkc}D(^+E!;{e>3%anlowY%op%1 ziP+MCaX@6jLF1jd*$MSh9~qvI^BNf*{|A>^I~LCgFSWf9s;* z?^A~Zg_F=^bC6w5?88zO5z_tu^ZRXluk1RnudQUGQ_|#ljbJCHRe-lR!d&o znE}OSA>Ofeb=45U{vJfqze4Bv7~$h+ZFu#7|3hT&1} z<_9pW@R@er`Bh^Y`F`pUcN4cB-H0C$!PI_u9Z=)G~IW#77 zNl?yDLn$C!gtL$CDyPwbXYEXCXnJIlgs z{)RA{(eBFR-EvE4y$RzRhpt^=lT->a-+!d*smf~~4Uu(6LT7EJ6eQX-F zx`xZ{_YInRDj5i>pHCi=Kednd`R6JOXk~uO+!E$XVXQ?yZCF~4?B;I1dwNDHmRrVEd}^%Y0D!BL+|9ql`r9kK7g)c!a#{z48P;DAg<(CVibBBp^Iu}U z&!TPxjwu=V|jKRD2TH%Qt7zvRX&acq2x>?w8GP6i;Y(1@&WY39F+pzG3Lvh<=c} z`EJy=?Cixf&glbcJ(Q)=^y^7%y?XF!$`7<)wZ~e(9^B#X?`AwV`Z}Il7YT@JTro*aim6AsT=|sdd%k+jXl;C0lhJ)pMysEG&ZHSzwaENZ8`%q<$%0QR8 zY|}hYrcpVZVeb*Z2D;>qUh&d#>BvVd8?O< zs^;!LS+@WWmX)j+Un;K+R7t{ya&;JMKDf+9H&qLvVBF4f!MIyX8|9RHFBs?WRr}RY z%0&$#qhC-wcKXt_}*3W#Mz zbncM+cuI8EOD#HiOeTB*L0y)!$tM(k`EoN+lsC-l3_Z!xtb0*S2K#qAnL`; zlo3UcPrq!mK0bgm#->SXTYhFiz)v$%TCy!Xxy3?_bSLDLS?3h$xAUuJ z@ihj^VuqC%?P1Qdm}6vYhOuBorELFJrw@XTfWPX5Zwdr_s+K1XaayjbMj~J$hd6UT z)A>&f$6KHZsk?gCk-$UzBocUxKXberuN>Qi5+KED=z!pxK>tdQkz)7w^%6oYAzq8e<-^GOv^OT-p{$WRwF~hYBtMh4;fnW|JP?OuzwXB z-1zYTL^AKRg_}in4-rWWtmENQScrn38*RZ)+gB75!+avy4ulzejOCrj=|Y29y!m*! zA8Y~yTN_%WuUR~|&-Sfl6IgZ^wfp#`g`EJVLOB4>o@;uY49@|(VOk*&+Z7GPNe;Gc z%$xSHT&!6DcW70$8P!KH4V{|p<2kCb|$EvBs z0DAtk&nFF)Vja=PmyUv+!MTNECqpwh8eKA`^{^VxqK1~ukBExJ8jFdYy|TKCeD)-wy>yQB;X z(|Q-nt%Tn9c=}*tcCKwpcN+Jtg*KNon%er$XL8PkQ)W9SV)H1kkcI)7_Y-IM-0!)>h9Ox|xfG3}x7B%6 zdOAU~PgcmNt#u;wdpW%Ff#3X5ZX7*nY>A9DAnV*4B8h|-Mnx970k^TW54wi&tdZ|( zKfD!IEKk{r<(`45v!c#DZVkM{k-=vFb6`eltu7#JzPX#hgJS6*KFj~&62T;W>~xfux6IZB?%diDVSa|ft; zmuwqk$t+Raj>y13*KVm zRFtSa`Xx!F;(pXrDw-%cwb-I{P0${%x~ynb6lUF+r)B58BETT-BJHo3KFQo~INSLi zX~{11SSeYr3eXVb%myl)45E&TLQw%FllE4epi7afuI(~Q2c{bjoK*4Z3WNi)~doQEud zV3ma7OPZGU9IXXD^<3sT3Z1Z8LRy|j%ZsHqndS||+>s9xAkBAn0{TMOIlXYQm-t zuK(aLV@t%;OwJs?Y)qJ@X7u~e$XnY&!cJ+HZMzkSYdO1#T68Og(%gSh5rC#3!aC z3h@tHGjN?>G8Bj$RA$c(1+9I_-~bj_O7u-r?68=)4yr;x7h)<1&NRxM_%Yezo95pJ zQXsSL&NSl=xpp(Yp+*kgt46%!QLAeQP<~cG3^aoDcdf!Ss~=7a;cknYV7cWt&(M1q z1(fJk_M~lba43xuRBCrM0)%<;pHo1634tqS*asRx)^xPiV%TC4E|JT^G1Ea$rVrOi zu=g(nY0+C*EY46xkFJW2jU7S|Zoy`7Z9Q=^LQEn3?eR!$yrMxb5xFjsr&9Mimbxa{ zWl1qnEjwtYp4XmQUuARKR$|ha8TY1}u6^u|bzML(b9Ip=?E(@9Leefq0n_=IG_M|LiIY> zxA0!}jh3xI;vN8{d1t0!Sf#Zm<{WK#OhlXFJVy~O--;=Pe~v{9DT@}p3iUpew1Gt* z6K7E^A2S}^PQ43mmgM&q|ACNcSXChf5>$Rv@acj452TVBH>@=t;V{w4wXcHyHYU1F zRm;G#)cX`s53xelG1AT|&lVOu>!K$g2doxsigQjv?b1MHk(rG4GC7~ zrCw>{q|uwis(d6GL^0=l*OBzPw`@_G>JLw^vmIaZqx_UIyz(KSHq1^`O5A`fC%?T8 zEH~6GYROa6%jAFVTmnWZnZ*U$m~%t2jQ`q;jF&hzS?+KgA=3oX1LTg5g-yOX;P0}n zAlL&18JdxQ?X5)lkm1F=?BmVLr08{+km-gA=~k<|Oo&o5mp0ero7%ueVMa!%AYp&o zsVhisd&l&3Dn#knCMlhgVAhAUD7Vy}Ty?F}lpl*b?pE2Mkm1r}tF5AW(H-hMLPNe( z?p4e2zzC;XEyY8=A-VjlhF*1=Y?+MjRws#$=K!fcm4L7IdetXo^LDG<>Z3WBLWWnb zTBz>IRP9!Gs+?HNJ0a(*$6-y|5-Z*6bq$x+F|G7#l#LTU(%@;k$j7LLB>+bq?}A|_ z@;Ve9SWPIqb+7F@88WPf^Ftm}e&o{{wsk`4HeU;a%I}GMN@1dm{d}>Ig;CpTA&sNX zS|N|T`nT(ayXt<`%Zo;oFbwO3$Li;~Wup5cfCN4rNPo$OG_%3i0k=~pxST1G zM&mzhV1k`$bq^-MpI2C7g4;KlAk9X3@}e(c@gXL7SYm>7A@DaIqK||LvjnK3a?EtE zlASFebO+6xaX^7Hz`Yp#4#$EQoCAUxQK&v8V=rCyn2gMQ;4Y&Ar$v%@tk$-YM?3fC z-M0RUvG5;t8TD(yVyC#J*sKp1Z;)eKRW}F3W_rY^PSNvvZ;j^oV61(VMo8yE<>BR! z>)Z88AU|L8A_b%U-;8y~cCQ9Q0OhH%=`bLvi&cLQLTbf$uVu!&TSxh@?uEkXvn*7* zxuti?aq|rvH>y>);5e4{3eCN;mkqQxIW9}0v87%#v9sfS-?bMkrWNb`uXxUlwk4~b zTN0r!LPW9JYvJs_acvy$isy8vnB%#zf?!PRj5vow=XT~y_gW#DiRVVOorI_XDG-Bs zT3n|5|)fr3mFj@sMg!0J-`gGPADbzvDd-#m?vwZL`Q-3zYU z*~oSOK-@lDC)b>*(y0;ht8B;8R`&N+3KO5EkECkeACr&$T?=ft=gf1kffsgG*{-l) zyWj-`1XFZ;F4(T%3+f!#?OKd>RNT-}saCxqk_8j8yu@_cwb>vegRPgUdb3?h91T-c z9rH4W#n_8!_IF@B4*&=PRihSXuMwyp3llG~ZD@+E%uyE;V|Cq{x)I>UU6}>uGo!&A zuZAv`k-5ebk%+35a#TNC@Wc@mPc(%^L)NIqCO*lJs~hJsBYu*cX-H+18$Ik(O_ z+pdN5|E{^uSkwg3qE!LQ5Uzx=wY}cL!m`e8g3QfXXIUUSQgu}S%+4mQnB_FC2g~U` zyp<1RS6BbC{H(sK%xBNCH=;MW#0E@dy~dc-tB+9BX*8vz%oPp!a!#=}ZxB>av%%w> zvzuhp38WPv{`Vf#j|69P?qdDih-_NFcs5A5p@iYgdYaZB;yoj=3FSPs3%QWw)B0^< zRaqzXo22*IB)I^e){DuF%KA(=2ccvInPx~GuWQ7IT+U*Jyl0JDrlSL6y_N5PNVrB1(aNb6 zxqpWzm4%hGg92(rree}eJLE-!$!S}yr~I7HV`#H+lWGT-@ednVtW;ky%F6ZBC?hRF zAmoGc7uw;$o6TtlR;|WZ8#=1gt9!=F2TQ!H4aE%;2I})V@p`F8y))-sb?JVNl%<10 zNIg2iJPR%jcjAS3OT+Bbo;R|F0zMY}U#Xw(NIo6ZFCGmrZYb0t^W_}Wr*XxYzEYpW z2YIePsBg!E@X}T+BF?-92lc09%V4b3ACs`x^wURoP#;$(V*E;dRGm8G+jtM^g(~*1 ze%PrpS{Q#GPE-4smfEh*lMsxM<~e$HTn5s-*gjkiL44Trx7_ z(^@hmmB!ew?Nrq##hJT&>eZZ*(k80$3rcFzNcNl7qZM(_!dHv!Qj7W6*F+&3prc zmKxO&!~YqT8+m1000XZxXqw7OEM=}oy|eAuThE}>a@6D3!EvX$2L`>S4^O1Nui?p$ zrHhmrr^b`z##zN+;l=@9gl3Z(<;HF7-my~SCYGxy)5PV*LF|lNYE&#}DdWj<;~|+C zX_XrHN$`FCv;mbH!>U4^FcBMrsvOToPXw+ppvA$fJqtwP)``*#L{WY!7l(6k(?XK~ zNx@OVm zgiVz0_%Kh|JwSP#vbzqfnVlm}vK?x7V0>8cWl1P$9U`&QXGLB@y+P(@yso3;n}ZkD z#gJRV>3~nQ(C5>JeHo1o?>!oOeE1M6P=nPxx2Aj(DQiB*hn$LLeUA>eVsYM)-MbEB zP-}q{ZVn0G^ZA&m{wJNi7J7Yq=%+YEARo|A39G1!(5r*L?X zOhjHghZSuuf%pBt-vQP%c{aTEe7R~7NR$c3P~Ocdj-$*0;#76b*b^>S|LHy9elsjO zf(lc)fDKf!b?A!@)jZH6CKY-v{MLzuE{Wx*}Kih)Ob;tDoyiK#^av{aZYDc4Hb(hlGWZ#UNdC@;ad2g7pFzSJ+ zclS7qn!CwZr#6n8R9)A5D;}x))DRWYUJ1rkCeX_4D)d|vr^GQa>@c8=Rp5xsIpf$d zM+C`FiO}cPex7H?9BFxNppKf|M6oO|*>)TN`iKYi7NVZ`Hd6|d0h9+UP}r>5Pyrc6 zG9nC5Prc^wylWOM*ELeAOgcns$u0eGcWtK%LlnZ&5-LU$zFAm=LX1YS^mm$hcT}O7 z8pwt-7lI7a;Q?N=*rDnBDk?PZ^yhKad^?RL`LdlDlI$=K$ zSy;e^m{k+OjM8TfP9rrpQ=t46H(aSAkvbnA<~b?W_wpH|p%$So1=AiUM*(@;pE z@K#95?X|}7jS+%w-SREt%wCJ#cH_)$i`{lZQ#kRf*P14~241%{NhB{VSIVu%=1>=~&%?Njx($BKck}OfdA`Fr;}4 zOVQQ{sVVJgTkJ^$s_`|#ffHAV*ODf<_d7zr5V%ZSt*Fxa{Ky(XTq8ryC^DyM4 zQf^2$J+=@K#E^z24G)ANcNDRU=6#5J7Tk~Suur=dA8{Bn&tAt*=9lF7D?7&3wfpJZ zZk}-(8Iq-tJbn?$Gz;fyvFZ7rVbni+HUdtW5qEYIZ1+{D!!v9ufuCWtd3n>o7q&u_Q#KHd;~h zi^vczJrWs0O-r$e8X9n{%YFO4yPX1YG)2LZTItRpk^QS@p9N;JJgOWK~m|N>=3yG(fRI zo+k2^q4PYEw|o)K?fzX=9#ihms@HsxoU;43d;dO{f<1Cz2|1Y_V_hRY*>7j~~|H+|5dq<_( zp`p&cYSaA2Ub009g$qSk*~wK#Wwr%LkNc zee*hZIGj;PPR(%#Jg6Q`ibW}V7_Ue3_p!u4LY}!=czJ!hM_NWr|FNO)bC=VEY}MQ2 zG@&bg(+!=nL8mhG<*pN%R$7p&#)}jBIBxVj3R9(gM2%b^o zV%052yaG^;*j1TA zKi@)|>xi8b?{^{gpCsSq*U9ogzE10b$g!`~e2&)t*bS<*7*t}o8-Hevpnrdo^;Ue^ z6^n1jXYzJ%DZ@89w|=%EYD}6;^NxGon95E5R?=J}u9CfS| zK~GglYzZ3LS>yu?kG}qNS7|N_;2Hmd#{IAX-GiiBF?0`?a+9WSqMMXYwL36Z&r&|2 z>Tv3(_hJ0~Nuh(pF+NPrEFF;RkPT=(4O!uBP1W@PEvpkaTa>Aq#}${ii%il{l8ge@ zgN6DE*2fvvLp$%R-?J0wu&@E|lY~lkn)>My-er8hPUdME_LH+wE|2qoHGuFg+gYDT zAbo_p61Y(jXmoE4<$omS`ZAg%mqz{5NZ5OnzJcEOz6k3woO*yYb^iSST1w zQwnc9iEbuIDS5P|^NBSwr4s(!-iqDd6tT>r-@tcn}ox+lj z@H+OFsFlUg_RmGD*QRB~ z>r|!eP@#bB2kT5vD@{!Iwt@%C8Q$n<+j(jY8GS5$v|DvD>Q#TI>1mgqoyMI~fJtY! zgo(edQZ6q{d~tc=eT&XZ@Aa!}+@Z3SNYIJuz1U3DJ_%1oW+)$;Z1a12S5+{Q!$&jL zPAGT8fMv+hU+chPs4U(bVIs81pOSoEHXbqQIJH;sna!CDl9`3`sTGK5TE#O9HghIw z?bl&SR~VaQf3FfqCn{D0f$RlYnm_nwA?=H|!3Yy=q!MSyx>k=Ydm0HsyAD~!$8p1a(RQFyYyciI+n~t7OBcaP^ke>ND zq|#K^y4S59-=HW9;2Bcm%k$<2ocbB^=8g@xAua?zLwP{n!2?wyX!fTAJS0n^D7if# zZ({chCexj=neo+HRZzpZ;MKK-AKn>UR0X!X%BtAB}I;? zC5fHwyAOd2)+a%SeE=OIm{Ia`Fn>1?@}&NC3qoe$GOfF__Vxk{PwJy&a-mktrA5^` zM?6~(PNnQUIF)2~?&6}6fHwLK<6eMwFMj4#oLxN(9n|U5QlRyd{q~xJC(XFFC^zU| zoHBJ7!t(V7XO&nZR2FbLR4`qeE#kg~{Ay&Tfq9_yu$=B9fo zMwt4+^YI_Zy=IVy?R4|DBQp0rP(XKIeSVo z)!gj)Ixv?nuXGvx;?hogNV=jfyFNlmy|Sk>xINz#ijaAg0J`rWE2wk)8Jmr@g8%m$j)>57y{d*)@fd-5zPwv z8qt1zEdN3__Av9FV7?b-e!qU`dwbjva#~R>4P?|=2=}qPhgh5kvHKIV2m?)WuW=VB zVkb;T{#d95Mf5BRLC0ifgfa75J;Igr+^S76XnehgFd)8R!=*=AX@7&peZ2i0R%OFu zicr9zIZJL_rLxV)7aYL9f@gkW<%Li)rE@J3rj5LHvi&B7rOD_oDNJb&3kq9ya!th2 zINWo8!}(-yY1oe>rn63J1n1YZ(T^tvkZw)+meSm`!MfFGZqi`g8febJoi^?g%IYDH z8z9hQ33NGaP|e!!Q_Z?&eqbBYv{9^Dsl-WRw@T3{i11Q_q?4LW4Sm!~+UcS)wcWp~ z?`z8FpiatWn{`d(P1Mmug7KG( zzzVDZ1T4oI?qGXrG}1M$j@eRQ=>b~`47I+^&z7d8t_4%oeMQA3-x~LzK_5wWq8DUa zYWy$x+lGg!zfB2TBH(;(x~|>nhP&ITJLBU==i}QAe0+0Qt-!~q=i9?P`%N*sUSAxf zr)KU*z~3BJ;;zc~-YTS8GVOs51am6P~KbDPC+?gyjYqzFjlc*veC%a&_>6K7Phi18Jdtp(<_S~bcO7bQVW7MPH zv_Bn{fBJ(*c2!XgDq8u0I^s8#TS=nZ?_AaD>_&3-;y9^OKvy95uJm!Dt=QAbKtMIV znq6QH2ADzExVrN_k`A5{jbRtEK(A=cm_+qcfKIAEbQptLRE<<-xnnZmN^KqYF+OOf zr9<2KY})j5^@VZtwKq1w)6x|OJ%c`@ikH7sv@aLL>=R;HP{Gs;e+V&tVAG~4H(hSEuHRe#GV5E!&CJF{O zVzN1~sfaqZP0-NsP~2_UIDE6p&)(-}<-$;|?qk{ZFbm2&JRB0gNJAj&T^$%({(W=2}WAC7)fVbnTaV2b5a zMd*C#b4gwEOEJ_L{Hl>@*Dv`z_jaFchs;7GE|j9BcORyDnGyz~(CwJaGRD#_o*HzM z3!$mqx5X7)agP&MKQ9DBbT#mlG(j3&AM-OIDr&23zPlrvo#ymHowas|qYzrGl)b9m z!#6{#osu=Fb<<4@t$?}X?Qiy)_+~pnWeUv`mvtvkw+>4H_4-21ZO8p9FRsW@XE zU(1n@q!oPIn4&_fnu;DxGI(w4lGXgh3hbX-3zXbpMwBE<^uKA2=n_e)Aur8zXWtw` zWGh;`#Ni_4_mioD2LWhl6k^z4>e(E!?L9jP=6H8v`b6Tbjrgb6o{Rx{I_aGmEameB zVRER1NK#GnzbPDJqF7kqO}u6D0tyC(Vw|VflcQ(F)mI;{7jnmtHzeN2igQJo2iVs83)}+a znwO5?q8*VLad2dk!#P3+YBKKQ!iCSGCaGs)qZmJXeA3hc0z2-n4e3zPQ2}-%)S-|* zm1=ctkt+c}$CNoYsCzI01Fw@+Pgk1!QgT^yw=1l|($pjggO!HVv^dt}GWf7k8 z=OlR`5-8Y(VVnN9#u(YUFxom)k5O0+uX#WMTTe(->$NqHNbl;AaP-!?M^x~}`f<^` z?vYVwWxBZ|mD^A&_Gia~UkWpuvPiQL?S_kD`1Ay!30Fj7xk~woFin2hJ32{?Iyxfu zGC~$s{B0B6Qu~2`Cj5X&W#NIxPiE^J&kfZ?-r3U*(~;OPYVJXUVCkgKW-qU?d{FB; z9VBages6;~dZcA3BoTaSt`vVQo>K|T1sn>EUxDMa;BbIawX+0A#o;&~IvmiI;F#p$ zD6GIy{a2-m>;q(>*aUpEoky;5Gh#_puwy8VN>|jy!yuLfJSgOOFrFUFzD0O=(C#-*MzF+roC(!ZC&urHTB=Q--}uI(NI(O zqGN4*EVsaKT^5{R;OKO<9nNU+&iSd1yYraHb{^MTdKAsG0`rbp&LtP7Gr$%Qt#>`5U{n223KSh10NA0Q5 ziWW9C=DZVCqdmv6MgjcYIK0^AxGLVrjb0sw=AV)RkF%~)Mb)Yc`ljKWRkYzU`84N= z+S(^}ZS!7p7x2nd5tS~)*6PybBz4-$1VtNd6nrdgx6C^7x2rfeZ=Z`IzY`=2vdzZq z5V6HDYV7#%(cCfV>~H+hohUt=*i`-~aaxc1$-uy_)?I|FhkF3TtNy^+9YjQTGn*FU zghZ-YM|!9|nv9YZUk{fWudreMn z2QXXha3Gd|!QaIXM;1{vh(~%y6;TX);QH1#E@zCuZ|gifljhUnNE@vhg%=nYwCS)Y zhVvg7-1)ybHpX%4BP01i^Vky_8clMq7`w^+--g$#n;@BV-kZ;(9v^YVgB?jRUE6$n zq#7r=6!a+d95o~R$*E!T8*6ScYS>L~>mgcb&G^*38LI4v0lZ%D%#pGhR~{g)?QZoh z)6$s2U0~V|meRy>(}v}FZ$=xe;fr?i?^2t3JEH&O_+RG{`50@OCr8f>zqJsrc>(J` zj};9&YL&PJ`l!1isy+Z<&=$!G0q~#Ue1TsTe{p07`bHhA?PcuPcw!kl*YB)q*^mxU}Fq60c+d!8{doGglyK;cCOqSl+Y1iuSXZZ z;cQs{TLTw)b>naU44N+jl7(Dln)7)YjsZCf$Q{H*eqc`8D!$(q>4CpisQbUTd7|_t z}%kAt4U?Y(%98-g=j%+^Ti10=%MAK?>wfXaeS&CV*j-UmJ#T*r^V0T%j={ z4nH>f{)h3kR+pwiUQ%+3$5g_8qb7YJ?BT?YjwhAya07TD^F`wySEvMfCewz>C~Em) z{&TaSBDZ`Ez)sNv(1NHd`4Z+R9Q%@A25+0i9TsR?)>_lGXX zD`+s5WdRu3kLt+RmcD9d+%*3+M4*Mo*rvcD_OONHE3@#dk^Ns#Z@m-h-sl;ajyrDY z2z=sq)B}XA{Nx`8fJEqEmKr zY$TkZ#kjB(w5l){1DgahABew>A4DKs`zrCu#`7F&LqQPW^3tbesNy6+;&UYzj9Rs6 zjJkMExXBtTj>4pQw^$t`4D;W{F?m=FvX0o`JJwUBOE51w2i>2DRCp`l|I~Rg0&k_Pyb< z{!{x56d%ps2K(QQ%dZn#D4xp0360!3oY%4MsP?L10Mt0JHW`3FsKo<)q&}5@VhG^1 z5mkrvFpi=D3|=}$3%ERt0_vCA%%fnchO_c(Gr9t^?dalC^ZG+1%M*_l9WstfVcK=C zp<1(O?qTBfpO{4@m*pnq#nTWU^>2JWe-~Zjr8BthVO$W*)5#tkf$i-?)RcTO9=J~W zPA9LupLO;WKP-vyWiR1|t|7W!mGBC!2PB~rBd!(_6=3Wz%IKNNW`?SvIup%P;_lQp{*(=*ZnZ;j1q?bv? zZnAGX&c{3F>i?Ygle&DCLzZU(!fL0j!8&JSn}+V zZo+Us?%7Kdw^&vH;#TU~+fPjXRO=%LPiRPvy#`SAds-w_H!opzq}*?2g@M|0BMQps z-Z&wiMK=$SG9cFkT;>Jrq4vRQ&gsYij$A{^Z_JCWT^2BawQYlYhllV;?x?TOCDgLs zLnuu`KQ85imT<2g7N!weEh1Q6kVO?HSm2Ytl0Djx#Q^btEvz3U2^U2!>d02rP zg0lE}WIoLBbqi6Q-loh!_)Z6=;04UT?;JLw#mvOxV&{^HGFZ= zkK%B&LF?s|6GlSD?8`ZiI-%&=&jK{Ya08vRz2v!7hw3OPxt(oVB6fI980=@1A=D(p%8p>B=oO;TX_4VR#b- zFxM=H;g|xDB86>RH5|_j_MZX!og2VFlFUuyJHHx59QnIvf4bO$y4`r!!1viFp|Lyz2Xohu3Z$u+u2KoLP!I^f$06 zJs(~O_~ZE}4J>cLmE5>;MaI19_f-?_KE7MB7`1t)*7T=!%Z1w93BzXNGX1S_$5gY+ zQ>=-S7>k3U;!eD=OncRPvm&otW#8cEVTN$E(-v4pz@I(YNPrNOL&?&lyLPL!@2%(8 z%~9(izwW7gS3?FUmAAw-M(|RR1RokS_e?fWi4}M>C6$sz=b;OdgnG>Ex%dV20Z3QwaH-?E98Z zito`3frR_4o3{mjowv=iooGg+J-0>Mn6h;&x)_i$R4ntE`XX~pwv)No8#Pzy3+ zfwbJxV2M%#Z@r*x#g%)2?Zko!1NHwqbh(=(^J5Olg`yZqu%(S6%|jb*1nU`*jS;Ws z(wIek|A#{#-w{%W3+sO?^pV(UFbOY`sJA{YZnyG|xVZnWc+R&6#R))f&(uxrzbQ!d zaxqgIA{Ysie|u2>T{HDIOI4n$|7(MSwlb!oN~69@K4FezUq=KCyd@}R|5fDo_Dq$2 zy*(zQJ`*=HoNJQNPvO&0WJ^uf>H1;B4;U2qQ58*GI8Pt+*Z#jM0$ftr1e4{P&FTjy zcKbD&U7gHl`VEO7I{onNg4Z(Y&_PUxz|*8KYLB3 zbo@1X(py*+mU#5TlUPOKXGZOoNBiCUQVycUI9-~l{d?&>S-!NBd<*a4bKyPj1(%z8 zvDJshxzvk68ZqL!a=T zHQ`^azB;X4sCpHvbpM)rAlHI@Wgs+WbEH1NKn@`8uADV+W_hb=<@jevmcYk}o=hNE3BawAx6P}H;BIHrVyWmZM{ zH8$PYHGN!19zzTedBdk$$fIYKLZgd!m_>R%Hcx??C_S4HW&R39hv zk=ewtW`k8{e+d0DDwb{YV~RI~LDneEnZdosA}%+BHpmK9vcK6u*hy_laIXE{#T{}{ zwp27aN2@UIA7hclPZbI{*6B{b#=l6(j79#G^o`~HBC&2T>0 z%{`Tyum|p=fV5$re7d&KQ0K9GI?S5Nz0jNF?h})kNteo94yYxmV^bs2zJ-aiHYfRu z@I0H7zZ4t~5!aNMZId^Hl)e;LA^EKF+rR_)SUlCJjd z04wWHQOzc`{P0fv=MrmxKL!68Qn$``@#}sw?^;rO4(&sd-&heF0FZ0)hf*;1@HMmj zO%wgz#0Ty7fU)V z@PNvAn)qA- zEu}mmVIlED*YqP`4GazH&vc$c>nzXO-7jgs_lO_$>$O+@wZr9n0fwZlz_kRldcMijm~=}PFv;+Wl_(h15LY0dG|8AVCq>~N9&^2lQu>03p1nG&$3 z*%E-AFx*1@kc2YhMxX@Ig($(vO7dA!B~Yh` zNz}Pab1Re_dWP5tARnW+BqXB6AeAJw+<=WAjf8?VB2upx*#LDV9th}{pcDFYc*;qi z+}+S>?d;(<^qAC&=H_*wuPC!@(k!aVwa+x1D&rPjHZQo%9AfVGtTlFFair!oz^ZA^j8_Sb-{W5k5r5;SPB5X#H!{u)$djn?Yfv{dXN}UB zHEP=Yiji?lPd1{Qq#gWr+7JQsf4@KwcH5ugg?fXCvYBSnJDcjtP7dWmtFhs;O!AaX zGP94tVeew`f42w`=g}ia{2l{7yM4$p-;&bqHd4$8ZNf}`#zV`Ryzkm4w`moXUg(_N z6%5;tAmf5ke+wb`u#>YR9!ojm-VO*BK>~*1^3tdz8ySye48$YWswR|WNtjOo(~mtA z;z)LALJpdt!+`d>Z)WlSDBtB6BM;&Z*vY!dEqI>TP{)szAU&TwqUV=U zd8t+277(VZJaEO_Sw9MQn9HdtXq{k1nQnMt)1J=I&tD@-uE2ohN@Uxe?XUdpRm2eJ&l z_b(O(m8uvS1)A8%M3HosBoh;*HIN8WCPNVEvR5S1!=;v9x(xHkIEV4{Y#}>lXX%p? zRC>~2;q7ecFWK~x{=~i9HY{mG=$kzCP0Inzn9rO6z*YE_UZezrhLoke9~Yj~P`22S zu=~BkJ^Ik{Q6rSnvc6#09|u?+hE>Q47&7jahsY2nHTQeImxFqTiyXD&$T<7Tnb6r( zap-jRognD!`+-*j@|91ix!}HC#8dW^7PLWg3wD_hspw+(!?>5X*M^@KOf_R65#-ET z%LGttutNT?gG`dTQA2)tnDi0xDx8fah?3fnP=svcI%n0;xJ3(0nYE^wM=k`2M;%cwRhRELwZMNT*1$PgAr6Jdb7~nn!six;NVhD=DZ>k!LEMq*=-sp9Y^8 zaxZ_OgyKvJ>|HD<`1*1&3)>d$>29@d=v}zFNXbudiu`iw;(RflNBOH*wi^LvETkzE zV_5I90cp*?>j%DvsTJc%?+40eZ^&#vYf!^Ph1mD&ntc!0)>}CfbCDR31jBxJb>cb_N!q5BJb>STv{0JrT z!n@0QJoE1IJ@fAJ9g1peL5$mD;oL>*=bXE6hHw!WhAWNHUgG_)nQNDevxRGyE4{Qj z8%QA(rpZkjVj*Z;g$V{z*_3maG38#%uoqsV1zz)M0%&z&ZSW#(828c~oveP|isk$T}d{A7<@82`Ws@@LduKPJ5mpNATZnj1P3?K?pVvS>!$zS+Yw^$@E z{HjdZ3%9D;PTi`Qc$$h-cfRnd>e=8`Wg=d9Rq?02@T%&S)T_#bWlq(RJg_gEsyv-X zKmf(b()i%G{?PnNtocIy%u67nF@33i(1#2C15z^mBi)=TAevq%AjDlx0m*m}Hi8C{ z#hR%g5VcT2m%O%6LG+}za=OGgKo5mkL&7jfleQvlXxK`wNvM zE?m(`pfl4+#sX`$3e|R|lt9NCtt4bD)RLy_AyrG@HC0Psb)lAM6_e1=2Q4qu(tZ7< zS~4C?H~qlTOT|PJ3&j*LYMSZoT|fLBFEo>Nn5w4#kGp=tWTu=X6h64?$NLNAaO3IfXIG45V3;m>rgMPA~S*)W`YVY0kQ~Q~MTEFWD!KX+7H87~b0HV@bF z;kfyAC$FK3C8S4l{!&9p5M?VQiT~Y8w?U0qbGXjpU-ZLf6(x_vKck{RB*V-p7t>Hu z5~+&fiT{v>5-kS77bLa8;gbFp1tl5rA5l;~(S`v5v{v=N$(er2Kcop;Xfdtma|()v z7YYikn<^-c1jTHmmDe9Z3YvtK;(AL#36Ql4N)wqXrM$l++|Q|{+}FHT{*Z=Bey4#j z>~4I2{GDGxLG_uo61dqCN>mV*P)phhgs#z6;@pL{lIqB`mBy5+D;iy>E1pW#l{N_$ z`ih;T7t1K)$W&j^Xy9I9pE149k{N`Xxw8*$!(pmMolXIhE5`5;>X1QbXx- ziXIjk%lXJO5YME-T7y`xu>^Op?$&B7Z6Yt$Q@h`pwk%HNO^wBhXtAQ&TN9_EVFZoE zj^&FL6)^!XR#f8rY)Pe6Nv5(YYXeo*tE|B4CQt9;ayY8&6IsOzJ!bif;1Nw7-PB! zrja8bmEqlP^9orh?uYNRdNGP3R>68`P9<1kxX;stfC~aWmnI|=nBBdm+#^p8>?!?t13A{ z1A7U_-GJl5W*l>Z1r5OK1S#?5#N@@#+hzVXs)zG3e~r}im0w?R8==#M1;b&R?=FsLJsZ9At`Lx zmUrcc6pD=vc`V7h|ICmY{p5eapYJ(&AN6RUL4h1l#thhX@6FfAlPAwBPi6|m+1>Sw z1Lr?$9CXv`yROLX8G4c=Zjd+ z=)B@hu3K=WW0{LGgsrwk9tY0V@^9H)^%=E?YZ#}OranUwEUS)$@J*s<7;D4=D4~8b z#?LzktX+Cwpj{u^&!5JQv;1<>f0b+Kkro|M{qB*A><=GxA*8LH$6W!f zMTe_b7cY8n1IYV-jvM} zU34q#>E`$hrM&24mERmn!`J+s;JL|Sa|Fp?hoiVMmf&*zWL)|cvYSsXjZJ*8`$teb z@tLxm;{&mcmV}w>aWA;H8?GOESmyVY`To{+pz9xR{>ZtvhETZCkfaDp#>p?vPNe9A zkTrh;H3;KCaq;l|fUtoxm+Yz&imT$v*c<9GX*3Awg|eBx+^SiY^Ou@7aZ(mOf~A8Z zqJC6S3k6CLFH=;)nJsxu#c$I^Phc#pqx>2X2;T>}kFSPIMJoqo^a*x^^gPXfohWiy zQx{0>2Dy_dH8fq%BVOV1MydSfC^dZ5kW0H1k!O_JFu@0<`rOZ{Ev10+FHS~zIMcCm zX>7WEGWWl5RKG}5d9@puVJ}I4`F#~s&(8ftew@wyJ|Qkb-k26rQhpek6&Yk0%@cz# zx=(6`(MJKJ;WFI3oXlO2oZK%vI2pU=U9H^T;#LD7O9|TVwBP)+Zp`J_W#a+SOagx? zUDLHWCXw8Io4=hmqw9c*^xE7joDTNQjI3Er+&vsJ(+n$fdf_944K9sObm*lyHLh)b z97J8PrqdgEh4q9aoUEVsrc6cRR z73V`A7$9{9T6nXLuBfp`=cQZH->ky}@cV&EAyg4~dS-H)Zz*}KG{1M9f=?x#l9Mv& zNjH0}utfDe8>yFfYP9<=uTT4@=+gr(g5C>m3G=NzxYW2~+LZAWi)wZD@&t|#MFeKk zUu9=Uh=G7hSY2@MZS1+aZGo1^e@7=B$^wKzmt^2%M!l1&$gDh5A)tQjQ%|6i;;Ovm(M$liy$b@@x2`M_qlq1OWd}cU z_BvwSj!fGOhj*Im`PyWUT0T_9tD8-${l`swWHf57^3AfHH23h5_VsWe*%z3fw0d2a zP|={z`Co;b+ukVMxj3f`lH^=p+n>6CwFU^dqt zp7w|p_i4TXBXvTba^kE8<-P1EoN#Q+*5>|=M^NF1TR-mI7;s*rDWNR1Y(BK@dz-D2 zRKTsxX4zLS>{PZb&O9;h$b!-40jmni(Vor0F`tHDmg}^CR#nz)t%GyG*?GUIINQxb zn|fI1zCv`KT{1*T;iJ5@$pw!;+5E^o3JGBQ0H}(jwr=(UwEmF_CtGYK*&OnjS-a06 z;+pWTv+4`$1P}mzMAEl!U!`^yO2qIw>oiLSLJ#PD$0C4Bmu#euIZ~HzN1VMZ?bc62 zH7yfnr|QGy3?%A$Id_V)#`smUW)RAy}wW+Y1&7-RiNP#nKYBLap@nG}8lwH1l zv3Nd^sX9n2e>C;nrH}eN99;VF*A8{mF}Ps`U#Q~`(qdDU zs`Ed#(FhU_gnYA-}{Xu+YugZ4tMwNo>}vRqe(oQQaGA)_W2gl zkNfeXOQXl0rxcZZmh3A zdi1FHs9GG2_tz_>QfVCws$|sPwOlFKe0%@GVQ1QlJmGq)(Jq#n)u_^J7OSP^cB9@b zmdoWkje4kdgg>ti1Y*2NzRBYAC)KRV0i>+!Ssy0f+db3-o145x%EH!F{a;ey^)%a4b zRw-C)lnXRe(%(k2Q1(34B9z5TqfnvBvYvW{TC3Qql#g5WVxv~>*;}RCq-;Z2uNBL+ zLa{EulOhpSHtJSqJt|j<^%^kHY@}vOZELp@0UKZmxN6iUxmIWvYt%`BN~u*SlTvC% zO0NTTqg07%z(s1i+O)??g{e@EN(CXB*6LN-1X~nVPD@t(P4!y+VgSHE8$76*q>=K| z>%tlU)yl*rPPip?P9I0)?3Y5)B+ooLb*lmR#dJVvIy#t5RpJ z#CH%)PyMA@W5imb8Zg+@m{C8C)+>xqjS&XQR=NH3dZSh=wxd>w(JUJo3#+0Y@KY7e zqAL9@w+fY-HEUg>KJX6BfWj8Tt+W<{!5f27D=}zQ^{T>PKqqifdPT(r2DV(M-wYvW zW}cR4%wBp7N3~dK1iZGut6sZwy$0n)l&sgGd^!vgMHVe^)B-++w#Dq{Z^I}+sAR4* zn&k*GtJpNJfiT)>D0>;y*9_SV7c8I#Wi$E}=mK1Tnuh4xalmw;f06h_s})`t{}SmX zqrGy0ai(C2f(1y8%=D^JsXaZYfU0T(3amjtP5MVIrRK3wQ?FcZGjoq^inmGg*RrU! z-U>99q5^hUY#%d6S{3rrh%q1$MO1-O%jGT;ok0bFN`r}810f6%I4IQ$Kj8h`^a zY;`7P&2od_dfm7ZMXO2|!(jTuh^V4cKQ6cESF6>l(}PO8tJyD-5~WjPu?9ae1lFy_ zvJq_^jI`lVHtw2=U{r)57z9x}@T>+D3HgW)7{LZeq=eq6vBA&@m(EHlpl1PcK&fQ?p<$3qvrXrDg$mqDYytA87;~vrZah6eJejOnfB(X|ORx9u zp1C`Gehwim;W~~dM}sNC)dh30v%9^&thBJL4{hNxd!5z+0<;+y66%{fan`F(J3qnrp1%8!6=xP z?UvrE%uT5#2v6vh*(MfOZfv#0$(b8)Nmz#XBeJE8%F>XUWshAIL7SmAC>S`9MeTY4 z`BOzQOxj8(og~-k{@_(c&n>i7ue}5(^oCDBYNM0-AIz5vM|e=RS7h7GLy)f-L<+< zMro;HFf;g~y+~?QYZY;E@kd6NS`fwJ)yOW-6JC;P{Hwa$DAmJD$ik?o8XHln5l5r; zq+NTFKq$88kyv)ECS9goft@mND60}9XkY$ZXCN3Ta!Bfc+LrXHHeFGAcvNvws1=d6 zA@WgGNJ6qsC|yP-TU}PKKT36l?L%>mVzpTTrA!QIQ;?lzKt=Rbg@5}Cw9{;f&-z!& zl9s$!7Sg2BY8dH+Xpm9SB#>gmFx3TH#dMWs+er<5&eT|+A1&muktIrU)if2VP=<1t zKPo^y%4cd8yTcLV&4jo zoD~^Ai3_8{c$l*PSrL*Xzf_2v&eH4-Iuo}gWhL4`EC`IWCW(ww%bmROnE>!RCA>mf#J1N8+KCRG-d6S8hpr$_@?otQ+%_1fs%%-SZb z0^6&Jl8?A)iH$a-^`a$(B(!oAR!X%h%^fqyY3L!uUd4)0T@nk`GP1;Kyp8OF!9{h< z)pBzx!O^JGDnAW0c4Si(#(}}sF2Igk%>M@8Y6YOKV}PhsqW~PLokI0Oo0e-ZC&X5( zd0U-qwHptW-+GCHrCy3tsF%nf>t?|KZWO$m1^QC0Gz#9$LJO(YWj_l z;JY>WO07`<*UCxHYRE9z0kC|T4lSVP2U0PG9~9ET3OWZ&t^Lqy7VR|LcnK->$}}rf zg}Sl|P3nfmka4y8?JBxH{Jnuhu1qr!Yps@#BXSaTeCmCXl`Puud`>rQNp$gh`Yj^x zzG#%ns50KPj63No4pxD_H0tHsuw~e$NC;ZBnnfXWHuSPUFF_0RX(;ew0XtqJ9t!JB zXf0qhKoSrhptRm#f&xG07!!|K7zRNv>LoOfQc!B#ZZPPwK}5(6hz?=uKQcD?6q2hT z1@t9Zswf>0fU-=zB06RDTH7HxrIgx38NgME?Lda;0;N*rc1<=9O{yOMq#0MOS}pZ9 zn5@>O_C9;464o16)zq0U7vACZ88;*A4d!!x>;>r3!f7mZ{ zCzC?_cslNMr-j48(SCopzT2Nn*WI~^YxU&vDjIyC{o!u>n9Lu1Fpl>M1@wfIiya@u zNwGoyerRaoJo@9&WV&N+)fcvWNVZ(-s%8O#%Bdm9ie{i89;f}$klu%yN&0~Q&Q6~k z#urVVoV9WnOJ|Wnjdr)ut#@l@Ctc*~?#1bttb@*Q{~}ASax(0c)YU9 z8Gy?b8=_Qh3`|GB;wj^#$3`qmZ9>gycMu9_hW=NExcu)m?A{XJu&(Tnedh~$TBR|N z(Tq=y((=5v1QRwd;0jcO0{sq42^9qeNyZQMnt(n=OKeoS^a`82*p!VVFdDsqC9n&d^Omr8tTNt3YU4*d?~Cg)4N)#5j`**JxRl-2S8Gn*-lmE%0L}gzGk(n zersWaPE;x^MwkOqz19en>&M=d4X2FOCZng0vjl(vYr`pfyHp!U1H^Mt!PiRHWJCf- zgFltB0FjTVQXU9ehK~l-cXUqu@u8zn@-oqLRnbCqY&GOIVqpkem$XuXW{$!{e+PIv z`B-a!WFeS#$}Db`@c7t6xmJd1@K#CvZfhuf*zm-JVXNYy(O79Ir`m1~sFl}JLkO`N zmB6xv^;VD8*M?{us}=;ZQV=;YnkS~#Flsbn^bSFBHM~4Vix>qEBYy)m%AHWDVwT9) z9<{YDbxiB5|7Z+RX7MXG8WrJ)B{ct=V##~})mFukNv|7*a>qEBVu(PvNRBK8cvnU$ZA8sTTS)nf=#I?#FS-H#(n-c(5 z)!b+q@30AEHwYR$wi1-9kw+v7rJ!XxSg@8jZo9Aux0o`7!aGK!7E9l|OqrZgGmUCQEUs z9zKURQ(5i#mNg@71WxM>vU-o}6>GG_;s*;U?N<2?L|UzG`}aFakgu{T+4Hu z;JP}o7cHqUM&a4UhzJOS!G@%~9N2P6E;rC_>z}3CBHCY-EauTJ?i1adx3YM z`xRMsB(|zm+hNqJsDCWcSGRBoHx+b&u!Vmy<+X5%OSy=qExijyz$AjD!Q?Cx3;{*K z3Zn(GNF_ZIRfdI91;(Jq5z|n#I2?Sh$}Am=z@2R*Y`uNk`BtstGXfu#zi`$R}S$ry&}R#9Bi-eig4J+6K$4V#WHbm0y;TQJlaidI}5z z?arV0TW%d=*VeG$BtWXz3~~!2G%!vTbtK^egU8LqMQ2B`NG20#k{mJ6QLAXW@6wMzWSPZ7v^IK0mx%;YzZ9Bx6BH`S zV(L_DvdxLY^hZ_D;!rdxAviAJ1yoKU^nVO7>=!hL3TsMDA|6m`R1!vq2BK-873)gb z_yT%6ti$s2QDJ7xJ)4`X``8!$uxKaq!7LVX*Tuz{|0-8Eu28~}04u~^6o-?g*d_}O z7zH}o`XPVKzEvz7ol||hOL>7)qIoD^#au56oglX+EEO_e(cM_=uy8~5Has=k$Mm(< z*!IDAdYy0&c(dNh1i&admQppqwQgC20pKdu1NNaIW6m-LRN|JW+)Vg9C<1JRj^Ggi zud+cg$%QWsLK943>cN6QEwOA0Ing-FUNfVOVbCb^9ZWQuSc2jn@DRdMYUNH?*9I4{|8ab(w3KZ`ht?Xa0^5H)oxJ8+smeD41{7u(2G+u7<%9vx{6%dqRqha%L9~)d z39N4d5P`%x&VWO2mBuEZD)=e{dooINi*;uv5pE*dZbGu*$A<}v8T%U)H)>mWeab9v z*QFaEF(5N4PJiCPsU0JC&^QoynzSNUA(sVE&1Bi$l@9r#Fcs5}+Awk4lwU%j z$C{QJu)3)ff?k4JIy*s$4Eu<;DSNQwp%@x2Z@O}hEK3`yQ3H> z8E;ITI!z$XBtmTxnSg95PzSChNl1LUi9aI7m@RdgbY*ivi2H#>!oFZO(qw>9gGU^a zXtKc|urBM*+YpGk%H#zzg$j>c6RU&ICbg9xB*AaJ9_KmGwSv8j|EMWL4z6)SAYC;U zCgxcGu=bt%F z=GSJ9O7A0ff8bL}$Q2KQ9%#4>JFGFOkTv1QX&1U|i9{->c6H*1n_6`bzsU?LF>lfD z2wsPN>7Hh#bUuwZx}g$u%AEaLD1a4_3BSLn6_~-XKIt!7 zyM@#-al$u*Ck$It(5D9F3rU zoD3X93FGox4LYwu?{+4=`=ieIB;R40ekxtMR7$n+Z((th+EJTlwo0YodAM3WB+axE z1+m~BBdFF$SZi_krkTN-Ck+-VMBbuPOl$pR{=g+91X#IIqE;*InQ4VuEw)WDCbXo! z0-rrq6-dWvngD5-=p}yB8WCTm5tAmwSqlR35GzVXPc#Uu0%=w#y;iRhlQzV9trkI` zjxdXr8~{|=qz@`g->Ao=UE0s52k;0RUrvD(&8b&LN&w!mnnQ|Kq!Oe^vpo?h zNus(GusV;F1VMSEzz!99{HjQ~-lQEY7b4r+t%3H)KpcvTWnq#yc)9^cB0`x4R`)8Ii6A5%^g zT?VkF7`Yp$JI>2QV}SV#rKe*HRR04#k<;5HO51&+=_+tzJGBg-aqB zq;nISEfrb8)Qb8?dPv?7jb&nemBK zv>;woH1tnqx0aL9r?i8_qAs*(jzKO?gO`F)F3YB8?;iPEXwLS$4R+gjnx&MYZjno? z-4K_!B)RxNi7jsdw~Xx;A~080I|PzI!pv`IkByml7&kB%jAOZ1aZ#75TPW-vWUSqd zFi1Ix8CmQ)Ih`nsgI3gUn|sM(#H+rPwE-tECp6%CdkfY4@Px{l|>dGJ~xv_FC`tr+@Gs=kuNfpavygN)c5;_F;I}>YezIooW z7HHt&`;qPN@9)imSv=@WyS>$QZLgnvuyOb9I{((so%7rgdm5)lecfo9!%o- zOc^%jQ1L{zNH<^RWA$zi2DDcv!F^{wQ}jOh zOmT7oLR|qqO>evGg9HjJitmQdsNkuuD_ab<*(Z(sQZJL`xY~Wxs({4NG0VY5%c`K@U5+Y2HW1 z{16S;x(Xwc7)(Y){nI0kCrK_1uH2I1$#OZf+@Y-?%13g$-oaZ@m8RoAX*)RzkVp~^ z_}j+AVmNS6jQ~KoiJJz=xLP&-a%`B>H8=ifV1@#K3u%x-Qc~kjD3^LNH~zpcf2{wc zV^oa1|>E1t$=+gr^**T7cz(3+S@8caWWERv`+I(0$< zDkvSvuOkntwsk*kBxTyk^`CoC9!+EnC-ip~)^IzvZSf3!kGioNSZBZj1Q7U$f*oz< z!o1M>v`$Ue)fdP_O9!YV=4%({6X&7omMx&My&Ai!YDnODTW2a%evBj_X!>N7GW1X#mHMYeR%#%vb%7gwp)wDO{r!0_Y9 z1~47_qFKPgnpEcSlO(enk@UKSE1H*~BxNK3Zq9_d7ui82?P6{m*Q3KA^jz&(_p8k5j3_&6VMqT^aVFmt^b{kYu!xjz^ zTZ0zQM5l)^HOxfD+Pr2ZQ(^$m02M%bbg0qZGL$o|lXYE{s3D(9J(vWp5SVb&r~)CZ zsjKabq99EZO-RC_>yR$!5_poy5Qa|YkbhXq;t-qvHE5MZTkJ6(w0etZp(+oUYvQ>U zXQjLj3DCMKi?~&T76Ag&k)*|PP#X0>grsT`!(B)wI-JgPmM z{wV+7hVuUXJ#ypz(Mf6~DQ~6*DUcVUHDuF3^NQt@rv)m|@iS6jppk|Sjxs7iak3Rl zohu~*mS&_QoFuoH9nui>$RQi5PO(Zbei$M|MHrBgrh@ww;Y3xn`T*llhs%&cOsv*Y zL&XwUoYO?(6|7W$riApZrJ%VF50=!nspODZ%zgry$Q~dmt)+P2RA);WTuoqB#5zPraX^Uns_Mtf zqYv1sDN`?2VYE8z3zWi|G^%3Y#=%_?L2%Ja()fF z1oaFm5nmdkn#7GzOy!2?s>zy?#dpZH!=MRGkHM2doro|4jj>9pN2{Op`Yr0@ zI1Yp;{z`iUUsXACjbt^M02LqsMUfbqOyc|M4S#K2n!OaNO4S0w@+blHeBa^{C+Eji~x9B%PLd*))FL3h>I8yZ2XhQPI`o$NI+Ysc=3D7qa zCgt6hzG^W=29Cp6KZf13n+Yxf&PLJNUeuL5o(gSq5_3(TK(4G}>?FbbeX5&qH>?0dY}^6B|*%q$`);Xz(>iR@0p5F*v$A!fTqLhz1-GI;{u0RI*BJgQ#BqYSS4^ z)5Hb45z)!9PL5@^cOi6Xz`n4DF@T7KlaZNc5vMFirZKH58l3Pq{6B&~8aIX?6kD1Y736Zl;1qrh zTjg85s?A`W3?c+P)iG9L{TRG(C5&JHu}ba8Duwk>2^zKGE%{Lf>XRuhxv3G6wX06M ztqXT#glsjnW*(QinNW7*7cyJ&v4Jy6nw6r;tOcYlrXb)jOyS3ShdqpTPXN3OV<49x z#GkFWPKCH2%yr<2$zB^Mn4USsVDdtVQjJ_B(g_emi~uKRbeX9@3gAnAHCr7Rna*qD zkGCuwDmS#o3L^xq}iY)3ZAxLO4 z3f$LUPsGAvs==0PjZFq!>PGmny2aT=7f-K4;R!6G?J4cO$`s82utV}wUtpR!R zL^6&LD-pi($^UJITxunKY}DTJ{ygu0`0xaV|M20P$>jlf(LgiRLT3%3U21!&0vJ@VFQGa#(;*!Vbm&86>(rN}{omxc)>i-6Tk=C*Wa+4(v#78W6wnG6{$6}Ww~ zsm;7{uryh*lS`br#k}?$ikZ-)!g0xLphese6*L{VKa)i9a(Fcq&>_#2L8I#A&_NN! zpb=P7)&&L+9A5~tkO*R}5;b2nGyCOFg8iZWvSUWyNW@2K-+R6;1_~hD2InZvQ1gfpxjJ06haMx)uwnAVpL2ng8&{_k`cO<$^qCKJz3BVxlyH8 z%5K(Iv-lJ+A)}73I<1faIva%-d3|InO0R zv8@s4F35f>LIa9Gr(zvsWeYE8>8gx=K^0QotrNrr0G4uMorfn5!wdtjsuldI4q)ow zk2bu?IHwj{Uc+?)0w6G3x-PZ0p2IG#2?ic>yT)aDZA7EICB#*zO{DY&xkk z>K;(Y?N1SuF>4wuah?>PWCqJM%d}r1WElh4Y24fpHrlvaDQR2HXclu%D{^2J{86zg1$5I^8ge7q z*vK6Y_~t)iD?Kd1&_3rfS za<$9(9XOG#HF2Yg`!LOWZ8K3(#WsJ8S<=4zAGCv%W@<4kI=&9RB~0=GwjnRIhJ&p& zp1=jCn6PQXq}K;;X++Dq|iTDIiK)B3QV4` z%%m=ZAMzXNaIiT9E~&+dBSr+2r#ot1H3<-*QEZfU!4B&v#4Yi_7L-c4hq_v?a>Nmn zQ^PK*gIzOjWyXOCA`xr_*>*{j(w6Ns8b3TlVX1oWs8q-kYEUA9T048nu5 z!o$fbdS#oGXh{RFCXK9Fou_e*A_wT2Hg?(K5F=0hIs!$s#YgEQ$a8APd_Y-Nz1qTN zA@4PXud*mi6->?+i!Jm{0!XHNh)}*1FGPt4}DY+2G4l z8O9JH0(z`vAxhhE0LEs!W}Svb>q_94eA1lYOZ<`EB0T$awd#aCeKih(E$?Zz;ZD_6 zAu$LMv@*(QOv10mtbELy)GvR9?)j)!Ws|B1P8)5MJw_aUAOS`KV+VPG1!TNd`!p?~ zUx5Y=^aC5Tvs)1T&=4Q^!6<=Enn+FFN@x?x~WJp!U`2>E0c?U6C?Ua!SsN1d=YS$)5zKIxWrlF!4 zlgzs)Plz>@QX|fZJbbKR$wSBHzZPV+UlDJ*n08s(eMzH$mZA@0QwrEd=jIO_Kzbqq zkIo7mFkR6qNnwaMBZ(m=j{-#iK-qPonC6rqVc-N3R;osl&9Yd;dXNFHiRp7v-9i)5 zk_74IhY^8US0sM|furoYbYY6ZT7b90K|uV)z;Irpbz<8Nic$^}w>JhrFevgH>Y-m1 z6KE!nyErc;SmAi8D41kVmHT z$%Tg!WsKmauy5!EEPzk|yx58~eP?hm_1397a~;y4KYVb4 zX|JR=)3`UF7tMRACn7MIBBy0-i^JW)A&6SqV}=vlb8K(5ZGKq6JZ`gu0DthGI~0mhNE!n?eZ=%rge545B#9qNiUA4zf!q6(OI~5D6T!_kIH?c zPsn{s0r3MT+`oV!7 zL_7Jrx>af%S8y6~q2afv_kIuOfmFMr{MEFx`>m4Xm(B#OD17JptrF-KS7ccbHELzC ziyaqL7MgIHK}U71ctHk=l_1VS>pMhK;8h_$KzX!log|zF1bX0MAibyiRO&4@JmYOp zcxSDoBZml=5zUiH%e8u7kw2xa8LNy6bv8n28#9l6MO*UUDTd7ASa|Vxmd0_LgQgX^ z037&4iQv%0!28IP9S%#}4fBrq0MoGqg|a1&D55lPjs3mCS;z?*=$$Z`l_oKP+K5p2@@g1iLlwU^D#>?#Qyh3%{xYyIz@(%a zG5{h0Ky~t5X~+`D47Z_U>@y*hO9yJrq=rTu^VV%uppo>}YfrDsWubHU*pw)aj$4fy zL~q)Iq=Gg@5G`5;VbM|J$;4yD92U-i(5hCG>_~czjV_Q>EdoDKtw_W3*_7PU8WXcj zHxlTeA+AFPeBGjibCAP8do;`RmHV;Mvnea8(%38fNP!rF!KtIg>FR2gQFY{~S;-oO zX=!h?_ylCy!*AQ>aL-V;0=Ov_`3z%*vd|;g6#re((Vr?NMxq&S+ou>Wu?l_A(fT5Q zDDwfme$UJIPy!v|3wbm;@l2p3`OTC-33Q7Ri0EJlK|$`7$~M0F#xeAV{$n?Oiz2mf zi>||6Zn|v>It|aFY$7i0qXp)(_+f0)GE|OLOL zB~2~Wm=Aj-{%mc*pwLJf+&T|(bodY;uq*?sVq=R! z3yo_V;_TV*xkW1X6R0E-78X(^;*%$0y{Y4lf&;05+dQa@Y7|XRHM&_7G}v=b1KmX% z(Be8J)qtWs;K5m2sgm$^`j3W%L%Uvha)KciQs2-M z*aD-4K09Lu>qk)t2wj4HWDEHlH^_5pz%luta>yC!BsCLzk68rsupJy)@lD<)w*D&> zl-Yoqpfp6KYg@3uw1BpJJ^G)M{23v8q}5bZRxTw6qe-x61!6%6UL?kV3@(- zjSvsk*V4H$qd>E0s>8;GPZke*RK`6!umPeCj8kx|f@CX8G=RV};p7Bp!KM)DZe=P` zPf_M9QqycpvBvNcpyeCJE9^yhMO{#+i1v{rF9K3wmnv(=t%7@Dm2RQ;Ye9%m9J(w! zz+b2Yt2Z2TfWQ}b(%P(rxV2eGgj29|u3Z3PoNP7=&vc6bB15VeRzNEG6#hf^Cx=rb=y*slkc`zErPflPqmiA_{8V7rU(I|F` zQ?zV@s8nC9szwWb!r={fP?w2i>?x+8)IOG+u6c?*w;DZk01m3y5yxOxG|rL6Kw(=@ zo8oUYzZ$q>(CA$T+j;hA{K!{rV`29Bad|`yh(;kpLR=IzBDTh1LlTJ`lFOA<%tB)E zd(4tjc?Xx23gTNTu|x_CRn8Jd6=)Ec1gte%OEs|dh#p-f^1>6mch=`>$|&9nQG{sx zxN~qgIO$T0kosm)b^`hWZ4-4@LE!9uVWC}d ze5K~G<*sxfXT?s2AK&fa0nXZV({4)hmDvdg*XtdMZiSi^*{B71`)iGnI0MWJs`u)i z9*C|blz_R>aG=Uvm^Tqeq%aGhWu3u8n~F_VECGQv_EXu`u?C!yZ8;G~Fm~dnBoq|; zi&T=_0Y%!ete-OOP;kVnqk$*|9X8TpU!t`rlvyLzWN0h=+)3IBtynR;?~6vfNpA~F z#F~6N`|^8O2Hd@Sf=E%)n>p_c=!Hp##vrZ^bG8El6pse|n35u1tgVA=6qjy%wv3(uA=8%~-YDqVA%cwSEI zlSfBq)yO+ZxE-D??L_fsh?aPHQxRoj631wJ6IkGorOEWlvRP=3u7?Y?c@lLyFHxwj z6}iLwm&LBSEN%>C(wgxm{rTy20OTeX66C*Cm+jn5Eq#Cn#G(3U3Z-5`rvsv_(HT8XoFXyo);ulka=uQ~OgSYFe?MC@8n2rT?U_O$(n-H!pQ1E9E) z6kaS1pp3I#afsD5{o+GtufdV=aB+w<49os#S-|pGy1gjJ8po;&T3|^3*&Qq8HLKX# zgxC=siuNz7UA2Elt!!0sL$ufUw5E+o^|jI(2iUB!u*MdG_7*#2NGYi&mPfxTcI$&=DBc%Rmr;UEwm`=LNpvyCo+d6Hdk^bpf*R5XFZIA$~a^|qU3>xJ+ zWv_$=$3-9s!@6jL;n9%i2uDDuqe6+E)i0W{AzA{)$sO~KTeqPCMp=~N4|-!6NQ6ui z1;=J+Oth2@gXq}dq(~0nMMwr2VF$Wir2TAqh=A3gnpaPSNWcrDp`ls^^Bp7O#kRNL z1UBfPO4mFGLdZ?qr_pt`vI^hql&fsB5k;;*=7P>aXc{%)fNmKP>PQ`@ORRODAO#e@ zI#X)dbm*ekRjjX847J0?O_!2u*!73Nk>;9WOW0JTcl*;-?KX=Ag1xYHhdLZGDlHgD zfLTz>Yl301@5V+%F>)u+bEZ>xqCYaJ*oHwANPSRRE8S7Q?YiNtU6rzi;AtwW5ix2J zbZXc7enPwIx@59E99o1?&*@^td(BWl!yIRm^;y$aNLA&Ac`s);G)|`8s@vA8wZE)s zbyrlD_BNEEFN|#w|E;>bjgDo5yk-~{oq5${bHW$z5h%tEgkNisldBbLWAiWHyG2Nn z;jD0_AoGO&W`oW_I8~d))=#}Segu+{jKL!KQY@R)(B$_)5p?PBFm}aePu=3q(nUz% zaH`7sD2jGs0Fhd3p$RIrP702cnrwE9dNqWBYBiDr_6BLp2KbyIT>f}RZCIDIZBtly zRPBaqYp*Uu8dw6&h&i1{Sl(shCk9>$t-&o{hAzWQ=WG5sQSRozn330PBVS|JUXfGE zusV=`D6Kf_)>s*5n%JZLozy{f_Ug|Q`%*}fJpV0;Q)ZVcT}!J6mU&SfU014!VfYA( zT{Lc-5g!Zq(d5^kN&0GX!M`bCO$qkR{@h~M7kN$$)Ro`^<{>FR)_iTH5m!>I)768yuP1+&iD6ccma#)s4k7>F?-hP zx*%K{kz5XS7V0et3z}6y9TB07jh?*dY{|4!mspkGVdan>X?Ju5e>{Av!r7?sVV3Kt z&59zr?3e+6@p=e8P>XnEEhy8RLhwNrI4MQ!LmS6usaIg-t5x3;II2!ZPO7E^>Zb=< z4j?Cf3f&N-6)*(?urxrMI_8HaSy}XFRwYiuQBYa^ zS;e(5=T)kBc(i1E!FWh@D@5r;KokZ6P!p>m13)27c4hAg0EBdUC%_y4JMY&4@LFpQ z0Kt8yYJRc*jD6OBg6ag4I+&n>*3~(ELJ>>4&!czWOwjfBFTCXxnAg+J{S#MHEbYzY z5)SqPkI=qY`L@`C$P#tS)Mm~SVugV1fJ)%1d)=X3BFKzGNG0a-dD5L1R~9lQ)oIyWv58Bn^Q04@3dspk=e-?ovGMw+ z`0~A9!_jVhkEEkPJXt^J5Bmi+6S7u09e29Z!r|a(zdu~xWrbwj_h7RBG28SwQ&{CZ z&w94oaUAazP+#*~J!cBB^(iSd=-&@*Ox9nt&vT~y;b=0=HLN-o8_#X>oGJWjJ3MEK z&cU6vnI+`*_U&|@jE<%++2_SY&bypQu=j26^P1_$+Y#T5$0zOSoxxN#u0Bj6(qq39Nl5%afXG_0Q$n^l{X?6z6thUn3d_Y4$uc65`fMp ziuKm2LaT&puz-^q14V;otLmJo9$r+5Y$?#DV+iRIkm<;E%R5NnV^P4c3wRI-fBoVf z7Rl8#uyCpyIHM*}4L=IL)Tu6hgdB#J!C}n-C+8yt+*!v0A{0ehW~+w-!>TwTVT>Gm z3-O8B^00O}fNw({__m|svnq7!u%(T}gOMLRc-1Jpw+vDpX)5Z;5B=by_*{q#Se(aief&9IIMqitFsP zEKZKOd}1TIduH_M__47SPveG%EbVG_a4nbC?Q!E>milDt!Eruy&_A@>ld~Mhm+yR- z&oMeUB))N&tK-h}*Usm1q*oYcb+l_gx}VQ6>K+|Xg&oJ8<$Cb(k#CmuUhIxLxo#XZ z&*vM7cl$XA9zOV~drQ1ze9-9+vU;C1;~(c*57A&*`t|GAe>9WcjdP`c`qP6vhT_Nl zX<_eZFqm}5aXidwskCCh3M9aQI2aw~GnCIidX#VGNt_kFy?5s*m$o+=A7qJ*$HzDF ziAx$kxV3#NmnCf7&8oPz6(7#0XQ@9O-7M!)wfdVS4u85m%qQj#QqOW-ZJ)oL%a!b! z%rgAw*DgQJXJE-XOZ@QTOIK$SC%M7BK6-E|pE&B~N2Xnx_29$GYW`%s)yWmM z7}qTI`jubX$)yhC$u!>0lB*y0uH=%FjW}6`kG`n5IQP~MclWZi^PQ{pd|?aZ&yq`5 z@8{7PHX&r`JC8riqvYYkEa~dy%YKBtw>pVC<8CiY{$fSaYAv`Sk!aM@j)gJ{ycvzJSJ6vF^>#I=88l%HEq`-fS*{f9rjY|d;v z)%yS5(Xguv1foar{liZ8!Pbbm@OZj9jvw0foOh?<)BRo8^lXk#;>l=m99u@!1^9M} z=e>I&-#w~0>W|}l_g4G6a*T7u<_WFk>vCz(-&=iWNlnGkDk5VI5Bx*FJrrs&0At`A z#*d;a9qdknk$Svt;g;0?5D#_owXLu7#DjyfS7~E8_a{cDzPj{}| zyK(dOy{k7ry>WRZnv=?Pu_h}6}9;effD z_rHj{Q!A%l8p^17u38o!g!hxig96^)qOU^;gxMMvtF+O*d*;)<^$}+ieXmWKZX(HT zdPEHL?7sXo{WNCHcfVYbg12biun5p2?3r_`kNs!6bf+Xgp2Cl6)sV)SWi1l?+tUO8 z)eibf%aZ&0|Uv>IEADa3&C>a|!St(#NK?NM3LC~Xyo+-TL7S&J4ddSFkm zRggVC1eYfuky#l74Azt_v}k7pi*Xs`j66L)i?MvCaG2X1odaJNM&3-t(1u zkh-02FTM;f>rO}GC-Sw;6wJI0r*T7U9v;qlox0=x;nWWc`(kqTm5v9Sf#Z$o04(If zG-hW-XByl6)E9R9#}FYqiZIFASQYlYhiiHa7`CsoNVep?4wre` z(-38U@j>P84(;;sw7uf!P|C@qc<Zi!8S_`8JLOeWBh%+UPDjeR2EC} zD&^ks!NqB>Kly>Z^e*yVd>0!Cy1g<$SsPA0rE4koCh=gec(42Am-l)IyWw zvi7VqosK6P&j>VCnC)Gs^ykmlKD$Sj9Hpz!R3w=dG~Hw#8A>)H<76Tm2q)0jZhYMD zN(}ABlLyn$VM2F_&tMLyw(##dy$>g6qH@9EmwY4k_kt-~8}H%${4E{`N@XkSyT})9WY-EsDvpC&k)c% zHX?K19WnD|=CLSlEP;^Z?(apb%W4bUL%5F8fyMlvAK101%pCS?&!d={Gw5GZu#^>? z9n`Izo40akaro922;$rfsuI##3S-vPvcAsaWH!$d49o@qsL30Z&xo;iCl zas?s7;c6&V%+!kHOD4ZH?-O`u1`v3Yx{JG=Y3H*Q)f^OtmCu*L{z)pB2K}zF$`ozO z`;h1~%pzA35&*v`$i^AxV7nDhugx&_6ex}5>};CBuZDYdWy$mfH*>{i=@kyP6HYmt zX)BpSC$y4G+>@sm72kq%XDT&XUL-z&tvN$wd1?=|HXZHn58}(l&}M2&cw8#L=7__2 zB9(@WvmN(p7pKgU4$q3tm1N9pHqNS)NjxyxjVVp8-Nf=&?u_;!e1p{(aVnSxqkW{b zEP`ZmFADF?%a`w6`Q($EpWNHI`C-PdD7uWZsK(;q(WJMk458au_4B-g$Y%4X?u_t?2J1H z6aDUsnUw>{_+Y1|^X|u%jSTWxWBJ^&51Og_K|Apv%=Ke=bt=eOL^>yGKs_?O+;Fyy20>*(-zV2M79k{P<@ zPfjx7B}40+;h9l3bK97X!#eYQIj6Sv;$6y#UkCBT^tgr#ak4eS%eE1f5)H}dHrMt75$l#G2ZN(aeLB%&u0l1ZHyC6sWh1@3(lDly8!xZe ziDed%PShY_7Id?qmZB~rT?#FNcXGj5J~EGXqu}LQV`v0R7rM=>j&Fp5xQ~Mj9VvE; z?Y7+DEa^YKhZ?aKq1v#Nhzfy+d`^M<4wM*T@#P-8XA0|rJXh>~;zxXe&pb#1S=1Z3 z{zPZb=H7~fc(_09MenmBEYI>11h^MDNr`YL!?K{T7x>~G{5$>56$QktT3FngEdri| zO&8*V6)vXL!g;`Qbp(Lyi-YqT6v~w)>lUU^u3J0zyh{n%)8&g-AB$6?^Z{ zqkfjFUv3T41yDJtNJ>_aLX}csL_4!C7Ed%%nbp37>TPO3V0RenmXQH)PG#RuQo3J3 z;kLGb?<8&e#+9GkyM6PcD>pL5&_;flPM82mb(Tk6PV~SilA2^S<#bHTw$v2JBPXeE z5-PN5Xb4zv8rjOQX_wbb))>+z%aqF{9yLK2tQFJ&t;FRtj-|fhdGb1i(j%12syvPq zTAWih-Q`+@U@`pT)pI#uGRJBL@5x%@hf7p~OnYQEAA2pky&1*ZMCPYCm0=UVeGX;Q z@srGBs_qCq&mxm_&lxZGOD~zC(nV(LP1}8`n|&5-DP@AWlq(4Uyiu?wltF80!+OB@oQfFi0*K#t1vXh4dg{vzIq?h_-!$fvH-iZ@D zj1yLsBhjR`6fwSHGNUTwpqd*B$GlIUwDMfpwAPoR`xTK8cx4h;Aw-7o@r_74vdB_^ zgEc7{JhzB(SxKTSlzsZ-kd@|@$x*ip-%aGPQg)Br?Y9xtqxTf{S4vPXl}$O4HMCFS zgVAw(Be2U9t24x#c;q$TXQ*htG9N6L-^NMO`f%Sbn>I#yFB_Yj1oAM5Z*52t7+*w} zLLY>jS9_E7f-qWdoQY%R>&G!%@!R&q9+%M=5skxcynd(#7j&p^pg4Xf+EIq1RC)QK z+XCuFPDQb9!LgSpC{{**h9?Lg7 zw{!A2(?(ozSyo|yle%V@rX&>yVVx%nR48FP$8V$UE=WnPB(Qz!%8zgf9v_(G*?~T9k824P~p^YCHC%_LbjuSKHT_K!h9*~|7HS(UoBwS z!=Nei0sozqe7Lv}*ZKq5{rO{$=t}x6jdlH=b&7#m62@%jAY8nA=8(lvn}LMD*AE~6 zfbAte>=H4+sikLp1$j$vS+uiuHkz1>qK)o=+ndPvY^6UbXaXF^D;xdErae7ZY^&rc zG#T>sItTZU#{2O&OG=MGI%5a4>x>@Gc4X^TQq~SqrH#b{R4d5tb=zo}aelaoQtT-TK2AZ$>Qs7IW zwM~Azw1s`sx;~B1QR~>wP*!Ox8S#l@eRK&JcL!K)fhjzEot#@l@XYa93oiy_sAxp(`>y+hgCviPT*tDg+271Fo6QUyUiC;F8keEq6lrl2(sDsVYqm{d*=DtXs9%k z(WGdvM~-tOJ2hZ=Z07L#wj_Po%8|}{aAp#DV@7VPri76_UrYCa1OXj@&_=mbM6caF zW765uUL>E%Xbi(L`Y|hKoMWV462K*q^V?8-7s^}l9Q2NVG2;38^K+l`e+0$r+CcPX znjJSf$87I-eOo1$Gw1Kxm^xLjmKz?4Eig31WOhZ$ouUorXN6faBm}ae*kNG=Z33-+ zb~gv9N&RVkY~bNM6EqvFj#MYqPR=CfSO!9YZE~ECkeLQ-qTNNw+Z{a`ra3#u_=Lw< zg;7?tpn#63hr@7Oi1+r`V+$+Vy9`=o&blPbi493q{_I)wE)HEMh$5eF9^uT5 zo zA*B8=+mt#1cH51~n%{bw&-`a|T8NnysVb7$8EGM@-0r4UF18=DLCOk63bW0CT>VTr z^}l2XS>_4{;RkW<)k!7y!K2E7Pvw1+fw$>v`x#h1Uz14lyw93Vsl|6EY&VaKnFDzy z`~0GYQ-z-?p?0yPmR3T%jFCx^<4A_9;weM~q{^H@HS4JHtZxI>#fgy+J*XU7EF3^ zJY_rggq_H?Uq=c4mKkME{XU3^F;!2jD{+;*!RXOO)WZaehnQSyJu|R!EGdwInQ}=* zwMH=0GDD4pk6)o0A()ywEMX1ey=nN;JsRU8+=vcGeVr*3zM9q6*R~vOaqT|X2U{FW zQmjtM;8mU7Fb_45)3qi^b?o#! znkx4OyU~YkR@?fC=PqUdxNLdm-*FxzF{eB!VLc1u4QKopZN!JeLh^C$WiTt0b zn>amsCkaQpt!h@SvS9akNJg(S;cPrs^4)r2g~JceDXwsCpJ#W4Nhd~l=G1Ni=69!f zL9lxWd(tT|ZcEBQQS_5SQ+39kfd1jS-2P$VgQJd2$8ZqRe(xHP87wD(lEkEC81s^< z)Ff|+FE;Sa@WI2g{@#0}zZY%UaYL9&PogjSI%sStF90VpmK*Ek@;Y~LDI148E#i`0 zp_BMF=Qn}J1IDC#Ri`(xoyjy_AqYjwPNkhBG4B^IUW`g9!U9~$8i2v-IM5nXM|T{B zIwPG^^6bg;!m|VZ+kGBA>pkCi*5|*;b2D@YF?Sw8E9$daR-C|Sj}bdyBP@-sxM_%c z!hk~=7hy5XWH3C<9NM887OR-p{#L4BpTX+-uYbm+ET5l$cfH7ICsRYgIX@LrsuMbr zHLWeV6EW0$uw#Da>)p%qn<+gY1OW4W}XHET2<9cMUAd#nAvm+81eYyH-r zJkB`=60`&)vA8Ha=_s44tXKXT`-E4MXg$^dleFttBRx#{^HDi0bmG=X60Nuvm~~EBuSS$PqgzmAUDh;uy>D9qeD(mcokSO z?Z&I?&sLv&dGO`#m%T6hUrxU4oIC$~eSaN@TWjzlqD6KML3 zOrQIJGV^bYbT|-*GC=TC=s3~|OWRDPTbSFOC!SSL35e-hS(^RzCmCLHazgk5sjHAfXfOeSug#-vum*l>D&? zLw{CEVr};35C)P7lhd;?{Vd$lohT_karDlH7p1J$5p|m}2>iiMQwt!3>2ZFJVtwFr zy3Zo5dfJe)P%j!47kNx}n}>4!y*(0Fm8THxo{QG$vjRocGofc!87@TC3=yF(D_{N2 zpYYFkNjShKpTAMcN-)^mj53MJc#V(7j;UR>kJ{l|ZMiYis_e6=g(um0kHOUow6nHir{sLXTu zkV}PTPdW-9hXVxQIbs_rYj8Y8VC{VJxbpR%{SLI3yjp(e7THIe6WOcf37jMQN~XV^ zuPEgrxoiwW@QNm!0$OLieLed6&;Q}8fB1v1e(&E>(?9+3e_WJxbmhlK@%Rbz9tpn6 zfp7t*JV9~x7n+4hvf1nrE7hY%c*KJ*v&Wq`oL5FB_0>t$kC^tN#mUiq7cQ!}h}zF4 zsonVT&Aru?4`31SRRh>dBFQM`dqDilIMxXs>#Lvr`Uht(et!Pk#qjjrx%GXu7>=_} zm>=22>NqFj-7^0{9hnc-E0l+s8h2s0yBv*oZ7W$_Uwt<@=PIzo6LM98hY;>Tj&Lvp zFX1y?_)KklP9k5O0s{SvO&OYDG-MAvCTJ~;hFI;TC)0Q**5rOK`k|ds5k0%5YsH_d zR@5v!>?vm>i?@Iy&t>d$Ir3(*pymYoKILLrGpmB%C8Ije_ClaHt_Y`#R`so~FF)Yt zf|?CnnD_JN(-|nPLfU8j&vEy&zhHI!vtPe^_i?FI;P2kv=j;3ZbJ06aN@*ed;y$c|L+4l+&rHiBT}ZpYLl|F;AQ0F`|^9z@xOgfhgifmPQ}_ zOqgZe_Hrlo+>_~iu4^!QtJe>P$#R^~l_dKKeK0au{bDjoPJR@^-|_c=j1^-7;U(8+ zZ_sDBpM!11v@GKyJ9i|VYE`N!0Vd3m@!>p_M4)>+Qusn!F^3Ay%_mbdVCNSlgqNhJ zZG@TQ^Wt3b3q1U*D`&L|vvep84Hf#5V^uzkvyA6(pyQcfGM|+{SN{!Lo+TZk0DahX zrd;96k8a((p|fGwndG=zA;2Zih!^=ssM@m&HJM7rDldF#g|nx*Tqjvxn$2?7bDY6b zu{^`YkO6yHd^2f=RkIR6lHe2$eKwDsMQk&5x$48xgHaFyUO}CtcY`{&^dH|o@wYr zidpI;nm!t_E@Am6K?jfa`^WG?TO*T5K@*LmLr#&7S&8b#!Kj-xm#h)k&k}>l0ibI+ zIuNz^+$8|X_(lM4o_73maY9HkyV!&o<4*ax7D^W3Dp#;WR~4yA93z@?I_&}h8wNg3 zlLJaVO9~hr&veVH&Ppun9tN9rKC6bVE)GDJoD4-$t@UbNCt6zTEI3Z1hK?Db=ir<` z8Sct62jOa1oW}l^zwicPHDKT7a!3`)y)&O7naJsQNQPM^m)Kw+6fdSlmDk5X0^HOT zvgHaf4P13eix_4EOs)h&P)LraqC!C)+C<8&h#98E4Z0cgJfHod<8P*ppigPdGHo)) z4RXbkoN2av!$FE=2*`Cjil_Tkp82osA)6bD6`)2|-Sl8kR>~;J3-~Vg0@nrpe zG~80${;C&D=TU-m4i2Z5)HVu4m!#tD%y#kXKl{yJ{O3RX`Okjyt3Uk9Z`RS5 zcO)=}c?_f&^3Ek)RkzcQVk^q7LW`8OD1)iSpJrP0_4WVfKl|Th^aKw5YGeJnQ7|{! z%aMSkoJ_FShK1k#-eIBrO|fuyh%{PiRM-@gmomq!_3Dlx8yh)?9Qi@t%2B{eXt(X& zni;M+UrDaECAgr;cCyKxaV1UIN6DBXaCuUvcKecpp=f z=_!84o_fC1y@NyB?2fn1y)!<2eGzyA5p{xw|W>;LnA`o+KhcVGR% zAG)=U!TwKw@<)!Tq#D$ni_!V4i%@skus0Y*R7riR?0^10zWTl2`o;h9TVMV5|MT^~ z`5Rt;@i+g~KmO5Q=Bt+mh0o>ZfA`=1;;;YHSAYE{`7|NHo0pU`UF(8jM$R{T#Sxbd zrn`ng4G;!)#0$mfx+4@|RVv}CGozRN6e)TOKV)HLa-g1Q3)iA zSX${QqV3LvTr5>8DcDTrmZaijIVEz!F$KoB?QScRU zn^m=D3E|w;3FnM*eDshbcDZWLSE1%z76M{Rc~*n{;B;VU_b(d8uo@ITEH`iLk}WX| zJ92h)#SVrQQThs&yzY}8R5E&G?YaF4#uDAj^>r*7jjov}T6Q?voF2 zpM={BqUc2y5WWE>L~8x0PhPQ{4wKIpIu<@JUG7Q@5!y?#8P@Z-^MsSQ4w#6i`Qmw4 zgob3ES_MJaq)0hInj8)LT*U!iSSlO`S`S4HSw-EBv#L?K#i9GkL+wVU^Muf!TzL!w z9d-t*+KMt;*ZQxoYMaaCgN-kBY}a(O@#QogY@7>gcUHjaRp`41{Sa#$nn;d9Fj*`^ z0iFFiG0NA7HgZiaaTa#CB_zGPLFQ-{YO5fvG}M>DK+#xG2>JFLiRD zg)Q8^dT9-cSK)W#ta83fU=1l-F%o4BO7KZGvnq~TAA`=tbS=P;X|>7$QZKge#uxEQj1BTG^INyLl_yl6eZ8rL#O2(08h0BG`ZSM$LKb&ymD0 zcdw=tG2=~%Ms}J#nhEYs8B+H>n0Pz7R+oW!&Bss75B)D;;+>*rOgut#ldxLbe{MNkIh<ijon6uI8EpIj5ME>(WnK96>)-u*6FVFk?0nQ`MlC& z6J>sXP1Z%0b#nsE1ZJkMC^46s%B*1gONt?6(Ir+oiRZ|_X8KJ0@&3!7kdXeeg3q z!~J-$eP|fNcEl3aPWl8maCXR z@#U8@pNFG-T|jy6>{;(cXYi==WTMnmKC?|2?_NQ(MEkwzFdih`2>vlf_v%c&ZdK>E zL~F;g^->VB9b5~Ar>G%+UKNp2R)g7oh2iKj8iclbuWY>2pWMK){5%J$1knX+D-6yI zd|Qr`*7Ha(^6}3JTEnL~ zeaG@pGV~u>uuBF}004xKa!6Qbmf+NSFh3d@SxMuf5`%UIc{8X>(U3z~`pr;vGHSAX zOHi_;ql{WIzvw6d0f1-3tH^n)EFtAtcyon(E?TxQ8E3L;x4Sbm+d7fgkZ@l3O!mS_ zOJ~o{zK6x(_e&CR8lB{SI^|#pAqu5Z5*LzzGU?AkB96Tzjlh~|Zy|&3sx2smZ26hz zz=c7c1;`yPch3kYn|^^J^SQD~9SCc2ZqKw3ZR8=9Q)~{sAUIFw%P0FxmFZMS5IIAB zo^@`@W*=WdfVqrID9{_UlLk`mGy}~AT?%VFFZX$dZj&k!3QQ+)Hf8xFjGy+%0u5z2 zia?KO>cLjlMaq7?!|mX$vm3Ki~8gPfkitBpGD%dLp9P z+JD@?dF#^Aewvn32n@QB86hk#sGb*g@?o z`ps#kCgm1XG-=Hghc<$c$W^M;fL5~r9D({eAAPHD5Z&$g;85#&tB?9bfu|eP_K3S1 zJc;O$1>glJ9k$@ARt4DYIxizXaP&ZAn>CyQl;KbXZBXrj`jXrL^bh%F4{j%96Gf zzRhC9U?BED#FA~Bc!6j8X*mpni_Ad}xJGy?D%S60#o{Mmi2qWTP}z1{K}czCn`y$S zAbqsBLq-~w?j7;kwLY@TSZ6R>;w&=nn)uKRrC#!@ls*%Kh%>KNxhcV~VcO>+eDfm*vW< zmBD0k)}P?~Wy1yZ3sV3qthBdBSaDqpt#(F^nue{$q?mQkcBwyewgO~}%4=8<6GlOb z0TE3tE9gnY`K*HWuscFJ(L155S2HV(%r@yaB|Ym-Edo>)5jYe!x>;H!v!Li`E!)~h zuo$ zoC==`t1P`vzJ=gQxey)U$NO=V=hn)ukF2nkKZNEvth<3da3XKa=F=DAaIHDNiWxn8J}5!QNq&thnWk zYbphhW=Wdb#lZ}p#bKSy5^Pss$E~Kw(=;C~gjJIPFi8lAF0X~d+W1bY%taetQfP8v z|3h(UvC!{)st$Vlhl@fwscO>;8v-t=_oBR70%>^GJA1tNiM%jV;@V>^;Ag>97m~8U zByvcBJaDkAD?AeL3N5NZ?>d8LFb6G+-m{W$I=z(_VFQ7rATQ*KQ0!ush{~4pgUp36Gm!Qcn?3x0 z{|*WQH>Y%D9^gbl|Kui){99<0TQFv54ne*6m?Muw*robRK@IVjZP@nu92anW1e;p( zbgj7CL%G;H84rip56if4x|lX*hjg!#eH?0_<_$HqbKMatB*gtpEU}!|cO41+hTY={ zGqMhFleazuukd=vp@+Z=^(b0BZymMDjktaV^c$N5a@u>Wb58me*QnUKt5}0jK{@6%k^uEyOU2vKD z;c>;j)=Lv6EB-@;sobWzPrc$PZqlfU%O;jBQai+R_^h+auTL$1i^nmT&Sre!$gAT! ztz))-VB3;9pNNI$Rz8Fgz_Y#Ys`HOpVX2$I4+)$`khnO8DJx@;zps_BPd+WZ(7_ZC znqu{}ZuOwM)|?eOGLMMx#z7QBIA6V=&9Bnn5l_62#PBk0*u;CR!-NF@icIMekTX8w z%IPZLG@)oEfYxR!fcqGxlW267rB|i8E8}OPTLDlq2=dZ06yqpWkou*CgXBjQihPuc zg+BUA`^2>8qMV6TXp!Jvg(jVyFmNgDL=6tIKd7Egx0O#q3AZl_Ttac!Hb_~h+37xn zw)XZx;t2#g2Ir3u_mk!w$L1s`y-}EI0^!|v>H-bT#Yo89y^doI?n;4d-P9E547$S; za`3BifJqgKfBgdKz=xHQqy@&g2wcfK;wHcP7Pkew-vm#>SYv&0ma?JVRpc(*813(L zpKTv^d(7W(HEYs`oPW=yBj=NfPpBwD@G`qp@$>E+GMo6irnPZSR9(nnd?BG>@G{5U zru)`AWVIJUog4k3+|N&joTQ30Kg-PGwA zRz4HwH3hKh40JL}5my_E6!q~fbP0f_e?#UK4yNL_k~LEWhL_3ijCbVx(;_lqbF&J= zQ|R(%o?9-!x<52@U6*~uU-Nb@qUzsN#s>%3QkZ5ceZh1=16W!;H$ zbj8Q8SH}~*2ZNIddye8^N14fokPHdORpT#)D){yQa!IR_g){6A=#f|f&vAFIenrLh z64L{-$Sob(Mnxk1xcbyu0S>->`|AE0yyZ;u+psyT1Xhz9ZUHosQk0JGY`*dg?DmBT z)8q4IAWKJa)B6do1Q+XD1Q4hBh*J<7Va(a`OKy3>2 zFb0qc?4DcnZ0*bMQ`0%XoXXg79Afbgx!5ndCq$)n&?t1ld~t{wwTzU_Jsbx`)=Dg8 zza$HHzO`afLYwe$+qrR{d- zgpjUA$^6S2&FAv>9r-zzKRMl>GJNu>QRWSD`Fp~Dybc4mftISU=xVyLlNS?l?s>CU zVB(6s^7@JzBlqNDNl~%+$#$nc6Qy?PmHsu0<%S+IUtId7+qR;qo+$IK-fN!){&#cc zB{3R5wAl&$Wx`9^E)XDZvhDHv(66FJ%@ZybNDifAvdr}QVKs{kUtw^Bs3X!aw!CSH z!c$*_!NmnGA`bz3CE~z2k$`Jklo^$;2LaGJ_X^GjxT>eW&q2a2K`5qeqEP(OUwCf! zq#~W-v!!bb>hD@uN5X{&gvP$Vav^~zDVqsbGGwYaK}K}Gke^o&h&vqK$L_4Yv?mxC zF*M!3Ffj2ayrT{QTE%aRBvM~j=;PON)kQ_Gb#@*J079;mNq-xWWIYgOr~6Dg8AJY> zW+jwe?hBbb2-WF*zk@HVcEt&SXjG84E*E;vf-Z;vm;MFx^ddn!55+@$^nbXKKD&iTDM22X#2vGJxqXd}!~^hF~Jbt^zFC z2YY1PJCa2luU-x5`rtobEFAx^aD|r~;s52~b%b|B#E3j!4hOCW00kyQOv+(A77Pn? zozQu`SYy zvdQnph5a?0)biIphJs-yFE<_h#^Bd0a_W2~J&D064%Y~O&bz-C5L7?hynZ~#;O@qH z7u1VDXx`ja^^d~x(R0KaIHq7*cv&V~#gW0`i>JyiGU2rZNtPTXh=p^>uAjQ}^m<9E zKe*z;=0RN3wd0W0NshZ8f+gZKm?F5aPdSPj{|;&LEw%98c>iSuEpAf$(Zj`KK8p(?>k*bNO$*~w zNPCQmZl4t3NuTIm5@vx~g@9?nW-uDio8;+Jq?wW=?>kO{)2`6DoxI_x1MU)V{wOAX z*_P2Pa)7*+Ra%@=f=9HA=DOn;Ne_c;a5WO-r7|)UT1-5=Pzx)NEZ$6(Y=-D2J{a?3 z)0?3O6Q8YE9&<6w9B;*p>mS21!;_QKp%JcHoCTUQ$+ykdyc?1_2LJV8{D!TI;Fr$Z zF1=QQZ6(R7v{4D%GB(x%#0oQjH_ryd=pD8CaDsR~^L`P23_X)DDtN>ra?8NbRm_iVgm)m5a%;lsPtDd4@GhMmiuw3essRX0Ut|ttE%V+~eUFlgebwd%3tx z_my}w#5~~{Da) z3pJ81C_UYrJ3gBn#s#fkMSU6q^^cIbwufsGu@jFC>@f{q)#a>KZbA!iDv|cx$u66V ziK``xZ3OKy9W=PWN_QKf=~Ue@KvS%uT~8Cz*t!XVW{3QM|oZ5N-ix ztn&~l@EZP$f@a@%&l2e59lbg^Z40o`bX$PJ2fV7h`VW3d970$+E~7sX?SJB=}wui!^b=vjQY!RS*`%%k~L*tmY)#hFd3h~O2f@e z2t@Ezj8^rw-!4VG3PG2C(aYaK%2Mh`LyYqWS(|IEYP;&&DJ40}A47$PNFX^o5ef&8 z2FsJdkJxyw#kaK|A<$_sS|+crXYm#9?t^%cY}^U|^L2@!SsouO%LN9Wl$o2J4puD& z=9Rh6*BL7_qq59x;81EMBkM50NcEy3+GnBYh-wi8PEjHTS1ipPwvjcfAn9r7pL{lOXB zbS*a%S%v?b!MXhG2G4QCBSpupi##EFBL!yl|P*5Mi--TpiDG1R{^LN3y5jbv$Z zJ|UBBi7$7DgJ(#v9y9KY2_ez&u1XJ6Hxk!!`}Tkb!q+oo`_C$k2}Jweptro&|8W3^ zY^B|7!LwAAe;Y0QuGwH?O+V?5CU6NHEsrsk27tjOF`0~?m&g!bZ9SXd;)gyO2{12~ z6?rNwgD1Tta+8*FdIsxwQMuRL>-BoRcDbl@Fy#;a!GD3XE*bVi!-vL9y3-z?(&^WF z`+KXk=Dd+VXi7ODfROqK)y$p4FQUqt%cC3 zi<_-|eo<50C+7dXbux$~z9ARv|GQ0S{^V05{2N3V#WW_Za-sKr*RY}=K14c*X$c)p zi)uUWztof1>PeJsahyYfyUZV1(g2NII8p%R!!**vJ+VC=9qU28_W)WK=*!!y&FnoP-?4_Fg778%K47<3e&${cS=zc!r8N zl3o(9kw#xh;-9nQviPe3ZgJi_J3Sqb78tmqkrmtx(q9$*CYNs3mKZ82*#sCD_si_H zdt#7Q!GXu#!cfEsF|UM`weOm7aTTTUUx`0L%Oec{S%&Ah&XM!@iP=X_KK(*oP9!rz zvTql~gDicKR9U*R_zAF$;y_%=15gtDkPdXB6M!kO660D~*#^B#_guFbM#41n-Dfzs zGajXJZ{;LSGGgcfvV3v~oKrg+0&{iD;-vIs{qZaAXplW5U+$HY?u)znLW54w6WRP- z7s5I7ed!9s1r#fudFB~9i%NO@G&d2GF~&E9*sd>X#0rOl)>?>K;Tv>YBUiv8l0juS z0KON{GUB!pPddRy{)&V{BA!U1NF11jrKKetB9>BQC#2XRPY5X@kS?et*HFwh$~Twn zOJSIE4b0UO0iylz86a{UqChS|jjc)T5GfPQEuo3dri5})jZ*4OX{-?b8I7rcv=Ey& zrh&xWa5(XQI9mzj59dt_r?B5?7K}uv_|UPS8^_0YaAq)7Pz&nh?_DV9eBCNWf==L6 zhP3jLoJFTzG&c<+!ca8g1^wrbC|EaMHs#3 zhw$2W;CWF))+~B+5C>n+MF(6G(*&t()tsG2d5n6r^H>mnnLbPNFuY@(K_sUS z-jyc_t<}xQSMcfYzmy0K3yXX*(odR7^w;jhb+dzGy!zpk$&>WNH3VI!TC)!)v>@=R z!6{U>9F)eC3Q3~aWeYB?EV7d${+(dL&ixyZo6ZYQ?TEk#_nORQ0mMHb7hGU}JmvY0JbSlo@c3xPFiy|fvD%2pRwO`pDNgDpYm@eA=i7(7tADb*2M=jDd8Efm5sTD& ze(&s*b%SMQsQ|ql=|IP43eAcWr0iH6ZOyolLma59p<e6k+i^Qrm}+_hOJ&9H0x*4_1Mxr>%R9Wf#Fsnb(~5p^ z3+L4HK+eWg9tb8TcECrcAsvrHQ-zk{s!vX-b)w&}<~O%a+pQ`Qrcb4G;ara!qgWpXlvNblofbx7+O39Va!|tMC@`3KtxJl$Q&uwvrkI&Dn}BQr3c)Xon5r3 zUnS-9pQA=}#lvAyhQ?~Y^cofY02UxBIaw?9^QuE}X2qls_=OPvIaUz~CCjNUw!K?$ z8*oSQ5*aYE>}xk8o_zWzKIx^*1W9=LOk?)vT?p2`pgv#yj(6t4{1WS#7WG*W1m5 zc|9j(@aA%y%vo`Y-=ws5-fiOha?v)q`pT|S-Fipflv#Sg?|Q%7$nplRltA{6$diIa zztoH3wV-HI+142NR%Dy1L>rPVltd%a?WwY6ynra|Xc9_Mp2wSzCEHAHWi9l^y^j?n zWWZz-vW+YIZqwoh@|umtOf7gfxvlJyFrg&MXO>3Z8_4XpxPq<&VN}} zpOffMs8YcNJc|#c415t1&!Vg-zG^2U+#9<%kM63;%22EZXFLcvH7DU}p-*7{X1|M_ z`96<|;ljBdHf<~Y(Rt;@?d^?kwl;6<-rU^SdH7&+ns_59TOx!b){*7rS(zo74-u>3c7$D3x%802-h?1o9b`w{xclfR@FivP{VLg#Ew!3 zeCyTMb>6&;gCR<;Mcgf@B(g?v?HjTyfhA01aZ2iTf)qj88B@uz5BEwakumTOZww|} zGNZ8^!b z11sx%^NY~^IdlU<&M0fDfvn$Ih85f#PPtxz5#Z4~9`;YhM_p?&>RP!fBDGemmT4kz z`S_mCZt#)~r3%kn&2-OB50{N9mu!x8ebq~Ku32r)-B$nPWPEbJ`>emhT9<65_D0Rr zF4as)6A7amiJ(TVKp{MtIOda~e=-8k6*g)|h!oO!wkUjvgQT3xfB>f)wpL$a`r@6t z3mPYWPq<&0P0o&~BN4EMP=C`$>Wu*p;wgVFzRKv;f%8lzrx+!0&laXO6j`xL5&_Vi zyd3o|n*GwjizqVJJkP29b4>1-xW*?G98T|lNZK1}e4keX9PTD2kNacHTpp`0Rr$RK zG!hy}<+8{)VL%F+z%>|J*tC6Y9}r^75n@@V3i`Foin{kvNvGlzO1k$^$*^b_3WrZo z`DBqOR7t)@wag$YRIm@OY)*{o5UmgPZ5$#InoOFxSj2$j2bmW($KRqx%H_18#h7TS z2m}{K*DYgHq^Ye+ScWhiHPV_BT_hZx`(DyBk^!s|HY8tV>5RHkoQHnb=4+QeP%QqH zU;F|{{v!Lk|Ky+j_TT*%`U;gxO|LdRr z@jv<7zxEHeZDD<1Z{^vja&42ovzxrQ)`)~gB-~Q$Q@!S99 zU;e*;^Jl;PcYpcQ|L{Nk?Z5gLKmGZiDv^Hszx~B;|MCB+r25-`_K$qw0(~aAflCWG zipB(VNtJ^9RB8zoQQQ$n)hzYh&@}_FN|fmdytK+Gu5^dv#iz(3r;&p>ETvlN=mT0Qb|o%AwqS>}eLsg70OE3nv1$D(Na`{Z1&DwfWe~MzAw{0) z=oF$@2c1|Eo;i_xe{P!M7`ZM{@{%pN{lha<athH%1sa$iT%lZ2i;{?j=4K7Ssyf^tz`y?mm;2l0Y!$3Go=aZ<$vQU6m#$Shpd= zjs~abO~&Mk(Ga;=K$QVUNN_b>AIpl|qMmfZ;!bdOheM>%W`JZ}&?_>!J-Q70*3wG4kw`v5-^Q4{{5hj@Vf{7VfW=^k>GBPC#Oi8#^&6x zIrizk=z_Z(cB*vp(DtPN@WIx){9wx-hN)L)Cqu4w-Q$5-IV*ZOJOieor79V*MB!Q< z6hv3;-C-Z$_MEzcmOd;hVnS++Kuqggzc?A$0$3gYVnl!UeZzj|Je_kS(G00PNC*6P zg^co3WjDEQM(>dbtPj!fkr6<#nqz#Yli<6<)6?V0`pU{@IQ0p_yk3D^9G`rbqlzvL z5#vC}INqVm6E4cGVMScn0AJvc`;Y1xUC+Mz27B|^nEC9L&AP><*8mUw{1pfuD`(Nv z0e?AugY*rw_w(>;nE-;ZUWus)>I>i|t5v#k33SL=_EMHAM-<+qCV5ck7Lkb{AC5|w zudRCdfJ^>r|OQ)vAyNH0?+}ik~crg^@%77)<1Elseg}8C!#_j_` z4CqO*dEhZQrmm?;OAz%$>1o=~jm@pioy|9HtE3&519UNNoQ#z`GxeZ$$f3hOO3wUZ zuEOhPB#Ui5ze4GcokFa~(K4!Qy{=krjInBwBOn*FHCxWH)E`4{VA>`X;ez7>8M#FV zyAq_My)i)>fKj_}>!h%O*fR>dLScpce`Hm^FqY#eu{o}cv6l9J!z6a-`o0SfkBHz# zxP%s-odhwU5|QHc8WzoLaW_tRW-6)?3~TjZgwz{J z!`7k2g=nk`7G+A88$q6UEe}%WGNg$oz`WFn#MsA2Ael+&3h3@2^^zt?>W@Ot>LE7b zS$~_x3CJlMmG4n0`L0yql2*TS>xfsm;3MxHzR992;BpJ^OeIq);G()A+9#wj2pS+&H6}jtB&JH9aeu_DuR0lxHa|rmQ0D#3%&AEcIDx@xBMg z6sP0U?(l(1;OjgohV2gb$zAYxAEE()tnMWzI>iEW(YaS5Qf`VEgUM>s@p6j!#x|Tw zoA>WM*x9{(BPhUw{W9%$uz&A>`Gpm2ba-Ib%R7vyoELO`qIp*8sS2vTmQjIcY6pSc z-}rVjU_}~~;S~`KNU>BAl6EpN8e~Yy;0asM=8+Nr>4tbJ)ZOd%9^Tyvh|1uWK`x9s zfXln-pl{yZg6l89)&-;tc*G9?tK}SA{!zM?tNhnREzk~ci*gXOU#E{=k)#xu4kn2v zH&XvzG_y>#UgZpMi#M7>SishaQW3 zshV#a9Iv#Za_ttF0*v5OR8SSp6WZ@E1NDug(t6w$@+qs4DCWDCv$o8y%vNJd#jz{2 zo=@vf-yP0!_Qp+PDeQ>$0vr5NReF#k9GNnLQq#Zgc*# zX%@?AWGPSi^|DNLyV#5kB;u^+fkSKxoDO=j>blibxrW=Gem_KCb$&oLnUod}=XY@H86_NC=eK=L?J)gB5MBjx$n|uguOa#CmqZ>ofK7 z%d&bZ(m^#9Z1XN~Z#p*dxR~dVo#y(sngwZw<-6;e zPC?%{B`e|_g46XK?>$Z*%t9yMY=h2qVJ`22USs$7zxSXCmcsY!QOFAf=Tu0OmP$Q`qt*ggWZSsZ*1(~Y#KZhJJ`o)gY)8qH<&f#UkB3RF7X$oAB=6iDFaCMj<$4a%Wzo&d2j4p zg24NGMe1_q?_&Z)1ed_JOLmc<8ChaIGwWlG*MBt-7AdoyqB10?=&bj6uWrpTSfKZZbE5oAUBtgd3P~Zz1^=YW>S& z_(RHONGiI}<|m~>&PD@AnaR7FrR2UI(Wz|Wp!jf7K^7dmSYS-Dw62BLyZhZ^Y*U84 zd7T%IH8EgP7+m_8SUQxSCKt#@<0_8ISttrz5%x1cd)Al*3BHM^0>jQi+uCDT}2Ll{dD}_7GF3TcA9_;0Bf)!8zvlyAr8K z4bCn9v^Gilf|c&fv5AwU4p80%ve%Jdh^WbS+@PWjwE&m`c(NF^zLYBFqL!!nicL0g z&_gwq#i7Iru;^6!2)J9O3{C6J(o;Wip(=AD(VmsR6@q7Q*N5NPw0Q$*X{`L_lc3yf zV1m*l)I)LUcuLuNOU_Q`Nx53;86R9>LqHY9(9h|-h1pjMH2~tSloD??Al|(wTC@Ct zvu9Uy7&Mov(F)o6t~1b4fJ%y=*q&4T{F_CNL?@wD^oBZKG{?<$HKCNwKGl6~GQ_If zlI^YZ5iIx>?(~yQm4z}@zI1_koDRC~JUQQ(myo#9#^ltD?Qd0Q-0`JSsysZV7p-7+ zz=ep{v^&CTX!KBo_J2hsTE{k3rWGVyhn1}{?k`vXD=wI^6TWRX7GQCfe9%gP|1PG{ zx;yJYlq_<~vL0QAOxETF^N6O%%t_=IE|R}EeM;&V=1wwoJUr2m@DKhgoWwUy{OI<} zLRiq*WSe(mEDrWDrTZgXPY=g1!~?Hs8Vr%g@dIzaa0(-6V1h0E!M@+Y_j^qcX6C1! z5y9wm6Z!;cXqWbDu00u@R@;J;km!SMMO{D(MQ#pqa1K##i&<1%0=E5bqc|cQnH5xj5*qiA zu;GOhQ@zvvzA;)9q>Ycr;UTJyyHLad)DQPh1_*BhR&iTQEEPwD>$Ap$*DWR-XQAbC z%q=^fnL@xpFn;OdjI(@5m2vIOBflP_FRF3~awWT>w>Iv6ySe-Ay&HG#-Pqi{erxmk zufDnW4|gAJY(0#;wW7?V=BN<8QlwsmWO2PW?J~vjy0*D>@A}5pJ8Mw}VrF~u1)`U9 zNS3Rzpmf)fZ5#@{&Q0apcei&o?p}}RX2M`z(&g9<{V@nB3F$LKTRRW8H@A1c`JH1JS#!M3T1mQGg~^R62S@wh~`~G>y97Y(kf>qSU&ieydA-Anwx8y zU4K|C%ctf%~Nx7Cro7ON+gwS z5|Ew4Mq;uvspd-gks@W<{v>Y`&&xe=^QtmMYbGWY-9Ao@-3{wtVG5_%$J0EWX$hf% zNQ->pg~{i<}B zF*}!X1W~}E$5Sbn!zOob$NX?%4dU*Kstd`gwiuU4G6HjX$xI!=Hs@552J6S$gIX6^ z&&)e^L4C1h3bm~h>&0Dz6l-3}gQQ!boIDob(X3I^b82U-NNL>}onXBbC))^CQXmtT zh~Zc%;UCGOE8c5`<6!+OQYN@ zaE8&WDKJ$My^S22d)~|;gN&DEbi#_{<}Y7gP%D-pvGlo&?8(vm?d8tzIrVJ5B#xn} z0>(;Hbt=rRc!FzMSX=Bh?rqo~Jv%+jE-Q)RHmA#>oLPBGu4?{PH;S$^254{mgSt3M z^fuZ`&L8UeBPd`Bi*iW;fI4Q9&5)8t4P#pC#zlss;$gJ{7E`oPvwclvRb)lo_!zrA z#m0Uooz`>uxk2X8+9WSoCT6%5d@UOb8^M`Id^!$+X*|~vA#iyKv%R=yR)@)D~0wDc0V5RIl@frxlHdP z@`h|Bf(V-}beLrOB;e^T5QsR&&TYkTg(Lx{btMvv`U?5}<{m%9NoS0$MY!YR0f_oE z8y`4DG8qmyc~1t28%U3?u^XiWoQ_M$@FF(^ZlqX5lR?sQRQ8bE;<@!K(m10|vKYHK z=NLsj9E8qAbWNzv9t{Gw%HXA)QDVvM6W+v)pkefJtK7YV#ep}>iLjC&E@u>A@i(AC z80vdFw~(Ve8S&_Z4f!RVvc=Kx{YZvflbS5bERLp`i~Ts4T>h2r0j`$i3@c*;8%LXJ zCOSEK4(n(TXCnQPj-sbrGP26rI1G|6=p;};HS%zE>H^9#lXf? zn6)Yiw;%_0b{=MY+}*;IFXP^%PzF#w64k9j=eh`a@^GGCB)>FVTZvRS1+*`#cI4|9 zwN)mtpMXJML;~AKVXcSGDpTD?Jt=qHFaBvU8>|#mqRFWI@Xecwl-Cia!VOK&3pV1I zB2?`jHYXl|ED@!=r@)aR$ZRLCn8j!I{Re?!0^Vy;DH0syq-5w|u^>*L$aMjpe5@Ta zB2+P-$~u1kG_jqd*%4QWUW-0Q;IUql7rSY<{BXPj(ivCeHIL~OnbK`Pmr8ICgnnPB zPvtz))y6Vl9@D=RanG#xP7e{7O_pWkrLoUDAiRNET)^O3E1q+CH&r4Oa;&Qr0$oeW zTdzMF4lZ``eQ`sXUR5Nh5h$=lGLK97g6!nSDD3Rt@Dwl0@GjU4k_k(xBxPC^xg-F&z za*u-c8L zsmbKU_yloU=Gb6?22BVvsyPv(f14mNj1b*M~5pQMjDw5r+hih^MaCsq% zg3mzk(_Ln{0C|je43$iR(8yrx{+F+5g_+7lSxy`G1dQj2Kc<2Z5i;%V(ZN`+>?!c+ zTT+yFQIRQoJ*NMjtep2x1_v*9K?hvL$W&iNUIk9pV}B$`h6Di#GcOU6Lec#}s+~)} zm2+fx!8@-IX8;Zj6IKFrj1UZ|D@YWn`k}-LC~y~tg=AE6V#5uGofni#%`SOC*muZ$ zw%;FM$XDu>YUTUMcw}?a%L|SH`G`}*Z=NE_) z`lnD=7%$}pRWATvq z^9}qGooL_;_c`cU@{D54xV48qM32Ib5@I6gF4`?^Y@9d0$tOe6f7R*jVOj=Y|6%~w z@EG~2C~2d{4g2?p-BUPhj%-^({XSGnYzX255u`|Q%Yr*L z*KrskIEC2tGQTI^gR=bN#E}zN1hI4PSDR5@GND%)5cvQo^0x@)_T8Na_ij8y+O#;! zSxl!gpz(LWjvtFn09)q53;lKEEd%U60jB#^0#3rcB51-%rNHD1VabmosJk0?qG3=6 zdYm;+9e#WdApBDVvGHhQXCunJuPj%FjeY?j{ZRz<;NI3I{G}Qg$H)?1KbkmB6(7Cy z61nPGpa^E3OB#Sh*~JVS4|i_u-nzHF6R@!PR)&auW1rl#ETVIl=YDSAy?HOdw7F6S z)4q}5;Co6n2a|v31mxemJ8~;sk-UnG@Jn}UfXcGQp>rI=LLHRMB+}ch6tO1`arxpQ zqZnm6%@lh^-zBT!Y&Et5FUyD!-Hm5aszyo^m8{e?K?f`4G&O$L|CzS$#Q}7D2{(np zfU8e;RVFC;iZ%RTqm~U{WUxS(yLDr6HcS-TaHH=N04H$FT9017UaH8=WQ+Zi6YT26 zbB>7Gpe^EF*8NQu!2kozSGebVGLhIEsR+lvJVqO&tghpuu#-lO6nT%G#vp$iDGnjh z%W&}?u*kaAVKP4DG?1{vXrXpdt`U6=hj{S(96=uqS{h7eSm0W_{^{+}Ikf)C=BT@e zqagV@vKt~p<}OrsUVG9vK?R%Jr?=yQkgB^T`TTr3;R)%Gp;XxJn$S>T?XkvDeL~)fCV_r)b8g`gO_YJ!vN)}RQ$n!b(R*CKs}eHnKI;xf zmDr^Nxn68WIM|VmDG%f4%3!i9q${8i&nj6@F*_c++nt|AvH(r$!K1{h=0%5Nr?f(f zW84z;2s9)pa$rQ0h`A*$eEWtKO)iw7&<`=~s#aJ*r&LUZ80m1R5*VDr0~S=fB-pZ0$*Czqmb4EDaJm$vc|uu6eHK1~1RkQ=-I z;ZuUiq@R)-4Mx!%BR_{Y@cp|U?6XLOnrZz3mlxb>>z4Z0E0NJy82@)h0^I}V7?;x^ zLgGCxA=B5}c?t4Hsz}ti%W%uYUEf{Q#<<=hLEKfux$3UPJJ}ZEmW?x4)vOmAev)3l zt#Qf|BppR z#EKxadqMZ#Xr=_+3-|xbF;_Hiysn(s3q3(rMaPx}?)b2CMv%cIk-xdTi63$bAreLw zR+}_n7zW1_sPpdFW~!RLf`)B94XXN^2^X}{{&l5`IQBmV!YEd|jy{6chanPL#0E{|Q-S8?ypD2yhfbl3f|H=j zsJ9Zaba3QpkVPC<B+Ozw+oIDsR}ywom_G_fp>VfWq8N%yb$ zHstU@->euLfcwuO$gO4rY1x+Ypl1PgxO@0T=twykg;S6|W$^eOK=`K|#P0nE_i*R= z=4Fs1w3Nmd;JJJK!RC$4yF0fxwxYldf{6xk8v0QY*OTat>lFVe>GKf}QQEAB0qv44 zf+T%bSth=4{3v$*a~Se8#Ey+ix1#7-oB}%x6T^iv#JP8fngl{fu0?ECVmA5xUyoTu z*U11h?1K>vG#j^&Zj8@?b3XY&*n_yqTdauVwwtwRs*FT#G~67>k>2V?w1>E2PeaU! zbYJs7Ox+aAPpfIvwuuR*iLxBUy_iLDMWRUhGU6LXz{DDzPJAnD6AqP(@UZ~N5ier- zY4kIFHAgruDluCW$q~agAfe;IZ{$Yn0xpc_I{Fqj9TUX_rS?;AE#cV2$i&C05>^RV z_JXe~>9>yfrTjtGy^A_rGA$yc(dA%X%5IR1D%l36X1p_Gxgba(Cr#sxyI0vA3)*p; zcW`hYA)I;nY!LSC2DQ$}@9iP3;#v44i*B+*AoJ38pyUDM!*Uk3T;yf&K%3xF^muEro}t zOY{@zP=8-~80jcOO9me4CfcPxq+=k8l|3Dw;)-b!P%sI7xL?_XEi}TGk*dU z851y)94eo-y#E8_<)}N%zn5V~Sg=SE2a@N}Z1~HQl$&n_Ym(C&qxNO3iTZ=Uy}{@? zUpOf*EG=!7YgAm4a;tr5m}X3Ax4@S~Yreaj&A;Bbzk4xms*Rs<{C+(+JwzbT_6wY- zKt^HJrY7k1wQtWNdMJx5aYYOSo#J7~lJ4r&mn6eeWPmw2#f8OJGPx(( z03*t@Vggx?=M4MT$49tlxWBmPKlo0%A13~(Cttt!@NN`ID`z-TS}Iv`GYU9MQN<$$ zIA4bOXdVI-UESr7cDHZ;hf(x13o>0}8HV=F!DF#9nA_XGzW3n9?t@JqkQz*bSGxO; zD_k(!xTM7~pGt?~wACdUt;(deftgxbKwp&>is&4+bfp97O(^Wjbsmu`5$m5}7(z zvR(eYy`ShJPL#;ibh@CRTT;Gq)IAm@G#O=^xlknBoJ1f~L6oZpj?>wqqRh;&$;g$h z*bLtkr={Y^Q*;~0gPSAN6vb>&#zvJXTT31SKoZ1rvErnpj^mX#j*o{gHR~5osKc0u z$b;)54H3(Cy&h3EWd&6rV|bB*Y`U5cN}i*s+}JrA%dZ;LX(L=C`JB6)SE=TE5<=cy zqkFKYvc=svpO}rh(F&T&04x3QWh~OIKMZf~o~TWx^plzAQ!&a%(MWVd!al?@FR)Ft zG;oa}huq#zmXgr!O)~}EWYWQt8n7AEYI1r=#F%J-oEme$_L&6VJ0;hLwmId+jjBaU zT{P`n2-Q2CeKJu*3lp!KpNj4fl%Jdxd4cd*K?3)OQ#Hih)$qO%g!Md-Tj$#Qnx#fE z4c7 zmZD0+MbrG9%4;u>bJ~)MW1B7?Xl4g}O(|ha0!i~Rs7u$wX5>US-F{a?g~gEDqPov^ zjQzmD=$Y3aKJcJ9TsUHdoyd=2)aa)v+c2FncGN!Laq%7j)jQHEL$NG4dkQJD8;S!J5wn&WaPn=V+$X{#JC}`-zsU# zPNX^<6BR(_!AvES)5o*$+fEcEqN12i!S^;fbiQlD>UX%kpZWx%Z}dP!kFj6U$&JY9 z1u@jC68jLnlM{3!v`->%6SN$1D6{`;z&iy^ZKOX;d_~iZ>@eeJSfbur0NPG7NdusH zG#lSoxh7o3U=ln#?XX$6VZ-edtN2q=2j`bdk&SEAC+>u_`?h4%)@Rb&jfm>&kM;f2 zrONl?!6^71v;j!%DVxwyH1GuzTOA922-VvWi27|fBpx(>?w;rr&=FS{OcbE_Oy3{` zxZ;LVWRy5$DZ)+FDy)21CYdPUHJw{_{=5XJ)t`S}#_W54qv+iQH?!rO>-&KmhcpCa zhs<}V+y{l(F$Fvl=D5unSh5Th;y%q3V@ccH`8cd_5e2lsji31fxRIgl=O@_NK#`>n z?(y{dksqmn&dg+klU&gDrIbPA^>kSv;cWnluHsTXu((+p)9eCK;)Te2)&3%nsh?-z zgs{^M{G?Z9P`s)xraKnpbd$=r>AP>SP>AM0M-Kg4K+g_MH?UXcwGrKsmK@G&mk;BJv=H5wrYkB@9q>)YK4 z_Jp~*V|^2*if6D_eaSe2c>Gni$=N^VI4pe4-#-)AiqMJ5M8C-n4?~sCgt{dK?W2?=!KQ%w zQKN(R`{%fKq_m8F5;$@8+d^4tAWY?&+;}6^qJ+uQYej{ml2gHQU86kEoq8#x$w~@9 zrIdb?V$76KUPuyjkt5@@a^*$i5(1T|F|A-3iuz58xxKEkQo8HK<`F!^lRhCxGg4!Mj8Xi02RAg) z)RC9EP402Y2jceaRNi&v-YKok%z)@(|J@b!FUq zu$xBDT}N`@?(w95`?P z2_+wGA_Qt{YvcYl5&-UO-q{Y(EJ$B=R2no_f-?Fh#o44anq_pU=>2W?H?IFG0xk3i z>k#V*RWyW4Isk}LstEDH=AC;xOjn3#=DXK71HzKg$uDjJXi6^tX2Gd&=S4Llb~&yt zzjq+O?xT&ZfGr|*fyNcwvV$X?k~}P4nu$HQse-BMoG*bD9<$=p$H<=Cd%l4E+5o{R z9Hzb%F<|G4C=gJ-@%(tCjk+GEL@YMP!yVDETbH3y;Xda`5n*p};m||mAH&39r?IYJ zUlPwxK9$l)+4iD4$wp_xp*9-GW6wn%Qk+E|umz-p6Igb(jBgaUaBY?u`3O;INLI(u zs4!b6FGsy>Bb9}bI&2yV)ZkabzjtMf*$RxjL&PvLQLO05eU2iD;PrcG>hwlIN475I z%w7Em+Pk2r92y+P3)=H0=8VmKk_G*rZ(GVO@ajKW|r8>V>ZkI#`EPv_3kb# zz0N*+Wu4&fLM3}-Z0bp|V5qSc_qExtvok?xo8tzDf8$%>f-vo)|Oq<$3mUu7ccwq&hWLklAujet2kzskJFiemp7ujnYO6>b%f6-GO1M2;Z7{>}!QfY!4Dl+pMF%pOja z$u}7W5`I2botuOSy^aImrFl?k{xcFzcc1; zprK-zx8tJQdNY%aLD+@b;iE8ILUcnTd09|xt(4cP1Mq09BXKZ;eP{85+$B?Bv6xZc znJV;l{1*B@T_vI^QK}JnK@4ppDJhRQ;LuKF|3<7OLq(^u+MHq@C(Lhb{5RI0fb?;^Zro@q|vpH__Fhb@g9t2SX1}H(~ry6@%5sG*^j4ysXKWb8D4r z^A};@C3cXe=|KAt`q>DK{8tPn-`oassvF~tj6h{9kvE)jkGjKzi;<>24VqLAF508; zBmogA?)aB~pyZWpn@}L@wuvfkbSx!q%JBM!@cxJ38N~*QdtX^O!qq(R-tZE(P{4fJ zg;Mq*6h-~MZa>01UMQb@4VBy_35DYBeJFU`hhx7`Oy0(YPL2kX2^>2mCGArv4$Z0i zvItaP$Hll;RaQ>khl1t!{l^) zBG&-na%O(2Z1aUWr5xi1SKjfl(+Z7A-DARo?ww;a_ayw}e;dcR7s?m@K?dJF*#O(4 zjIMjIp>mI;Ui8z^JbI)1BiJJMWD^M>B^+%b4TLti9UdW4yuUL=9BiLIyA86s(fE1= zYdiw?kOX3~60$+8xKayn-%ie-{q0}>qksR`{})FH&nNw7*uDY3JsXbqc$!eh&BIw- zK#k=A+JG!`aH7FPo_I0;B+dw-45L$o11v67R!|ESG~Gb9^5jVcFFspAO=SY+mq%pM z#&8&_U)S2)9B`lAn~H=tF3Dlo^b6nxNbm#v$9NI4SxuptGNAFeJPE&o8ZXCZaH)>C zW0{RdI9dr0_p!g|EbEWX=^(~+AGpp$IC2>qgqUM+LZBG$3aX$?MXsUQy!%LO=Y;^k zyb?f+v^p3(s|b`^xZe`@nt&8`B_i+K!H&Zbm8OF+RuQK&0mmB{3Zwy>JV!uD_Tunm zcAJ}%vJruO!qXi@?xWUe_Wc>Nh2gH2-t!9C4psNznjH+~LKeGJ1?tY(QRV!s|NR6v zWwiqQGXeI!__%QEA>XpB2?HpLu66U2Yc_i z5W8Y66mBKbWs-I+yC0rFhwvZ-36EzdNOn=UECDyiSdrjgK~He;R9|VX6eck6jF{5$ zSC{9&L%PZArJX(ofmqH*)Oo|0U! z7Xe}+_bA9A_XTd;=pzuM8M+(cVi_kpph#gmyyCq zP=i2q-tm|-H@m$<36wxX$Q=j?%}svTLq9~< zu=&xeK#4&{k0mmO{7ksZ=wvLjxC9~P#0-aS)Xy+9yb-F;;f!-nto$Op`NfLPKMv#R zxPpYehblK686syg4)@006I}Q^ zz}kZgt8f~7@a!3mVV`ynunv+yxY21089L#ePNOq9Vy}V^VpVa?2U-$$m2GZW*E8Sd z3oWKz$qT}7!%bfc;X1EmpPVvEhf)|$*3F4*X8B98>^3KOTm4;4aF{-Rs#p^OH(Tr01A?{g+j|$LrgiwQ8$yKfk^4^i z$HOkeBlHZWlf+s&$ZZ%+cFi57b{dnw!uc-w8;gvVxn)QjDD?vJ(>`L)`sm;U+n$sD zt(`kt+h7s~FcHmYDN;Dj4ZfaRwDhCf?v&Lt-t5$`Vau~t&4qbtftUzDlLB%Fo-#9Mcg#nEN;G1{Rto4gt2M~5WYAr(GcIJbAG)t0aY1#7EdkULMkTl@B^PS42YbJA% z9N0m7{hcRA5TP^05wu5Wn0Zl@T}BcKA!IReQ!)tp#qd)mH?V`gEMamL-$XpU%dke0 zkpXT)kJSpbS)e0vS%9YO7j5Kpn)G)DaHC8wS&sYkv7cD>!QTwVSZ)8~!fPa*f?HzIhhh zc!ulA@z=F#>+0!?J`(R<&2BI?7xtpK_(;Tdww&EPJK96$PN~JViRoTnYkZkC+R?t6 z!}i$s^H2W77hTEP)g`R{8CF#UJ?eoe$NnkEPP;ibOlh7_k-h9Bf$1jtY?QPq*5B{G zbk!a8Fc*LG-~8`C{ndY){pNrEo1gyXzxwIV{we39Q%F2fM?#&O!U0%&7xByk7taQ# z=3!GBPX^SBNWTnnLgKIxb-h{ZV3B@#v^RzYu&@bjz=`I#NGmFGzr092DzZ~rWGyQ3 zZE1;iRN_u)iAGf7IZCiMvMyr+WQ+7Mvy;_d;?I}aWZ+Z>Jbv+o7rY#5(1>d7WbkBodt6zNf$BX#;xVpUd^cRn7 z_;(5KRxrY!)u2p&;Q%Vhbu?5C^S9#_pod0uz2vFF^2s#b0n1HbOv3N(2Hy3;fm!^5 z{ruxUM#j1bTtN3fTE6z=$^I8B&#q)g)RK5qhxmo9j&a;;iS0oSNugZDY&JjBl5uOP~#H8_)-hn zn~_wXac%uD>hv$*NU_5(9!o?50=tA%?iFj&zd^UA8!&7&kp1-(g5w&h!El^`Gcawy z#0y8T&(4mZ`?wV|j3j(Aa^gk+5D@8w=+7u#l>F^Bq@%ZBWLeJvG3Ud}XwnZ(Us}H^ zPe$=EVb>KL5FU%Q!=}8U!Om#`#lRJQj51F-cce)c0x9Xff?BYDCh?a$gJZ}q@d1!Z z*x#Z{O5M7B3g|!JZiGl^WfJ)*+$6u)L;Z>r7IY`T3j8WNTm&n+hQq9#H95&RrEXx}(rheaW5&BjHkIT1k6{m1+ewo5(N^LCcGS*H;#e;3_5mk0S4+4{2 zL7Wz^ZZtS3vuJSKDcxz{xLJGNSBT|EX$cQ+8X$DdNHL>#Rs__V1_;PoDZ7)Pj8^QU zl>@Z7x@qO7An1B(r96&-T_A;ZZa?{S`IAaz#s9}E!gt-C!wQ&Wundv73@5`00utb3 zIfHgif9NSx{w|mjI~&vMv#J(z;`aN=H5ds8%geRea&3CObNE0tZ+T2lO^{pfSC6t^=Xv@L_p;EHT=jR91HUNvgB{HI(?A z7V=eDr#_deS8JbRdq&?(4*UJne^9^4mFsgZ9#`eplTUw%V~5GHGmN5t_luuLd-?Cx zXn#CYdG&WblUHXAZJ2SQAzm;Qv9#Xd74oQ6J`<~-5B9GfbXxUZ^Pv9uq&G%->#OvE z>0IQb{HUkm&!bfstuU3gk591aur2np2~2F#F7I`p_fM8jaE2JJj+MQW@e6EoFFT{} z(_eZ`dm{DYn)=2Tk^%%NU)ehw4EMn`Pe$k66KB3dOQXIRW2B1XlTQaIyN&}!Gy||Q z_xi&ppNg9J{U|L+R`=qWbKwZNC!$Lxor z;b?O8$&)9aa+7p@W#z?-7nK(c*&an8bd`JC{F*uNQZ$CnZ_vreVilu~%$ zci=eGN*OAFs#`74v)$1qZZ+GLb_*py$~LOCD(#NPYeh%>t0$k*ym4%)(dS@GWod46 zENVHH$f+Ls;rDuCJv+nEdp|4Ei6!4Y&WWXH7baE>JXFtC;qYqIhK)A(p~+cR>tyY< z%37no+-{*nYq?#+oMXAxS~CNWG#jm~1|Dg&dSI#ATBTWUW%Wv9ZFRX)Tg9(c{6d{} z<9r$X+1jerS1W64ol3R2n&ExDo&j=awb?_d8kv{HTeUTOTx+f2HxOx5YAu$<`x@pG z@L^qWcBNKb{qd;T#MEeKt<_4WUfXInD*%cQl{y(5Ew$^*_|#~gV-B_It3R`GygqP` zdI}fw)5pogf^>n0!IkZH1_4{|P&QU;S$(b2UTc6etDO#bvA#xDT3yAz9dJ8jTD5`l z_13Tf_5wpfptgH$lm?I1DKcAF{J`BUf~|p{A*k!k)va2!QK`1F)ip4Bi=4ZPSpZ?Y z3>Ix-UQ`;bI)2w0;OoK8I<2MxUWF(J zV8LWrFsb)Yt3{mgFQzrI0igu(Hktt9TOeAynYADgRy)`ErHP5gu3~z1K$Qk&=_>ou z;qNMi2T9pj7E;#Hz#2efRcWFXptFYRnB*;dueY`^Wg88lSH07Ntf+T@0>%fFXjfbA zcLM|3%Bt^i+Wze9pugoKF@NuN&k?tEfq_-;?Dtm>U|?P3_J|FzkJ|3~+2IvAyxu1d z{9Y@aFZ$TKg6&mm&gsXwR_t2U!*~z&9H3)yPV6~{cwx=%z|4RO*?^F5G_f)^+pAdM zu!PmH+F{M(QVN@|)3}Zmr;61P3wr}bO?$P1_qAFrYhp#KQ}@JjU&R8*Us#;6AY&0{ zCH!n+J?X6W#L%iip=@ITLvg49ZLGe80~BZkVd2F>RmTb>Yd9BHEX=fvnmwosP%mVu z<^ol(QoY6cFNIoMcjW;Zu=Jo)$I4e-6$PVCZMcKyPN%&L6@+?iW37WVw$*Syp=D!j ztS+MuohD#nh3_mkR-uq&uxY7!%fpXH%XOfJHJxg3y9e73cvPv&v_QvDOf9of_2$(1U6OeiIxNmH@BL)m`Da?||*lVF#kVw214}uE^J*)5p#NF*QI- zS}XNlbs5%4b+tv4pax610jr_jpu>Q6v3mj|wP0KTQRsdg*cQL>w-x|B0R`1%fIw?` z4b9FMsZ-Oz_iBdLTCkjHr+|z!)Jc#b2Ci9aQkiS7f*#E(#u9oF=!Xi>!SJC2+Y5|G z%?;$P0f0WibZV~Fzyhr*DkxQZGPD?IGH!!yz}%6a(7?cb;3#-TMEeCB@ExWMOX^P` z0Bb4Y9}J-KkACM|Y(h7H+DlFbMByJyDgOTP2+Y_arwAH~MH7r`Xz;g`jPU?f6nL{@ z-^pXbimq{zY8oOkrSgcF%jDg=CU(_bw=f(t5H{ZI)NN602Yxd~jBbPxV7vAUgSEW|EpQ>2)4*R|5 z_Ys*qzy+F;mj;L~Vr!9E=8%^{4`A+Z`xpEDN$+GJTTmf*)U^_Cjpr&ZA*ckq+kISV z*z4gyCibn5Lw)AA>^+v3PtpDiIId6*+;eQE`h9msHZi*A6GX;^ZY>IQNgkC(Un(6O zy1B-U4z5+*x=(xJiri)Hkpu;zp|D*Mz>bK=VGaL7pulK<(SptQr(zpfY0+SFfEV#qXPvX|4tz%1ldr8e`ez=gq}M3oU<5bR1AOkACa zra`;fHj>ewOio?b$d!`R6;9aGUm>wQiN@Bon_9zFc*gsV@mU%vKyjl)Tn$zdkE2fh#SR~GkzD&LVXZ-5{~k71_bQl@Y&PoLFz?52(HGy4l(L2Q;y3paRtnReis zlg~&@*^k=QMjzLn8tkW%LSK`@5~yb|2RW@BcUmiQ7!dj4tD=6&I>IyV9$XYg4>W$r zO(+?kr_z}=nGMW-5T46vMU6R)K5J8RzqDf#!}x$6BNb|)_qiViXQI?lG(R*vF10%xAeDDadd!WpqsOeNO!c_>l#^TpMrAOOzl+i58Y3!A#9xyp zUB%i{IqPhqN#90=kpnBVg2K`VH`d@XoCYSlL}jW#gbVfhQ5R0c(}=G`i!DPts*M&B zMOcBv1KZ5kjC{C5YRy;{VPhdWs5D<=pIA0Hv$ z52^3_ouw!Syw*lKN!)bhSR1ki^2i7oEeNxyj-|#3UrHp=S`q$>^**A4r=g3PpYa{D zk`gykC#LX51U^q>L1GRXOSzQ9GDFtYUU6UE6O|+UJ$ZU32&(Ar%`r2g+L!5lv=GIe zuRX<@6u$sQPVxztczrzLk_ZEjKTad{4tEg%I)(yZD(%#15-+0>G|cUE&LBn`Sup&v zrqjM;%1AkM#GheFfIimG?`6hB4S8B<82-gni0Wb_xh%3~d2bVnp_JxzVDhD0c`s64 zQE;!jRLqXK3E!m-egpAg(;tlC#p)D65_Qd!OAoVbgW3Hu8? zq?;6Y%G`!;DAy5(|HI2&l0d`4tHh2py-#KUM0v<+*dKW)kDYoB%SGH@oV8OVd8Bc~Jr%hddWwb$ z%k&JyF1vyhU`HJ?nye3w=irg3A||xz$Z}EKLdC42Xt0vfBxKpBBttSMK~+|y1WhS; z(YPe2Ir``yCwyf*`3Cb}mI$mFc1lDBRdIkKr`+U)l&i0wHARh<$Vq-;5DR`ZDD$4W zp;pkxJXW)Cve|2vh)0TgpGZiKLXPL04> z^~o5S%vyoRR3m?U1*c3Wy!r+SxY+dwc+ztu6%hdLuzgfZSM!MNiap5NL$2+zmM6zJ zBel4&ZtU!aGc+%*o)~M_KCzuu7z-5=rfWy_H!G%G6rpAxpPItfO)zb73uVx zrH;`p96%?opE0(pVmnk9?|umn#Cuwhjp@Esp@iG@g4B!l?PMk@HV(xU%KW=u?i@(O zqPMz}9q)CPp%t8h_=?KjR*&$#1MGpQtmGz0Y7M&D#jUX_^?UhRp(gawDHBd3hGxMX zs0F9c%UbRF3Z!fiLo!JEFje4$_qu$QeDIquCEu7Y6e+a#cVX-xqX^vNuosX4PQ0l3 z7JT6Y$^3$%yl{yL7YrNM59y%IWM<%+RRRe^kZNaEi9HQ%2}J^Ys_edXd0jF*W$N{d zlkRa&>QO>Dxnb*`zjRc@W?%<5C}m5fYPOtZp}3z^23Hin%B~=+R91~47F+TWp3(m4 zBdWY%lUDcJ%0NXoX;Zx{fyQnNI3#|vhyP!f5NHqhM zLJ9r9kX#OcUk$vJiB=36pVp8Cbv#w#QLGsmSwmS5*uNN`z+q?HsrNQSdxlnm$v)!x zQ4w*Wz$kXkk?0GvHR404={q4iHn!WKa3dM(h!O80yP8+BKvs)Ch=*m#FY-BKTKhX~ zJ3hVwW>(|TF8#EIqV7k8k##-#>qO&O_dxrE;>QNzPqQH%oC3= z7YOoxNx|r))X84^TBY=Kwkl+!?DfwcLV@V@qS=69LC?q;rb1HOvuPEuvi!EW83vOXdOr0-fE60HnP$7n`=F5&-zRxFZo6GaEKI9K)EQ z{WQ+o4M>oLtB@mcpe=juHRD0e$e3O(C}#;8G0Y10MS4BKTB~qrtH~>GS`vKPNpevs zs@4~eODU%Tu^fR!QSyUa%6h2)N&US_bjj5ts8^gH3~pUREGJ0H;}#Q8t}9F;+CAwZD{`lgJ(VwqzmWda6$(sZCa~`__Mm!KF1*@ zoWH(>Obx9@?GbW`+~S*d>(MHXmo*!=s*kk%k4HQOg^J58x>~!nhOo|c;oEYaLPO0{ z3|SJ8838#5syOV}#9tij!bko+#OcX;qtOH7;gB*)w3rwHC+CoLV^w}OaYC{VF6`he z7}6o2NE0W#TF4rL6P7q*hp%|UN>Z}Ab_{!TLE5%~c!7{(*CSRd8$@*$ir{O*Ag&BRlxfLS_S=yu=UdLmjQ~ zY#wlLF~vv=C*$-tj_B3TJ8S484l*k1SJs+H%7By&DAKC&upTS%cWDRMG@7+0AK}nm zvr&^nlJz!nt01#MYgICmtRgc5PP#tA1Z=Dh(GeU1#W~nj=18eEJ17H+w~>9N-8?5D zYeSr6ZGnV1s(6kJ6z%2~Xx+wnQ5&VG~GkY8d zmV1P=gYDHC@<7;|^Ewc1<5(fn0JU&F5?yZ8d7!U`ybU~>SVw(~5RL-k2q8wU&R-3T z)@l_5ZNcI~v#l`6AStTIywYqXj;x4GInU&Xm$Fjfmk zg=;wIio?G+cw7VG=qFlYP7h!qvjSN%0F?ZK)1C4Y=XCLt2QZNohtOALLP&Cq4i2I= zFzqllLP5dnsIi8_zhE@XyLS6<4Fk&Y#@XCMkev@wr-c)seB^oFcE=a%M1^GZSptbW zYB8iWSLhK^qtsCf=UM9>!s=SnKC}P$tnJ_sFUBG&R=@|WhU8RD;@w0dj}{1C#o(@y z(RCET0~iR7+A5d`|Kf}+xCo<w~&6W-GnF)D6(NgQIRM^Q5*K(V_RnaFe``t zktAQxcxp%&0wuh)c3pH_!jkc}6nJAv1s=M;iY$>Rmu- zGoP9M(Ov+3QR&cCP4Pv{pm;IQAM>EeceKYGELd?@YfuPk$SJ130cs6vceRFjhd-;0 zJJRD?23#7A&UIuP14`}*NjaFVkXd4^W19A(29*`nQBo3pw2^LtIj7*M6SiQFhtWlm0aC3qO6Fvs;iZncK|6(#Y1h zPQg;{AotLktig5B5Nk+c$2lU)M|1TY%XzECnFqs&c2^Ub2QhKM@mdDfv%+BZpEb2* zkShn10O|E$*Q~W}tudRWX2nDb8yXS#Myrv<)aGJ(9fE-bAsm2asVXNHe`Bd@JX*tg zhQvoG2m4d<4#8}M*~|2V&9XDk-jp3z^aavjTmJZU&;#*#BwG9D0tL?M}w>PROVL9i1!?%OHnN7W@{hi<1R(caufR$YcQs;V7n?<^13zkOnwcu+p+4P2|b~ z>!Be1M(7bzhe1zmw!2tMxSlwo3J-BaxX84T7EAwi6qk0YSX41zKuZ1BkA^TVa(+?6 z=12bPKGu;%lSJ|(g+YQr3`15YpD{f+1OVh8shLqcpk}QF4;Hg!BK0TVkYzx9@XlHX zJ%lQNPoO&HE}SBD9c?7})K6U8=~U@(q+sN73c)u4I$&)BLxU)AC*d3BkNni3dxV6( z?b;e81jYz+5{STQLL$mI^CJWVb5IF60UII$!OV*D;!3HqpqG0 zGA9`V<7I5P+QmY?2HN2tB^|p!d4)t=k3jFHXwndzLI(DW2Dui2E63QJoB-L0wwjXC z)x$r8K2ARqdyN*93Bd;BJqV4}#u_j{GFSOWhrrM9PNzqriAdB*-$D*KlMeNmSs}kT zmjRVxLl6{>=6JV|&J8KsKub-b%7>8y_DU=eden$f4eJi(g|H$X zZfQe3RIJ1OTBT_Lw;%)ye4bhm(}cB{!dUYWu4ya(UwiM~9rsb?d%u+*9u{`yiCTT{ zRv>_{*mLZ}kL8&4%y?GPYPF$>dPRkds1s%jT5z$!jtYmwDMi`ej}C3~@; z#EfeMT_hqgiwv$1x^s4s?rH(TEK9``IQJ{~NG;90byExWjpJL)7>x*aUO!PSdpv!a zDUAC<@k?i3+L<@oZ_ICDx-07ox?F_x2Gw5sr9^y0u;$HyP7F}}s2$c?kZTQYi*Z+y zerRPBWOQmpTVtilLH-m=^%Z%O%k>4>%kXvn6iTH9ZJpN2Cs3>M)sphcg%faZ7UF`8 zdVU!|bFvrF@d=7wFV;F_RoDoDx1)L42Je*8O4@Z%+SwzJKT8lTv0hY80d0{#`Qp?G zRxBG7hf@XE|K(AM3c<9g3?DclA7Me&6xGpcIb?kP=Sb)O-BGsTG24ES>+^Y0>@$3a z$d2RPB}g{Dlv;gmuKDFFM0&n1^KjkWUw`|8&DG!ZIh;9eiV#hdC!e zS=gFTh+A!ERu4;QVRsbEmjCpFS9=_Eg|FsCpu^aPY!K^-rUgN+aW+7YRtPM+?|{eM ztZ>%+JbT0-uy2gupf(o1gJo3=&)NyFtP5z}EZZqWA!Y|q3Any9}@Lis4l1xK0BbOUZidG1I6SG&gnt`Wz+DiLsZ9IhRai1--d?D0y*L z@4@L|RpOrd{H>o(^#%Ol_Wj+%y=J2mUPtz+6T`MWEZ4ETNxjH8+3LEdc-^6RN^m5$ zJ0CabYyRWHcHx~}nArQkc0leQY!{@ip%E-D>BJa{*}mq~r5OLSS;TXbXB9U&3|1Be zYU%-bpV@0>@XJm1nq(#q2>Yqx$a07`vPhr?-Y?TVKsycI;w4~zES$r>Esv(ZpsW-( z=3%aMjMBYyo^L;Xhwz3%?m_HvIWqIdqo^n(vX?pMg4?am(NMje^^y0ei!Lyp~aIojy9$eUL5 z7k!7!#!7=1q8=ikWkVCV+kQswcPKO4?=79BYl7`RL)Kuq-F%Ge0XwJdBP2I_JfnEL zNBUm(m1OuqI?_Jfwr=Wg$kk2Tst5jD_tIo2C4!)85C!u2&Qka>i^Q6Z%A;5x|@ z1p@2(9KL-GpI1!f702^3HE|Se$j{WC7_VPS!7hcmLa7+=iEA8JFgQ}}Zzwu@hH!Z8 zX2{#;en#0c%v@YRvzWcgn$b$_v`&W-TC4ob0@5C0C~%zbY;JSN z1MZ7T4`udRN)#uBww4<+u9qP}7nDdLP|IRSLaXNH_-+E=H*HMz+HbDJTS6$+qEks3 zb#c4|1S$xg4fwJdR?zDAdjugu)Pll({fO*WXk&@2a$a=BzuCmHC6+^?K{{+}(ZS(6 z&eL=l4g4e5|9q9D z**Ox9?mG|?oJ^xcf=H@3ahev5GW9o9X?EI6#s>EB0zK9ChToxp1SaVc>>-Kw)LZ>- zqXR#9%vy3knUL;dp$r!q`kIS}^fx4O^_ihk@-g=nGW;DAb8VRc6u|7PBhK06f(3fLE*K!<@T~I5m0G&qx2%8+#$_?kW3_s zrJiUvj&@r8-eTjx{CDfiYGsOhO8c8kq=VT zSJzJq;${&(xeMppirRxnDx9K{5h`?ff#1aZE$d=X-rxMeSNW)+(!eaDF#WH21 zfL%nyU>_^4m7C8+kMcupAut2nMpuHGe?tOo_h-2~x2*IB`-0s?d`733 zvQWl@I3C}T`<^b|6dx`jHKrOrs}Y#`n0ObY%|tWn0~*XNBGt-k-SH|$6DBaG94UN#qw z`TS}7l`XN{UQ*RVT>||P^R>wU4T!ucdg%6+qrtF^tibSOOqtwhWg=;xYnH?2Lev-p zQ%=%|>GHZ%1RHO4Can5Iv)36ec8x47`jBdCP~- zpnua{x`#6+LK3>6AWA({5S?1+Ve!BuX;_UAhe-kJt(<;afSO3JbLS!^z%ZU6;`AKI z1v`V`Q%U6MkUOLi(eG1`a*?>VFqmQRZTW@in;9-I_ryM?7kZ~6XJsS|F&=3qF!V8P zrBH8Et0gGT$KBNLX*C;~+C>I=I8cjp$5sc?KCfmx~S= z)hT{XG{9)@5LD`nAJ74+j)rWOC^_v8G&W1+ZuITRWDF*~`7NhNum^HsAe}+rJA7&Z z3)UvU&pZyqUIz}MuDFS5K~}`ZWbq-o;5>w*fdCy8#~-yKmSXs^iJ&H=sC@TsZP@6} zwP`doLtI9BC<8-yU~VuSn*OMv8-nYZT`#CQ8$qU?B;B7=pL+dz*_ zF+_q{6NBY5(6uK**9LPZ3Y&};Fl33c*)r&wL~FazZDvx1sJkD^tj*ahiApr(s25ry zi%SF-4YMceN@mBH0JA)%!yC$&CRuK<#>G3EXlZGvRu7o;fdxz`!s{N!1`(RwVL{p#w-w* z0zV}^%ylqIsH&NM0A4+}MRl}9XewJ<=8A9ixUH+X#;~)zc_G19p~jp#DT5c;%HXHb z2^!FGX+i-<=Xn$H0O8PLtokY{j9~I76z#XtcY-LtX& z?R00-_MeuL8p;vtrQKq+kP$vZmL56Sd1znwISV@?VIO}&65(AJ%&oE8K0-29&@A1T z&^+cpL)L&}A46p*cFHhToC&J{RVsbA`wHb{JCQ1*DI_foXNW+Azi{VK_Z2c2_Bj>C zMKBkao@G@zyzL{DMQA!xXRm$4$-OSZN@m_(_mvWriQyEhw5Asvbt;o1A+5BTA&M+2 zS>Q%P7{un>C>4u7H5W$OqKMj@|w#r)F z1$72-LjhJFy2WW)ZX-@$O>i+S#YV?OkStfJF)9jo9kgfK_?ONIqzQZY6U<;yLM<9B z(kwD=zSEu;ED$_HU|K|&7Y1O8&&^ewB^@pKv7B`Lq}^F;|9P-&w(Q9}T15Z>F>psK0)v#@i*CSRnt7F~5sR6vv`8i+<-tre1T~7u z>!);!MdA$H7S^kl4pZemqG019ml>--M1+%TwibFFSP?}%d6<6WrVdTqo(3RXiDM~- z!vsXVd{2tr%pATmULU)qIoeLQVHS3loDXW?PZ!Li0ibUbaXkI$ZE0y}kLEQ~U;QT)OQzC)%L zA)DsFo^>;ac(uU>%f;5jl5uyZ8#o(Ty5#byUX)ZBJl5`Zh5cd+rY3c+g*NTPVNwcV zkEk$nJsLDy-A2FN8{{xUXgDl~47#QSJDqHh8I;ES-~^mECcS=Z4#ih&4Pg2T9c^~d z2{m5&n@N0--kB4^vLg30Q(|{V?i`oRcZ#~i9~eJBDgIa1n_>GE52@UPm>0k~tW7lI zEG$BjLQ`9apfUO3&Fcp+(&LJoO9N||_Uvyc8`K}t!)M5X=V%)MRwId(`V|UTw#LwX zgybP%9F5;wz0|KzK*cu|OQAhL?)FWGI!W_n?u#)C*^SvnbD!Jakm!9tCQ9S)u}lyF zVB#GL*+}i)W3AmD>@oWl+0Rg7p2vxnLxJz;M>gL<@Q@7$4<$~@K#EgA$3crzLb)(J zyPLM3kQ$}PCv8zOXaJhaP&DSN$;c*flK~FJ1LO^*1$$%h6m%&HX~_D$5o)TGgP1NB zLqk3{TMrE8Sl{v(BQ%k+%Vr5;B|R{G;JX1&#SC0Jf}YdZSXAzXg~kdJSNWla!F~wu zxZh^j2!H4^LyZ9 zsJUCw6uXa*Y|QDHY-z7?n{1`nZm<6h@CTV9cuI_m4qJ`rakK8vIV0cJ6%&f9OWTN; zgd)hnw?ZS1!+oq)T$S-=jKuHIP+)w4qHPwp+p$nN45xX)?$B7m;XYAwN%ieFC|>so z8#6ZP3FU4*!+1U3m`^Rhk2j9CM3&iM)OxuSRfrXjqqNKM_1GB#rj+a(NN zcbt37VF=x!dtSHk5^b>E#(cF1Cqugf-@S7q;$z*}{VKcN23!^GS;*9Os-qYIOwKvJ&6UTcnQ)9Ze=ue*9IT#-(nUS^!gT5{omje`=j6FG39(=43>$CEP ziCm>k?hW68mu%%ZFh7E;;y*(T@glGMijMUevaH{{_v47Hv>_1e7jxR$!VMs|n5?BmJh-H@#lc=x zyE{a($Ad(a^yM=)&!Gihx7}UBvq0^rmFa|UcIzq*t867}CG>gAhQj!S-dn8)u<}OvT>U3^dey<|nV;8@MC|ADEHi z<-ZadP1!v*S+u1wz%-uivYKq?QY+QXahgv3680R1dY%OYc@kR4mXoS6Rxlno#~XZZ z&;&FZ?3H>bDTa|UXPsX$br>*7@UF&06%D%Sfp&*U1Diu$S!Eq4C7>;L#u1hSB@Xk6 z^Sd7}+-@&aQgImNZYSchHWaNx|l7TV5!}PqkXe# z$7|t_F#~D5iaQSnKJExy=!Y*(x`!8M$bZT)NasjxhU8#9kP)nm)JSU?9qsqzNs8SE z2tW-3qBNdKuYj64=@m-7N<|Oc*YoR^3OamMB|WxG1{4(7Z72#pECz zMx+n`@$|>AkEeFpA0vt9AaW9$+O~>A`6y;MZqnjmds2{n zq_%C>9BDj8M`WI~mrd=!6qGz&jvmLy;|iZkNe32sN}%e9Es_)N9JuZwlcXBJR+`Hu z1;g~w*Q9LdR5GU_ZO_5jYNm}q=Z%=a(;jiMTpl#kQC`FM^K@ zbWm+e1Kn-8v5wsVnO1Cuf4sdoS31_eX>p%z;h_jDnsy#K=?f+bcqlifhj)8nDB!O) z5L)y&rr1VFbbs5G(4;diCwKTw3O5Z{7NURD`R$+O)~#Gn(H*;qo&Suj`Iu;nd4g&w@qKE zDvs&eI*eRmXgX1IGG&~u6bhwun{=s=9EzcE#(ju!44IDJV!q(1Ez29++&?I#-_ZuX zzEI!OMJiLqh{BbY=P!r#E!mplF>;9eY=$_l=Aift z*J8ky+6SaogMc3vJAmg@?PN>WkMAcGA$}D-2+@ajjo{U)k$a4(Uq#CBYbed){bFX@ zh69nYmNu3ee6EzT)4oY3&_yu8rB-_pkt76dE1uq9(11v=N&@Qc92yz!m{3S|9uSg` zm`^1n_D8LJrgXI)7rYU z4VK7$CHcz@&a|lEBb=GjXULlGE#W>P<2&{dk{|8O{J+E2Py+KGdNa}Y^d0g}wPubE zZTt4StrSvgzrAvXn^-`J4mi5&+5)8W6>fX&0>H ze}^)5Hk3@;?G1_j79z~5*hffqdpi_9V4FPI_R|gVP5h#rTC7n(#?6b;|VCT-)DJFWn&z)4aSs)%;ZflBULO zodrHR2E)$@a6%*KZ)#Msa5G|dL+S?@u^KzG0kNfO>?%3c*dt<=qrH-p5V&}ePC9=p zWisHdgfB2lu}P%g=2_I#9kOh?i90bFYI731EGtRD@3c4$E5_mgx*B0HbWmm=nUp)K zGc%0{RAL^t*f@=OMc$FdX_;1`7N@4z^BnBcnF*sOW(%PAb?%mckt5+ASo8uTe*NNKfBWr5e-(> zI&?h&t3H=o63bt6>8w><$jI3L=%Ta7TJ!AoGi~k^i1a1MGf4}RxuLQ_0tss=bir>% zJdoLl_^)yAqi%q_2*uB$PAb#Gm|8ynoeVbvVf1&ir6hEY%l*Tsx?H;!V`Il=QSkD> zLi`5OBd*kdhhS|R>Ji%y@JAe?N76GhcvuSMBdLY#nWkUH_REBd%~Eo!D>l{ShBi_* zF3YsLgsr&J9IJ03Q{Ja+Uct#L1AW|`IM>{mNJRZiSds}FcN*2s`VUx4#$lb)xyLb6 z7QF`0>XN0K4D!9n$ES;GIbDRdW2oklvySJMIsL#6V<^{cQ6W(cU0)43utH&x8{R4g zQg*F{@pE`vYyQLt(3sag$IRv2Z@Kfdp|UxHLS6F+xvC-GAIY|PlTl$+M~7>c&FDo*NmSz~Uxz^wqC6(;MT{|xQlRnfCfQqlSz zYOxoA>=L}g?ki;A#p*BXLJL{b;X7pVPMFMm7|82gyV6BX+EuGt)>CEp4k7ipp8{UGDIN=INH%__o$V zZ`44j5YmqK_73|xa~p`1n!+LA@xazk;qb`u~+dK|@9$KuuljIi1R0s$k+hR=}Y%>Dxo zkTd<^LgIjN3A5@_#+=<>INo!G0lAmuXtU^G#q~nK30E*AyX#YG&?^`ITD_Xg%(LCL z59MS6swqn}^o%Gr8EnC!q$-9cji35qH>R7Ree*u;*P(@&V^H5xp?s1>py-H3i32nt z?Xo#86E`5Im4OKO-UWh?On26qc2shvUw|tv>^->p2+8j3T3USgEe@@fM0f~qoW{aG zuBmH?bD54#yCf#v&CJH$x!ZMTQeE3nXS_dZmfq~;PiR_6$9d0`gW-NElq(z)jGgXd zL3IeE=B`+9P0`(bFg0lFxHRj(dwKohe}vZ3cQ`;~?eh8CAH5SYGso`9U48kf)rT?R3CGT=byTD{jF@t5QS#+`iHA;J{9Wg)KMIUX6^b9Z(aZEhO7{R=GOJ+)~>%0vSo3L zfzbik-1-bz8-mZQeem+_4}UUx?NTU_gr6Bb{mSi&msX#9dG)y)A$LOvnx(Bn(2U;t z%jk&w`B#{cw>M)WVI^kmat5k}-|P@Uav{Z8rkV=$#AMVTvzz0`&GrFO6RR z)%wN1u0N4t%)rU~Fn0le_lmcPr0>u|Z=#Dx6~Wy3X4pEr8;((3u|XG`d+ zr_XltnaSQ5n#Qt6KYG$FrqGZUa4I^Dn}iIcbZnZ{H-9p^@f$6;H$R9Wm>`Tp(Wrw@ z{b6+Z7q{MjhTw$53QprXlq~@* zr-IYCJjW_RJFRqZn)R1nyM5(~W00Z1CyGwv0Ik0A+tEico%-8)f8zmaR$utd?H{}q z1_#A!TM=qTuisdI?a9&eFNccZ*n)S9jox~B{bwJh91UAVgIPa+e)QC}wb!nXZp5UL z4hfT$xp6$0^^5PXy?%N0#yg{5o)0LXnpnt{Y>#|cn9J(ab*&%jg zhFj5Vf4;tU{nuHfC~1*lvZ*L-;W+K>zx-}=;k|%NIN`#w8D06&+MC}G87_Xx`Y$fr z`tYOC#eWaU*gQ!Tm9;^y_Oh6i70TX0rOs&qg1dcj%;WPwR-=BAB3mdFn;*)7t9OKN(%P>Znxc zKlA?T(S~n=jqq#yBFzcyih2*e*T%& z=l<>1wI4aUAHDPa+yDBcrsn#;vi#P6`K!^@s|=JI5Xz69eDBtcpSj$4xFD_DAHBBz z)bl7&qo?1wYs8W;R!)EP9UI;Fnb*m$v-U0lXZ<%n6frPOH(r1wZhi2J(Ti8tUxR)w zWwpXsYZNFcL1Tc>;3a}%C~sUEUHCKedi(c36&wBWJ84yO_4#Mke|kBfm;o()1p-MV zx)lY%)i>W8eQ@D_pZ`7<=&4DC7vbB1CU^bcUmach9VxDvxI+%Sm?7|l(UTvHF27HfBO6B>t1rF3e*R5JMQh5q2l%i4>J5p9%YPNM z84m%?+gE-`-CG~LI(qWy+aJBk8gW^p%dd((Tf5m6jW#5;FD!^`#E{YJ*O)#jMsNM) z-iY~Gd-C`0*ZRe4qiYvdfBaMa4Ko&$MISRnz1gJx+7I3zJ#~H4`cfqW9bJF*_T{%+ zsTjV`7cn?hbM)emvqgeL#57$0&8wlJb9BoKEDC+<1x9T3{O?1q4;Qlbr|Y9%#Tq|; z2CPAfgYNAsKMZB#+uExyzOnX~--Kj*i^A!>>!W95%5b(i$(YO#WGKqcScn-ix_oi< z&8u+2kZ0Rt3}{L&YYS1JU-|3$D}M>)bY#TNFWtKF#_jV@hGaC>5ISW2)hBOXxxV`I z*uZz^jexZF>|asgLlq7}u`4F8`0CGI09r_wW~;(x@PWtwu`PPY+QrKeRF~r1rXzE#CMMHm z7r#KNgHe+)m1kipgbzVs!n8~I2C@!ycn*u4rLuPU;@XQpf`UdD-a(MCAlK1KUcEv@ z5OOgu;43US@dbqGZ+`{L4$Px{QU0)&Ax3V|3SE7h=a__7e*i57`^i+h~@TEe_8$cUv6FfgM&lv>f6`X zU-~}lcJ$jDAa4;tSkY@Yegf~h_2KJ*GyH)yzWV2%BfD2$`1$Q0zc+g8hw9=7KR}ci zvR=rF%RTwmTUXz9YL+t=Tw$~dD9TmA8?pNAZ^bVBe%j{xmG`G4dejzSL9*+>dF)bQ zL0tCey?32pMDmAbvynQO^xGf)Z1m)B;oi7;MlZgwYu%W|$A|=yMP-}t<IFL#QcJQoVY&B2P__earLdW-@hQ{{o?bYJr7xgCF*_ghsY!Z zSzKUr?Ijk4(=1iM)D$LZbm0fL&p+W%8W%ZRhVK|X{od-!G1IcMgJKm={(1eCw*xs? zY8<}93$K!imr9j(JrN`9L|%_RT-Xe#G&~ z+80gvx7X-;R$frA-na?7J85RLV1u@vOQZJwj{Z^ln5;H!l)ND~7eXk9Dk0 zC=}NU{#Hf(PMS{Z()hH!^EEj@66Xh}>!t&|U<(2sfCSwi>T}t|Tw`-R8G%pjfwfrRp}APurM*Mo z((kut;wg~ZG>^fT$?xYzaWVZZ|jBf*<*ce&CN z`k3;--YFjVqwFws;;D)~ug8YV>?Ah2?OBfaCA;;(`FaGW=HGfm@MOZX5y9mKGN@sjow$cl){u~nWnt1TF9SsOz@*Rb$IhnF^0NI z4bAKJH8DF02o<9?=6}_35G{=5n{PLV34LT;uLnTls0Hxwapl!B0DA zw-V&Bt9Faf-KqX~7wz%JB9u%_6^r1V!fA6SZ9?Kkcsjct6MJyha!nqOpp{xv&SlHg$1{+4Vp(g{AkGUDheQukloW94qTQn9K+LekA|YC?)+Pt| z+{QF<4F@;h))9U{EY9fRhrv)G3YR#3=?a@>qkao3Due;LmD|K4!c4-%HTOF%+myb!mP zo1#I4%1RTDkazkxr_LJN31@xt?d6m*oAFb-^VoPxli-CRuyuPWZZ-B(A2Ww_KqmH6 z?-_E~JXVC9pL#dC0(O2V8#}7^TZG=Ebjnp7K0}?ciyYodeV~QADin#G)Vj79H5i0K6~vWmEkTcIW@|zE%j4c%~p7CRW`kQhEUJu27F(NH*Yi=h%3NcGf9-lFhq#9XxkSb0Vgb6ecR{7-?G9nC6O#Ru zZTz=}x%O%}5yE4>GG;j>Z;%9=qr)o^NpY{SJMHcNs8HA3jpL1)_Ss~ngTH()d}u5+ z_LsXnLT;senO4vF%YF88Zx++YsQ;7s%jKB5d1)xJow@mLKX%TB<>d{$#4ViIqIa0! zq)_55#~~QFcG~3Ag?cVlooz^JBpCaSAg>dlFh?D&YF9fH^*`k}NAq<%ZnpScv6#+G|2+zi z)rk`RG7XMPSVn;MiJa&Ez*AH_prBSWz`R~|_fyR#2=4AW*8s4CnmEuC_MCN~d;3h{ zB@6WvxzP>GW`6XWml9p(GjOCIZqGLs?LDlUmw4MNo;mrNHE9nm^OnuohQbh}^vtci z?7D-d=Mzse2w`^9&i1fO#XOH!LhxSsO5L@wM+llfMM{qPy0MM z!vppypZfz`dz}5BKZW3i@t}laDF-}P@)yRRoBSS%nfb>D?VA@voy5n^I6nx5In2xz zkDj}+nD;myz4@+1zKw2PB7g|52bw#6IpvO@?eXZ{fEcU1lDT{~TDkeI_5$(9-+Y(A zUWrd0O2rHR>HP4?M8}he8=g1-XnF0A<%K_CXmax%G>|(97|ek!_Q(rbJY4?ZD9~J!kx0Vas--$%PM`z>1VuV zGxp9TmZF&C5O(igmmKmuh2ECrohbqrq4WtS_D^oU%iI_;`Z>ouu~NW?`Ic?R+lAbo zRBQ?!^Wny^$cB!7oQEb4GtXX!buUiR8Q!mhV#(mh3Pb@!wax}IEp_!*kFjdQ=Fyv% zh`ns(Ae6;6JRxdAGz7Qq&EC8OEiKVQE+~UCUN11_4m?Lo6x!T%1x2`_zSB|+kIf#i zn&qaZP@$x@?Aan3L}BjYquNJ^W2Rkekd;QCUfHoSye)@)LY80p>zOIebcrkoRD&q{ z^7+XxpP&2!JU_VyyHOlQcj-^_>KJB4h_KIE-P3LV;BT4c~j#6CmR7cK{?` zYYfA?=5;~gut{{^pxU;})Ui^X_Tp!XHjt*5mWU`fX!Iv$3EqL}9%~KZ*!gk%`Khyk z7R^NtWZFet4Co|o{Mdray77}UKCvHPVYZ3Y9k=K``HynxF-hFgD;eDP;Gv7IsO2fo z`{urUB3Z?L6$G6-Z*D%7(2X%y{*Y4$AuHp|Uq(2FjB$5|!eFts1sr22f3dv~1@&F@C`ma_4hLjv-5~HT3Ab{<` z%EeZP329iXOgisWIwMmpJK^tic-rO6oC`_E$*}H>9pT{JpFvaLk=XLmsgR_zGzL>8 z?nTn`&51{p6&>N=@k-wS8V#@45~)GwkU(cfp$eqENL&MJS#V=Ox#%I>jHoyaf}XL& zWbK;c$g~|}26hsIj`lf%DaAte+>-h1#36b*r)J=C> zurx8DK+1^t)V_ULj9!J@+;q(P;8WzoAgeEmsf@MZeEg<{?Mir)jY;R@ym6V(_or)k z8%N%Ee~*I}rf))Wi{nS$)d^Hc$1T-OUNq%B@IFSUXhJl&z4tEtMt~rsjl(dRA-LPV zaDXUGH*qD6zyo>s?SS2^v1{zCM)zrL;rVb+Uy44GVM_Z1*9|t#=1Fw}#yj1|)l$-sLe-VjHq^rA4 z$K8nTx1dov$|w1_>mE5G+H=va5bY(0QnScwuV10%Rk9ESsu!vbjt`0=y z9v;WO(_A0q_8JRlmmB$T<*enSURIPvNEg@(K~v z5>nT>;4J49YitYxC%Zq(6jAnIr)cBW{%69Nc5ca-6xT@+Fatq+3VtLiF*X=;kT4YY z+>4H&m>vo1p_A@qmMB_oFSdy1d0&*@#(>YYi0f{2mB894nf@!**9NYF#15l)2L`^4 zJ~|yhBz0ig6IEL5e#*{mO$)Bw(1(~3KC^z|Bj5=;#G#X%PKo%Gz1dpiZaP2P7=2;M zp}`PDH9Y~Sw>~)P=PkYPdw{^VSWfq+By!yPxlKFgb%Rewe0>XuYZ5Kp_0OimS=zG~ z+t7W*e;%g8sc`QfQ!CoWv?>Cti0_DhmLc7_G^>W}@xCoLKAR42O`a)*YQtnMHDGdK z9o}I&Q_7&2Z$Nz$&KgZlM#uHO%A#IH#!MmpG*%T`I>vstF@7%Yq|wFJnhviPOoxb< z@ch;(6&348tJj0&Uoc(h6OMCAwWEs<$3O2=kF))MSjxVWeH%w(Op|ivR7&MX4e(lj zbpJP<`0cZIYQk%vWGi>7{p(FJXnpp?m71e1|d{|wnl(VZ&ps@{Nw5M zGmA65jx#Gy?ij4hPs~6M{fRz75|PD|GyUEvHdH4DR_^4Eug7NT!0M-Kx|9hm;Z}cg z0|YCdn;Et{vj%4c6W@XLCSw{SXK9_>(Wb24${m)r%0*R>r|pX{c(R>zL zs70k*u^hfDxqQ94Qpgu`rDmR-YP~Q~$QA0fsG6&lN)x4Ar5a7;3YE$PMQTE#Tr5sh za-~X9#VJzHO_codM%7 z#foJWg+fbJpX&@WpgkV{XDc_RJ!Q4tsqk*q17xU$2Yu%T>y_T;>U4 zfmXC6m~1j2AgVd&d@q#Bz^jHv@3X8Sk$`p&E)GYCDZK9T| z)XT8X!W7F2!mRjj2zP3#vbO-`Ou>a&6#3dzG&KbPt@5gB*R|YP+Qy^!bY=2Ur4Dsz z36!DYJSFORvLwWE#X_gZ+N@0!D?(xcF;FUZCJIwXfQYu>f;WRzotpeyX8l@tf zreJgKi!>OSDgf-?SV|WpJm9nN6_XfwrF2O4vUB<29XHe}_hCPk_k-P9CF9V3$&(APn73iXPK94QJm1E9g^ zsEkdR)FD5KG%%G{56UG0$(IXivesY@)Uf^Qddf7`HLi?KOsx!Pp|-+AIl%}~=L>$9TdD>ZN)U zRt9*6TA=x7N=j)FrAbR#nw=VjQGfv%Q^shdy)qdqEXRDIupmD6rI1V;H#*(1g_Km* z7gJ0c(i`O@a;i`&Mb%oa*eK^}wi5NP<0fcG5Cd!z<*qJr(7G4%g+M$TK2d;uln+AI zClH623JaCIKsI4z6;UzuSvpuy_9ci?R>`weG2eRlpP)3Ra+RqvHjVyuSdhx^s%r^c zux^l6W%y}H>EVA1Q!rN=cG-C)1K1bB#z7(>^gP~Gw0yCl0zx&934~Bq$M~Rx$FQ^! z!+0TNEJVbaL=R%6Rytf@kSZ8x@MjrXwX&HQ{5zGa(`m_fNk|*U&P0V(SB>mn#=mGH zMgO{pyJEJ>m{|mPo=IjwzR{;d1 z-y^E(GW^iNtM-rkeRv9Pj`#$RDw+=B!U>J);Z)tTi!@80)NZj@>!6zyVO{!{mQ=_6 zYbjOBg)qTFvu85M|7%Ku65~1hQp3kH!wILywqRb$`eHIKLwY0gLMz1ZLrF%5T|i-+ zs@G1SB36of3#eOl*aJFi4YPYHpF=4|$C4H=YZP4>9#)2aSuGH5C}`gX0;dalcKIMi zZh-}dX-!c)CTc{Bs_Z|pV^P$rZ~*V2F=tCf4jM9`ewDZHg9XF4DNtgtmIaG}&$&+r zYQn*Se6inIS!U5!>bO{d=Nfh2D8T6b*c4IzUT<0)*4nyUgZ zfoDk^AMJy6;eMdW7HcbL7ghX|C;%nIGKPR`V}9V?a>eZXpaE|R92z}(3g8efC<2&u z?%T@A(yCTj+!JWWHP*cWtV~#21#6gU?w4CCTms>|mHCzbZVF{;s`fefnAjR3eq5g; z$UI9tbA~OVZhN9R7)S_BaJ`sGr>NcQbR% znb|3kq-Ai{j;E`V>~el;|A7OR&6BK0s5)L^uFU^eVgP&Q9o!ODQ>7XwALNBImX2D) z1A!+w4Kmaz%oS%#tT%A+jisvP^M#7r71%K#HvXPQ|GVwkp<}hL@H!rgVgQC95S zBmQumI}vDUar1tcH9!EeKTen}ma{{9mc|a))_I&-RnswetLG4mGDtJjUl}Xv_gVjG zr)Q)Sx{k2(pBc7hXUIv`T|4#GH^-8-={Bi1(00->VXpuCR>aXc2XWESgU-jfyoi0c z4Y|>T21xx115RNEDYylfB`f>2tew&z+HuOkW9W+K^ zdznL++)z-T?u#nX-=p{D?Ho=NiLBI!KcR7y^C;~>i?Mx_07bhDh?M{vo8fUEwj;a0 z@$JX>YOxpz!!f=G8Ry?sT>rOhM8@cCbZoQ7Q%5Aq=;rT2wJbMlp+&Rj*~_Zdst3^wsEhepElNMYLY3#-w&^IN zBETK5uVh)Ug%bs3r<%q2<+GaT_ZYRfzOax(qCVt}DB|{`MN>M|qO+L=(eS1kUQ%=n zS<`6i_F+h$U1XT)KKj4{QomHG9mdDNb{l@XDlYqK`RoyGRlC7ik$)LP8GqnnZ`%~u zD9iQ19N4&1LUW*Tx4o$_?u;38a1gVXEl7$^;r2_WQBFv?58R|V5CM?3N)4Rl%AZMN zD-)>nc-0T$2n+zzbm0IB4_e)8_!e*mmCQX|$m0vDNGsAdE%jF>&=56YbWUZByd1`^ zxxMnKGj!%=m|`!R9TQcI@(Xy0YlSkNZzD__6<-cC9Sk=n{$F8ayXk&>r0S+=%DDIYzU);t0F;)iKt>hqWwz%@fYAd)Ov_^3eu)zjn3V%6C zQEGy|FQ;ujt6*DvY@-!y&jJEhM<^tAEk|ihhc+sQGl;~fe(5U1RYv&7{#K5D%i9i} z|JNU5a%gX$bo}PxqqPN-?+DXk{b2rtOFMf+a?NeQqDzov*)CCMUdTIp1Q`hi)44|n-)c5^7i1staum$;%+?Ti z_-)hr-%2tj+)MO>ujD*Csg8hfnG$0$N z{r%r)rOYTMi>Ec2v<5bgCF@jWlntcad8Y=eb$HAi1%2BWuJziTR&DSMmhyPZa|F0PQ6Au zqyL9nx3m(M54eoG3N}{uo%G!dy|o*AoKLeQ!^CM4m(O%~r=ZzeYR!@&e&t%Xj-QfO z?7pbbTKu}&UTEp~c=8)JoZ>xpCJ4(mj{{*sI~~3(C!e_z*&Oy^Hp_c^onGHS$aOc@ z>7BYSax9QUW&)gq2M8n_=niZuEaFWWLLkzwaU!=+$tw-hq{Cn=p_ZJl;&qW>} zFf`Z6|9&#=aGXs~a&M#L6~7eJz^ zF&Sjpa}7LU_N9Ap_HlAYm`iUjgd1|+`xLjE^U@;supPb!4LF)fB}9g>9OG6=MVB#v f0>5;LZ{-sI=X-YydP986$9lcx9rx|naqj;Iacf)_ diff --git a/priv/static/adminfe/static/js/app.3fcec8f6.js b/priv/static/adminfe/static/js/app.3fcec8f6.js new file mode 100644 index 0000000000000000000000000000000000000000..9a6fb1307826d2f15d288dda7ed09d49b36ea7dc GIT binary patch literal 192591 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/app.3fcec8f6.js.map b/priv/static/adminfe/static/js/app.3fcec8f6.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cc4ce87b3ca199fd7f5fe5004cef177b827c8b35 GIT binary patch literal 426204 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
Ni+nz=@N?SVeMD5u~#_3jS)z3%i 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 N-(TKw-;Nz;|9_29b|?S< literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-0558.75954137.js b/priv/static/adminfe/static/js/chunk-070d.7e10a520.js similarity index 98% rename from priv/static/adminfe/static/js/chunk-0558.75954137.js rename to priv/static/adminfe/static/js/chunk-070d.7e10a520.js index 7b29707fa93484e8882d4d539f813d1bd6bfe4ea..8726dbcd35241533f7e957a0695ea20a2da7c33a 100644 GIT binary patch delta 34 ocmaEF``&hfEwi~n%0`Dda>77b&pg%8AkoywKrgFUFE_CO0McR$7XSbN delta 34 ocmaEF``&hfEwibq#YTrYa>77b&)n3~)Wp!(TraCwFE_CO0LR!0c>n+a diff --git a/priv/static/adminfe/static/js/chunk-0558.75954137.js.map b/priv/static/adminfe/static/js/chunk-070d.7e10a520.js.map similarity index 99% rename from priv/static/adminfe/static/js/chunk-0558.75954137.js.map rename to priv/static/adminfe/static/js/chunk-070d.7e10a520.js.map index e9e2affb61fe6b9c7c3bab9917684ed7e47935f3..6b75a215e6a733797b9266bd51b0baa08d9e22e8 100644 GIT binary patch delta 27 icmbQ&!8osjal<|i9&>{fJ@ZsUgG5s!gUzQnLaYITJ_yqQ delta 27 icmbQ&!8osjal<|i9#c~bJ#$k_QxijD^UbF?LaYINo(Nt5 diff --git a/priv/static/adminfe/static/js/chunk-0778.b17650df.js.map b/priv/static/adminfe/static/js/chunk-0778.b17650df.js.map deleted file mode 100644 index 1f96c3236b2240e02df4ea6dc37e07427de1dfa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32393 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 diff --git a/priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js b/priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js new file mode 100644 index 0000000000000000000000000000000000000000..232f0d447a1c38d3b5c722365585b362d209934c GIT binary patch literal 21585 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 V{m(y}Ouqd3i;4ehi5FGo{|}ghm-_$! literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js.map b/priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js.map new file mode 100644 index 0000000000000000000000000000000000000000..dbca0ba8e2bd1c5f49be594f7e5c8a570b84bf26 GIT binary patch literal 86326 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 ZNN&6@-AH;v>=l05>kV$K-MI1P{{xXU;u!z{ literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-143c.fc1825bf.js b/priv/static/adminfe/static/js/chunk-143c.fc1825bf.js new file mode 100644 index 0000000000000000000000000000000000000000..6fbc5b1ed89cc98ab9fcf8b88b1b591600abc167 GIT binary patch literal 13814 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-176e.c4995511.js.map b/priv/static/adminfe/static/js/chunk-176e.c4995511.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f0caa5f6261ed90da8e9352b3bca406ddf25c664 GIT binary patch literal 32132 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-22d2.a0cf7976.js b/priv/static/adminfe/static/js/chunk-22d2.a0cf7976.js deleted file mode 100644 index 903f553b00ab80354c8f06b642ed99455ddf6f16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30624 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 diff --git a/priv/static/adminfe/static/js/chunk-22d2.a0cf7976.js.map b/priv/static/adminfe/static/js/chunk-22d2.a0cf7976.js.map deleted file mode 100644 index 68735ed263baf97d446ac0485dd949a24a163d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103450 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 K+qrh_^ZyUfCGxZY diff --git a/priv/static/adminfe/static/js/chunk-3384.b2ebeeca.js b/priv/static/adminfe/static/js/chunk-3384.b2ebeeca.js deleted file mode 100644 index 6a161a0c6d0814bead1874b3a5dd50a46ea9ddb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24591 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 diff --git a/priv/static/adminfe/static/js/chunk-3384.b2ebeeca.js.map b/priv/static/adminfe/static/js/chunk-3384.b2ebeeca.js.map deleted file mode 100644 index b08db9d6e93734164f7998335f18798d51f8d6b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86706 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�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

ZvjH~a$4DyS;8y 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 Y8N5G=ccQ@<4<)}D4B|T*ckX=tfBo8yY5)KL literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-6b68.fbc0f684.js b/priv/static/adminfe/static/js/chunk-6b68.fbc0f684.js deleted file mode 100644 index bfdf936f8720ace8cde0ea0fa02b82c8ebb69d3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14790 zcmd^GZFAeW5&qs^p`e)zIiVOQX;N1nHRGI<>D|?r8z=5`#?@#j5|VhP03Hb1ab^AY zJ^=V8l8R|N&Pi!9c`*rqi`@r{-F*P-GGqb2bT8>7_Wbjo63*gb%d_k2vytt_X)?FY z&WJxx*?Ir<*nxPWO z1$7hYN$PrW><08A^eIGKP&wxTX0^a$HNA>3O4m{k;Lu_1IURbIZ6&VfE%Vh=t0l(sl zdQ?lP&GE!6T~Hirvcric#&Q!D{WnX2m^#+Mp_9`5;VUPpO+6 z27#8HI7_T67@Rpm&qb^X4VSu@h%|<#%>&{9LQuzjRNY0`)L?SD%N0B2pMtT zi=I4rL|wrnnw*KzlPAT*4dm5K-7t7G1kS<$6Qx!Nm;w>N9zUl$Yt19LCTYa~?hJY- zdn#{m0WVkgW8zkj3TQq~&;?7v>Ac8GNAcBsV}bR`BG0s-_m=_~+q1&$6}HY?#rH53 z)_gh6Zkp<-(8CrROV9pdm0M*tCu8~ zTm&aHp_OdNfb8awtAI!^a~j$gY~4n1(lS|soH0*Gi%i7(L((Of!{=-oip8Pt^Azc7 zxh34$5-RM?M)j2MAIC_kLpIw^3;kf`ulMSA3ond{MYc^Y8>s*gY!}a9%?FVS^3Pe-LmU}uDxZe=$IynH>0|+J~Fbh13=kK(< zv%Xz~DiVjrhuQ`6*Q1Ng`r3erTK_I0*1FW>Qj5L0m)=^g<`7*(Grjb#)go3Vc;@ZP zmG_tAbVN{}3V784$G4l66 zQthHThxMMAScv9*8ibGymUPD#7WohBWxvQ%r4kFODh#oJs}|6jsa4tb)1o=CNBIan zpyEs4^WYXQ`--6KD|^4A5lqsL?>ue1X=?^q3o|4|}E+OGR7`Nd6L9 zN$L-jaw2UY zCroTeKROFp_J3e88`;S%L{xnrRJ^uyqqBT%oo{RFwWxye{v4%zq$o|`ns@=OqaG)q z?7bnZSPxlLJBfHwMIJhqXoL?_E`0h+GQGqk8u0@5HWTdhXM(43n-pvBjl4y#%8svN zGi<(LSNGSRJXu7`J7!wo76)kJq?X-WpX{j^Dr>lT%J&g|bCPxU379ckXE1V}+xky6 zKx>bn+M)LiaHh`i#m9(iy&VCX7I?fc67M9^?mUAXhnjW~rz{E+9KYNVv>CUS7DDeN z;O;Yt9mibav0%bK?+DroX?GH4cana`@s%CBInf7mK32}o-v>w!+12-f(8d|J-G=A=rqc46Od6qo_;JV(btR(7y!KV#r(d{~nDKFF|=663h!1S$q6;3T-V z#Ld+BF>42E%t-RL=G7!HDEYxUspspQo$WcVMk92}?;Dl(lnPx#Vs-VY?UEAg>8smp zhIwB&Eb<*iG1I`Q|WulN7r{+6gyIR67o6E?5_ diff --git a/priv/static/adminfe/static/js/chunk-6b68.fbc0f684.js.map b/priv/static/adminfe/static/js/chunk-6b68.fbc0f684.js.map deleted file mode 100644 index d1d728b80195167c0b5ac2340fc506eb45cb146e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40172 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 S^N0T6#WDPlh3$of5B~?s2iXt+ diff --git a/priv/static/adminfe/static/js/chunk-6e81.3733ace2.js b/priv/static/adminfe/static/js/chunk-6e81.6efb01f4.js similarity index 97% rename from priv/static/adminfe/static/js/chunk-6e81.3733ace2.js rename to priv/static/adminfe/static/js/chunk-6e81.6efb01f4.js index c888ce03f978fc0f6b761341a244d9a743fc5605..f40d3187943e18a145e7de87467cb631b2b1f6f9 100644 GIT binary patch delta 23 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-7506.a3364e53.js.map b/priv/static/adminfe/static/js/chunk-7506.a3364e53.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c8e9db8e0c8d939f6c459f7afab98be63f0a7e3e GIT binary patch literal 58197 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-7637.8f5fb36e.js b/priv/static/adminfe/static/js/chunk-7637.8f5fb36e.js deleted file mode 100644 index b38644b982da2c3c3b603ebfd89912e205afb5b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10877 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

C>)Wc0 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 BGS&b9 diff --git a/priv/static/adminfe/static/js/chunk-7c6b.e63ae1da.js.map b/priv/static/adminfe/static/js/chunk-7c6b.e63ae1da.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2114a3c52ceb6af8dc33131a427856800515e0aa GIT binary patch literal 28838 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-7e30.ec42e302.js b/priv/static/adminfe/static/js/chunk-7e30.ec42e302.js deleted file mode 100644 index 0a0e1ca347ace596dd018d9c5d2fcdf2dddb36bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119434 zcmeHwdw1Kmw&(xzDO^scSDMnQleB5WEKOFLN9!g|eBvZMJsvL&B~cb@iBw1`j_de- z_W5nRL4b~I({7yl-gQ!ocx`NK>^FeUVVaHe!`@*sT*RY;-^x5&^gZ7`e%#&b_7=-> z+S%O=M$=_>u>NCmXCv4PkArV-XMY6IWSNbsG|xI!n1pHfI9Qg+T3Hq8s0!}CkBhak zpLT-T`0m@Fdq3@EowD1DPr~5ack%YBt?zEUd}z1c$j7DI8r|N0clV`R;0J1FR36#g z-r3CGtlIkS+aGhg_4hB{ymngysPBjOKDY&bpbqy(HK5q+9Xz9327#~O#~&A!J04ox z`!%1q1%5!X(VySh^SihB{+`?VBz(MGZ8%`~JNv7{hdo# zC*hm%&i76?{(1a<_}d$69&g@_Ua#1euxPifo<4Hgf*1V$e(PHoPCr1eff=h)g3#0H zAJ2Y$;`=<>eCB+%MoN1{C+TW=k#FR;f^L}gxx@%#5+XHWkRh4G@Wlt7wqcoIXqun5q1=K7IA_%Y|*gFa1 zWi?H*Djmfn-#q=Hyw(x>5=66cyr7

f$#3+MXpvK9769C&S)Dd}IHJzH>HMfU5cW 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±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%0DmT(?fK$;2n<^FnPG3FB*LE1Hu; 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 diff --git a/priv/static/adminfe/static/js/chunk-970d.2457e066.js.map b/priv/static/adminfe/static/js/chunk-970d.2457e066.js.map deleted file mode 100644 index 6896407b0d80225bf8a6f452960bbc462aa7981b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100000 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 B<^%u$ diff --git a/priv/static/adminfe/static/js/chunk-c5f4.304479e7.js b/priv/static/adminfe/static/js/chunk-c5f4.304479e7.js new file mode 100644 index 0000000000000000000000000000000000000000..4220621be645378c58349d128deda10edad9ca4e GIT binary patch literal 23657 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-commons.5a106955.js b/priv/static/adminfe/static/js/chunk-commons.5a106955.js new file mode 100644 index 0000000000000000000000000000000000000000..a6cf2ce52ef4d95c0431a6836d1917968cc7124c GIT binary patch literal 9443 zcmd^F`*Yj45&pe@g@R^o#0FyIrs?G5(PVPT-6XxdCQhd9xE>Eg!WPaX!2+Nh*U|sp z4=<9EC_70ry*`|b;*h{%_uD6SHNF&8E-%wdzNlGt@h2^-dOq;%)2HK;B&{3093LN( zY}r&7lT4PStTZ{H*FRrADrRR*l^G$cv7wssZG^)B@uh;a9n{4Sxa{a^Ai%J_- zWjv7kLCS)&YLMQYgEiGldHHn7vx|lNxOdC6Wx;K6?C)cDx~4TdkH^1m$^}=0r(+>B zp$i#+F*M-1=+!jhY%%%O^m)xxks z{Dc1_lr}H9FDjpJnd~c%4E$6y@olNY+CA`~w|Kf|0o=W|4nv5yZ#H(7=!1Xk;w&xmJsguqu@HRJ>;Nz%+2)TWqQq(pTl2k1E50+}_1 zLFPr!?Ga#c!F0nXyk>bR%$RtMO>|rc_+cNO#yi;O%6GPLsp%YC50K`Qz#A-gslleg3iH|&YZVz5He=h*GVP)N8rwt#~ zI2oHHJ(H?r0PU~%nY?;6dG>7d{Q0ab2}H8Vfh%+M<42*5?h)}>EO5min`3?Q-FN1g zpUmv9HY3RS7#YnbKcpY~+w=S$NfN5&KDmr#%9635Ed(AU_?L3tj?H zYT-MDO3%{M?9(S5Awj5f{+W80%^%||UQ9Bk^58Qfds;B9XVEO&t2I5w!d$Gdh#8}x zRb5E9@shKgE5!P(|8~pmdD}GGT{kZaSr+9%WtgbkIiIxy{MdENKkShy2yd4GrPbI% zg^#AepRCU7#?y=y@_iANI)FDu$iIvQeZ0{%A<#Z`H{Cys3E=QsGEc_=|&( z?BZ*0I%1nic%pzdCOBZC#Q75VKq*05Yk*eEpW&{w0%t4!W>)|N*BCd`od_Q!!5RNm zo(_%lD&iQ?LV>&uu~+ycYhODpy9%yT^Dat9E^4;96qXqb$|^rilR>wE5`lPP zx%BCCQV3X^uNd1nx$!DktdX;jWIvz=*Sk43vg9)CdcO^zB;IGlt?DgIEjJM}B#B8E zx=p%YM7BaLue_L|v?bsWLBDF^7R0QgGMIb7HuVd>7~l#%Yp-qo{2M}TOfYV7^x+VS zA`g+6%>Z4HMbz6becbYO=eIG$M-u-@a7l4FYKN_R1M6)l?|2=?-rry+R&>L%KQ zx6>}Kb+kRD;HfEf=C}$PMSXFZ_Akb$cKx!yFUXATLkaTk4!0fIkBLO z;(@(cy=VvG5J0}I#O*mPurzWpR59MD(!l+&GKZv9E}H-9;s!RpT;8~G(0T_1 zZmI%zZlteYS-~wIUo3LB^D|}s7rfNpe~(;E+mAqB%ygg7o>1e80b3BbqF^KRK!Pv0 zJ?mPEf~!-5{-JePx7C&m7z{|;W<<2^?()IM`kSfY>Zldc7cWjEaN zePcZT`gUWFp|+^|59u=^n#9h4y-ayzxJK-V447qwv@Rb1mFz6 ztgh2;3zA_wd`9#}pUXU{dn2PbnUNS6RVhnLrY_pi)yRz7gY3&o#p?DY=1bR@FO3fm z6OD#FX3MtA#882jfu~lOlI`PQIU6HVLnC((z>5@3vD-jgyxiA5ZDS6Ps|_!C!Am)?x)E7FT17 z5JeZLaY+zV9Hqt@j~}_wB2L^IJ8{dpJQ?-sLEfCU`FVM7;AYx^o1J`i#`9SF{t>?7 zVMN{aBEk$N;5UE`ObnKd)=TE*do!|-7^asKi;XSMJl)}fP&qf)E?Bo_?7eY^ldv=G zK;B1Kd(hs#3}!0Ww#3xJn|8&jWs z(Wfom_C=qfjXvv>I}`_~G5l`NsE=(ueF|`p54dK1_enaO3)) D*i_M) literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-commons.5a106955.js.map b/priv/static/adminfe/static/js/chunk-commons.5a106955.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d924490e5f65a50200b69e2d0a5265a56221face GIT binary patch literal 33718 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 H=K22v0)?pf diff --git a/priv/static/adminfe/static/js/chunk-d38a.a851004a.js.map b/priv/static/adminfe/static/js/chunk-d38a.a851004a.js.map deleted file mode 100644 index 6779f6dc1e57a7e924a9af491da29c3cd3cb41ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81345 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 QTVLWO!?#v%-TM6h0LSrR$p8QV diff --git a/priv/static/adminfe/static/js/chunk-e404.554bc2e3.js b/priv/static/adminfe/static/js/chunk-e404.554bc2e3.js new file mode 100644 index 0000000000000000000000000000000000000000..769e9f4f9d0f72774334d74aa44408d3597d1c88 GIT binary patch literal 19723 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 zss∋+7h9Y!+|}!{+DscknDnLZF*o{ur|?kvnn8biai^rr&on#`v06l=@yobe5Re zJ1L=dRc+dI;-1m~{ zFJS!=s^7x*&1CvrOkbS#yEuMI7eoB-ri;~N;bOJymSitkXPt?;WDSao)q%>QA#aBZ zQkvl2h$P4%E(PPf9ke`m8O8RQTioE!B_XK!gy>IKL%E_PSx$Rbh5x0fPr)?+9Y*B6HrftONWH{N}U(ZwLT07)-mzT{i# zV)-p}7Di)R<17PbKVVtkw4~BFFvr|PeOwj$Iw?v=RU(Sll(?v={Oio0ii6w0VHGvCu?$IJR-%6aCkNF;qZ_@DKA_atB?$B9+jbbj)>#B; z)-84+Hdk6D+0>UG6zkdo*HpJMK{2uF)g&oGvV@XXMPA<2PLRB=6jSP`6Dm1WNk_`E z_^M)oXHn^>l%-i#qu|BsoGBM5Dy!o5Cf6KFtKuZ;h-${3p1T~dp<%_G}4w-rhUX$>ZqjmY7U_D=`= zpOH_*>Qu=-aNv9O>D+LkyD>vzEx6R1JWz41+A8f|&)_N%vuQ*K8kIxJJkotx0T%B* z4hpo%uUo02ey3Hco=QuXEK zM(1=E816^^vei*FZ&B%@e4y4_m8OIns@i238)Pq0*qs}(#3N`Iq9?4n2F$UnBC3Z_ z#vaacm5tO?*-%oUt;9AEzjZlGd#;Rbxbw@3=w=3(bf}xMNjERzmf|=!FVw~D9N%3P zHzejA^@>9)&UvveZm2D|<2#c3DV6b?s_=7SO3VKV^OeMLl@^cj!c$d4@PScP(Fy@C zeD)v{J*&Pg3`FS=J{k`m&bpC@Hy*~rnKJs)(mPoQ)W50ThD3=-Ho5S#o9rg=yLgkN zbgHPt8xpI%A_C4*RZUyo1{ctd3Cyu>41!WHl90p--rZ2KTMk4 z6mQbv_QvDUC7HjUV1wz2j|x?PrUeGkUuu6rf3@{h3;2H9OZ0!p@~Zi({(XgXueQ6i zn1YnLL##gaGO?dv1yLaWm(F*a)m5DR4x39{{C{b2R~QBy%#Bf!2%7K(%9v$of#%p$8lIG7Uv+DhamnNQ<)Fu%?v^GZz~g?z;MM zqoKc%nN5}P`yoD3iqSApk;Ch>f`jVMmVMH#Fpye{SE`DQMLKS5``D zWR8HCJeL$x8*8Gf8{5r=3Eq?0qft4jK^o!80JfIzlacTy>R~qgD?fpjcr5K9pXIo4 z*my?!095H-6SeW~J{r@xsI8vRW%U#(`6%k*uUoMBPTY1eM=mJU%uL~I8?wxJ@{S8^ zPA|yR^W6M|!#<*f!0FDnhf$hKwQaj&^R5!K=U-2j@86XaGjyTyPIAeGo2Gh?GlGNF z@r8<~^byf-bzY^jLV}&kLwMjri6XMSH%evRgsg{@IY2>|^$IFo!pz-KRc^rig$j=A zXg#4}`0%HqH?Biqld?(FLVuvzlS@a|$NS?Xpa)@*hbQ(3VR1SWw?>^Zx0XNX}_eWGPm!;#m8{GPYGmQ6RkR0CD)O$Cr*K#@CGF+_JM4YC=W6~j!Y#_SYk zL+6aG-rQ6gI~0=FiZX+$oe?KmyltCmHL%1>_E1A zj2G7^`7^0@U;oINX1fc8GLNW#s63z02QXA(E+qV>B6~s~%#=i*T(c<3QHy5Uep<7x z-qU5u^i>p9m-%ic+M}YQSr`r}rUw9c#aOERl}F>9js8^Wm4Fuu#4dd+bd$!u7et!) zeq)zKrFN%Er|GW~n$zhmE0y1`(<>aOt*bhjS3m7U*`rDCGC_#d+4y35JC?8wxuwvV6E*4V0dRz3? z8?F;M0|YU*((K|X83L7qHy%I12hZ9HP8X~oJ~b7WZ2j;RA-@ml zObZJ*bLsEsvYM>_>aiIfzC8P{wYC4Q<>?sjnD@NV2v3iW58id`UtQLE{P K^V?SJjs6esca59? literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-e404.554bc2e3.js.map b/priv/static/adminfe/static/js/chunk-e404.554bc2e3.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e8214adbb42b6fa50e5c7d443424905148bcb185 GIT binary patch literal 75596 zcmeHw31bsSw(eh1xJ+yY$vcL4!Vp=q!2x41TbMXcw=K1$wxyQnZh2$)@9#THRaY;P zC5J3`CbQsHt!J-Or?$^`&iyD3hT)y9_3E8?IF8zWd}r(DI~V@($ZMZ%EiW%GEyq!N z`8@D1;^oL64WlGpZVv~eVd#hWJmjRM^RfTL>pVEQQ=PkRyc_frKawUkzFV2AiI>B~ zZ+KCMYaf5N?%iBF2s{2Imv48xwS4(-*zsF~VQ1X;uKd5F zqot#x<)y#h&DSiFDeY-v{p8`z}x{ZY_%JB>2`YSicdDbdpIAi z`yhGbCH}kEkDAeN)EQoc%%9DN8}r~jshzn{`Ar*nviZR4%mt3CUJo}nvUR6QL0U6g z=>{42)zzMS_i$}K{!5px8SvMSb4|>Es?)$NF#c+_pPX#Y!sFC7tRJ`AS%8bk+S1vA zWxPy_{!+aYdIK@&E!VEK20<9K+Hu_SFO$e?C#_L`+zrB3Cy0|)f9OFUTc>fh4i(od z?t%(L{z+?fwY8cpiLt<7pC8Mor(s_(xV#>tEF4o1jwI-#ohj@Ggr#a;?i+LHs= zdbWHHFx$G5J{%<&4&#={WQ%g>|H;+J7X%ch72w{Nl(^^nNo#F4X5hWB+v2ZQ>%-3W zt9s*kYj6M6!QtDTW^4bT`R>I|Yo*l!8(S?MWYN;6aS-{O8dA<*yo#CXDsCA`n8+(t z;At!iIxWB5Uf(=<;N8f+xIG;ComLWo`!}-kFNV#kLC{aXX!MSuSoyYI@jq}np-=&Fv({ZPICXsB=@hJ zF@nhd6bS0r{69$qnunE$`v2Ff% zC?$rrgb?63vI#<%9J#b^!r@g@0${SSbOtS(&)=c_QodJ8#~F0ChDb_;z#$`lB|6Crp>NUuxrWJ9S&-JPgTYIu%!jZuEnt@eCb)H^aRJA#jz(S^(>G* zX``36aaHp~k$UuH`U(Wpz=9eGKLX2wKv)nYhAjML>s!v83KdQ*6;4H*PpvqgNr^LC z;_Qs+barN1I}-@cEO=+4>StEf&xDz0mYHXQ=$S?IOxSZ~+0z$c?^{XlOB;RLMqg0u zTU`1Adf$RR5DpA12L{4{f#twJa2Z%!2Ey}!<@rEx8CYBf!nA>9+CXSOh-(8ug1-!L z29_lQfp=ixHN`E?q2L@^oI^n%v_^kpmdO=6lP_$5}_l54>de{HpEQNZNdF;C`)Q^_7>sF>@RU~$Vh{^^vu9R(wV9B9^zcmhgO z!~%athyzj=5r>!YK{Igv&2wear4XTC{2BO3Z`h%-JumF^ed?p>_kEhjYpJ~^KBOi7 zY$ZJ&AoS1O_AopNA`%+?+8!s#FnlXyYI|YZ?`M*do=b2X$ zaY&RmS@^UOVE6kawb2i*ed1p0oN#QBQr&GwK0>ZLeV-!Slu9wER_yo54F`Bh&~Ee* zU%@XgNh10i_lHz+j4&rJu;JMAO8knyFc!**Gbf-9?L*(xhzkjpxb56KpMT{K7%{zdpyhqpcoqI z7=SsmZTL$__%-Re6PyPf&MxZ_ZP-3dkn9G+$vP1#z5%-ICyOQ$QuQeE$VccvZ19IP znv(kn5C$O;VgyZkBVv*a6R$5}xwxUy-yTO1LiNE@ZAV1*6?^xjvTz+!G-qQ zXUD@!{N}I${&Lg3VIPrW{ECJbLswTKdJA#D!rn{vY1KOtE@^wh9&L354#B!MJc9DP55Jh4icX%b*2R> zON+3uGCZ? z<3adF-o;B9ywlLOdI1P+V=)4eo)Od<3(R*ep4RL2>K^{7S9kDFga56*&L!+tQEtVr zj&~dNRiDd0<&wMQ7@WqOE`EKxf3+~pNc~pS`7>~H z9vB>vbE?fl9jBVp*gP%#$;y7LTMOf-pMMx`eV-(wfM>8ayP`4Hwom>ljn|P>OOkS zu5|nwNjq*;Eki!Kmbs9kq5SDm4G0LFYw2K5d~$K>_bF>kL*@%feon3L*PC@Iwo`ph zB?jB5P16Nr5;P;H?VWm)tGSYr86JuvjIv_D-Gsc^`gne&)DIh+(tFvZ))Zzf$<|gKguT& zMu@!6G}KmxROPM8g2$~80Iz{SqkbY)=@auXRwpn^Z~`#YrUQ=CZR6bI$2em&eK z{D_gMP&IgJ*JJ_NVW6s?q1sHKlS|o$S)ewy@|00aAa?eOxo3^*|dU za8y}P=20{49JD}lLE|X_yMM0b3A76q@XhU!(0WA>%r@L_5`$N^H~F9}x-^=u0mX zP$Me@-SQw=+CASUb5gI5Gsv6@1j_mcQlmro zY&11daX`;gaaeP3a9E;ngY}=DrZQ<20v&mpOri~f022gk*ic>ysHI#uYmz*~4KRfW zqdgMtWrTjqit~nxDjNq)W+04X^W)_wl5Q9hvX}DDK88Y&gWBE{8z-g&4K++`h%%SA ztMT^EXuJEe3lrAZY%afiAfpQnU}SyC?tv9#e!+uMdw#HV8ZlL zpCBc{4ogZ+yhaJKu#~eZgeX80HyI^Zc~Vm}Lj!JEVKPF6!XFyTJ9`{+{P z=b4?PY{9m8S`cMO5BxQQ3UT^?nO~(=&UPTbVA;Fr77armTQsnr>OnqfKv7|0$C6Jz!C7-A1{$Nj!Wc(2bRW9SC^bXSFIhZZxO6(vH9*+GT?#v+ckiY{>V`C++7 zZjo_?*(oM}7+xQ&^_vs+E!gnat7~v__j!2JiN)LMyPa_RZ2ujFMfOf#_9eyvZw|qd zT^?|CuprC-OdL_nQ79$>*Nwd8;Vzffny5sf68s`B4qZK^cAnSYlB@JCjWIqYrXbscXw2C|PZYR#L;mlF`f~{+El;lS99>Wa*cG_HAL_5AMo+LT z>tdh06sq!(+};oM4^rcFa*cy(8%QQX1^9O8OT$2L?ucrDkKE#nv#msB#|o1pLJq|U zyOpQpZmEB-a|QC%&GI~bv*Xu5zZ%Y{KNXLXrUwl;R_f~aGSvwNTR1zsl0g&Ltc@qJc(+JOKCN@*f{+(hQVQ=-&5_d#04U7)8zA3hr0*aeiYNhiI2J*^FAB=jm`B?IaS8Dwi5YgN90q^3fz=g~6t1+^>@dY7=q#ZMU_^*v z&Pp?sHHr@aEXi3&8-U$=x>q1(NqsG}ds-Tb!X&Qy$6)!t<5lb^-Lxc0WKvn|h@Y#HDlHj;-p3M%Y zt8XQqG>@Z`0sS;5pcEW(0Ugc`D3*;_JBXQW5l2EhLscTPFs0N|IF^ts_V`Cph4*YH zH9!q>1{GS_mf4JURA3(^s7`^CkIe9b4&sc>VO`dOfcC=Jc$!>{jWLInHgR*Bhi_(D zm?mTJEG$Wi%1-^6XrJ3|DQQSkbdZ3NxNkI)#FTB<3`;G+TBiv7d z-xn81`LQN`5laasoD@)jCretY-IDB;25t@3D-;V5z^Hv2-6KA9m4MR}QO(mQT1`Rd zpeci^Oq;s0s=!H!F6a`XGGC%O(uHvtrYbLS!ziz-OoHPyo{qCT#Vk3cO{Sj870`eN z%2=xlVkLGtYk=Y(bttWTMoj(KqmNPFtldj`qk_U6tA@(<#xybP76N znNB^^Y0g+_Jwz)=+EQb+GPkiZ5RkDl5CGg@K5M0|T#L&ogC=49$slqI6Z3~yD?<(< zt04!JVdX}1r4^sC5l*eu+V5?xMCVJD&1e~L+cfGx{#n;}3S=16a*;c`rYm%xM32?6 zig#o#i*N&38YnVE=YHc{R9I)d%aSR6?!`0m?AL@SY7Izk12gHB*=({$=DCe{GPO(Q z!50TArsx)?#!uOi>Ppl43-dzCTa(^3G4-_|g7tudC5l*whZqD{sE>I`>lj&z_FK#B_#tw}O^-IA+kh^Lip2_5-xCz2>N?Ej_YG=WXfWJoC-dpuI|gXgk;UI=~#Fayl(~{a)a-i@BkPa=!)`{gkzTl zQ8To%)BI3oolL&9XG~xEXS~C(zLvS2O3R8Y^CMnK$aYv+HYujmcqnzBshPP zh*l)O@^y($kM^jEA(%lEQ=Y7L8;O)J9S7_Pl|j^l5Nr>5*V7(iCNu=3;9x@rkrHud zf*H{`;@-9NA=9?(`l@JP`Lyj(gO)Ow#gl>%2;e|!$A{~VB%UA2jwb?S#Yi4a0RyAD zB!;o_>P!N%Dqx#B+l1(lG%4T^eX{sSq(7^I&4#!*2s<$~iNI>fh+2ca7ewsm`=b9k zkU!d?9d{Jd`q=#V@OmFaLToSH9CLuh0G{l;ITx2nTlCCYz?sMbLSwu+=4yWvL9)hh z`|@Q%TRGBAE(l_)w?)Cgh=RX6kTNq@Ye2GzacVw@SNaJ@?UD zEh2yl48f-n;;A1HPphA^4ashTAzL!tijij+R+#@^jarH+QkG`4^ zNPfJn7NjhM3k!$R2yc;1xD*hGzSa&y6G-;pTa&yYa)yHO_L}IV80q(%b;AF`x@d6# zIc}((Eb;r%0u_AE!!2U3&^EF(M%i@N@?M=Zu>J=9(%7fUhS6MC-gNYQft9z>_S%bm zsM^N%>i(rT_*Xl!#>PEi@ox~a z8d$N{nN_q^cSR+;P`AP!3f3r4<(TxdU60((bp3_aph}dcU7kGLZiJ1!F7F)rm`s8;%zcgfJ7)Z z6M#1U zk^!4Rum7CIj%S~P=d2_=1R|eZEBV<87X(8Mt)U7)Kf`NfDGl&!Z8PuG~y+$bB4YogC^YVE?@jr3ZHyHLE&Bs#t zJ{ENeSWbS16WTb>?&I(^U0M*dmrrqzcW)e?)%=Z>jim<TtqgR19^qvje z2p-__j3}w#NPp!d8V)K)cWU1(EiK#sxz{Z&)BUnFT!&iI`(>3&)C zGr2xhm14_$!2k+Bd4dZIYPHqX+Un$bI1_K`;nGm;DPGRqJUg{(y@l3orU=5?WDw|1 zTDP*rHbr24a_t-fY0qg!O>a5*X34#K9r@qV6*-R?*KfJv9RTCAEK(OKQKR zYYZOKCAHrk-T6mF&gfV4-WlSsP5b*_ysrHR@fs%JFEw^7$)Ad~&IRO8CTMfed2H@4 zzEQK~3f9MTfAL>hPWOttMme>sW>ER>5rw~uz-7jr_>*wnTvWynUrf;dzee+EPUHV2 z&+Y4Q`zBTXRX%y9vSUAsw$pLQGnG=Gb$M2AJX3#OhGr_y=Z9yi=HN~dPBR=QT(Xfh zWz;qor~lTYb_R`kCt;b&e=(eN?9NpQ%g!}n& z(muLVO_MQ>mFGl~d>S5XxD_JYq%S$c)#IIfj%}@&d3GVyUY~CKn61V)?@!9?UrElh zSL?lOHNKgDQs%&uoW}4l*Bjs5KPfZTYTeVu+iY)qv%gd;W+tKJ9Dm&3%vR%@|0iTx zV&!S91b(x7`N3_C?g5sjayiGoBtLt!({w8EO9JINT}kdekI;ba}Q^$ma|td1WxX?^dAOi_3FVK)t;VWIOGFqC!$3pQFh? zzJKG21iyqJ6>>Rk6^7Nzf4M5a7vxKYe2(_;s=fx`EJ*y4f>g-ooJ(^3{-sMLercgR zN425(z#XfwDPTkh%x^ZbLm*e*(`ShLt(W$^MNtEZ%dlHg! z?VY<84(~hgOB0hay|Lsp2j_v?RaoPfC?;hZF+14%n5*VUS~0VGEDaub-otEf{F23_ z%s~0O(K&!YwgO>Zx{zumnM%g?^*$6eQ;qISmukh#P)*tKY7>&{R^yj4q*^{xEy2G! z<4jknCCKM!_rb@pYn=F{4e6nAdhMEX&aqGzGsoKC`*#163pKsbVXGA~ZB8Bz)tiU7 zCB|)y?zR{3@;OG1mVexLE6_6lQlXj6IZ-7)J$d8yz%PMFg?tVKjdZf>pKUum@Jk`( zIm(mmt6kR=@=GF8A)lkxIlTJl`WyVxh*VfRImH-ZMS^oIf+d-1Mw(}5t|Xb4Nu8ahg+#Ee~D)37z(nCH+Wo&(C z)g27^r534>&ry+iv)OkAgI{uy3i%wx;lt%2XlE(LFTF^Gd=9<$A~~zkM^}u@OE9IG zfwJ;lvv=t9!!N~1g?x^x>Gu1sOI&_QMk?fU)I=PQ0@umq_hqEQ@#S-OI5scOOvtoi zpKI_`rFi?ngO?5_{8EhqmdnxMHhI@@-3NZjMk?fT&a{WU?c`rh5B$=NRLJMRmmpJg z{L{c4#`qX9CDIei`M59=4NoeKPtk5tI#C=T&x9Ye6~fnWNO z3i%ur!5`22AKVJ*D3#Aq(HQ@9vFBDuJ+WNQKrP7gx7RC91%63LK+5N+1@ZP`*C6mq zLsB81qq5|^K6~f(K(DW8g-1_;sD@*)RkyOa%s4VqACN3ZNB_pYj&rzdxaJ=H` z1HW`674kU>>E`{{?$FHdA4!FO)%Rby*wGtF7QsTM&B-^Y{C>Lf&NYPml9Ke3&rzA} z4Z~fx`?T*|PN*__e6a5dIlsgtJ>+v#Kn_mN-a0+-OHE3vT#mBue!PMStrc>9zey^r zU7fjh%e?F~A=A<--=K1RymJK*(|*#)Y%Yi2gOW}jE#G$s4f9e|d8XoX`o81(ar}~$ zRLJKj6CVw>-HAWHFC`ULl0ztk1=+kjH6hayAlG1|)}()Ri7(q4zf>hn<#W^`_J6w0 zR7fpiE+^J8_Fo&XU7wd0LXZ&VG@yJ*#wEq>`sddlbMfbi49l?;K?0U@6Q#u56Rmlt&xVtQ+; zG$&E#;+6l-9i#XqF{zNxQ6c&1#raF82YzWxDim^5qu#Gwx=6@NWKt!crLnYw%kxdQ zk2IE+&(WF8&OtYW1-(xuJ>+xfJu}H^UI*^j$#0(7YK2U#biMu_+GWKn>8CyAvsAvC z!)N$PYosx?e9pDX{PpUtYqI1eHG#R1r4HQ1>$41r^`$kbl)PPcgLKZzYm@RV8FKCN zdu&qar@%(b&j~VaBNH>u*w} z{(AF~!-(`{xCz;o2)RZnAVsS7{LQZ09={}4nqwZ5lg#Cx9=OA($+W%Y@~?EbIJti1 zj?4TKoiv!s;rHky=cne#t;0FCpJHZD+4ROs4je+6m+Yj?VrHVI=j>qQ8V2*yom7*| zqwvc=uv~)wo{U30R5J`K*_ZAX@dn;KS!tn#m!N}nmuv}r3y%v@TS??6<0!18Z`|1D z+ZTh*Jrwyeu{XCZ=`=W5{HCO(rQsshfT|UOPQg1$2tXh3h5ki_-{V_6y3_E&aF|r^ z#8ihi?v49?W#Q;fK`AG%268>Zl1YY^bIsyGD0+i%5`LiGe&uV6 z8KFh*Rnu3`+y=hpPs8ce*Czya_`9`nF@zB zLl}Lp(&9OCh3Re2kNk><|A#}^6n=QDk_;>K;3eK%Q;srtEq{?2_scz)4pJGB`9s#P z-H>d=&%cl<*8Rqx(H^N@wNUWOP5WA~={&Pp;h3IhE8XAM_VAoplV2$tMps{J-}Qvu zJN%ZZY_2~2DqE}nqb03A3?5&;WLq&1yMP&d#RN0f zrWmzV2B(P`rj{8KPpfJJ^jb@?e}AUQkyv2pbxeB zm`we15gpvca7f}2F9k4G{h;$wAE#Zoho0`0boD(>ubexbf4}VT-A#uw$Us)1mnuPC z+K2^&f8f_`m*lxyBIPCyszme{NypioyySn z%N7h<-^C#FO}d%k_3^L++n!cr{$@&$>w?Elf!2Agmkjzw+HCr=tqqW~?;Z=9>C3%D zae+LAis2`lf@Z#7cB~D4#%ySjVGlFVyQ^|kWkFt1UT_8)bFk$z^`RR75>#)X^##n6 zD;2UGF;rfF5ZcJ!)a!?hpe^=N^NZ$^^xmpIH6xAatJb!a3Bt11 zG_tbSWG|aQ1H^D!;j7BC){6^ujNf=4wGxl@9!0e>$_uWE5%7qKNHF!QWCLpA z#+c&jG;dW-`o0vcR8Gfn5}aJ|#05rds{&Ko_G`y}a^d?Sw@0IN&<$(!C@`$lG2W=Q zxKt`VpCH<*Y^)T!=TUW9@0o_%=--d>D5N8^X-Kf%s;nq<27-@LGAK*m?Xo2 z1D{)5#yr#S34Zcp)a9jr3*I{{O6g|lUa6FUq^TDwCl6MHZ-STO!Wgs)+7sdhcOw-< zs~-k_C-5r6uzyv7u0l*J9>PzE%IZTa z5)53WBD~JmD&sehoXl~uFh)o>jWDSlFr8#n1%_WV+epKNN?!%Cj1Dpum^ep?Di>1% z|G+GgDTJX*C&yD}(B|Ck(lU*YTO27|Szqxx$0r>e6SOXs*x;L5ky6f# z*G}&3!Qn{&lvGu3j`3W%v1_8n9LJo=A3O?|{|+}H8i3^2m@JqF;VXY%wusy8$Urc2 z&>%u+EExF9w%wPeD_Me(sEEx)JS6RGkrYd4!ak&iMmUvE>)S92XP#qdTr}5chLO!PB}LWc{6DrfM(>K}a_JWVCItNOmxYQ|B~umZ*5sGJ*GkSLpDNegg0d592NXcJm$ znIQ;~=~My{U#7&184tE+GoxW534#iy_yrWCQ9GKuXdu?05lTy$C26pV&_Z7rVnPg< zTia-1E)YBmy-hR#p=*w9(!_KEtnFkNX+(jDCE;rRBLVRgSkve|1gEzqM!-|Da;w>x zLfXU8om@bCN~FP!ic{AFBciA|x)4NmG7n^}{7`s-rCkCHU#b#XI0z|r%)tiansu4Q zyZ$*GynCO`+5|c)nN(U?qbLOZNFxznSm=a~FcxHEdzs+6qL@W5H?Okv za>5xFQw@(}`2Nq1hwo!u5pyk{;;2oKyED89v;Ib5xVKk~nCQ&B*N*(&vGH5rSQ;nq zD18t%3c6iCLf}kQl_#+XXj)ybY{Av_j{ANGg}%|LGweTtZiu}Hp@}cXaA>fVqe9bE zltg`=u+k`xO(_&kb#)Siw#>=|4Zja;5YRLsb6#R+#U#mW_vns^?-c`$gn+@ahR7V^ zP7?PwiEd=kElU&J)T(G)KSo%-nTBsA0A)fAnXrC&eAU*);=fZ(iA@F!^f9z`g91;S z7%@iE0ArtDZ}S2u$hPI=rnS<16VU`eDH3Z?=SjTnJ431Yv6t|0O0h`vavI5zTaKJA!8;>4G+wdZ}IL?2}{zI-znn1t_SVLB(hZ zRvl^S*eJ(E>&*xe>BNrgm#XHm$#vntvZ=VwuoH;nyPfR_;06is_kY#zzz@( zLu+bdXVpj@xm%Gxz;v+{kB`L#f+4;QEvGg&nZ8=>kb!uUgJBkdyrJLUN;r*3d(045^~VkA;}~oW#X!9E=a`jb6r*~bCP9Ii{dEh60540 zUEMURaI>tjk}k>u6osd-B?L>b8pEeCS~eS!8KE^=-m1xqh(@ESOy%GI=DkQ%hP7bY znrp^^M6^ct31HdJbZeFu^UIWP*&U%tQC<8;QvRxKA-9+&lW|^WByWxUk{f%FRY~dr z?Q#vVRAzy$+CDiAusy%xIA?6VOx&~c zUN_Eu+&)=ZUEgR=i?iR{Vqqq2qqa`W{Z`HV6(AqcJSlbqb=L(ja*`*sC)bIkw z2Q|Q8g2tGn=uTTFn5ZK?f(u*UP*BU*OT+=OxsJjO+!XE8zheWB8hJnxMI5+*nE`3^ z!HF4Cs~U5g9FMTEGb~`}=HQ?Z;5B_r2~T_}k1V35Ar^-wT#DJn15<*+=em60CjHET z>T=WSP);M%ZjUs@M~}A)(`LpYx1R}d*=*R-urrNSbSh6cz?;UW%c30AQCcFcT{n@C zEW;*8v1cP11t%o3{}t(`@ehY))Xhv}b5W;#KXaq4!FwY=9RGm`aJ&F(KiR+sL6{vk zGvN!kJvR2QVHKzxg;nMc{ih?iLzY~)WKIe>F%(BAM30&KQ&7`|r-_=b@f2tAsC40= zL}+HFbS72-QqQZUlPH>LcTSSJ5to^0n(6FMK-6Ny<*U&(-}IcM&BbSCqHey+KLLSl zNaSlutcm%|Nm2{TOvFq}^GfdIQGN#9XY*o)IF8v&97JZe2U9~IUy<5V`CQobZwoy6byFvxQ1Yko5g2h0#ZE-K;|9wxcPLbmW8kZlaT! z6IKcqcLeZr`vD~PfR`n{&|-MD(IwL)AHeFZI}{>R40M^}SF?0Ts~|YhRodW#S<#h~ zeO6RS4)W+x5%h!@vBiv!@}cVoIb71yM}iq+muiQTNP6ORD_i{H4qe5VyrG!sTO1U^ zMFD(ti-V|i&P@-2^|7NEyR|H=hDIJ8rvq$lZxkfFF?BbH;^c*&U^9NUF(#OFor7GY z)l4!cZY@bMkP3QCZI;a>SoNjDURhnB(~J}`({NIe_-zEWyFSxK_&w(qlj7!*JPHQq zn>LzEtVb~!BW^D1IPQ&&Y5UfUCETynk^G7ji0q-q~61&Wk+cU9ZHs7B9q1^FiW7mtQZ12Z2G zSCgS&Lfv7cU5~@SW2xjEVowj)no^)a$w_d^oe>|ik-H28dn`N$v)P)Rx=ATG)6a)f zIfIzAQhGd`ikV~DWoPxX@Z8|V7_m&xif5~5{T13HT#%d;nli7&?I63!`<4gC8T|=| z#VPNP0LPnEpvF<3eaWpJUdk#MrX^&9#h}uxjsOSo3sZy(9lJ2mGYl6pB|Y zlu&7QT$p@Ye54EFL2G8@DS_p&>)O)qdsvQISiq|OLiX$(oeCufAx90PrG&g*p_HdM z>3+W2L?XhI9Y%kSu?c{{27bMf3GMx15|J{&~hE!N5#{%jVTa6iY@VLd8_& z+1p>^Q7Hw!zi~VgHcT9ih|vF4W6@MoS}>P>r-reV?QZGFgyZpjZxqXIPU(<|kqD;V zWOA?!F%ODY!I*2%gKYO(N-7xiLQgyj%XlimL4hd^4lboYR<sTm@5jTfP?5gHxv;akcWd0iqz zdmQ1oZt@Dh^7AT%vEWrOCFop8hPF8bdE#jbWb#UeklRKf0!kJ|xkNSF`Q0#L(p&ZnQ$0_aPB=%;W73Gz`! z>kP?QUUMjB3gq)9(2ye8xb`+zT8I^d*nyfQFrj~5qp*Ov6e-5#nR=bmFJ%+6Esj|C zhJ75&0($P|sJ`!=>-A1$H8uW7S2o~|KHRWe1O*;Xj7HZ=$yI_eJ-S#Ek{2)*oHc6r z1MezB(|U^3zjz5o87oj4_oB9`5c^ro3Tdm*QBlCrbwP{rDZ*U2GfIV!bSx9>*RHsz z$uMbRns|o#jlIw@=Rw9bXnjC?LukL71)Q|X$*|!F#1RnG1(EpgA&WuWkV`aEUTvuf zp(Y9z#VJPFeB%fjr0+L;05~mh?6uFj2#bWeU6+V}TN)8^pbC+HPS@Mv%pvw5Lta3h*?wPY%ZG^ZQQp+2tK%++R5=`wIS1NU6bI`tIVlpFbb+lq?> zH^f<=32v;tBR7WpvNk&!5?4;RY&Se#xC7C|^XvrZ8uBzDfuZmjGN;PZn2j z``Yl`Xyiu?+${xC+(#eLQrr*P{^Dw`i_BUVb7xyxOHY%RmL5d`LJL>+<~E}es%Qm&mXILtmM^Y#kW>Qx zuQ0~%s1HeMc9$=Drb-$M`ck14oyGXx{|byouF)A;2KA;`Nhfu~<)~>cbwj&lV{ysN zfcb+L4LA=;{z5&CE9p54?p+<3y(Z3MhzZzhI)^e?jB^En)`F7UATL0sL(3xRzC+-0 zZP@i8T51ZQ2wW#i)Z7jNyScz=T6s75%DWf0yXg*hWyH8}F6*VZpV2q=kq3Os*TU4;oLhim>Ggt3rZ$MkO_laQ^MK}BX&*sYJ+UDjz6an1*rS#qE z;oMPVAS&E|R(5}2y53=`p@k&CanTyz=!J{=_$oQ>tWufb+B?A$PAJaHTUZQrC=9AM z?rFL7P6PvhVp+VukY-`6mV0Mjdh?pObWK{NDJd7uUTu~-mNa8!QtsC2zlvSj99`tL zmc5G5ndTZukB1R(teNZ8+#BY=6sH2u;qn*98Mbefvwb6T4Pmh{wQB|zh1~*EAjoZQ ze?+fbjR(A3PkP-QF;wooGvvZ3IgVnY?r0d~?qbBkqDp?A%l5K5tbXJ#q2!HRTF*$} z%F5rAYle>IB1hp0G;xVw!%hZt`ae6{J3G4%v_@7M(@PvhcK=QG zD^>dM(ki__kv49{fLOyhirbJ;i%rvV(;{6$w}l}d8sFAt^6Zi7GFY0*dZ|)jqnOFB znEUlJSB1`aS?KiZLQ~4x3qv#H6F{-Chc7xY0AXJ+ViZ>yaM;SRe!}s|T}nFBt)_g} zA*QQf&YDB%EClKHgWJL4lHXt@_ji33w$FcMCQstca-4z6Z6+1)3F2)`4qqm_MM7D` zpTn%CbtCwht2+e_a<@1_l`ktJ2IRh^k`40YD~W!XI+%~rRk}K!F|-9h-GE5GwKZ;z zt7MyU?lE;46x&!$zNK{etx5 z+DmE$ZrtlIzt_~+QJWrDEfwlFk0XVnYD^HPKFLWt-qS>H}#C>u{k8%b6?b& zwNfyqs*Ba-*4_f(Dw$M+* z1$Yjm8TJliw}v%9?%u|-Mr0I9osg17XqRY7_tR>!;+NA}1<|-o>G)@RR=mwyF$H}} zDL_sd`yZBP9=`0OV{1pY`X{ z70#^!GrGa7vceEdn+tc|oUcQl4S?RBErXoG_&*wB)@n*h-Lym2fW9_ap z%QD3qUSxnU@jHN%Pvrhl_infx$(_%bc;0v3WBkPhoAOf~?s3lvs$q|LWYi#cyR%s^ zXOR`82 zbN)5YA|4$zu&)=vt0<~z&+J(jTxkOc-HDt%7vdTTtqXCX;*Ely|P{v< zf0lbR;e>4fF=iTo&DK~EnzEbs(}e~XIJtB`*R>SIu=gu(-On~#BHXlzvq(k>NEs=T z?XU%*$hKYdiDqp&do&~M=C=3mPrmqHAkGF4(~FQYKGN+vzm2)!ovLR#eb20Iq!0Ego-V7eudQkvq+e^O76ETg$2>4rlbnTrk5mTvMjoHHGC zr&rci=M9`0OwAI{v?Cfqyo~>OJBvC^VrMsw3bHYdS(2Np(4?!}V-~7W+5nBu^0a~_ zRZhN)-}*ZYADEQV3JF`n%-XZUOis^@hd=I-a%1NBb?B@IJxCgV(;-MUtpC0P5bc7W zZTJ!BzS7`B-G23ef0dP7-gCXdf1m`AkL{U^FRaCYXjBBv8c$zp#xhZ)!2L^Ar!k$9z^AfE2@= z2|)5l$uURCgrzZtnXNdy5DSo$fQ6M0@<`1=P)#yBZ>%Qb_@B0`MGI#!D4gRS#X$4= z4jONU#!te_*_?@q6wRM74O)@6hVWzBpePs;6lok)NF;0jUxzy{(|vzRf8H^NIe4Bg zlAbb!eplu6gnh*cvO>wcYX=;lkT91>JwM6@ZMbrJc0%WzAQ8xeXPEH+5;x%nis;D* z6$9GyLdPLoL2ynsD1Y3jlXJR(+)#<>;lmzhKq{SIKvh1$@TE$#>i*Veyx2Wfw}S9; z4_Mr*VhdKEHZ0kvuPTdo@1A2r9y_bCpRhZ^^_-YNwL*oyRIz}7xJ``h{pd5_I3!@+ zNwr;Sccn+xi$N&#GT&QWg;N$Y#G%q-7wjA=yG^h|RiwcGMZN}DH+bJ&T-+W7hPJTE$8>Ds!g$GgsJ!6aa~%x8}xA}QTBrK!kX&;xreQb+3o6F=J7#%d0Iba)BGNM<&%ug)v;e3wt zT005+zPS>=J zmg$-BiKly}AD$5&;z|Mum>b$CE$}pfNx^GU=_ii=@$i(dMlla226hYrz@_w^M3n&v zu%``~{qj_?w0#r#POIF|gNeqc6>jXqp1`o@k#5ApR&kzu(7hp*$}iHlY!cx%^@_jr z2u}I_|2KXjbi(F;DM8Fz5*~3+f=m7cPDbL>P9{CtadS6>e>sQ^QdK^u;CIxlK#zHM z>7**TQw{dC4b=jT@V{H_vBz7&kfsiFWyv)ZB1XCsc>RHFnL{5(;e30=N*YbKxThP8 zbNiK?eU3Bs`DkU89uk-5#e-0v7q4tQ;$+r|X`npNtwWqX7&|GM_HMl$=Bu-bCDjdZwr!CMlZlyFw+aO0sk!x*()qdiM_Z}?19B*~lE^=t6&ViS#EWSK zn%40&9)|9>y|_8V{JVuo_!v*iF3Bo-ch+cn=|{``;CPwC7E7n`lP770I;HV9 zOPZb86I!rxbI(08@cik}Db6+!k15X!u^XG@E&J}p4pJXCdT1mBGZ%B{-QGz;^D*tmy=J3$ zcbqvETzQN~)o@9iWo9_689)b!J|UdpzyPdA|9so?Bfo-MK0sPMdmC4hq1k``{qiWq z*|{mhT+NW)pK;UVDI5>5aiy>GC;f#9l$2I=x)!WXU@Be1AWb08=J*PN60J z#|x>Sx=g<50;b?$7s>pc&XSZ$sSS~-5?JaOBr^-QXO8S4!Sq~(IZSDeThe)@e=zCj zA0r}aj`H1=AE(KjfpLybm7Jjg>Dzwo*iSBeKjdyx$oN1QAD>#IqmcF_Qw3+~JDnix z+Ov-)*huSo^fKk@d(K29RXG*>_~2UP0=*~Z_%MwJvL0I;T!=(&or2qOKe)7PCeyn zrc-w-toAUE0+*#m<~%P6lS*0&f;;9Gh1`WEkAYR^+s)O*i_Ex*?i~HZ+gw?Fu(>kp z9KEEug4b!MYtGz!wt5o|5tUWW&&4ewzyDl3<20wfIy>vQLed%rJFH#=8l8ptS1o6;>@(YklaLNp4QM}c%+2rq9ItrufI zZ}?lH>6{(@apJVxbW3H01$crP9mYvA+-80e4GPzw!nWdc^ z01xhDo(lf0<6zL?xiky&uPKGe5+~N(*LSLk^8eIbswCxovGVX+!56%?f*rxGqk{WndeZCnROL$BeChX zwY9Y<3j}}yOF1~m3ORKnElIIR^z%0cfANAW4Sd;5o2}+z-;uxydRIaQ0}-CkmsSh& z6}zGs%51bapA&M6vy^XtH1a|*jsihMjy%uB6A zTO_l@j94Rj*wh{Q{Us7C8AnFA-28|H6Y55HKZ6*NnY#0a)Vc33)6{pdI!}{kscB!f z?&~HLM#ad7`1)lk{a z3~!vOG)me)TizA*luc*Dhj!r$;Z_p~)ami-XRu9tdUFu2IjxpE*gEcABe!XWp5JQ5 zZY2POMZPB0uJ0CG()(MG3mDj5EE41ot^jliF0Z`H;Lksc7kYZ>)wiNGFO7no*e{BXLtiKdYGd!0ew2#bnYy39(RUz_YMG9MO$Vy+F2_yh|I&u~;`)c41a$lx#RA9gR>--x^KOlh_Ixhn` z(}Nu9N@Zuu{D?#1yvs1!HfIl~<}`sAWHEw8XD%3+zMKfc_nkCr)5)(b#jSMayQi5s z1QqDZ{83sDk95@ztG`TL94PMtl~;ns;$BJ_NhpwGj{Ue4=wgDrq3KS6tN?*jA5RS(iWCT3F+AMJTG+^rBYL$taWKk8basbkhhowxj0R)B z2WF+Kxt&g1)7C;rO!OJMO=rQPjjf>s9UZtT#<-Ox>9DX=reR4mUmnY| zG@hulL04~=$}4%hTN<4Ix@adH$iF6>?y^ig-Sl7q>F}k;tPqjbA9g{hL~TP>d04fx zd$CCSazLhlU3NCnfO}UYhKEJM)x)r?nhs-XM{ ziJv;z%;h}`R>>5t_waY}#~`4SLZ|TbC)XjJwX1~&lhs{_>!@Q@C2+epvB9zPXhZuP z6K}ISlJkQGN35Tg=7X_}K zu6%^et$~Lip5+qJ{7rIDyXVuFsDN*t$96ARcDGtxss?BMcTNj;t#qYISDBRSKX5F~ zJ~Q?#9ei3C%TwJu-nxI~beuQqGH_h=&ATpUfE?eh)8i-HoVUX}0NG}5&jLK8jty_n z>Gb-^Ytw0X!=36_JVB>}lg9(oDV}hrI+pn8w3D4xloFpi)v`+Uf*SrEk zntS*56emnHhk9-ckj~|+_yaeKwvQywDb~uN1$e?b77Wm-eEjOrbP5LCsfICNNs|=6 zf6T9Wh?b%PM2zO^bMa9%iSFp~sy+W=9bOaHl%vm*}*cj3XwKw*8Vj)iJdk z$A=%QPG&{wSic8K$G-o}Q0n)XQXPv(dr!jS8`CM$MmvL%Xu;i4R&~vE<5vJvoWaPLcZWk(J$2H?T*G*jB~3mToJF@x zSNmKA^hwC`?hZHiwU8DF(frT+jP0)b^nEwikNKxmzgEK`V(u%SG8SnN*pT)ytqS|ULK!(~I zMZ6zI66;F9?Hi7D3g96%Oao@rHLc|KufM)i99-*_v;YM)dA`HJ^;!qD3K-Jp!)^IV zjUMXJ78nvg9}*5R!=awL0!Tkkw>LN>4z+SDKpWc0=#XR2P;Y1!AXhmYM{FQN?J5?a z<$1lczs{`b<*|U;RQkArC&w9@O~n8)1;?|OH>avO){)TyGh79gdTA8vSaiM3KIAR()L^Zsr_jZU=HT7az9KP=cR6K%B?Af5ZC!*d?3b#4Lj zy_e%L>paoEX93cA{86&piPpIV$R&<@8@%3$b_olRy*^z#<=~d!Mu4>Z>E+Q0GeZE| zKn-KSjw0Q?+Bj#YNwn@PKokdAy3Z6fxe7>W-FnAIysW8SHw%zzkFSTkWu#iQ79i!U z6&rm;JjLxT_5WouWb;=5vs=R$u%k$W<=zCZi!iKIYp?=FJ`QB)@qB%aon8SHyfP&)IrzfYp2NpVRS%B2GzWz`4+(N6_0%XC@{EL4o6&2coEkG75)_m4rp)J?~ zq@4c6#Ty>2m1BWF&^$Rg;v~BGgXOjWsp{_bX_rT1FP!8=aBnTXs6#xghB9DBlBu8P zo4f{v4$T%I7ys~VLyM?g+yZpm3E$nkT>`?&b!mM51&`;bNGoN;_ReyV1d`kY|_+C}z``+9brD_9_Ik5oc&7jcA=1TYV~ z7NahAk1u$Sm$B|(5n6}c?11-PsUwL6?r2f&Huu>D&Esui~`c%SufC!fV*u@&KxOyBNorNHq9?9iK*1>J)q+SDSs)O8!b;}=c5rymHYxX-+0$9aDOS9n=mwf zWzsWMcBwB2mlv>bbp{XV2H6OEtGXpG3n)sW4z4TGB9hTq;L3SyYj6YEo!YEn+tn^Bs3e(D6X-lfp3PZz#6U+mJbz(tKyQ_qekA`ehdQu76RpQKnvB_`$~9RaI^?N^i5A2H=x;f*sXic9rQGIckqZG+y3 z#BUp&wdPEhb@4x&8_L1Kz2MEXgsq|~~ms!g?}H6QV(eRR~`-EABk zbdtoDF|od@CzP6KrZQ0^QB|H&dxTNdh)|3w)}hOPM0vcAm|~sW6ziZ?xz&v9(-Z6K zyNh+qvni@d*dOpTq1IVH$^?FnAZxLs3o2p1>?yK!iWab~l zs!?C>rgyc4_p_DNIe1!DhN1Z#;AU;9Oj>yArrx@0??LRFrfi$tBGhj}^e%*dYVTu} zQkF^C%fbmyp>>Y1BjEs~a}=uLOuv*l-OF*qEWu+XZSPTvlBt9DM{n_@r5-b938L;x zy^?)}=uL!5!4kJd%t9qO3L@b2iY9}@3~)8Nd_wm6HvL4TvTW@sW=`6dV}EiiXt~~1Zk;yv&)fOmOur~F=gr&ZqYMqKzm3mq|1!{efWzLpDh%k~?WmVZL z7r)NcgBmUB(}GI+AsD3;c$b-V8nCQNEqt7wZ}6~olQs<0hKvJDy5Jw^U^FsU`NjLb zX@r?905<2acEeFy$80mW9Z8XZTdE!zi(@LWQ)L`W<5vA#WS12MIFB~4nA%Wlt4zmS z-s~4Nxk8tI7*+?RS|ygz|3blRHLDeq4df@wxA~Lg%SDon#kWOVbVX;xWv`F$Q?W%= z>!9#+rLN|wlieu;{8Qhk8`{0mkd3R)!xcQ>*@6h}x@n^@XEJG0ITBmS0j`G&!&u zN=X;}UWx8ZW)4aw52y{A%cNs;S7uz6UK?kwccO^k^GiB>xH&!f%s=L<$ zCP>$OoRFm-4CrT5tIP1&E4cul23Nav0ua;JS&#eyU)i|cA zjSYcdY2kHlg30p2Ykw;@k8;!Lm)48_T3`R~Mv;|p{v-Sd1+M_-XK%Oc|K7su^`1Q4 O2%m4_(bG%((Z2v_2pr)6 diff --git a/priv/static/adminfe/static/js/chunk-e458.bb460d81.js.map b/priv/static/adminfe/static/js/chunk-e458.bb460d81.js.map deleted file mode 100644 index 89f05fb991b8168a2835b4bc2f60b0d4afb046e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57478 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 F{}0OeWOM)k diff --git a/priv/static/adminfe/static/js/runtime.5bae86dc.js b/priv/static/adminfe/static/js/runtime.5bae86dc.js new file mode 100644 index 0000000000000000000000000000000000000000..e5fb1554bddfdbab29f3a874b18cb631e4e277f6 GIT binary patch literal 4229 zcmbW4TaVkg6@cISD?BV3G z>*{2Z1quwtyoiVALVkzmPBog_!e~$8Q{SFxPeadC-fyg$SyB;}>b-v;3VwnE$>C>t zAVunvGTk3`#VbZjsXy9$S1cB|O4+_RkY-;U=JS#sn>zPg2PEL@XzK5ra62pXOyQri zPm)`Dtc*4G`6y}5>YtzVKPq#Sm3^k1m8GYM#q+r*_x6w~_=m3&#C$G5)m_zDDqHWIOrE-- z^i*s$DYth4=_a?Q%cXaibc?QD=lxp3$=GJ#Jz6>s3}Y8YW!h`vj*{C;JN2r)JiONJ zA#iQHb$)TJ`TT@<-ssQwe&P$X4M^9GDYyx(q%5*5R$AVB2b`QLtcL3A4h6t0+Hq2hyxHXJDSvy3I1Y#5J%V11)< zr(zo~k5vthiAAoADCBn!A4#)XO@Iun<4^4k!jNF-ttC8IuV ztPzW1e;Ke*PH+u63jMWUpwb|}jXqLwB(g*;hw=6pAms-t=1b7iym|lpk{+?}U(&BV zHz;CC2AgD!T%;k&ysi=4enyWA3-?|a-aJZe=|^ebmC`lqAD(|gZ1;XH?1{C~n zBWs&lNL>xSfC?@=X+{3zWaN?wgdx4S3@EjDn-`_<1ioNubE!un;gh3s>R&MKQbhxO z=YL0Rj-kPE$2AW5AMa#Y%iidh8E5f{!?^>odrj=&f_D=Escknh@U9q)_#!?vuZp8} zhlKK+RkgG!YOK0nBciCwil(t?u=EL|n$PEo!WWa{t&MhsaFZAoKoG`&L6+){iMwME zdu9v%@Tq=4i~p0x5-<|*P1w^|Z88={u76A8LbIPfHf|=bo+KRj-oK*OF1U0j>a2+aSYBG zzVB$9K<*EDFjBpvFn9F4CsN3t&(RdSNkxW*sr}3v6 zUEo~aHasEd;mf0=Np6GIY0i;AZbIGXl(^>V{HkcoBE+C+cbe4dNJmOeOq> z_bmJuV^rYz?p{`m8V{O~)VlIQNL6Ur7Zq-foTP@7TCuE@TX@U@ueaQ(%IE~^Knc|7 zcC|ovsWZ{2*@x%H%s>ikf2lPeAf@V$kdNo{Z|(T?w*?|G7LpO`eweW%y*V!cJbN5HboyJ8j z@I395YZ>inIO^Dm1Bby;{)XzDAn+b*N{hbqcx$`_tCv@W>Z=b&CrdokpsrMu7$WU) zV##poAnEoc6BI2MniU!fLU#o%WU+3FJ0IzZkNWcD3u|8wVn?a8)BUo2VRERLoL-tB zprXb^yX_{NaL2IMvUA|^yS1)c;A9+APQlhf-hlZ!}lx z!}9@3{T6T{&3CS<_Mp7p{pI1|ud~`T6_-E3y92JqzyA4S+EubN%G}FZaQdmHkL>tA Dw)$dl literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/runtime.5bae86dc.js.map b/priv/static/adminfe/static/js/runtime.5bae86dc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..46c6380d92bf58780ed94c3252154f463052d502 GIT binary patch literal 17240 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 diff --git a/priv/static/adminfe/static/js/runtime.b08eb412.js.map b/priv/static/adminfe/static/js/runtime.b08eb412.js.map deleted file mode 100644 index 62f70ee3e8e43bcab24ae3bdb524e4db3292185e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16879 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 Date: Fri, 26 Jun 2020 05:33:59 +0200 Subject: [PATCH 060/108] nodeinfo: Fix MRF transparency --- lib/pleroma/web/nodeinfo/nodeinfo.ex | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/lib/pleroma/web/nodeinfo/nodeinfo.ex b/lib/pleroma/web/nodeinfo/nodeinfo.ex index d26b7c938..f7ab6d86a 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo.ex @@ -6,30 +6,19 @@ defmodule Pleroma.Web.Nodeinfo.Nodeinfo do alias Pleroma.Config alias Pleroma.Stats alias Pleroma.User - alias Pleroma.Web.ActivityPub.MRF alias Pleroma.Web.Federator.Publisher + alias Pleroma.Web.MastodonAPI.InstanceView # returns a nodeinfo 2.0 map, since 2.1 just adds a repository field # under software. def get_nodeinfo("2.0") do stats = Stats.get_stats() - quarantined = Config.get([:instance, :quarantined_instances], []) - staff_accounts = User.all_superusers() |> Enum.map(fn u -> u.ap_id end) - federation_response = - if Config.get([:instance, :mrf_transparency]) do - {:ok, data} = MRF.describe() - - data - |> Map.merge(%{quarantined_instances: quarantined}) - else - %{} - end - |> Map.put(:enabled, Config.get([:instance, :federating])) + federation = InstanceView.federation() features = [ @@ -86,7 +75,7 @@ def get_nodeinfo("2.0") do enabled: false }, staffAccounts: staff_accounts, - federation: federation_response, + federation: federation, pollLimits: Config.get([:instance, :poll_limits]), postFormats: Config.get([:instance, :allowed_post_formats]), uploadLimits: %{ From 27c33f216ad250b60d44fe0662c3be3c4cee987e Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Fri, 26 Jun 2020 05:39:35 +0200 Subject: [PATCH 061/108] activity_draft: Add source field --- lib/pleroma/web/common_api/activity_draft.ex | 1 + test/web/common_api/common_api_test.exs | 2 ++ 2 files changed, 3 insertions(+) diff --git a/lib/pleroma/web/common_api/activity_draft.ex b/lib/pleroma/web/common_api/activity_draft.ex index 9bcb9f587..f849b2e01 100644 --- a/lib/pleroma/web/common_api/activity_draft.ex +++ b/lib/pleroma/web/common_api/activity_draft.ex @@ -186,6 +186,7 @@ defp object(draft) do draft.poll ) |> Map.put("emoji", emoji) + |> Map.put("source", draft.status) %__MODULE__{draft | object: object} end diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index 6bd26050e..cbdd994a9 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -445,6 +445,7 @@ test "it filters out obviously bad tags when accepting a post as HTML" do object = Object.normalize(activity) assert object.data["content"] == "

2hu

alert('xss')" + assert object.data["source"] == post end test "it filters out obviously bad tags when accepting a post as Markdown" do @@ -461,6 +462,7 @@ test "it filters out obviously bad tags when accepting a post as Markdown" do object = Object.normalize(activity) assert object.data["content"] == "

2hu

alert('xss')" + assert object.data["source"] == post end test "it does not allow replies to direct messages that are not direct messages themselves" do From 91cd023720dfea24cbb0d5a63db92e9773b59a04 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Fri, 26 Jun 2020 09:03:07 +0300 Subject: [PATCH 062/108] Pleroma.Upload.Filter.Mogrify args description --- config/description.exs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/description.exs b/config/description.exs index f54ac2a2a..b13b7c9dd 100644 --- a/config/description.exs +++ b/config/description.exs @@ -193,7 +193,9 @@ %{ key: :args, type: [:string, {:list, :string}, {:list, :tuple}], - description: "List of actions for the mogrify command", + description: + "List of actions for the mogrify command. It's possible to add self-written settings as string. " <> + "For example `[\"auto-orient\", \"strip\", {\"resize\", \"3840x1080>\"}]` string will be parsed into list of the settings.", suggestions: [ "strip", "auto-orient", From c3383d4fab6181d9f605a6058805333611534398 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 26 Jun 2020 11:58:40 +0200 Subject: [PATCH 063/108] BlockValidator: Restore old behavior for incoming blocks. --- .../object_validators/block_validator.ex | 13 +++++++++++++ lib/pleroma/web/activity_pub/side_effects.ex | 1 - test/web/activity_pub/object_validator_test.exs | 8 +++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/activity_pub/object_validators/block_validator.ex b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex index 1dde77198..1989585b7 100644 --- a/lib/pleroma/web/activity_pub/object_validators/block_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex @@ -6,6 +6,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.BlockValidator do use Ecto.Schema alias Pleroma.EctoType.ActivityPub.ObjectValidators + alias Pleroma.User import Ecto.Changeset import Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations @@ -32,6 +33,7 @@ def validate_data(cng) do |> validate_inclusion(:type, ["Block"]) |> validate_actor_presence() |> validate_actor_presence(field_name: :object) + |> validate_block_acceptance() end def cast_and_validate(data) do @@ -39,4 +41,15 @@ def cast_and_validate(data) do |> cast_data |> validate_data end + + def validate_block_acceptance(cng) do + actor = get_field(cng, :actor) |> User.get_cached_by_ap_id() + + if actor.local || Pleroma.Config.get([:activitypub, :unfollow_blocked], true) do + cng + else + cng + |> add_error(:actor, "Not accepting remote blocks") + end + end end diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index 48350d2b3..5cc2eb378 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -29,7 +29,6 @@ def handle( ) do with %User{} = blocker <- User.get_cached_by_ap_id(blocking_user), %User{} = blocked <- User.get_cached_by_ap_id(blocked_user) do - User.unfollow(blocker, blocked) User.block(blocker, blocked) end diff --git a/test/web/activity_pub/object_validator_test.exs b/test/web/activity_pub/object_validator_test.exs index e96552763..a3d43ef3c 100644 --- a/test/web/activity_pub/object_validator_test.exs +++ b/test/web/activity_pub/object_validator_test.exs @@ -657,7 +657,7 @@ test "returns an error if the object can't be updated by the actor", %{ describe "blocks" do setup do - user = insert(:user) + user = insert(:user, local: false) blocked = insert(:user) {:ok, valid_block, []} = Builder.block(user, blocked) @@ -680,5 +680,11 @@ test "returns an error if we don't know the blocked user", %{ assert {:error, _cng} = ObjectValidator.validate(block, []) end + + test "returns an error if don't accept remote blocks", %{valid_block: valid_block} do + clear_config([:activitypub, :unfollow_blocked], false) + + assert {:error, _cng} = ObjectValidator.validate(valid_block, []) + end end end From 15a8b703185c685fc3d25a381fcb9dee522c78bf Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 26 Jun 2020 12:06:00 +0200 Subject: [PATCH 064/108] User: Don't unfollow on block when the relevant setting is set. --- lib/pleroma/user.ex | 3 ++- .../object_validators/block_validator.ex | 13 ------------- test/web/activity_pub/object_validator_test.exs | 6 ------ test/web/activity_pub/side_effects_test.exs | 16 ++++++++++++++++ 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index c3e2a89ad..9d5c61e79 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1309,7 +1309,8 @@ def block(%User{} = blocker, %User{} = blocked) do unsubscribe(blocked, blocker) - if following?(blocked, blocker), do: unfollow(blocked, blocker) + unfollowing_blocked = Config.get([:activitypub, :unfollow_blocked], true) + if unfollowing_blocked && following?(blocked, blocker), do: unfollow(blocked, blocker) {:ok, blocker} = update_follower_count(blocker) {:ok, blocker, _} = Participation.mark_all_as_read(blocker, blocked) diff --git a/lib/pleroma/web/activity_pub/object_validators/block_validator.ex b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex index 1989585b7..1dde77198 100644 --- a/lib/pleroma/web/activity_pub/object_validators/block_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex @@ -6,7 +6,6 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.BlockValidator do use Ecto.Schema alias Pleroma.EctoType.ActivityPub.ObjectValidators - alias Pleroma.User import Ecto.Changeset import Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations @@ -33,7 +32,6 @@ def validate_data(cng) do |> validate_inclusion(:type, ["Block"]) |> validate_actor_presence() |> validate_actor_presence(field_name: :object) - |> validate_block_acceptance() end def cast_and_validate(data) do @@ -41,15 +39,4 @@ def cast_and_validate(data) do |> cast_data |> validate_data end - - def validate_block_acceptance(cng) do - actor = get_field(cng, :actor) |> User.get_cached_by_ap_id() - - if actor.local || Pleroma.Config.get([:activitypub, :unfollow_blocked], true) do - cng - else - cng - |> add_error(:actor, "Not accepting remote blocks") - end - end end diff --git a/test/web/activity_pub/object_validator_test.exs b/test/web/activity_pub/object_validator_test.exs index a3d43ef3c..f38bf7e08 100644 --- a/test/web/activity_pub/object_validator_test.exs +++ b/test/web/activity_pub/object_validator_test.exs @@ -680,11 +680,5 @@ test "returns an error if we don't know the blocked user", %{ assert {:error, _cng} = ObjectValidator.validate(block, []) end - - test "returns an error if don't accept remote blocks", %{valid_block: valid_block} do - clear_config([:activitypub, :unfollow_blocked], false) - - assert {:error, _cng} = ObjectValidator.validate(valid_block, []) - end end end diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index 36792f015..af27c34b4 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -87,6 +87,22 @@ test "it unfollows and blocks", %{user: user, blocked: blocked, block: block} do refute User.following?(blocked, user) assert User.blocks?(user, blocked) end + + test "it blocks but does not unfollow if the relevant setting is set", %{ + user: user, + blocked: blocked, + block: block + } do + clear_config([:activitypub, :unfollow_blocked], false) + assert User.following?(user, blocked) + assert User.following?(blocked, user) + + {:ok, _, _} = SideEffects.handle(block) + + refute User.following?(user, blocked) + assert User.following?(blocked, user) + assert User.blocks?(user, blocked) + end end describe "update users" do From 7ed229641667f52dd82eb7c388ea28e79e09e507 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 26 Jun 2020 13:04:15 +0200 Subject: [PATCH 065/108] Nodeinfo: Add chat information back in. --- lib/pleroma/web/nodeinfo/nodeinfo.ex | 30 +--------------------------- test/web/node_info_test.exs | 3 ++- 2 files changed, 3 insertions(+), 30 deletions(-) diff --git a/lib/pleroma/web/nodeinfo/nodeinfo.ex b/lib/pleroma/web/nodeinfo/nodeinfo.ex index f7ab6d86a..47fa46376 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo.ex @@ -19,35 +19,7 @@ def get_nodeinfo("2.0") do |> Enum.map(fn u -> u.ap_id end) federation = InstanceView.federation() - - features = - [ - "pleroma_api", - "mastodon_api", - "mastodon_api_streaming", - "polls", - "pleroma_explicit_addressing", - "shareable_emoji_packs", - "multifetch", - "pleroma:api/v1/notifications:include_types_filter", - if Config.get([:media_proxy, :enabled]) do - "media_proxy" - end, - if Config.get([:gopher, :enabled]) do - "gopher" - end, - if Config.get([:chat, :enabled]) do - "chat" - end, - if Config.get([:instance, :allow_relay]) do - "relay" - end, - if Config.get([:instance, :safe_dm_mentions]) do - "safe_dm_mentions" - end, - "pleroma_emoji_reactions" - ] - |> Enum.filter(& &1) + features = InstanceView.features() %{ version: "2.0", diff --git a/test/web/node_info_test.exs b/test/web/node_info_test.exs index 8b3b6177d..06b33607f 100644 --- a/test/web/node_info_test.exs +++ b/test/web/node_info_test.exs @@ -142,7 +142,8 @@ test "it shows default features flags", %{conn: conn} do "shareable_emoji_packs", "multifetch", "pleroma_emoji_reactions", - "pleroma:api/v1/notifications:include_types_filter" + "pleroma:api/v1/notifications:include_types_filter", + "pleroma_chat_messages" ] assert MapSet.subset?( From e7bc0273e5bb7fd8f9bafae453a574b1e579dc9c Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Fri, 26 Jun 2020 15:22:08 +0300 Subject: [PATCH 066/108] additional data to MRF policies in descriptions --- config/description.exs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/config/description.exs b/config/description.exs index b13b7c9dd..1fb0c3c41 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1383,6 +1383,7 @@ %{ group: :pleroma, key: :mrf_simple, + tab: :mrf, label: "MRF simple", type: :group, description: "Message Rewrite Facility", @@ -1448,6 +1449,7 @@ %{ group: :pleroma, key: :mrf_activity_expiration, + tab: :mrf, label: "MRF Activity Expiration Policy", type: :group, description: "Adds expiration to all local Create Note activities", @@ -1463,6 +1465,7 @@ %{ group: :pleroma, key: :mrf_subchain, + tab: :mrf, label: "MRF subchain", type: :group, description: @@ -1484,6 +1487,7 @@ %{ group: :pleroma, key: :mrf_rejectnonpublic, + tab: :mrf, description: "MRF RejectNonPublic settings. RejectNonPublic drops posts with non-public visibility settings.", label: "MRF reject non public", @@ -1505,6 +1509,7 @@ %{ group: :pleroma, key: :mrf_hellthread, + tab: :mrf, label: "MRF hellthread", type: :group, description: "Block messages with too much mentions", @@ -1529,6 +1534,7 @@ %{ group: :pleroma, key: :mrf_keyword, + tab: :mrf, label: "MRF keyword", type: :group, description: "Reject or Word-Replace messages with a keyword or regex", @@ -1574,6 +1580,7 @@ %{ group: :pleroma, key: :mrf_vocabulary, + tab: :mrf, label: "MRF vocabulary", type: :group, description: "Filter messages which belong to certain activity vocabularies", @@ -2832,6 +2839,7 @@ }, %{ group: :pleroma, + tab: :mrf, key: :mrf_normalize_markup, label: "MRF normalize markup", description: "MRF NormalizeMarkup settings. Scrub configured hypertext markup.", @@ -3024,6 +3032,7 @@ %{ group: :pleroma, key: :mrf_object_age, + tab: :mrf, type: :group, description: "Rejects or delists posts based on their age when received.", children: [ @@ -3367,6 +3376,7 @@ %{ group: :pleroma, key: :mrf, + tab: :mrf, type: :group, description: "General MRF settings", children: [ From 4a7a34ae8c2ad12b2b9903c1d70bfe85d10af49e Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 26 Jun 2020 14:47:38 +0200 Subject: [PATCH 067/108] Preloading: Return correct data for statusnet stuff. --- lib/pleroma/web/preload/status_net.ex | 9 +++++---- test/web/preload/status_net_test.exs | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/web/preload/status_net.ex b/lib/pleroma/web/preload/status_net.ex index 367442d5c..810ad512b 100644 --- a/lib/pleroma/web/preload/status_net.ex +++ b/lib/pleroma/web/preload/status_net.ex @@ -4,7 +4,7 @@ defmodule Pleroma.Web.Preload.Providers.StatusNet do alias Pleroma.Web.Preload.Providers.Provider - alias Pleroma.Web.TwitterAPI.UtilView + alias Pleroma.Web.TwitterAPI.UtilController @behaviour Provider @config_url :"/api/statusnet/config.json" @@ -16,9 +16,10 @@ def generate_terms(_params) do end defp build_config_tag(acc) do - instance = Pleroma.Config.get(:instance) - info_data = UtilView.status_net_config(instance) + resp = + Plug.Test.conn(:get, @config_url |> to_string()) + |> UtilController.config(nil) - Map.put(acc, @config_url, info_data) + Map.put(acc, @config_url, resp.resp_body) end end diff --git a/test/web/preload/status_net_test.exs b/test/web/preload/status_net_test.exs index ab6823a7e..2cdc82930 100644 --- a/test/web/preload/status_net_test.exs +++ b/test/web/preload/status_net_test.exs @@ -9,6 +9,7 @@ defmodule Pleroma.Web.Preload.Providers.StatusNetTest do setup do: {:ok, StatusNet.generate_terms(nil)} test "it renders the info", %{"/api/statusnet/config.json": info} do - assert info =~ "Pleroma" + assert {:ok, res} = Jason.decode(info) + assert res["site"] end end From a2002ebb6393d53030d5fc565bae90f3fedd48a8 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 26 Jun 2020 14:48:23 +0200 Subject: [PATCH 068/108] Preloading: Fix nodeinfo url. --- lib/pleroma/web/preload/instance.ex | 2 +- test/web/preload/instance_test.exs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/preload/instance.ex b/lib/pleroma/web/preload/instance.ex index 0b6fd3313..3b95fe403 100644 --- a/lib/pleroma/web/preload/instance.ex +++ b/lib/pleroma/web/preload/instance.ex @@ -10,7 +10,7 @@ defmodule Pleroma.Web.Preload.Providers.Instance do @behaviour Provider @instance_url :"/api/v1/instance" @panel_url :"/instance/panel.html" - @nodeinfo_url :"/nodeinfo/2.0" + @nodeinfo_url :"/nodeinfo/2.0.json" @impl Provider def generate_terms(_params) do diff --git a/test/web/preload/instance_test.exs b/test/web/preload/instance_test.exs index 42a0d87bc..51b9dc549 100644 --- a/test/web/preload/instance_test.exs +++ b/test/web/preload/instance_test.exs @@ -25,7 +25,7 @@ test "it renders the panel", %{"/instance/panel.html": panel} do ) end - test "it renders the node_info", %{"/nodeinfo/2.0": nodeinfo} do + test "it renders the node_info", %{"/nodeinfo/2.0.json": nodeinfo} do %{ metadata: metadata, version: "2.0" From 244655e884130df6dccabc0d2d78d33857809a36 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Fri, 26 Jun 2020 07:16:24 +0200 Subject: [PATCH 069/108] MastoAPI: Show source field when deleting --- .../web/api_spec/operations/status_operation.ex | 2 +- lib/pleroma/web/api_spec/schemas/status.ex | 5 +++++ .../mastodon_api/controllers/status_controller.ex | 15 +++++++++++---- lib/pleroma/web/mastodon_api/views/status_view.ex | 1 + test/support/factory.ex | 1 + .../controllers/status_controller_test.exs | 11 ++++++++--- test/web/mastodon_api/views/status_view_test.exs | 1 + 7 files changed, 28 insertions(+), 8 deletions(-) diff --git a/lib/pleroma/web/api_spec/operations/status_operation.ex b/lib/pleroma/web/api_spec/operations/status_operation.ex index 0b7fad793..5bd4619d5 100644 --- a/lib/pleroma/web/api_spec/operations/status_operation.ex +++ b/lib/pleroma/web/api_spec/operations/status_operation.ex @@ -84,7 +84,7 @@ def delete_operation do operationId: "StatusController.delete", parameters: [id_param()], responses: %{ - 200 => empty_object_response(), + 200 => status_response(), 403 => Operation.response("Forbidden", "application/json", ApiError), 404 => Operation.response("Not Found", "application/json", ApiError) } diff --git a/lib/pleroma/web/api_spec/schemas/status.ex b/lib/pleroma/web/api_spec/schemas/status.ex index 8b87cb25b..a38b5b40f 100644 --- a/lib/pleroma/web/api_spec/schemas/status.ex +++ b/lib/pleroma/web/api_spec/schemas/status.ex @@ -62,6 +62,11 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Status do } }, content: %Schema{type: :string, format: :html, description: "HTML-encoded status content"}, + text: %Schema{ + type: :string, + description: "Original unformatted content in plain text", + nullable: true + }, created_at: %Schema{ type: :string, format: "date-time", diff --git a/lib/pleroma/web/mastodon_api/controllers/status_controller.ex b/lib/pleroma/web/mastodon_api/controllers/status_controller.ex index 468b44b67..3f4c53437 100644 --- a/lib/pleroma/web/mastodon_api/controllers/status_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/status_controller.ex @@ -200,11 +200,18 @@ def show(%{assigns: %{user: user}} = conn, %{id: id}) do @doc "DELETE /api/v1/statuses/:id" def delete(%{assigns: %{user: user}} = conn, %{id: id}) do - with {:ok, %Activity{}} <- CommonAPI.delete(id, user) do - json(conn, %{}) + with %Activity{} = activity <- Activity.get_by_id_with_object(id), + render <- + try_render(conn, "show.json", + activity: activity, + for: user, + with_direct_conversation_id: true, + with_source: true + ), + {:ok, %Activity{}} <- CommonAPI.delete(id, user) do + render else - {:error, :not_found} = e -> e - _e -> render_error(conn, :forbidden, "Can't delete this post") + _e -> {:error, :not_found} end end diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index 2c49bedb3..4df47f584 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -333,6 +333,7 @@ def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} reblog: nil, card: card, content: content_html, + text: opts[:with_source] && object.data["source"], created_at: created_at, reblogs_count: announcement_count, replies_count: object.data["repliesCount"] || 0, diff --git a/test/support/factory.ex b/test/support/factory.ex index 6e22b66a4..af580021c 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -67,6 +67,7 @@ def note_factory(attrs \\ %{}) do data = %{ "type" => "Note", "content" => text, + "source" => text, "id" => Pleroma.Web.ActivityPub.Utils.generate_object_id(), "actor" => user.ap_id, "to" => ["https://www.w3.org/ns/activitystreams#Public"], diff --git a/test/web/mastodon_api/controllers/status_controller_test.exs b/test/web/mastodon_api/controllers/status_controller_test.exs index a98e939e8..fd2de8d80 100644 --- a/test/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/web/mastodon_api/controllers/status_controller_test.exs @@ -760,13 +760,18 @@ test "if user is authenticated", %{local: local, remote: remote} do test "when you created it" do %{user: author, conn: conn} = oauth_access(["write:statuses"]) activity = insert(:note_activity, user: author) + object = Object.normalize(activity) - conn = + content = object.data["content"] + source = object.data["source"] + + result = conn |> assign(:user, author) |> delete("/api/v1/statuses/#{activity.id}") + |> json_response_and_validate_schema(200) - assert %{} = json_response_and_validate_schema(conn, 200) + assert match?(%{"content" => ^content, "text" => ^source}, result) refute Activity.get_by_id(activity.id) end @@ -789,7 +794,7 @@ test "when you didn't create it" do conn = delete(conn, "/api/v1/statuses/#{activity.id}") - assert %{"error" => _} = json_response_and_validate_schema(conn, 403) + assert %{"error" => "Record not found"} == json_response_and_validate_schema(conn, 404) assert Activity.get_by_id(activity.id) == activity end diff --git a/test/web/mastodon_api/views/status_view_test.exs b/test/web/mastodon_api/views/status_view_test.exs index 5cbadf0fc..b6ae4d343 100644 --- a/test/web/mastodon_api/views/status_view_test.exs +++ b/test/web/mastodon_api/views/status_view_test.exs @@ -183,6 +183,7 @@ test "a note activity" do card: nil, reblog: nil, content: HTML.filter_tags(object_data["content"]), + text: nil, created_at: created_at, reblogs_count: 0, replies_count: 0, From 1566543bec70e6497df77ed83bf4d3cc39c116eb Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Fri, 26 Jun 2020 20:10:47 +0200 Subject: [PATCH 070/108] object/fetcher: Pass full Transmogrifier error --- lib/pleroma/object/fetcher.ex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/object/fetcher.ex b/lib/pleroma/object/fetcher.ex index 263ded5dd..3e2949ee2 100644 --- a/lib/pleroma/object/fetcher.ex +++ b/lib/pleroma/object/fetcher.ex @@ -83,8 +83,8 @@ def fetch_object_from_id(id, options \\ []) do {:transmogrifier, {:error, {:reject, nil}}} -> {:reject, nil} - {:transmogrifier, _} -> - {:error, "Transmogrifier failure."} + {:transmogrifier, _} = e -> + {:error, e} {:object, data, nil} -> reinject_object(%Object{}, data) From f89390110b6b601fc505e63c3e36516d7ca96f5c Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Sat, 27 Jun 2020 12:18:34 +0300 Subject: [PATCH 071/108] added tab & labels for mrf policies --- config/description.exs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/description.exs b/config/description.exs index 1fb0c3c41..e0c07bf78 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1565,6 +1565,7 @@ %{ group: :pleroma, key: :mrf_mention, + tab: :mrf, label: "MRF mention", type: :group, description: "Block messages which mention a user", @@ -3032,6 +3033,7 @@ %{ group: :pleroma, key: :mrf_object_age, + label: "MRF object age", tab: :mrf, type: :group, description: "Rejects or delists posts based on their age when received.", @@ -3377,6 +3379,7 @@ group: :pleroma, key: :mrf, tab: :mrf, + label: "MRF", type: :group, description: "General MRF settings", children: [ From 0313520cd2164e8abe671c7a0663246366ee30e9 Mon Sep 17 00:00:00 2001 From: lain Date: Sat, 27 Jun 2020 12:18:37 +0200 Subject: [PATCH 072/108] Config: Reduce default preloaders to configuration endpoints. Fetching the timeline is a bit heavy to do by default. --- config/config.exs | 2 -- 1 file changed, 2 deletions(-) diff --git a/config/config.exs b/config/config.exs index 5b1c576e7..9b550920c 100644 --- a/config/config.exs +++ b/config/config.exs @@ -437,8 +437,6 @@ config :pleroma, Pleroma.Web.Preload, providers: [ Pleroma.Web.Preload.Providers.Instance, - Pleroma.Web.Preload.Providers.User, - Pleroma.Web.Preload.Providers.Timelines, Pleroma.Web.Preload.Providers.StatusNet ] From efb5d64e5089ab59d8304f49f7c92fcab6e00b86 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Mon, 29 Jun 2020 02:39:26 +0200 Subject: [PATCH 073/108] differences_in_mastoapi_responses: Update account fields --- docs/API/differences_in_mastoapi_responses.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/API/differences_in_mastoapi_responses.md b/docs/API/differences_in_mastoapi_responses.md index 7c3546f4f..c100ae83b 100644 --- a/docs/API/differences_in_mastoapi_responses.md +++ b/docs/API/differences_in_mastoapi_responses.md @@ -51,11 +51,14 @@ The `id` parameter can also be the `nickname` of the user. This only works in th Has these additional fields under the `pleroma` object: +- `ap_id`: nullable URL string, ActivityPub id of the user +- `background_image`: nullable URL string, background image of the user - `tags`: Lists an array of tags for the user -- `relationship{}`: Includes fields as documented for Mastodon API https://docs.joinmastodon.org/entities/relationship/ +- `relationship` (object): Includes fields as documented for Mastodon API https://docs.joinmastodon.org/entities/relationship/ - `is_moderator`: boolean, nullable, true if user is a moderator - `is_admin`: boolean, nullable, true if user is an admin - `confirmation_pending`: boolean, true if a new user account is waiting on email confirmation to be activated +- `hide_favorites`: boolean, true when the user has hiding favorites enabled - `hide_followers`: boolean, true when the user has follower hiding enabled - `hide_follows`: boolean, true when the user has follow hiding enabled - `hide_followers_count`: boolean, true when the user has follower stat hiding enabled @@ -66,6 +69,7 @@ Has these additional fields under the `pleroma` object: - `allow_following_move`: boolean, true when the user allows automatically follow moved following accounts - `unread_conversation_count`: The count of unread conversations. Only returned to the account owner. - `unread_notifications_count`: The count of unread notifications. Only returned to the account owner. +- `notification_settings`: object, can be absent. See `/api/pleroma/notification_settings` for the parameters/keys returned. ### Source From 9f51b03eed85d4a3ea24e1d449fcb4969f299096 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Mon, 29 Jun 2020 03:31:33 +0200 Subject: [PATCH 074/108] ApiSpec.Schemas.Account: import description from differences_in_mastoapi_responses --- lib/pleroma/web/api_spec/schemas/account.ex | 83 +++++++++++++++++---- 1 file changed, 67 insertions(+), 16 deletions(-) diff --git a/lib/pleroma/web/api_spec/schemas/account.ex b/lib/pleroma/web/api_spec/schemas/account.ex index d54e2158d..84f18f1b6 100644 --- a/lib/pleroma/web/api_spec/schemas/account.ex +++ b/lib/pleroma/web/api_spec/schemas/account.ex @@ -40,20 +40,53 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do pleroma: %Schema{ type: :object, properties: %{ - allow_following_move: %Schema{type: :boolean}, - background_image: %Schema{type: :string, nullable: true}, + allow_following_move: %Schema{ + type: :boolean, + description: "whether the user allows automatically follow moved following accounts" + }, + background_image: %Schema{type: :string, nullable: true, format: :uri}, chat_token: %Schema{type: :string}, - confirmation_pending: %Schema{type: :boolean}, + confirmation_pending: %Schema{ + type: :boolean, + description: + "whether the user account is waiting on email confirmation to be activated" + }, hide_favorites: %Schema{type: :boolean}, - hide_followers_count: %Schema{type: :boolean}, - hide_followers: %Schema{type: :boolean}, - hide_follows_count: %Schema{type: :boolean}, - hide_follows: %Schema{type: :boolean}, - is_admin: %Schema{type: :boolean}, - is_moderator: %Schema{type: :boolean}, + hide_followers_count: %Schema{ + type: :boolean, + description: "whether the user has follower stat hiding enabled" + }, + hide_followers: %Schema{ + type: :boolean, + description: "whether the user has follower hiding enabled" + }, + hide_follows_count: %Schema{ + type: :boolean, + description: "whether the user has follow stat hiding enabled" + }, + hide_follows: %Schema{ + type: :boolean, + description: "whether the user has follow hiding enabled" + }, + is_admin: %Schema{ + type: :boolean, + description: "whether the user is an admin of the local instance" + }, + is_moderator: %Schema{ + type: :boolean, + description: "whether the user is a moderator of the local instance" + }, skip_thread_containment: %Schema{type: :boolean}, - tags: %Schema{type: :array, items: %Schema{type: :string}}, - unread_conversation_count: %Schema{type: :integer}, + tags: %Schema{ + type: :array, + items: %Schema{type: :string}, + description: + "List of tags being used for things like extra roles or moderation(ie. marking all media as nsfw all)." + }, + unread_conversation_count: %Schema{ + type: :integer, + description: "The count of unread conversations. Only returned to the account owner." + }, notification_settings: %Schema{ type: :object, properties: %{ @@ -66,7 +99,9 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do }, relationship: AccountRelationship, settings_store: %Schema{ - type: :object + type: :object, + description: + "A generic map of settings for frontends. Opaque to the backend. Only returned in `verify_credentials` and `update_credentials`" } } }, @@ -74,16 +109,32 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do type: :object, properties: %{ fields: %Schema{type: :array, items: AccountField}, - note: %Schema{type: :string}, + note: %Schema{ + type: :string, + description: + "Plaintext version of the bio without formatting applied by the backend, used for editing the bio." + }, privacy: VisibilityScope, sensitive: %Schema{type: :boolean}, pleroma: %Schema{ type: :object, properties: %{ actor_type: ActorType, - discoverable: %Schema{type: :boolean}, - no_rich_text: %Schema{type: :boolean}, - show_role: %Schema{type: :boolean} + discoverable: %Schema{ + type: :boolean, + description: + "whether the user allows discovery of the account in search results and other services." + }, + no_rich_text: %Schema{ + type: :boolean, + description: + "whether the HTML tags for rich-text formatting are stripped from all statuses requested from the API." + }, + show_role: %Schema{ + type: :boolean, + description: + "whether the user wants their role (e.g admin, moderator) to be shown" + } } } } From a19f8778afddb7f504b08cedde752e37da52dc96 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 11:06:20 +0200 Subject: [PATCH 075/108] User preloader: Put user info at correct key --- lib/pleroma/web/preload/user.ex | 11 ++++++----- test/web/preload/user_test.exs | 14 +++++++------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/pleroma/web/preload/user.ex b/lib/pleroma/web/preload/user.ex index 3a244845b..7fef0a4ac 100644 --- a/lib/pleroma/web/preload/user.ex +++ b/lib/pleroma/web/preload/user.ex @@ -3,11 +3,12 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.Preload.Providers.User do + alias Pleroma.User alias Pleroma.Web.MastodonAPI.AccountView alias Pleroma.Web.Preload.Providers.Provider @behaviour Provider - @account_url :"/api/v1/accounts" + @account_url_base :"/api/v1/accounts" @impl Provider def generate_terms(%{user: user}) do @@ -16,10 +17,10 @@ def generate_terms(%{user: user}) do def generate_terms(_params), do: %{} - def build_accounts_tag(acc, nil), do: acc - - def build_accounts_tag(acc, user) do + def build_accounts_tag(acc, %User{} = user) do account_data = AccountView.render("show.json", %{user: user, for: user}) - Map.put(acc, @account_url, account_data) + Map.put(acc, :"#{@account_url_base}/#{user.id}", account_data) end + + def build_accounts_tag(acc, _), do: acc end diff --git a/test/web/preload/user_test.exs b/test/web/preload/user_test.exs index 99232cdfa..68d69d977 100644 --- a/test/web/preload/user_test.exs +++ b/test/web/preload/user_test.exs @@ -9,13 +9,11 @@ defmodule Pleroma.Web.Preload.Providers.UserTest do describe "returns empty when user doesn't exist" do test "nil user specified" do - refute User.generate_terms(%{user: nil}) - |> Map.has_key?("/api/v1/accounts") + assert User.generate_terms(%{user: nil}) == %{} end test "missing user specified" do - refute User.generate_terms(%{user: :not_a_user}) - |> Map.has_key?("/api/v1/accounts") + assert User.generate_terms(%{user: :not_a_user}) == %{} end end @@ -23,11 +21,13 @@ test "missing user specified" do setup do user = insert(:user) - {:ok, User.generate_terms(%{user: user})} + terms = User.generate_terms(%{user: user}) + %{terms: terms, user: user} end - test "account is rendered", %{"/api/v1/accounts": accounts} do - assert %{acct: user, username: user} = accounts + test "account is rendered", %{terms: terms, user: user} do + account = terms[:"/api/v1/accounts/#{user.id}"] + assert %{acct: user, username: user} = account end end end From 8630a6c7f52a68ab32025b1c80a6398599908c68 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 11:41:00 +0200 Subject: [PATCH 076/108] Preloaders: Use strings as keys. --- lib/pleroma/web/preload/instance.ex | 6 +++--- lib/pleroma/web/preload/status_net.ex | 2 +- lib/pleroma/web/preload/timelines.ex | 2 +- lib/pleroma/web/preload/user.ex | 4 ++-- test/web/preload/instance_test.exs | 6 +++--- test/web/preload/status_net_test.exs | 2 +- test/web/preload/timeline_test.exs | 2 +- test/web/preload/user_test.exs | 2 +- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/pleroma/web/preload/instance.ex b/lib/pleroma/web/preload/instance.ex index 3b95fe403..b34d7cf37 100644 --- a/lib/pleroma/web/preload/instance.ex +++ b/lib/pleroma/web/preload/instance.ex @@ -8,9 +8,9 @@ defmodule Pleroma.Web.Preload.Providers.Instance do alias Pleroma.Web.Preload.Providers.Provider @behaviour Provider - @instance_url :"/api/v1/instance" - @panel_url :"/instance/panel.html" - @nodeinfo_url :"/nodeinfo/2.0.json" + @instance_url "/api/v1/instance" + @panel_url "/instance/panel.html" + @nodeinfo_url "/nodeinfo/2.0.json" @impl Provider def generate_terms(_params) do diff --git a/lib/pleroma/web/preload/status_net.ex b/lib/pleroma/web/preload/status_net.ex index 810ad512b..9b62f87a2 100644 --- a/lib/pleroma/web/preload/status_net.ex +++ b/lib/pleroma/web/preload/status_net.ex @@ -7,7 +7,7 @@ defmodule Pleroma.Web.Preload.Providers.StatusNet do alias Pleroma.Web.TwitterAPI.UtilController @behaviour Provider - @config_url :"/api/statusnet/config.json" + @config_url "/api/statusnet/config.json" @impl Provider def generate_terms(_params) do diff --git a/lib/pleroma/web/preload/timelines.ex b/lib/pleroma/web/preload/timelines.ex index e531b8960..57de04051 100644 --- a/lib/pleroma/web/preload/timelines.ex +++ b/lib/pleroma/web/preload/timelines.ex @@ -8,7 +8,7 @@ defmodule Pleroma.Web.Preload.Providers.Timelines do alias Pleroma.Web.Preload.Providers.Provider @behaviour Provider - @public_url :"/api/v1/timelines/public" + @public_url "/api/v1/timelines/public" @impl Provider def generate_terms(params) do diff --git a/lib/pleroma/web/preload/user.ex b/lib/pleroma/web/preload/user.ex index 7fef0a4ac..b3d2e9b8d 100644 --- a/lib/pleroma/web/preload/user.ex +++ b/lib/pleroma/web/preload/user.ex @@ -8,7 +8,7 @@ defmodule Pleroma.Web.Preload.Providers.User do alias Pleroma.Web.Preload.Providers.Provider @behaviour Provider - @account_url_base :"/api/v1/accounts" + @account_url_base "/api/v1/accounts" @impl Provider def generate_terms(%{user: user}) do @@ -19,7 +19,7 @@ def generate_terms(_params), do: %{} def build_accounts_tag(acc, %User{} = user) do account_data = AccountView.render("show.json", %{user: user, for: user}) - Map.put(acc, :"#{@account_url_base}/#{user.id}", account_data) + Map.put(acc, "#{@account_url_base}/#{user.id}", account_data) end def build_accounts_tag(acc, _), do: acc diff --git a/test/web/preload/instance_test.exs b/test/web/preload/instance_test.exs index 51b9dc549..5bb6c5981 100644 --- a/test/web/preload/instance_test.exs +++ b/test/web/preload/instance_test.exs @@ -8,7 +8,7 @@ defmodule Pleroma.Web.Preload.Providers.InstanceTest do setup do: {:ok, Instance.generate_terms(nil)} - test "it renders the info", %{"/api/v1/instance": info} do + test "it renders the info", %{"/api/v1/instance" => info} do assert %{ description: description, email: "admin@example.com", @@ -18,14 +18,14 @@ test "it renders the info", %{"/api/v1/instance": info} do assert String.equivalent?(description, "Pleroma: An efficient and flexible fediverse server") end - test "it renders the panel", %{"/instance/panel.html": panel} do + test "it renders the panel", %{"/instance/panel.html" => panel} do assert String.contains?( panel, "

Welcome to Pleroma!

" ) end - test "it renders the node_info", %{"/nodeinfo/2.0.json": nodeinfo} do + test "it renders the node_info", %{"/nodeinfo/2.0.json" => nodeinfo} do %{ metadata: metadata, version: "2.0" diff --git a/test/web/preload/status_net_test.exs b/test/web/preload/status_net_test.exs index 2cdc82930..df7acdb11 100644 --- a/test/web/preload/status_net_test.exs +++ b/test/web/preload/status_net_test.exs @@ -8,7 +8,7 @@ defmodule Pleroma.Web.Preload.Providers.StatusNetTest do setup do: {:ok, StatusNet.generate_terms(nil)} - test "it renders the info", %{"/api/statusnet/config.json": info} do + test "it renders the info", %{"/api/statusnet/config.json" => info} do assert {:ok, res} = Jason.decode(info) assert res["site"] end diff --git a/test/web/preload/timeline_test.exs b/test/web/preload/timeline_test.exs index da6a3aded..fea95a6a4 100644 --- a/test/web/preload/timeline_test.exs +++ b/test/web/preload/timeline_test.exs @@ -9,7 +9,7 @@ defmodule Pleroma.Web.Preload.Providers.TimelineTest do alias Pleroma.Web.CommonAPI alias Pleroma.Web.Preload.Providers.Timelines - @public_url :"/api/v1/timelines/public" + @public_url "/api/v1/timelines/public" describe "unauthenticated timeliness when restricted" do setup do diff --git a/test/web/preload/user_test.exs b/test/web/preload/user_test.exs index 68d69d977..83f065e27 100644 --- a/test/web/preload/user_test.exs +++ b/test/web/preload/user_test.exs @@ -26,7 +26,7 @@ test "missing user specified" do end test "account is rendered", %{terms: terms, user: user} do - account = terms[:"/api/v1/accounts/#{user.id}"] + account = terms["/api/v1/accounts/#{user.id}"] assert %{acct: user, username: user} = account end end From e64d08439ea171f1090e0bfa927f3c83cb9522b0 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 12:40:23 +0200 Subject: [PATCH 077/108] UpdateCredentialsTest: Add test for removing profile images. --- .../update_credentials_test.exs | 47 ++++++++++++++++--- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs index f67d294ba..31f0edf97 100644 --- a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs +++ b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs @@ -216,10 +216,20 @@ test "updates the user's avatar", %{user: user, conn: conn} do filename: "an_image.jpg" } - conn = patch(conn, "/api/v1/accounts/update_credentials", %{"avatar" => new_avatar}) + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{"avatar" => new_avatar}) - assert user_response = json_response_and_validate_schema(conn, 200) + assert user_response = json_response_and_validate_schema(res, 200) assert user_response["avatar"] != User.avatar_url(user) + + # Also removes it + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{"avatar" => nil}) + + assert user_response = json_response_and_validate_schema(res, 200) + assert user_response["avatar"] == User.avatar_url(user) end test "updates the user's banner", %{user: user, conn: conn} do @@ -229,10 +239,21 @@ test "updates the user's banner", %{user: user, conn: conn} do filename: "an_image.jpg" } - conn = patch(conn, "/api/v1/accounts/update_credentials", %{"header" => new_header}) + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{"header" => new_header}) - assert user_response = json_response_and_validate_schema(conn, 200) + assert user_response = json_response_and_validate_schema(res, 200) assert user_response["header"] != User.banner_url(user) + + # Also removes it + + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{"header" => nil}) + + assert user_response = json_response_and_validate_schema(res, 200) + assert user_response["header"] == User.banner_url(user) end test "updates the user's background", %{conn: conn} do @@ -242,13 +263,25 @@ test "updates the user's background", %{conn: conn} do filename: "an_image.jpg" } - conn = - patch(conn, "/api/v1/accounts/update_credentials", %{ + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{ "pleroma_background_image" => new_header }) - assert user_response = json_response_and_validate_schema(conn, 200) + assert user_response = json_response_and_validate_schema(res, 200) assert user_response["pleroma"]["background_image"] + + # Also removes it + + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{ + "pleroma_background_image" => nil + }) + + assert user_response = json_response_and_validate_schema(res, 200) + refute user_response["pleroma"]["background_image"] end test "requires 'write:accounts' permission" do From 6512ef6879a5f857f02479da1bad7242e916d918 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Mon, 29 Jun 2020 15:25:57 +0300 Subject: [PATCH 078/108] excluding attachment links from RichMedia --- lib/pleroma/html.ex | 2 +- test/html_test.exs | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/html.ex b/lib/pleroma/html.ex index d78c5f202..dc1b9b840 100644 --- a/lib/pleroma/html.ex +++ b/lib/pleroma/html.ex @@ -109,7 +109,7 @@ def extract_first_external_url(object, content) do result = content |> Floki.parse_fragment!() - |> Floki.filter_out("a.mention,a.hashtag,a[rel~=\"tag\"]") + |> Floki.filter_out("a.mention,a.hashtag,a.attachment,a[rel~=\"tag\"]") |> Floki.attribute("a", "href") |> Enum.at(0) diff --git a/test/html_test.exs b/test/html_test.exs index 0a4b4ebbc..f8907c8b4 100644 --- a/test/html_test.exs +++ b/test/html_test.exs @@ -237,5 +237,19 @@ test "does not crash when there is an HTML entity in a link" do assert {:ok, nil} = HTML.extract_first_external_url(object, object.data["content"]) end + + test "skips attachment links" do + user = insert(:user) + + {:ok, activity} = + CommonAPI.post(user, %{ + status: + "image.png" + }) + + object = Object.normalize(activity) + + assert {:ok, nil} = HTML.extract_first_external_url(object, object.data["content"]) + end end end From dc60b1ee583e59ab1a6808700b45992a41fecd8f Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Mon, 29 Jun 2020 16:22:54 +0300 Subject: [PATCH 079/108] updated swoosh --- mix.exs | 5 ++++- mix.lock | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mix.exs b/mix.exs index b638be541..e2ab53bde 100644 --- a/mix.exs +++ b/mix.exs @@ -159,7 +159,10 @@ defp deps do {:cors_plug, "~> 1.5"}, {:ex_doc, "~> 0.21", only: :dev, runtime: false}, {:web_push_encryption, "~> 0.2.1"}, - {:swoosh, "~> 0.23.2"}, + {:swoosh, + git: "https://github.com/swoosh/swoosh", + ref: "c96e0ca8a00d8f211ec1f042a4626b09f249caa5", + override: true}, {:phoenix_swoosh, "~> 0.2"}, {:gen_smtp, "~> 0.13"}, {:websocket_client, git: "https://github.com/jeremyong/websocket_client.git", only: :test}, diff --git a/mix.lock b/mix.lock index 5ad49391d..4f2777fa7 100644 --- a/mix.lock +++ b/mix.lock @@ -104,9 +104,9 @@ "sleeplocks": {:hex, :sleeplocks, "1.1.1", "3d462a0639a6ef36cc75d6038b7393ae537ab394641beb59830a1b8271faeed3", [:rebar3], [], "hexpm", "84ee37aeff4d0d92b290fff986d6a95ac5eedf9b383fadfd1d88e9b84a1c02e1"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, "sweet_xml": {:hex, :sweet_xml, "0.6.6", "fc3e91ec5dd7c787b6195757fbcf0abc670cee1e4172687b45183032221b66b8", [:mix], [], "hexpm", "2e1ec458f892ffa81f9f8386e3f35a1af6db7a7a37748a64478f13163a1f3573"}, - "swoosh": {:hex, :swoosh, "0.23.5", "bfd9404bbf5069b1be2ffd317923ce57e58b332e25dbca2a35dedd7820dfee5a", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}], "hexpm", "e3928e1d2889a308aaf3e42755809ac21cffd77cb58eef01cbfdab4ce2fd1e21"}, + "swoosh": {:git, "https://github.com/swoosh/swoosh", "c96e0ca8a00d8f211ec1f042a4626b09f249caa5", [ref: "c96e0ca8a00d8f211ec1f042a4626b09f249caa5"]}, "syslog": {:hex, :syslog, "1.1.0", "6419a232bea84f07b56dc575225007ffe34d9fdc91abe6f1b2f254fd71d8efc2", [:rebar3], [], "hexpm", "4c6a41373c7e20587be33ef841d3de6f3beba08519809329ecc4d27b15b659e1"}, - "telemetry": {:hex, :telemetry, "0.4.1", "ae2718484892448a24470e6aa341bc847c3277bfb8d4e9289f7474d752c09c7f", [:rebar3], [], "hexpm", "4738382e36a0a9a2b6e25d67c960e40e1a2c95560b9f936d8e29de8cd858480f"}, + "telemetry": {:hex, :telemetry, "0.4.2", "2808c992455e08d6177322f14d3bdb6b625fbcfd233a73505870d8738a2f4599", [:rebar3], [], "hexpm", "2d1419bd9dda6a206d7b5852179511722e2b18812310d304620c7bd92a13fcef"}, "tesla": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/tesla.git", "61b7503cef33f00834f78ddfafe0d5d9dec2270b", [ref: "61b7503cef33f00834f78ddfafe0d5d9dec2270b"]}, "timex": {:hex, :timex, "3.6.1", "efdf56d0e67a6b956cc57774353b0329c8ab7726766a11547e529357ffdc1d56", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5 or ~> 1.0.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "f354efb2400dd7a80fd9eb6c8419068c4f632da4ac47f3d8822d6e33f08bc852"}, "trailing_format_plug": {:hex, :trailing_format_plug, "0.0.7", "64b877f912cf7273bed03379936df39894149e35137ac9509117e59866e10e45", [:mix], [{:plug, "> 0.12.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "bd4fde4c15f3e993a999e019d64347489b91b7a9096af68b2bdadd192afa693f"}, From 979f02ec947443835f480d13bd1dbcf521743a71 Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Mon, 29 Jun 2020 17:33:00 +0400 Subject: [PATCH 080/108] Fix CastAndValidate plug --- lib/pleroma/web/api_spec/cast_and_validate.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/api_spec/cast_and_validate.ex b/lib/pleroma/web/api_spec/cast_and_validate.ex index bd9026237..fbfc27d6f 100644 --- a/lib/pleroma/web/api_spec/cast_and_validate.ex +++ b/lib/pleroma/web/api_spec/cast_and_validate.ex @@ -40,7 +40,7 @@ def call(%{private: %{open_api_spex: private_data}} = conn, %{ |> List.first() _ -> - nil + "application/json" end private_data = Map.put(private_data, :operation_id, operation_id) From 3aa04b81c4d558dfa8d3c35ab7db6041671ac121 Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Mon, 29 Jun 2020 19:47:04 +0400 Subject: [PATCH 081/108] Test default "content-type" for CastAndValidate --- test/web/mastodon_api/controllers/account_controller_test.exs | 1 - 1 file changed, 1 deletion(-) diff --git a/test/web/mastodon_api/controllers/account_controller_test.exs b/test/web/mastodon_api/controllers/account_controller_test.exs index ebfcedd01..260ad2306 100644 --- a/test/web/mastodon_api/controllers/account_controller_test.exs +++ b/test/web/mastodon_api/controllers/account_controller_test.exs @@ -780,7 +780,6 @@ test "with notifications", %{conn: conn} do assert %{"id" => _id, "muting" => true, "muting_notifications" => true} = conn - |> put_req_header("content-type", "application/json") |> post("/api/v1/accounts/#{other_user.id}/mute") |> json_response_and_validate_schema(200) From 90083a754dc0bfe0c8a04fbaa3e78f68a848035e Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 17:48:18 +0200 Subject: [PATCH 082/108] Notifications: Never return `nil` in the notification list. --- lib/pleroma/notification.ex | 1 + test/notification_test.exs | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 9ee9606be..58dcf880a 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -367,6 +367,7 @@ defp do_create_notifications(%Activity{} = activity, options) do do_send = do_send && user in enabled_receivers create_notification(activity, user, do_send) end) + |> Enum.filter(& &1) {:ok, notifications} end diff --git a/test/notification_test.exs b/test/notification_test.exs index 526f43fab..5389dabca 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -21,7 +21,19 @@ defmodule Pleroma.NotificationTest do alias Pleroma.Web.Push alias Pleroma.Web.Streamer + # TODO: Test there's no nil notifications + describe "create_notifications" do + test "never returns nil" do + user = insert(:user) + other_user = insert(:user, %{invisible: true}) + + {:ok, activity} = CommonAPI.post(user, %{status: "yeah"}) + {:ok, activity} = CommonAPI.react_with_emoji(activity.id, other_user, "☕") + + refute {:ok, [nil]} == Notification.create_notifications(activity) + end + test "creates a notification for an emoji reaction" do user = insert(:user) other_user = insert(:user) From c01f4ca07f3a3e47fb6532c55128c427fbc1f77e Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 17:52:56 +0200 Subject: [PATCH 083/108] Notification: Remove TODO. --- test/notification_test.exs | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/notification_test.exs b/test/notification_test.exs index 5389dabca..6add3f7eb 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -21,8 +21,6 @@ defmodule Pleroma.NotificationTest do alias Pleroma.Web.Push alias Pleroma.Web.Streamer - # TODO: Test there's no nil notifications - describe "create_notifications" do test "never returns nil" do user = insert(:user) From 09c5991f82e91878a940f5957ac993e1fca72545 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 16:04:14 +0000 Subject: [PATCH 084/108] Apply suggestion to lib/pleroma/notification.ex --- lib/pleroma/notification.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 58dcf880a..2ef1a80c5 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -367,7 +367,7 @@ defp do_create_notifications(%Activity{} = activity, options) do do_send = do_send && user in enabled_receivers create_notification(activity, user, do_send) end) - |> Enum.filter(& &1) + |> Enum.reject(&is_nil/1) {:ok, notifications} end From 27542f19c60589d8deb5d9d7a59d2019b75026fa Mon Sep 17 00:00:00 2001 From: normandy Date: Tue, 30 Jun 2020 03:12:30 +0000 Subject: [PATCH 085/108] Use correct PostgreSQL version command in bug template --- .gitlab/issue_templates/Bug.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab/issue_templates/Bug.md b/.gitlab/issue_templates/Bug.md index 66fbc510e..9ce9b6918 100644 --- a/.gitlab/issue_templates/Bug.md +++ b/.gitlab/issue_templates/Bug.md @@ -14,7 +14,7 @@ * Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE): * Elixir version (`elixir -v` for from source installations, N/A for OTP): * Operating system: -* PostgreSQL version (`postgres -V`): +* PostgreSQL version (`psql -V`): ### Bug description From 2382a2a1511e1042d960946aacfde7a49fac9dd0 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 30 Jun 2020 11:35:54 +0200 Subject: [PATCH 086/108] Preload: Load the correct instance panel --- lib/pleroma/web/preload/instance.ex | 3 ++- test/fixtures/preload_static/instance/panel.html | 1 + test/web/preload/instance_test.exs | 11 +++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/preload_static/instance/panel.html diff --git a/lib/pleroma/web/preload/instance.ex b/lib/pleroma/web/preload/instance.ex index 0b6fd3313..5c6e33e47 100644 --- a/lib/pleroma/web/preload/instance.ex +++ b/lib/pleroma/web/preload/instance.ex @@ -6,6 +6,7 @@ defmodule Pleroma.Web.Preload.Providers.Instance do alias Pleroma.Web.MastodonAPI.InstanceView alias Pleroma.Web.Nodeinfo.Nodeinfo alias Pleroma.Web.Preload.Providers.Provider + alias Pleroma.Plugs.InstanceStatic @behaviour Provider @instance_url :"/api/v1/instance" @@ -27,7 +28,7 @@ defp build_info_tag(acc) do end defp build_panel_tag(acc) do - instance_path = Path.join(:code.priv_dir(:pleroma), "static/instance/panel.html") + instance_path = InstanceStatic.file_path(@panel_url |> to_string()) if File.exists?(instance_path) do panel_data = File.read!(instance_path) diff --git a/test/fixtures/preload_static/instance/panel.html b/test/fixtures/preload_static/instance/panel.html new file mode 100644 index 000000000..fc58e4e93 --- /dev/null +++ b/test/fixtures/preload_static/instance/panel.html @@ -0,0 +1 @@ +HEY! diff --git a/test/web/preload/instance_test.exs b/test/web/preload/instance_test.exs index 42a0d87bc..df150d7be 100644 --- a/test/web/preload/instance_test.exs +++ b/test/web/preload/instance_test.exs @@ -25,6 +25,17 @@ test "it renders the panel", %{"/instance/panel.html": panel} do ) end + test "it works with overrides" do + clear_config([:instance, :static_dir], "test/fixtures/preload_static") + + %{"/instance/panel.html": panel} = Instance.generate_terms(nil) + + assert String.contains?( + panel, + "HEY!" + ) + end + test "it renders the node_info", %{"/nodeinfo/2.0": nodeinfo} do %{ metadata: metadata, From 8b7055e25e76565cd3376c0b5dda5e54d24881f0 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 30 Jun 2020 11:55:58 +0200 Subject: [PATCH 087/108] Credo fixes --- lib/pleroma/web/preload/instance.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/preload/instance.ex b/lib/pleroma/web/preload/instance.ex index 3d16f290b..50d1f3382 100644 --- a/lib/pleroma/web/preload/instance.ex +++ b/lib/pleroma/web/preload/instance.ex @@ -3,10 +3,10 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.Preload.Providers.Instance do + alias Pleroma.Plugs.InstanceStatic alias Pleroma.Web.MastodonAPI.InstanceView alias Pleroma.Web.Nodeinfo.Nodeinfo alias Pleroma.Web.Preload.Providers.Provider - alias Pleroma.Plugs.InstanceStatic @behaviour Provider @instance_url "/api/v1/instance" From d69af7f74290a67c9201782b7d4bafa29b6e0bd8 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 30 Jun 2020 11:50:53 -0500 Subject: [PATCH 088/108] Rename user.settings column This is used exclusively by MastoFE/GlitchFE now --- lib/pleroma/user.ex | 6 +++--- lib/pleroma/web/views/masto_fe_view.ex | 2 +- .../20200630162024_rename_user_settings_col.exs | 11 +++++++++++ test/web/masto_fe_controller_test.exs | 2 +- 4 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 priv/repo/migrations/20200630162024_rename_user_settings_col.exs diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 9d5c61e79..8a54546d6 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -115,7 +115,7 @@ defmodule Pleroma.User do field(:is_moderator, :boolean, default: false) field(:is_admin, :boolean, default: false) field(:show_role, :boolean, default: true) - field(:settings, :map, default: nil) + field(:mastofe_settings, :map, default: nil) field(:uri, ObjectValidators.Uri, default: nil) field(:hide_followers_count, :boolean, default: false) field(:hide_follows_count, :boolean, default: false) @@ -2118,8 +2118,8 @@ def mascot_update(user, url) do def mastodon_settings_update(user, settings) do user - |> cast(%{settings: settings}, [:settings]) - |> validate_required([:settings]) + |> cast(%{mastofe_settings: settings}, [:mastofe_settings]) + |> validate_required([:mastofe_settings]) |> update_and_set_cache() end diff --git a/lib/pleroma/web/views/masto_fe_view.ex b/lib/pleroma/web/views/masto_fe_view.ex index c3096006e..f739dacb6 100644 --- a/lib/pleroma/web/views/masto_fe_view.ex +++ b/lib/pleroma/web/views/masto_fe_view.ex @@ -86,7 +86,7 @@ def initial_state(token, user, custom_emojis) do "video\/mp4" ] }, - settings: user.settings || @default_settings, + settings: user.mastofe_settings || @default_settings, push_subscription: nil, accounts: %{user.id => render(AccountView, "show.json", user: user, for: user)}, custom_emojis: render(CustomEmojiView, "index.json", custom_emojis: custom_emojis), diff --git a/priv/repo/migrations/20200630162024_rename_user_settings_col.exs b/priv/repo/migrations/20200630162024_rename_user_settings_col.exs new file mode 100644 index 000000000..2355eb681 --- /dev/null +++ b/priv/repo/migrations/20200630162024_rename_user_settings_col.exs @@ -0,0 +1,11 @@ +defmodule Pleroma.Repo.Migrations.RenameUserSettingsCol do + use Ecto.Migration + + def up do + rename(table(:users), :settings, to: :mastofe_settings) + end + + def down do + rename(table(:users), :mastofe_settings, to: :settings) + end +end diff --git a/test/web/masto_fe_controller_test.exs b/test/web/masto_fe_controller_test.exs index 1d107d56c..f3b54b5f2 100644 --- a/test/web/masto_fe_controller_test.exs +++ b/test/web/masto_fe_controller_test.exs @@ -24,7 +24,7 @@ test "put settings", %{conn: conn} do assert _result = json_response(conn, 200) user = User.get_cached_by_ap_id(user.ap_id) - assert user.settings == %{"programming" => "socks"} + assert user.mastofe_settings == %{"programming" => "socks"} end describe "index/2 redirections" do From 3d2989278c2f97fb5247d0b58b99b77f400f3185 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Tue, 30 Jun 2020 21:26:39 +0300 Subject: [PATCH 089/108] [#1892] Excluded bot actors (applications, services) from search results. --- lib/pleroma/user/search.ex | 5 +++++ test/user_search_test.exs | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/user/search.ex b/lib/pleroma/user/search.ex index cec59c372..0293c6ae7 100644 --- a/lib/pleroma/user/search.ex +++ b/lib/pleroma/user/search.ex @@ -52,6 +52,7 @@ defp search_query(query_string, for_user, following) do |> base_query(following) |> filter_blocked_user(for_user) |> filter_invisible_users() + |> filter_bots() |> filter_blocked_domains(for_user) |> fts_search(query_string) |> trigram_rank(query_string) @@ -109,6 +110,10 @@ defp filter_invisible_users(query) do from(q in query, where: q.invisible == false) end + defp filter_bots(query) do + from(q in query, where: q.actor_type not in ["Application", "Service"]) + end + defp filter_blocked_user(query, %User{} = blocker) do query |> join(:left, [u], b in Pleroma.UserRelationship, diff --git a/test/user_search_test.exs b/test/user_search_test.exs index 17c63322a..9a74b9764 100644 --- a/test/user_search_test.exs +++ b/test/user_search_test.exs @@ -17,7 +17,7 @@ defmodule Pleroma.UserSearchTest do describe "User.search" do setup do: clear_config([:instance, :limit_to_local_content]) - test "excluded invisible users from results" do + test "excludes invisible users from results" do user = insert(:user, %{nickname: "john t1000"}) insert(:user, %{invisible: true, nickname: "john t800"}) @@ -25,6 +25,13 @@ test "excluded invisible users from results" do assert found_user.id == user.id end + test "excludes bots from results" do + insert(:user, actor_type: "Service", nickname: "bot1") + insert(:user, actor_type: "Application", nickname: "bot2") + + assert [] = User.search("bot") + end + test "accepts limit parameter" do Enum.each(0..4, &insert(:user, %{nickname: "john#{&1}"})) assert length(User.search("john", limit: 3)) == 3 From 5a8e0208b1cfb1995353b83338f20dc5cca195e1 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 30 Jun 2020 15:25:10 -0500 Subject: [PATCH 090/108] Add fields limits to instance metadata, add tests --- lib/pleroma/web/mastodon_api/views/instance_view.ex | 12 +++++++++++- .../controllers/instance_controller_test.exs | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex index 118678962..347480d49 100644 --- a/lib/pleroma/web/mastodon_api/views/instance_view.ex +++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex @@ -38,7 +38,8 @@ def render("show.json", _) do metadata: %{ account_activation_required: Keyword.get(instance, :account_activation_required), features: features(), - federation: federation() + federation: federation(), + fields_limits: fields_limits() }, vapid_public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key) } @@ -89,4 +90,13 @@ def federation do end |> Map.put(:enabled, Config.get([:instance, :federating])) end + + def fields_limits do + %{ + maxFields: Config.get([:instance, :max_account_fields]), + maxRemoteFields: Config.get([:instance, :max_remote_account_fields]), + nameLength: Config.get([:instance, :account_field_name_length]), + valueLength: Config.get([:instance, :account_field_value_length]) + } + end end diff --git a/test/web/mastodon_api/controllers/instance_controller_test.exs b/test/web/mastodon_api/controllers/instance_controller_test.exs index 8bdfdddd1..95ee26416 100644 --- a/test/web/mastodon_api/controllers/instance_controller_test.exs +++ b/test/web/mastodon_api/controllers/instance_controller_test.exs @@ -35,8 +35,10 @@ test "get instance information", %{conn: conn} do "background_image" => _ } = result + assert result["pleroma"]["metadata"]["account_activation_required"] != nil assert result["pleroma"]["metadata"]["features"] assert result["pleroma"]["metadata"]["federation"] + assert result["pleroma"]["metadata"]["fields_limits"] assert result["pleroma"]["vapid_public_key"] assert email == from_config_email From df2d6564d5cf7ad292a784c69ce17f9f37db993a Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Wed, 1 Jul 2020 03:01:15 +0300 Subject: [PATCH 091/108] Add labels, update descriptions and labels --- config/description.exs | 149 +++++++++++++++++++++++++---------------- 1 file changed, 92 insertions(+), 57 deletions(-) diff --git a/config/description.exs b/config/description.exs index ded30e204..b34961c49 100644 --- a/config/description.exs +++ b/config/description.exs @@ -40,12 +40,13 @@ key: :link_name, type: :boolean, description: - "If enabled, a name parameter will be added to the url of the upload. For example `https://instance.tld/media/imagehash.png?name=realname.png`." + "If enabled, a name parameter will be added to the URL of the upload. For example `https://instance.tld/media/imagehash.png?name=realname.png`." }, %{ key: :base_url, + label: "Base URL", type: :string, - description: "Base url for the uploads, needed if you use CDN", + description: "Base URL for the uploads, needed if you use CDN", suggestions: [ "https://cdn-host.com" ] @@ -58,6 +59,7 @@ }, %{ key: :proxy_opts, + label: "Proxy Options", type: :keyword, description: "Options for Pleroma.ReverseProxy", suggestions: [ @@ -85,6 +87,7 @@ }, %{ key: :http, + label: "HTTP", type: :keyword, description: "HTTP options", children: [ @@ -479,6 +482,7 @@ %{ group: :pleroma, key: :uri_schemes, + label: "URI Schemes", type: :group, description: "URI schemes related settings", children: [ @@ -651,17 +655,17 @@ key: :invites_enabled, type: :boolean, description: - "Enable user invitations for admins (depends on `registrations_open` being disabled)." + "Enable user invitations for admins (depends on `registrations_open` being disabled)" }, %{ key: :account_activation_required, type: :boolean, - description: "Require users to confirm their emails before signing in." + description: "Require users to confirm their emails before signing in" }, %{ key: :federating, type: :boolean, - description: "Enable federation with other instances." + description: "Enable federation with other instances" }, %{ key: :federation_incoming_replies_max_depth, @@ -679,7 +683,7 @@ label: "Fed. reachability timeout days", type: :integer, description: - "Timeout (in days) of each external federation target being unreachable prior to pausing federating to it.", + "Timeout (in days) of each external federation target being unreachable prior to pausing federating to it", suggestions: [ 7 ] @@ -801,6 +805,7 @@ }, %{ key: :safe_dm_mentions, + label: "Safe DM mentions", type: :boolean, description: "If enabled, only mentions at the beginning of a post will be used to address people in direct messages." <> @@ -840,7 +845,7 @@ %{ key: :skip_thread_containment, type: :boolean, - description: "Skip filtering out broken threads. Default: enabled" + description: "Skip filtering out broken threads. Default: enabled." }, %{ key: :limit_to_local_content, @@ -904,6 +909,7 @@ children: [ %{ key: :totp, + label: "TOTP settings", type: :keyword, description: "TOTP settings", suggestions: [digits: 6, period: 30], @@ -920,7 +926,7 @@ type: :integer, suggestions: [30], description: - "a period for which the TOTP code will be valid, in seconds. Defaults to 30 seconds." + "A period for which the TOTP code will be valid, in seconds. Defaults to 30 seconds." } ] }, @@ -934,7 +940,7 @@ key: :number, type: :integer, suggestions: [5], - description: "number of backup codes to generate." + description: "Number of backup codes to generate." }, %{ key: :length, @@ -974,6 +980,7 @@ group: :logger, type: :group, key: :ex_syslogger, + label: "ExSyslogger", description: "ExSyslogger-related settings", children: [ %{ @@ -992,7 +999,7 @@ %{ key: :format, type: :string, - description: "Default: \"$date $time [$level] $levelpad$node $metadata $message\".", + description: "Default: \"$date $time [$level] $levelpad$node $metadata $message\"", suggestions: ["$metadata[$level] $message"] }, %{ @@ -1006,6 +1013,7 @@ group: :logger, type: :group, key: :console, + label: "Console Logger", description: "Console logger settings", children: [ %{ @@ -1017,7 +1025,7 @@ %{ key: :format, type: :string, - description: "Default: \"$date $time [$level] $levelpad$node $metadata $message\".", + description: "Default: \"$date $time [$level] $levelpad$node $metadata $message\"", suggestions: ["$metadata[$level] $message"] }, %{ @@ -1030,6 +1038,7 @@ %{ group: :quack, type: :group, + label: "Quack Logger", description: "Quack-related settings", children: [ %{ @@ -1140,19 +1149,19 @@ key: :greentext, label: "Greentext", type: :boolean, - description: "Enables green text on lines prefixed with the > character." + description: "Enables green text on lines prefixed with the > character" }, %{ key: :hideFilteredStatuses, label: "Hide Filtered Statuses", type: :boolean, - description: "Hides filtered statuses from timelines." + description: "Hides filtered statuses from timelines" }, %{ key: :hideMutedPosts, label: "Hide Muted Posts", type: :boolean, - description: "Hides muted statuses from timelines." + description: "Hides muted statuses from timelines" }, %{ key: :hidePostStats, @@ -1164,7 +1173,7 @@ key: :hideSitename, label: "Hide Sitename", type: :boolean, - description: "Hides instance name from PleromaFE banner." + description: "Hides instance name from PleromaFE banner" }, %{ key: :hideUserStats, @@ -1209,14 +1218,14 @@ label: "NSFW Censor Image", type: :string, description: - "URL of the image to use for hiding NSFW media attachments in the timeline.", + "URL of the image to use for hiding NSFW media attachments in the timeline", suggestions: ["/static/img/nsfw.74818f9.png"] }, %{ key: :postContentType, label: "Post Content Type", type: {:dropdown, :atom}, - description: "Default post formatting option.", + description: "Default post formatting option", suggestions: ["text/plain", "text/html", "text/markdown", "text/bbcode"] }, %{ @@ -1245,14 +1254,14 @@ key: :sidebarRight, label: "Sidebar on Right", type: :boolean, - description: "Change alignment of sidebar and panels to the right." + description: "Change alignment of sidebar and panels to the right" }, %{ key: :showFeaturesPanel, label: "Show instance features panel", type: :boolean, description: - "Enables panel displaying functionality of the instance on the About page." + "Enables panel displaying functionality of the instance on the About page" }, %{ key: :showInstanceSpecificPanel, @@ -1310,7 +1319,7 @@ key: :mascots, type: {:keyword, :map}, description: - "Keyword of mascots, each element must contain both an url and a mime_type key", + "Keyword of mascots, each element must contain both an URL and a mime_type key", suggestions: [ pleroma_fox_tan: %{ url: "/images/pleroma-fox-tan-smol.png", @@ -1334,7 +1343,7 @@ %{ key: :default_user_avatar, type: :string, - description: "URL of the default user avatar.", + description: "URL of the default user avatar", suggestions: ["/images/avi.png"] } ] @@ -1344,7 +1353,7 @@ key: :manifest, type: :group, description: - "This section describe PWA manifest instance-specific values. Currently this option relate only for MastoFE", + "This section describe PWA manifest instance-specific values. Currently this option relate only for MastoFE.", children: [ %{ key: :icons, @@ -1381,7 +1390,7 @@ %{ group: :pleroma, key: :mrf_simple, - label: "MRF simple", + label: "MRF Simple", type: :group, description: "Message Rewrite Facility", children: [ @@ -1461,7 +1470,7 @@ %{ group: :pleroma, key: :mrf_subchain, - label: "MRF subchain", + label: "MRF Subchain", type: :group, description: "This policy processes messages through an alternate pipeline when a given message matches certain criteria." <> @@ -1484,7 +1493,7 @@ key: :mrf_rejectnonpublic, description: "MRF RejectNonPublic settings. RejectNonPublic drops posts with non-public visibility settings.", - label: "MRF reject non public", + label: "MRF Reject Non Public", type: :group, children: [ %{ @@ -1503,7 +1512,7 @@ %{ group: :pleroma, key: :mrf_hellthread, - label: "MRF hellthread", + label: "MRF Hellthread", type: :group, description: "Block messages with too much mentions", children: [ @@ -1527,7 +1536,7 @@ %{ group: :pleroma, key: :mrf_keyword, - label: "MRF keyword", + label: "MRF Keyword", type: :group, description: "Reject or Word-Replace messages with a keyword or regex", children: [ @@ -1557,14 +1566,14 @@ %{ group: :pleroma, key: :mrf_mention, - label: "MRF mention", + label: "MRF Mention", type: :group, description: "Block messages which mention a user", children: [ %{ key: :actors, type: {:list, :string}, - description: "A list of actors for which any post mentioning them will be dropped.", + description: "A list of actors for which any post mentioning them will be dropped", suggestions: ["actor1", "actor2"] } ] @@ -1572,7 +1581,7 @@ %{ group: :pleroma, key: :mrf_vocabulary, - label: "MRF vocabulary", + label: "MRF Vocabulary", type: :group, description: "Filter messages which belong to certain activity vocabularies", children: [ @@ -1580,14 +1589,14 @@ key: :accept, type: {:list, :string}, description: - "A list of ActivityStreams terms to accept. If empty, all supported messages are accepted", + "A list of ActivityStreams terms to accept. If empty, all supported messages are accepted.", suggestions: ["Create", "Follow", "Mention", "Announce", "Like"] }, %{ key: :reject, type: {:list, :string}, description: - "A list of ActivityStreams terms to reject. If empty, no messages are rejected", + "A list of ActivityStreams terms to reject. If empty, no messages are rejected.", suggestions: ["Create", "Follow", "Mention", "Announce", "Like"] } ] @@ -1617,6 +1626,7 @@ }, %{ key: :base_url, + label: "Base URL", type: :string, description: "The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.", @@ -1649,6 +1659,7 @@ }, %{ key: :proxy_opts, + label: "Proxy Options", type: :keyword, description: "Options for Pleroma.ReverseProxy", suggestions: [ @@ -1676,6 +1687,7 @@ }, %{ key: :http, + label: "HTTP", type: :keyword, description: "HTTP options", children: [ @@ -1771,6 +1783,7 @@ }, %{ key: :ip, + label: "IP", type: :tuple, description: "IP address to bind to", suggestions: [{0, 0, 0, 0}] @@ -1784,7 +1797,7 @@ %{ key: :dstport, type: :integer, - description: "Port advertised in urls (optional, defaults to port)", + description: "Port advertised in URLs (optional, defaults to port)", suggestions: [9999] } ] @@ -1792,6 +1805,7 @@ %{ group: :pleroma, key: :activitypub, + label: "ActivityPub", type: :group, description: "ActivityPub-related settings", children: [ @@ -1814,7 +1828,7 @@ key: :note_replies_output_limit, type: :integer, description: - "The number of Note replies' URIs to be included with outgoing federation (`5` to match Mastodon hardcoded value, `0` to disable the output)." + "The number of Note replies' URIs to be included with outgoing federation (`5` to match Mastodon hardcoded value, `0` to disable the output)" }, %{ key: :follow_handshake_timeout, @@ -1827,6 +1841,7 @@ %{ group: :pleroma, key: :http_security, + label: "HTTP security", type: :group, description: "HTTP security settings", children: [ @@ -1865,7 +1880,7 @@ key: :report_uri, label: "Report URI", type: :string, - description: "Adds the specified url to report-uri and report-to group in CSP header", + description: "Adds the specified URL to report-uri and report-to group in CSP header", suggestions: ["https://example.com/report-uri"] } ] @@ -1873,9 +1888,10 @@ %{ group: :web_push_encryption, key: :vapid_details, + label: "Vapid Details", type: :group, description: - "Web Push Notifications configuration. You can use the mix task mix web_push.gen.keypair to generate it", + "Web Push Notifications configuration. You can use the mix task mix web_push.gen.keypair to generate it.", children: [ %{ key: :subject, @@ -1942,6 +1958,7 @@ }, %{ group: :pleroma, + label: "Pleroma Admin Token", type: :group, description: "Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the `admin_token` parameter", @@ -1949,7 +1966,7 @@ %{ key: :admin_token, type: :string, - description: "Token", + description: "Admin token", suggestions: ["We recommend a secure random string or UUID"] } ] @@ -2114,24 +2131,24 @@ key: :rich_media, type: :group, description: - "If enabled the instance will parse metadata from attached links to generate link previews.", + "If enabled the instance will parse metadata from attached links to generate link previews", children: [ %{ key: :enabled, type: :boolean, - description: "Enables RichMedia parsing of URLs." + description: "Enables RichMedia parsing of URLs" }, %{ key: :ignore_hosts, type: {:list, :string}, - description: "List of hosts which will be ignored by the metadata parser.", + description: "List of hosts which will be ignored by the metadata parser", suggestions: ["accounts.google.com", "xss.website"] }, %{ key: :ignore_tld, label: "Ignore TLD", type: {:list, :string}, - description: "List TLDs (top-level domains) which will ignore for parse metadata.", + description: "List TLDs (top-level domains) which will ignore for parse metadata", suggestions: ["local", "localdomain", "lan"] }, %{ @@ -2159,31 +2176,32 @@ %{ group: :auto_linker, key: :opts, + label: "Auto Linker", type: :group, description: "Configuration for the auto_linker library", children: [ %{ key: :class, type: [:string, false], - description: "Specify the class to be added to the generated link. Disable to clear", + description: "Specify the class to be added to the generated link. Disable to clear.", suggestions: ["auto-linker", false] }, %{ key: :rel, type: [:string, false], - description: "Override the rel attribute. Disable to clear", + description: "Override the rel attribute. Disable to clear.", suggestions: ["ugc", "noopener noreferrer", false] }, %{ key: :new_window, type: :boolean, - description: "Link urls will open in new window/tab" + description: "Link URLs will open in new window/tab" }, %{ key: :truncate, type: [:integer, false], description: - "Set to a number to truncate urls longer then the number. Truncated urls will end in `..`", + "Set to a number to truncate URLs longer then the number. Truncated URLs will end in `..`", suggestions: [15, false] }, %{ @@ -2194,7 +2212,7 @@ %{ key: :extra, type: :boolean, - description: "Link urls with rarely used schemes (magnet, ipfs, irc, etc.)" + description: "Link URLs with rarely used schemes (magnet, ipfs, irc, etc.)" } ] }, @@ -2240,6 +2258,7 @@ }, %{ group: :pleroma, + label: "Pleroma Authenticator", type: :group, description: "Authenticator", children: [ @@ -2253,6 +2272,7 @@ %{ group: :pleroma, key: :ldap, + label: "LDAP", type: :group, description: "Use LDAP for user authentication. When a user logs in to the Pleroma instance, the name and password" <> @@ -2339,6 +2359,7 @@ }, %{ key: :uid, + label: "UID", type: :string, description: "LDAP attribute name to authenticate the user, e.g. when \"cn\", the filter will be \"cn=username,base\"", @@ -2354,11 +2375,12 @@ children: [ %{ key: :enforce_oauth_admin_scope_usage, + label: "Enforce OAuth admin scope usage", type: :boolean, description: "OAuth admin scope requirement toggle. " <> "If enabled, admin actions explicitly demand admin OAuth scope(s) presence in OAuth token " <> - "(client app must support admin scopes). If disabled and token doesn't have admin scope(s)," <> + "(client app must support admin scopes). If disabled and token doesn't have admin scope(s), " <> "`is_admin` user flag grants access to admin-specific actions." }, %{ @@ -2370,6 +2392,7 @@ }, %{ key: :oauth_consumer_template, + label: "OAuth consumer template", type: :string, description: "OAuth consumer mode authentication form template. By default it's `consumer.html` which corresponds to" <> @@ -2378,6 +2401,7 @@ }, %{ key: :oauth_consumer_strategies, + label: "OAuth consumer strategies", type: {:list, :string}, description: "The list of enabled OAuth consumer strategies. By default it's set by OAUTH_CONSUMER_STRATEGIES environment variable." <> @@ -2506,7 +2530,7 @@ %{ key: :enabled, type: :boolean, - description: "enables new users admin digest email when `true`", + description: "Enables new users admin digest email when `true`", suggestions: [false] } ] @@ -2514,6 +2538,7 @@ %{ group: :pleroma, key: :oauth2, + label: "OAuth2", type: :group, description: "Configure OAuth 2 provider capabilities", children: [ @@ -2532,7 +2557,7 @@ %{ key: :clean_expired_tokens, type: :boolean, - description: "Enable a background job to clean expired oauth tokens. Default: disabled." + description: "Enable a background job to clean expired OAuth tokens. Default: disabled." } ] }, @@ -2616,6 +2641,7 @@ }, %{ key: :relation_id_action, + label: "Relation ID action", type: [:tuple, {:list, :tuple}], description: "For actions on relation with a specific user (follow, unfollow)", suggestions: [{1000, 10}, [{10_000, 10}, {10_000, 50}]] @@ -2629,6 +2655,7 @@ }, %{ key: :status_id_action, + label: "Status ID action", type: [:tuple, {:list, :tuple}], description: "For fav / unfav or reblog / unreblog actions on the same status by the same user", @@ -2644,6 +2671,7 @@ }, %{ group: :esshd, + label: "ESSHD", type: :group, description: "Before enabling this you must add :esshd to mix.exs as one of the extra_applications " <> @@ -2682,8 +2710,9 @@ }, %{ group: :mime, + label: "Mime Types", type: :group, - description: "Mime types", + description: "Mime Types settings", children: [ %{ key: :types, @@ -2742,6 +2771,7 @@ %{ group: :pleroma, key: :http, + label: "HTTP", type: :group, description: "HTTP settings", children: [ @@ -2790,6 +2820,7 @@ %{ group: :pleroma, key: :markup, + label: "Markup Settings", type: :group, children: [ %{ @@ -2831,7 +2862,7 @@ %{ group: :pleroma, key: :mrf_normalize_markup, - label: "MRF normalize markup", + label: "MRF Normalize Markup", description: "MRF NormalizeMarkup settings. Scrub configured hypertext markup.", type: :group, children: [ @@ -2887,6 +2918,7 @@ }, %{ group: :cors_plug, + label: "CORS plug config", type: :group, children: [ %{ @@ -2959,6 +2991,7 @@ %{ group: :pleroma, key: :web_cache_ttl, + label: "Web cache TTL", type: :group, description: "The expiration time for the web responses cache. Values should be in milliseconds or `nil` to disable expiration.", @@ -2981,9 +3014,10 @@ %{ group: :pleroma, key: :static_fe, + label: "Static FE", type: :group, description: - "Render profiles and posts using server-generated HTML that is viewable without using JavaScript.", + "Render profiles and posts using server-generated HTML that is viewable without using JavaScript", children: [ %{ key: :enabled, @@ -3001,18 +3035,18 @@ %{ key: :post_title, type: :map, - description: "Configure title rendering.", + description: "Configure title rendering", children: [ %{ key: :max_length, type: :integer, - description: "Maximum number of characters before truncating title.", + description: "Maximum number of characters before truncating title", suggestions: [100] }, %{ key: :omission, type: :string, - description: "Replacement which will be used after truncating string.", + description: "Replacement which will be used after truncating string", suggestions: ["..."] } ] @@ -3022,6 +3056,7 @@ %{ group: :pleroma, key: :mrf_object_age, + label: "MRF Object Age", type: :group, description: "Rejects or delists posts based on their age when received.", children: [ @@ -3064,13 +3099,13 @@ %{ key: :workers, type: :integer, - description: "Number of workers to send notifications.", + description: "Number of workers to send notifications", suggestions: [3] }, %{ key: :overflow_workers, type: :integer, - description: "Maximum number of workers created if pool is empty.", + description: "Maximum number of workers created if pool is empty", suggestions: [2] } ] From 691742e62d36831d31ba5623bb0fc5f91d77960a Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 1 Jul 2020 08:51:56 +0000 Subject: [PATCH 092/108] Revert "Merge branch 'avatar-removing' into 'develop'" This reverts merge request !2701 --- .../update_credentials_test.exs | 47 +++---------------- 1 file changed, 7 insertions(+), 40 deletions(-) diff --git a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs index 31f0edf97..f67d294ba 100644 --- a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs +++ b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs @@ -216,20 +216,10 @@ test "updates the user's avatar", %{user: user, conn: conn} do filename: "an_image.jpg" } - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{"avatar" => new_avatar}) + conn = patch(conn, "/api/v1/accounts/update_credentials", %{"avatar" => new_avatar}) - assert user_response = json_response_and_validate_schema(res, 200) + assert user_response = json_response_and_validate_schema(conn, 200) assert user_response["avatar"] != User.avatar_url(user) - - # Also removes it - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{"avatar" => nil}) - - assert user_response = json_response_and_validate_schema(res, 200) - assert user_response["avatar"] == User.avatar_url(user) end test "updates the user's banner", %{user: user, conn: conn} do @@ -239,21 +229,10 @@ test "updates the user's banner", %{user: user, conn: conn} do filename: "an_image.jpg" } - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{"header" => new_header}) + conn = patch(conn, "/api/v1/accounts/update_credentials", %{"header" => new_header}) - assert user_response = json_response_and_validate_schema(res, 200) + assert user_response = json_response_and_validate_schema(conn, 200) assert user_response["header"] != User.banner_url(user) - - # Also removes it - - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{"header" => nil}) - - assert user_response = json_response_and_validate_schema(res, 200) - assert user_response["header"] == User.banner_url(user) end test "updates the user's background", %{conn: conn} do @@ -263,25 +242,13 @@ test "updates the user's background", %{conn: conn} do filename: "an_image.jpg" } - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{ + conn = + patch(conn, "/api/v1/accounts/update_credentials", %{ "pleroma_background_image" => new_header }) - assert user_response = json_response_and_validate_schema(res, 200) + assert user_response = json_response_and_validate_schema(conn, 200) assert user_response["pleroma"]["background_image"] - - # Also removes it - - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{ - "pleroma_background_image" => nil - }) - - assert user_response = json_response_and_validate_schema(res, 200) - refute user_response["pleroma"]["background_image"] end test "requires 'write:accounts' permission" do From 8ae572d5aef1fcad87522ae00b431135345dcd73 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 1 Jul 2020 11:47:45 +0200 Subject: [PATCH 093/108] Fixtures: Pretty print. --- .../baptiste.gelex.xyz-article.json | 228 +++++++++++++++++- .../fixtures/tesla_mock/peertube.moe-vid.json | 188 ++++++++++++++- 2 files changed, 414 insertions(+), 2 deletions(-) diff --git a/test/fixtures/tesla_mock/baptiste.gelex.xyz-article.json b/test/fixtures/tesla_mock/baptiste.gelex.xyz-article.json index 3f3f0f4fb..b76ba96a5 100644 --- a/test/fixtures/tesla_mock/baptiste.gelex.xyz-article.json +++ b/test/fixtures/tesla_mock/baptiste.gelex.xyz-article.json @@ -1 +1,227 @@ -{"@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1",{"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","atomUri":"ostatus:atomUri","conversation":"ostatus:conversation","featured":"toot:featured","focalPoint":{"@container":"@list","@id":"toot:focalPoint"},"inReplyToAtomUri":"ostatus:inReplyToAtomUri","manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":"as:movedTo","ostatus":"http://ostatus.org#","sensitive":"as:sensitive","toot":"http://joinmastodon.org/ns#"}],"attributedTo":["https://baptiste.gelez.xyz/@/BaptisteGelez"],"cc":[],"content":"

It has been one month since the last \"This Month in Plume\" article, so it is time for another edition of our monthly changelog!

\n

Bug Fixes and Security

\n

Let's start with the hidden, but still (very) important changes: bug fixes and security patches.

\n

First of all, @Trinity protected us against two major security flaws, called XSS and CSRF. The first one allows the attacker to run malicious code if you visit a Plume page where some of their personal data is present. The second one lets them post data with your Plume account by visiting one of their own website. It is two very common attack, and it is great we are now protected against them!

\n

The other big change in this area, is that we are now validating the data you are sending before doing anything with it. It means that, for instance, you will no longer be able to register with an empty username and to break everything.

\n

On the federation side, many issues were reported by @kaniini and redmatrix (respectively contributing to Pleroma and Hubzilla). By fixing some of them, we made it possible to federate Plume articles to Pleroma!

\n

@Trinity hopefully noticed that there was a bug in our password check code: we were not checking that your password was correct, but only that the verification process went without errors. Concretely, it means that you could login to any account with any password. I wrote this part of the code when I was still the only contributor to the project, so nobody could review my work. We will now be trying to check every change, especially when it deals with critical parts of Plume, to avoid similar issues in the future, and we I'm really sorry this happened (even if I think nobody exploited it).

\n

Zanfib and stephenburgess8 also commited some small bugfixes, improving the general experience.

\n

New Features

\n

Let's now talk about the features that we introduced during this month.

\n

One of the most easy to spot is the redesign of Plume, made by @Madeorsk. I personaly love what he did, it really improved the readability and gave Plume a bit more of identity than the previous design. And he is still improving it.

\n

We also enabled Mardown in comment, to let you write more structured and nicely formatted responses.

\n

As you may have noticed, I have used mentions in this post. Indeed, it is now possible to mention someone in your articles or in comments. It works exactly the same way as in other apps, and you should receive a notification if someone mentionned you.

\n

A dashboard to manage your blogs has also been introduced. In the future it may be used to manage your drafts, and eventually to show some statistics. The goal is to have a more specific homepage for authors.

\n

The federation with other ActivityPub softwares, like Mastodon or Pleroma is starting to work quite well, but the federation between Plume instances is far from being complete. However, we started to work on it, and it is now possible to view a distant user profile or blog from your instance, even if only basic informations are fetched yet (the articles are not loaded for instance).

\n

Another new feature that may not be visible for everyone, is the new NodeInfo endpoint. NodeInfo is a protocol allowing to get informations about a specific federated instance (whatever software it runs). It means that Plume instances can now be listed on sites like fediverse.network.

\n

Maybe you wanted to host a Plume instance, but you don't like long install process during which you are just copy/pasting commands that you don't really understand from the documentation. That's why we introduced a setup script: the first you'll launch Plume, it will ask you a few questions and automatically setup your instance in a few minutes. We hope that this feature will help to host small instances, run by non-professional adminsys. You can see a demo of this tool on asciinema.

\n

Last but not least, Plume is now translatable! It is already available in English, French, Polish (thanks to @m4sk1n)) and German (thanks to bitkeks). If your browser is configured to display pages in these languages, you should normally see the interface in your language. And if your language is not present yet, feel free to add your translation.

\n

Other Changes

\n

We also improved the code a lot. We tried to separate each part as much as possible, making it easier to re-use for other projects. For instance, our database code is now isolated from the rest of the app, which means it will be easier to make import tools from other blogging engines. Some parts of the code are even shared with another project, Aardwolf a federated Facebook alternative. For instance, both of our projects use the same internationalization code, and once Aardwolf will implement federation, this part of the code will probably be shared too. Since the WebFinger module (used to find new users and blogs) and the CSRF protection code (see the \"Bug fixes and Security\" section) have been isolated in their own modules, they may be shared by both projects too.

\n

We also worked a lot on documentation. We now have articles explaining how to setup your Plume instance on various operating systems, but also documenting the translation process. I want to thank BanjoFox (who imported some documentation from their project, Aardwolf, as the setup is quite similar), Kushal and @gled@plume.mastodon.host for working on this.

\n

As you can see, there were many changes this month, but there still a lot to do. Your help will of course be welcome. If you want to contribute to the code, translate Plume in your language, write some documentation, or anything else (or even if you're just curious about the project), feel free to join our Matrix room: #plume:disroot.org. Otherwise, as BanjoFox said on the Aardwolf Team Mastodon account, talking about the project around you is one of the easiest way to help.

\n","id":"https://baptiste.gelez.xyz/~/PlumeDevelopment/this-month-in-plume-june-2018/","likes":null,"name":"This Month in Plume: June 2018","published":"2018-07-10T20:16:24.087622Z","shares":null,"source":null,"tag":[{"href":"https://baptiste.gelez.xyz/@/Trinity","name":"@Trinity","type":"Mention"},{"href":"https://baptiste.gelez.xyz/@/kaniini/","name":"@kaniini","type":"Mention"},{"href":"https://baptiste.gelez.xyz/@/Trinity","name":"@Trinity","type":"Mention"}],"to":["https://unixcorn.xyz/users/Bat","https://mastodon.host/users/federationbot","https://social.tcit.fr/users/tcit","https://framapiaf.org/users/qwerty","https://mastodon.social/users/lthms","https://eldritch.cafe/users/Nausicaa","https://imaginair.es/users/Elanndelh","https://framapiaf.org/users/Drulac","https://mastodon.partipirate.org/users/NicolasConstant","https://aleph.land/users/Madeorsk","https://maly.io/users/Troll","https://hostux.social/users/superjey","https://mamot.fr/users/Phigger","https://mastodon.social/users/wakest","https://social.coop/users/wakest","https://unixcorn.xyz/users/Ce_lo","https://social.art-software.fr/users/Electron","https://framapiaf.org/users/Quenti","https://toot.plus.yt/users/Djyp","https://mastodon.social/users/brainblasted","https://social.mochi.academy/users/Ambraven","https://social.hacktivis.me/users/lanodan","https://mastodon.eliotberriot.com/users/eliotberriot","https://edolas.world/users/0x1C3B00DA","https://toot.cafe/users/zack","https://manowar.social/users/zatnosk","https://eldritch.cafe/users/fluffy","https://mastodon.social/users/david_ross","https://kosmos.social/users/xiroux","https://mastodon.art/users/EmergencyBattle","https://mastodon.social/users/trwnh","https://octodon.social/users/pybyte","https://anticapitalist.party/users/Trinity","https://mstdn.mx/users/xavavu","https://baptiste.gelez.xyz/@/m4sk1n","https://eldritch.cafe/users/milia","https://mastodon.zaclys.com/users/arx","https://toot.cafe/users/sivy","https://mastodon.social/users/ortegacmanuel","https://mastodon.observer/users/stephen","https://octodon.social/users/chloe","https://unixcorn.xyz/users/AmauryPi","https://cybre.space/users/rick_777","https://mastodon.social/users/wezm","https://baptiste.gelez.xyz/@/idlesong","https://mamot.fr/users/dr4Ke","https://imaginair.es/users/Phigger","https://mamot.fr/users/dlink","https://anticapitalist.party/users/a000d4f7a91939d0e71df1646d7a48","https://framapiaf.org/users/PhieLaidMignon","https://mastodon.social/users/y6nH","https://crazynoisybizarre.town/users/FederationBot","https://social.weho.st/users/dvn","https://mastodon.art/users/Wolthera","https://diaspodon.fr/users/dada","https://pachyder.me/users/Lanza","https://mastodon.xyz/users/ag","https://aleph.land/users/yahananxie","https://mstdn.io/users/chablis_social","https://mastodon.gougere.fr/users/fabien","https://functional.cafe/users/otini","https://social.coop/users/bhaugen","https://octodon.social/users/donblanco","https://chaos.social/users/astro","https://pachyder.me/users/sibear","https://mamot.fr/users/yohann","https://social.wxcafe.net/users/Bat","https://mastodon.social/users/dansup","https://chaos.social/users/juh","https://scifi.fyi/users/paeneultima","https://hostux.social/users/Deuchnord","https://mstdn.fr/users/taziden","https://mamot.fr/users/PifyZ","https://mastodon.social/users/plantabaja","https://mastodon.social/users/gitzgrog","https://mastodon.social/users/Syluban","https://masto.pt/users/eloisa","https://pleroma.soykaf.com/users/notclacke","https://mastodon.social/users/SiegfriedEhret","https://writing.exchange/users/write_as","https://mstdn.io/users/shellkr","https://mastodon.uy/users/jorge","https://mastodon.technology/users/bobstechsite","https://mastodon.social/users/hinterwaeldler","https://mastodon.xyz/users/mgdelacroix","https://mastodon.cloud/users/jjatria","https://baptiste.gelez.xyz/@/Jade/","https://edolas.world/users/pfm","https://mstdn.io/users/jort","https://mastodon.social/users/andreipetcu","https://mastodon.technology/users/0xf00fc7c8","https://mastodon.social/users/khanate","https://mastodon.technology/users/francois","https://mastodon.social/users/glherrmann","https://mastodon.host/users/gled","https://social.holdmybeer.solutions/users/kemonine","https://scholar.social/users/bgcarlisle","https://mastodon.social/users/oldgun","https://baptiste.gelez.xyz/@/snoe/","https://mastodon.at/users/switchingsocial","https://scifi.fyi/users/BrokenBiscuit","https://dev.glitch.social/users/hoodie","https://todon.nl/users/paulfree14","https://mastodon.social/users/aadilayub","https://social.fsck.club/users/anarchosaurus","https://mastodonten.de/users/GiantG","https://mastodon.technology/users/cj","https://cybre.space/users/sam","https://layer8.space/users/silkevicious","https://mastodon.xyz/users/Jimmyrwx","https://fosstodon.org/users/danyspin97","https://mstdn.io/users/cristhyano","https://mastodon.social/users/vanyok","https://hulvr.com/users/rook","https://niu.moe/users/Lucifer","https://mamot.fr/users/Thibaut","https://mastodont.cat/users/bgta","https://mstdn.io/users/hontoni","https://niu.moe/users/lionirdeadman","https://functional.cafe/users/phoe","https://mastodon.social/users/toontoet","https://mastodon.social/users/danipozo","https://scholar.social/users/robertson","https://mastodon.social/users/aldatsa","https://elekk.xyz/users/maloki","https://kitty.town/users/nursemchurt","https://neigh.horse/users/commagray","https://mastodon.social/users/hirojin","https://mastodon.xyz/users/mareklach","https://chaos.social/users/benthor","https://mastodon.social/users/djperreault","https://mastodon.art/users/eylul","https://mastodon.opportunis.me/users/bob","https://tootplanet.space/users/Shutsumon","https://toot.cat/users/woozle","https://mastodon.social/users/StephenLB","https://sleeping.town/users/oct2pus","https://mastodon.indie.host/users/stragu","https://social.coop/users/gilscottfitzgerald","https://icosahedron.website/users/joeld","https://mastodon.social/users/hellion","https://cybre.space/users/cooler_ranch","https://mastodon.social/users/kelsonv","https://mastodon.lat/users/scalpol","https://writing.exchange/users/hnb","https://hex.bz/users/Horst","https://mastodon.social/users/weddle","https://maly.io/users/sonya","https://social.coop/users/medusa","https://mastodon.social/users/DystopianK","https://mstdn.io/users/d_io","https://fosstodon.org/users/brandon","https://fosstodon.org/users/Cando","https://mastodon.host/users/panina","https://floss.social/users/tuxether","https://social.tchncs.de/users/suitbertmonz","https://mastodon.social/users/jrt","https://mastodon.social/users/sirikon","https://mstdn.io/users/yabirgb","https://mastodon.cloud/users/FerdiZ","https://mastodon.social/users/carlchenet","https://social.polonkai.eu/users/calendar_social","https://social.polonkai.eu/users/gergely","https://mastodon.social/users/Jelv","https://mastodon.social/users/srinicame","https://cybre.space/users/mastoabed","https://mastodon.social/users/tagomago","https://lgbt.io/users/bootblackCub","https://niu.moe/users/Nopplyy","https://mastodon.social/users/bpugh","https://www.w3.org/ns/activitystreams#Public"],"type":"Article","uploadMedia":null,"url":"https://baptiste.gelez.xyz/~/PlumeDevelopment/this-month-in-plume-june-2018/"} \ No newline at end of file +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + "https://w3id.org/security/v1", + { + "Emoji" : "toot:Emoji", + "Hashtag" : "as:Hashtag", + "atomUri" : "ostatus:atomUri", + "conversation" : "ostatus:conversation", + "featured" : "toot:featured", + "focalPoint" : { + "@container" : "@list", + "@id" : "toot:focalPoint" + }, + "inReplyToAtomUri" : "ostatus:inReplyToAtomUri", + "manuallyApprovesFollowers" : "as:manuallyApprovesFollowers", + "movedTo" : "as:movedTo", + "ostatus" : "http://ostatus.org#", + "sensitive" : "as:sensitive", + "toot" : "http://joinmastodon.org/ns#" + } + ], + "attributedTo" : [ + "https://baptiste.gelez.xyz/@/BaptisteGelez" + ], + "cc" : [], + "content" : "

It has been one month since the last \"This Month in Plume\" article, so it is time for another edition of our monthly changelog!

\n

Bug Fixes and Security

\n

Let's start with the hidden, but still (very) important changes: bug fixes and security patches.

\n

First of all, @Trinity protected us against two major security flaws, called XSS and CSRF. The first one allows the attacker to run malicious code if you visit a Plume page where some of their personal data is present. The second one lets them post data with your Plume account by visiting one of their own website. It is two very common attack, and it is great we are now protected against them!

\n

The other big change in this area, is that we are now validating the data you are sending before doing anything with it. It means that, for instance, you will no longer be able to register with an empty username and to break everything.

\n

On the federation side, many issues were reported by @kaniini and redmatrix (respectively contributing to Pleroma and Hubzilla). By fixing some of them, we made it possible to federate Plume articles to Pleroma!

\n

@Trinity hopefully noticed that there was a bug in our password check code: we were not checking that your password was correct, but only that the verification process went without errors. Concretely, it means that you could login to any account with any password. I wrote this part of the code when I was still the only contributor to the project, so nobody could review my work. We will now be trying to check every change, especially when it deals with critical parts of Plume, to avoid similar issues in the future, and we I'm really sorry this happened (even if I think nobody exploited it).

\n

Zanfib and stephenburgess8 also commited some small bugfixes, improving the general experience.

\n

New Features

\n

Let's now talk about the features that we introduced during this month.

\n

One of the most easy to spot is the redesign of Plume, made by @Madeorsk. I personaly love what he did, it really improved the readability and gave Plume a bit more of identity than the previous design. And he is still improving it.

\n

We also enabled Mardown in comment, to let you write more structured and nicely formatted responses.

\n

As you may have noticed, I have used mentions in this post. Indeed, it is now possible to mention someone in your articles or in comments. It works exactly the same way as in other apps, and you should receive a notification if someone mentionned you.

\n

A dashboard to manage your blogs has also been introduced. In the future it may be used to manage your drafts, and eventually to show some statistics. The goal is to have a more specific homepage for authors.

\n

The federation with other ActivityPub softwares, like Mastodon or Pleroma is starting to work quite well, but the federation between Plume instances is far from being complete. However, we started to work on it, and it is now possible to view a distant user profile or blog from your instance, even if only basic informations are fetched yet (the articles are not loaded for instance).

\n

Another new feature that may not be visible for everyone, is the new NodeInfo endpoint. NodeInfo is a protocol allowing to get informations about a specific federated instance (whatever software it runs). It means that Plume instances can now be listed on sites like fediverse.network.

\n

Maybe you wanted to host a Plume instance, but you don't like long install process during which you are just copy/pasting commands that you don't really understand from the documentation. That's why we introduced a setup script: the first you'll launch Plume, it will ask you a few questions and automatically setup your instance in a few minutes. We hope that this feature will help to host small instances, run by non-professional adminsys. You can see a demo of this tool on asciinema.

\n

Last but not least, Plume is now translatable! It is already available in English, French, Polish (thanks to @m4sk1n)) and German (thanks to bitkeks). If your browser is configured to display pages in these languages, you should normally see the interface in your language. And if your language is not present yet, feel free to add your translation.

\n

Other Changes

\n

We also improved the code a lot. We tried to separate each part as much as possible, making it easier to re-use for other projects. For instance, our database code is now isolated from the rest of the app, which means it will be easier to make import tools from other blogging engines. Some parts of the code are even shared with another project, Aardwolf a federated Facebook alternative. For instance, both of our projects use the same internationalization code, and once Aardwolf will implement federation, this part of the code will probably be shared too. Since the WebFinger module (used to find new users and blogs) and the CSRF protection code (see the \"Bug fixes and Security\" section) have been isolated in their own modules, they may be shared by both projects too.

\n

We also worked a lot on documentation. We now have articles explaining how to setup your Plume instance on various operating systems, but also documenting the translation process. I want to thank BanjoFox (who imported some documentation from their project, Aardwolf, as the setup is quite similar), Kushal and @gled@plume.mastodon.host for working on this.

\n

As you can see, there were many changes this month, but there still a lot to do. Your help will of course be welcome. If you want to contribute to the code, translate Plume in your language, write some documentation, or anything else (or even if you're just curious about the project), feel free to join our Matrix room: #plume:disroot.org. Otherwise, as BanjoFox said on the Aardwolf Team Mastodon account, talking about the project around you is one of the easiest way to help.

\n", + "id" : "https://baptiste.gelez.xyz/~/PlumeDevelopment/this-month-in-plume-june-2018/", + "likes" : null, + "name" : "This Month in Plume: June 2018", + "published" : "2018-07-10T20:16:24.087622Z", + "shares" : null, + "source" : null, + "tag" : [ + { + "href" : "https://baptiste.gelez.xyz/@/Trinity", + "name" : "@Trinity", + "type" : "Mention" + }, + { + "href" : "https://baptiste.gelez.xyz/@/kaniini/", + "name" : "@kaniini", + "type" : "Mention" + }, + { + "href" : "https://baptiste.gelez.xyz/@/Trinity", + "name" : "@Trinity", + "type" : "Mention" + } + ], + "to" : [ + "https://unixcorn.xyz/users/Bat", + "https://mastodon.host/users/federationbot", + "https://social.tcit.fr/users/tcit", + "https://framapiaf.org/users/qwerty", + "https://mastodon.social/users/lthms", + "https://eldritch.cafe/users/Nausicaa", + "https://imaginair.es/users/Elanndelh", + "https://framapiaf.org/users/Drulac", + "https://mastodon.partipirate.org/users/NicolasConstant", + "https://aleph.land/users/Madeorsk", + "https://maly.io/users/Troll", + "https://hostux.social/users/superjey", + "https://mamot.fr/users/Phigger", + "https://mastodon.social/users/wakest", + "https://social.coop/users/wakest", + "https://unixcorn.xyz/users/Ce_lo", + "https://social.art-software.fr/users/Electron", + "https://framapiaf.org/users/Quenti", + "https://toot.plus.yt/users/Djyp", + "https://mastodon.social/users/brainblasted", + "https://social.mochi.academy/users/Ambraven", + "https://social.hacktivis.me/users/lanodan", + "https://mastodon.eliotberriot.com/users/eliotberriot", + "https://edolas.world/users/0x1C3B00DA", + "https://toot.cafe/users/zack", + "https://manowar.social/users/zatnosk", + "https://eldritch.cafe/users/fluffy", + "https://mastodon.social/users/david_ross", + "https://kosmos.social/users/xiroux", + "https://mastodon.art/users/EmergencyBattle", + "https://mastodon.social/users/trwnh", + "https://octodon.social/users/pybyte", + "https://anticapitalist.party/users/Trinity", + "https://mstdn.mx/users/xavavu", + "https://baptiste.gelez.xyz/@/m4sk1n", + "https://eldritch.cafe/users/milia", + "https://mastodon.zaclys.com/users/arx", + "https://toot.cafe/users/sivy", + "https://mastodon.social/users/ortegacmanuel", + "https://mastodon.observer/users/stephen", + "https://octodon.social/users/chloe", + "https://unixcorn.xyz/users/AmauryPi", + "https://cybre.space/users/rick_777", + "https://mastodon.social/users/wezm", + "https://baptiste.gelez.xyz/@/idlesong", + "https://mamot.fr/users/dr4Ke", + "https://imaginair.es/users/Phigger", + "https://mamot.fr/users/dlink", + "https://anticapitalist.party/users/a000d4f7a91939d0e71df1646d7a48", + "https://framapiaf.org/users/PhieLaidMignon", + "https://mastodon.social/users/y6nH", + "https://crazynoisybizarre.town/users/FederationBot", + "https://social.weho.st/users/dvn", + "https://mastodon.art/users/Wolthera", + "https://diaspodon.fr/users/dada", + "https://pachyder.me/users/Lanza", + "https://mastodon.xyz/users/ag", + "https://aleph.land/users/yahananxie", + "https://mstdn.io/users/chablis_social", + "https://mastodon.gougere.fr/users/fabien", + "https://functional.cafe/users/otini", + "https://social.coop/users/bhaugen", + "https://octodon.social/users/donblanco", + "https://chaos.social/users/astro", + "https://pachyder.me/users/sibear", + "https://mamot.fr/users/yohann", + "https://social.wxcafe.net/users/Bat", + "https://mastodon.social/users/dansup", + "https://chaos.social/users/juh", + "https://scifi.fyi/users/paeneultima", + "https://hostux.social/users/Deuchnord", + "https://mstdn.fr/users/taziden", + "https://mamot.fr/users/PifyZ", + "https://mastodon.social/users/plantabaja", + "https://mastodon.social/users/gitzgrog", + "https://mastodon.social/users/Syluban", + "https://masto.pt/users/eloisa", + "https://pleroma.soykaf.com/users/notclacke", + "https://mastodon.social/users/SiegfriedEhret", + "https://writing.exchange/users/write_as", + "https://mstdn.io/users/shellkr", + "https://mastodon.uy/users/jorge", + "https://mastodon.technology/users/bobstechsite", + "https://mastodon.social/users/hinterwaeldler", + "https://mastodon.xyz/users/mgdelacroix", + "https://mastodon.cloud/users/jjatria", + "https://baptiste.gelez.xyz/@/Jade/", + "https://edolas.world/users/pfm", + "https://mstdn.io/users/jort", + "https://mastodon.social/users/andreipetcu", + "https://mastodon.technology/users/0xf00fc7c8", + "https://mastodon.social/users/khanate", + "https://mastodon.technology/users/francois", + "https://mastodon.social/users/glherrmann", + "https://mastodon.host/users/gled", + "https://social.holdmybeer.solutions/users/kemonine", + "https://scholar.social/users/bgcarlisle", + "https://mastodon.social/users/oldgun", + "https://baptiste.gelez.xyz/@/snoe/", + "https://mastodon.at/users/switchingsocial", + "https://scifi.fyi/users/BrokenBiscuit", + "https://dev.glitch.social/users/hoodie", + "https://todon.nl/users/paulfree14", + "https://mastodon.social/users/aadilayub", + "https://social.fsck.club/users/anarchosaurus", + "https://mastodonten.de/users/GiantG", + "https://mastodon.technology/users/cj", + "https://cybre.space/users/sam", + "https://layer8.space/users/silkevicious", + "https://mastodon.xyz/users/Jimmyrwx", + "https://fosstodon.org/users/danyspin97", + "https://mstdn.io/users/cristhyano", + "https://mastodon.social/users/vanyok", + "https://hulvr.com/users/rook", + "https://niu.moe/users/Lucifer", + "https://mamot.fr/users/Thibaut", + "https://mastodont.cat/users/bgta", + "https://mstdn.io/users/hontoni", + "https://niu.moe/users/lionirdeadman", + "https://functional.cafe/users/phoe", + "https://mastodon.social/users/toontoet", + "https://mastodon.social/users/danipozo", + "https://scholar.social/users/robertson", + "https://mastodon.social/users/aldatsa", + "https://elekk.xyz/users/maloki", + "https://kitty.town/users/nursemchurt", + "https://neigh.horse/users/commagray", + "https://mastodon.social/users/hirojin", + "https://mastodon.xyz/users/mareklach", + "https://chaos.social/users/benthor", + "https://mastodon.social/users/djperreault", + "https://mastodon.art/users/eylul", + "https://mastodon.opportunis.me/users/bob", + "https://tootplanet.space/users/Shutsumon", + "https://toot.cat/users/woozle", + "https://mastodon.social/users/StephenLB", + "https://sleeping.town/users/oct2pus", + "https://mastodon.indie.host/users/stragu", + "https://social.coop/users/gilscottfitzgerald", + "https://icosahedron.website/users/joeld", + "https://mastodon.social/users/hellion", + "https://cybre.space/users/cooler_ranch", + "https://mastodon.social/users/kelsonv", + "https://mastodon.lat/users/scalpol", + "https://writing.exchange/users/hnb", + "https://hex.bz/users/Horst", + "https://mastodon.social/users/weddle", + "https://maly.io/users/sonya", + "https://social.coop/users/medusa", + "https://mastodon.social/users/DystopianK", + "https://mstdn.io/users/d_io", + "https://fosstodon.org/users/brandon", + "https://fosstodon.org/users/Cando", + "https://mastodon.host/users/panina", + "https://floss.social/users/tuxether", + "https://social.tchncs.de/users/suitbertmonz", + "https://mastodon.social/users/jrt", + "https://mastodon.social/users/sirikon", + "https://mstdn.io/users/yabirgb", + "https://mastodon.cloud/users/FerdiZ", + "https://mastodon.social/users/carlchenet", + "https://social.polonkai.eu/users/calendar_social", + "https://social.polonkai.eu/users/gergely", + "https://mastodon.social/users/Jelv", + "https://mastodon.social/users/srinicame", + "https://cybre.space/users/mastoabed", + "https://mastodon.social/users/tagomago", + "https://lgbt.io/users/bootblackCub", + "https://niu.moe/users/Nopplyy", + "https://mastodon.social/users/bpugh", + "https://www.w3.org/ns/activitystreams#Public" + ], + "type" : "Article", + "uploadMedia" : null, + "url" : "https://baptiste.gelez.xyz/~/PlumeDevelopment/this-month-in-plume-june-2018/" +} diff --git a/test/fixtures/tesla_mock/peertube.moe-vid.json b/test/fixtures/tesla_mock/peertube.moe-vid.json index 76296eb7d..ceebb90b7 100644 --- a/test/fixtures/tesla_mock/peertube.moe-vid.json +++ b/test/fixtures/tesla_mock/peertube.moe-vid.json @@ -1 +1,187 @@ -{"type":"Video","id":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3","name":"Friday Night","duration":"PT29S","uuid":"df5f464b-be8d-46fb-ad81-2d4c2d1630e3","tag":[{"type":"Hashtag","name":"feels"}],"views":12,"sensitive":false,"commentsEnabled":true,"published":"2018-03-23T16:43:22.988Z","updated":"2018-03-24T16:28:46.002Z","mediaType":"text/markdown","content":"tfw\r\n\r\n\r\nsong is 'my old piano' by diana ross","support":null,"icon":{"type":"Image","url":"https://peertube.moe/static/thumbnails/df5f464b-be8d-46fb-ad81-2d4c2d1630e3.jpg","mediaType":"image/jpeg","width":200,"height":110},"url":[{"type":"Link","mimeType":"video/mp4","href":"https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4","width":480,"size":5015880},{"type":"Link","mimeType":"application/x-bittorrent","href":"https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.torrent","width":480},{"type":"Link","mimeType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.torrent&xt=urn:btih:11d3af6b5c812a376c2b29cdbd46e5fb42ee730e&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4","width":480},{"type":"Link","mimeType":"video/mp4","href":"https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.mp4","width":360,"size":3620040},{"type":"Link","mimeType":"application/x-bittorrent","href":"https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.torrent","width":360},{"type":"Link","mimeType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.torrent&xt=urn:btih:1c3885b4d7cdb46193b62b9b76e72b1409cfb297&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.mp4","width":360},{"type":"Link","mimeType":"video/mp4","href":"https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.mp4","width":240,"size":2305488},{"type":"Link","mimeType":"application/x-bittorrent","href":"https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.torrent","width":240},{"type":"Link","mimeType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.torrent&xt=urn:btih:ac5773352d9e26f982d2da63acfb244f01ccafa4&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.mp4","width":240},{"type":"Link","mimeType":"video/mp4","href":"https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.mp4","width":720,"size":7928231},{"type":"Link","mimeType":"application/x-bittorrent","href":"https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.torrent","width":720},{"type":"Link","mimeType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.torrent&xt=urn:btih:b591068f4533c4e2865bb4cbb89887aecccdc523&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.mp4","width":720},{"type":"Link","mimeType":"text/html","href":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3"}],"likes":{"id":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/likes","type":"OrderedCollection","totalItems":0,"orderedItems":[]},"dislikes":{"id":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/dislikes","type":"OrderedCollection","totalItems":0,"orderedItems":[]},"shares":{"id":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces","type":"OrderedCollection","totalItems":2,"orderedItems":["https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces/465","https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces/1"]},"comments":{"id":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/comments","type":"OrderedCollection","totalItems":0,"orderedItems":[]},"attributedTo":[{"type":"Group","id":"https://peertube.moe/video-channels/5224869f-aa63-4c83-ab3a-87c3a5ac440e"},{"type":"Person","id":"https://peertube.moe/accounts/7even"}],"to":["https://www.w3.org/ns/activitystreams#Public"],"cc":[],"@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1",{"RsaSignature2017":"https://w3id.org/security#RsaSignature2017","Hashtag":"as:Hashtag","uuid":"http://schema.org/identifier","category":"http://schema.org/category","licence":"http://schema.org/license","sensitive":"as:sensitive","language":"http://schema.org/inLanguage","views":"http://schema.org/Number","size":"http://schema.org/Number","commentsEnabled":"http://schema.org/Boolean","support":"http://schema.org/Text"},{"likes":{"@id":"as:likes","@type":"@id"},"dislikes":{"@id":"as:dislikes","@type":"@id"},"shares":{"@id":"as:shares","@type":"@id"},"comments":{"@id":"as:comments","@type":"@id"}}]} \ No newline at end of file +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + "https://w3id.org/security/v1", + { + "Hashtag" : "as:Hashtag", + "RsaSignature2017" : "https://w3id.org/security#RsaSignature2017", + "category" : "http://schema.org/category", + "commentsEnabled" : "http://schema.org/Boolean", + "language" : "http://schema.org/inLanguage", + "licence" : "http://schema.org/license", + "sensitive" : "as:sensitive", + "size" : "http://schema.org/Number", + "support" : "http://schema.org/Text", + "uuid" : "http://schema.org/identifier", + "views" : "http://schema.org/Number" + }, + { + "comments" : { + "@id" : "as:comments", + "@type" : "@id" + }, + "dislikes" : { + "@id" : "as:dislikes", + "@type" : "@id" + }, + "likes" : { + "@id" : "as:likes", + "@type" : "@id" + }, + "shares" : { + "@id" : "as:shares", + "@type" : "@id" + } + } + ], + "attributedTo" : [ + { + "id" : "https://peertube.moe/video-channels/5224869f-aa63-4c83-ab3a-87c3a5ac440e", + "type" : "Group" + }, + { + "id" : "https://peertube.moe/accounts/7even", + "type" : "Person" + } + ], + "cc" : [], + "comments" : { + "id" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/comments", + "orderedItems" : [], + "totalItems" : 0, + "type" : "OrderedCollection" + }, + "commentsEnabled" : true, + "content" : "tfw\r\n\r\n\r\nsong is 'my old piano' by diana ross", + "dislikes" : { + "id" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/dislikes", + "orderedItems" : [], + "totalItems" : 0, + "type" : "OrderedCollection" + }, + "duration" : "PT29S", + "icon" : { + "height" : 110, + "mediaType" : "image/jpeg", + "type" : "Image", + "url" : "https://peertube.moe/static/thumbnails/df5f464b-be8d-46fb-ad81-2d4c2d1630e3.jpg", + "width" : 200 + }, + "id" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3", + "likes" : { + "id" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/likes", + "orderedItems" : [], + "totalItems" : 0, + "type" : "OrderedCollection" + }, + "mediaType" : "text/markdown", + "name" : "Friday Night", + "published" : "2018-03-23T16:43:22.988Z", + "sensitive" : false, + "shares" : { + "id" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces", + "orderedItems" : [ + "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces/465", + "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces/1" + ], + "totalItems" : 2, + "type" : "OrderedCollection" + }, + "support" : null, + "tag" : [ + { + "name" : "feels", + "type" : "Hashtag" + } + ], + "to" : [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "type" : "Video", + "updated" : "2018-03-24T16:28:46.002Z", + "url" : [ + { + "href" : "https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4", + "mimeType" : "video/mp4", + "size" : 5015880, + "type" : "Link", + "width" : 480 + }, + { + "href" : "https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.torrent", + "mimeType" : "application/x-bittorrent", + "type" : "Link", + "width" : 480 + }, + { + "href" : "magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.torrent&xt=urn:btih:11d3af6b5c812a376c2b29cdbd46e5fb42ee730e&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4", + "mimeType" : "application/x-bittorrent;x-scheme-handler/magnet", + "type" : "Link", + "width" : 480 + }, + { + "href" : "https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.mp4", + "mimeType" : "video/mp4", + "size" : 3620040, + "type" : "Link", + "width" : 360 + }, + { + "href" : "https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.torrent", + "mimeType" : "application/x-bittorrent", + "type" : "Link", + "width" : 360 + }, + { + "href" : "magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.torrent&xt=urn:btih:1c3885b4d7cdb46193b62b9b76e72b1409cfb297&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.mp4", + "mimeType" : "application/x-bittorrent;x-scheme-handler/magnet", + "type" : "Link", + "width" : 360 + }, + { + "href" : "https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.mp4", + "mimeType" : "video/mp4", + "size" : 2305488, + "type" : "Link", + "width" : 240 + }, + { + "href" : "https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.torrent", + "mimeType" : "application/x-bittorrent", + "type" : "Link", + "width" : 240 + }, + { + "href" : "magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.torrent&xt=urn:btih:ac5773352d9e26f982d2da63acfb244f01ccafa4&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.mp4", + "mimeType" : "application/x-bittorrent;x-scheme-handler/magnet", + "type" : "Link", + "width" : 240 + }, + { + "href" : "https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.mp4", + "mimeType" : "video/mp4", + "size" : 7928231, + "type" : "Link", + "width" : 720 + }, + { + "href" : "https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.torrent", + "mimeType" : "application/x-bittorrent", + "type" : "Link", + "width" : 720 + }, + { + "href" : "magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.torrent&xt=urn:btih:b591068f4533c4e2865bb4cbb89887aecccdc523&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.mp4", + "mimeType" : "application/x-bittorrent;x-scheme-handler/magnet", + "type" : "Link", + "width" : 720 + }, + { + "href" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3", + "mimeType" : "text/html", + "type" : "Link" + } + ], + "uuid" : "df5f464b-be8d-46fb-ad81-2d4c2d1630e3", + "views" : 12 +} From ce92e6e5ce24a68bedd744c01cc1a99f01c4fa91 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 1 Jul 2020 11:48:51 +0200 Subject: [PATCH 094/108] Fetcher: Work when we can't get the OP. --- .../web/activity_pub/transmogrifier.ex | 7 +- .../fetch_mocks/104410921027210069.json | 72 +++++++++++++++++++ .../fetch_mocks/9wTkLEnuq47B25EehM.json | 59 +++++++++++++++ test/fixtures/fetch_mocks/eal.json | 43 +++++++++++ test/fixtures/fetch_mocks/tuxcrafting.json | 59 +++++++++++++++ test/object/fetcher_test.exs | 40 +++++++++++ 6 files changed, 275 insertions(+), 5 deletions(-) create mode 100644 test/fixtures/fetch_mocks/104410921027210069.json create mode 100644 test/fixtures/fetch_mocks/9wTkLEnuq47B25EehM.json create mode 100644 test/fixtures/fetch_mocks/eal.json create mode 100644 test/fixtures/fetch_mocks/tuxcrafting.json diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 278fbbeab..bc6fc4bd8 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -446,12 +446,9 @@ def handle_incoming( when objtype in ["Article", "Event", "Note", "Video", "Page", "Question", "Answer", "Audio"] do actor = Containment.get_actor(data) - data = - Map.put(data, "actor", actor) - |> fix_addressing - with nil <- Activity.get_create_by_object_ap_id(object["id"]), - {:ok, %User{} = user} <- User.get_or_fetch_by_ap_id(data["actor"]) do + {:ok, %User{} = user} <- User.get_or_fetch_by_ap_id(actor), + data <- Map.put(data, "actor", actor) |> fix_addressing() do object = fix_object(object, options) params = %{ diff --git a/test/fixtures/fetch_mocks/104410921027210069.json b/test/fixtures/fetch_mocks/104410921027210069.json new file mode 100644 index 000000000..583f7a4dc --- /dev/null +++ b/test/fixtures/fetch_mocks/104410921027210069.json @@ -0,0 +1,72 @@ +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + { + "atomUri" : "ostatus:atomUri", + "conversation" : "ostatus:conversation", + "inReplyToAtomUri" : "ostatus:inReplyToAtomUri", + "ostatus" : "http://ostatus.org#", + "sensitive" : "as:sensitive", + "toot" : "http://joinmastodon.org/ns#", + "votersCount" : "toot:votersCount" + } + ], + "atomUri" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069", + "attachment" : [], + "attributedTo" : "https://busshi.moe/users/tuxcrafting", + "cc" : [ + "https://busshi.moe/users/tuxcrafting/followers", + "https://stereophonic.space/users/fixpoint", + "https://blob.cat/users/blobyoumu", + "https://cawfee.club/users/grips", + "https://jaeger.website/users/igel" + ], + "content" : "

@fixpoint @blobyoumu @grips @igel there's a difference between not liking nukes and not liking nuclear power
nukes are pretty bad as are all WMDs in general but disliking nuclear power just indicates you are unable of thought

", + "contentMap" : { + "en" : "

@fixpoint @blobyoumu @grips @igel there's a difference between not liking nukes and not liking nuclear power
nukes are pretty bad as are all WMDs in general but disliking nuclear power just indicates you are unable of thought

" + }, + "conversation" : "https://cawfee.club/contexts/ad6c73d8-efc2-4e74-84ea-2dacf1a27a5e", + "id" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069", + "inReplyTo" : "https://stereophonic.space/objects/02997b83-3ea7-4b63-94af-ef3aa2d4ed17", + "inReplyToAtomUri" : "https://stereophonic.space/objects/02997b83-3ea7-4b63-94af-ef3aa2d4ed17", + "published" : "2020-06-26T15:10:19Z", + "replies" : { + "first" : { + "items" : [], + "next" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069/replies?only_other_accounts=true&page=true", + "partOf" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069/replies", + "type" : "CollectionPage" + }, + "id" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069/replies", + "type" : "Collection" + }, + "sensitive" : false, + "summary" : null, + "tag" : [ + { + "href" : "https://stereophonic.space/users/fixpoint", + "name" : "@fixpoint@stereophonic.space", + "type" : "Mention" + }, + { + "href" : "https://blob.cat/users/blobyoumu", + "name" : "@blobyoumu@blob.cat", + "type" : "Mention" + }, + { + "href" : "https://cawfee.club/users/grips", + "name" : "@grips@cawfee.club", + "type" : "Mention" + }, + { + "href" : "https://jaeger.website/users/igel", + "name" : "@igel@jaeger.website", + "type" : "Mention" + } + ], + "to" : [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "type" : "Note", + "url" : "https://busshi.moe/@tuxcrafting/104410921027210069" +} diff --git a/test/fixtures/fetch_mocks/9wTkLEnuq47B25EehM.json b/test/fixtures/fetch_mocks/9wTkLEnuq47B25EehM.json new file mode 100644 index 000000000..0226b058a --- /dev/null +++ b/test/fixtures/fetch_mocks/9wTkLEnuq47B25EehM.json @@ -0,0 +1,59 @@ +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + "https://social.sakamoto.gq/schemas/litepub-0.1.jsonld", + { + "@language" : "und" + } + ], + "actor" : "https://social.sakamoto.gq/users/eal", + "attachment" : [], + "attributedTo" : "https://social.sakamoto.gq/users/eal", + "cc" : [ + "https://social.sakamoto.gq/users/eal/followers" + ], + "content" : "@tuxcrafting @fixpoint @blobyoumu @grips @igel What's bad about nukes?", + "context" : "https://cawfee.club/contexts/ad6c73d8-efc2-4e74-84ea-2dacf1a27a5e", + "conversation" : "https://cawfee.club/contexts/ad6c73d8-efc2-4e74-84ea-2dacf1a27a5e", + "id" : "https://social.sakamoto.gq/objects/f20f2497-66d9-4a52-a2e1-1be2a39c32c1", + "inReplyTo" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069", + "published" : "2020-06-26T15:20:15.975737Z", + "sensitive" : false, + "summary" : "", + "tag" : [ + { + "href" : "https://blob.cat/users/blobyoumu", + "name" : "@blobyoumu@blob.cat", + "type" : "Mention" + }, + { + "href" : "https://busshi.moe/users/tuxcrafting", + "name" : "@tuxcrafting@busshi.moe", + "type" : "Mention" + }, + { + "href" : "https://cawfee.club/users/grips", + "name" : "@grips@cawfee.club", + "type" : "Mention" + }, + { + "href" : "https://jaeger.website/users/igel", + "name" : "@igel@jaeger.website", + "type" : "Mention" + }, + { + "href" : "https://stereophonic.space/users/fixpoint", + "name" : "@fixpoint@stereophonic.space", + "type" : "Mention" + } + ], + "to" : [ + "https://busshi.moe/users/tuxcrafting", + "https://www.w3.org/ns/activitystreams#Public", + "https://blob.cat/users/blobyoumu", + "https://stereophonic.space/users/fixpoint", + "https://cawfee.club/users/grips", + "https://jaeger.website/users/igel" + ], + "type" : "Note" +} diff --git a/test/fixtures/fetch_mocks/eal.json b/test/fixtures/fetch_mocks/eal.json new file mode 100644 index 000000000..a605476e6 --- /dev/null +++ b/test/fixtures/fetch_mocks/eal.json @@ -0,0 +1,43 @@ +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + "https://social.sakamoto.gq/schemas/litepub-0.1.jsonld", + { + "@language" : "und" + } + ], + "attachment" : [], + "discoverable" : true, + "endpoints" : { + "oauthAuthorizationEndpoint" : "https://social.sakamoto.gq/oauth/authorize", + "oauthRegistrationEndpoint" : "https://social.sakamoto.gq/api/v1/apps", + "oauthTokenEndpoint" : "https://social.sakamoto.gq/oauth/token", + "sharedInbox" : "https://social.sakamoto.gq/inbox", + "uploadMedia" : "https://social.sakamoto.gq/api/ap/upload_media" + }, + "followers" : "https://social.sakamoto.gq/users/eal/followers", + "following" : "https://social.sakamoto.gq/users/eal/following", + "icon" : { + "type" : "Image", + "url" : "https://social.sakamoto.gq/media/f1cb6f79bf6839f3223ca240441f766056b74ddd23c69bcaf8bb1ba1ecff6eec.jpg" + }, + "id" : "https://social.sakamoto.gq/users/eal", + "image" : { + "type" : "Image", + "url" : "https://social.sakamoto.gq/media/e5cccf26421e8366f4e34be3c9d5042b8bc8dcceccc7c8e89785fa312dd9632c.jpg" + }, + "inbox" : "https://social.sakamoto.gq/users/eal/inbox", + "manuallyApprovesFollowers" : false, + "name" : "에알", + "outbox" : "https://social.sakamoto.gq/users/eal/outbox", + "preferredUsername" : "eal", + "publicKey" : { + "id" : "https://social.sakamoto.gq/users/eal#main-key", + "owner" : "https://social.sakamoto.gq/users/eal", + "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz3pF85YOhhv2Zaxv9YQ7\nrCe1aEhetCMVHtrK63tUVGoGdsblyKnVeJNbFcr6k3y35OpHS3HXIi6GzgihYcTu\nONLP4eQMHTnLUNAQZi03mjJA4iIq8v/tm8ZkL2mXsQSAbWj6Iq518mHNN7OvCoNt\n3Xjepl/0kgkc2gsund7m8r+Wu0Fusx6UlUyyAk3PexdDRdSSlVLeskqtP8jtdQDo\nL70pMyL+VD+Qb9RKFdtgJ+M4OqYP+7FVzCqXN0QIPhFf/kvHSLr+c4Y3Wm0nAKHU\n9CwXWXz5Xqscpv41KlgnUCOkTXb5eBSt23lNulae5srVzWBiFb6guiCpNzBGa+Sq\nrwIDAQAB\n-----END PUBLIC KEY-----\n\n" + }, + "summary" : "Pizza napoletana supremacist.

Any artworks posted here that are good are not mine.", + "tag" : [], + "type" : "Person", + "url" : "https://social.sakamoto.gq/users/eal" +} diff --git a/test/fixtures/fetch_mocks/tuxcrafting.json b/test/fixtures/fetch_mocks/tuxcrafting.json new file mode 100644 index 000000000..5dce2a16d --- /dev/null +++ b/test/fixtures/fetch_mocks/tuxcrafting.json @@ -0,0 +1,59 @@ +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + "https://w3id.org/security/v1", + { + "IdentityProof" : "toot:IdentityProof", + "PropertyValue" : "schema:PropertyValue", + "alsoKnownAs" : { + "@id" : "as:alsoKnownAs", + "@type" : "@id" + }, + "discoverable" : "toot:discoverable", + "featured" : { + "@id" : "toot:featured", + "@type" : "@id" + }, + "focalPoint" : { + "@container" : "@list", + "@id" : "toot:focalPoint" + }, + "manuallyApprovesFollowers" : "as:manuallyApprovesFollowers", + "movedTo" : { + "@id" : "as:movedTo", + "@type" : "@id" + }, + "schema" : "http://schema.org#", + "toot" : "http://joinmastodon.org/ns#", + "value" : "schema:value" + } + ], + "attachment" : [], + "discoverable" : true, + "endpoints" : { + "sharedInbox" : "https://busshi.moe/inbox" + }, + "featured" : "https://busshi.moe/users/tuxcrafting/collections/featured", + "followers" : "https://busshi.moe/users/tuxcrafting/followers", + "following" : "https://busshi.moe/users/tuxcrafting/following", + "icon" : { + "mediaType" : "image/jpeg", + "type" : "Image", + "url" : "https://blobcdn.busshi.moe/busshifiles/accounts/avatars/000/046/872/original/054f0806ccb303d0.jpg" + }, + "id" : "https://busshi.moe/users/tuxcrafting", + "inbox" : "https://busshi.moe/users/tuxcrafting/inbox", + "manuallyApprovesFollowers" : true, + "name" : "@tuxcrafting@localhost:8080", + "outbox" : "https://busshi.moe/users/tuxcrafting/outbox", + "preferredUsername" : "tuxcrafting", + "publicKey" : { + "id" : "https://busshi.moe/users/tuxcrafting#main-key", + "owner" : "https://busshi.moe/users/tuxcrafting", + "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwqWWTBf9OizsBiBhGS/M\nQTT6fB1VvQP6vvxouGZ5cGg1a97V67ouhjJ+nGMuWr++DNYjJYkk2TOynfykk0H/\n8rRSujSe3BNRKYGNzdnRJu/4XxgIE847Fqx5SijSP23JGYcn8TjeSUsN2u2YYVXK\n+Eb3Bu7DjGiqwNon6YB0h5qkGjkMSMVIFn0hZx6Z21bkfYWgra96Ok5OWf7Ck3je\nCuErlCMZcbQcHtFpBueJAxYchjNvm6fqwZxLX/NtaHdr7Fm2kin89mqzliapBlFH\nCXk7Jln6xV5I6ryggPAMzm3fuHzeo0RWlu8lrxLfARBVwaQQZS99bwqp6N9O2aUp\nYwIDAQAB\n-----END PUBLIC KEY-----\n" + }, + "summary" : "

expert procrastinator

trans(humanist|gender|istorized)

web: https://tuxcrafting.port0.org
pronouns: she/they
languages: french (native)/english (fluent)/hebrew (ok-ish)/esperanto (barely)

", + "tag" : [], + "type" : "Person", + "url" : "https://busshi.moe/@tuxcrafting" +} diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs index c06e91f12..d9098ea1b 100644 --- a/test/object/fetcher_test.exs +++ b/test/object/fetcher_test.exs @@ -26,6 +26,46 @@ defmodule Pleroma.Object.FetcherTest do :ok end + describe "error cases" do + setup do + mock(fn + %{method: :get, url: "https://social.sakamoto.gq/notice/9wTkLEnuq47B25EehM"} -> + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/fetch_mocks/9wTkLEnuq47B25EehM.json") + } + + %{method: :get, url: "https://social.sakamoto.gq/users/eal"} -> + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/fetch_mocks/eal.json") + } + + %{method: :get, url: "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069"} -> + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/fetch_mocks/104410921027210069.json") + } + + %{method: :get, url: "https://busshi.moe/users/tuxcrafting"} -> + %Tesla.Env{ + status: 500 + } + end) + + :ok + end + + @tag capture_log: true + test "it works when fetching the OP actor errors out" do + # Here we simulate a case where the author of the OP can't be read + assert {:ok, _} = + Fetcher.fetch_object_from_id( + "https://social.sakamoto.gq/notice/9wTkLEnuq47B25EehM" + ) + end + end + describe "max thread distance restriction" do @ap_id "http://mastodon.example.org/@admin/99541947525187367" setup do: clear_config([:instance, :federation_incoming_replies_max_depth]) From fedfe8f7d6f78d77e9cbaf70fa8a9e8df38463f7 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 1 Jul 2020 12:26:07 +0200 Subject: [PATCH 095/108] ActivityPub: Handle clashing nicknames for the same ap id If we get a new user (identified by ap_id) that would have the same nickname as an existing user, give the existing user a nickname that is prepended with the user id, as this will never clash. This can happen when a user switches server software and that soft- ware generates ap ids in a different way. --- lib/pleroma/web/activity_pub/activity_pub.ex | 12 ++++++++++ test/user_test.exs | 25 ++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 05bd824f5..94117202c 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -1371,6 +1371,16 @@ def fetch_and_prepare_user_from_ap_id(ap_id) do end end + def maybe_handle_clashing_nickname(nickname) do + with %User{} = old_user <- User.get_by_nickname(nickname) do + Logger.info("Found an old user for #{nickname}, ap id is #{old_user.ap_id}, renaming.") + + old_user + |> User.remote_user_changeset(%{nickname: "#{old_user.id}.#{old_user.nickname}"}) + |> User.update_and_set_cache() + end + end + def make_user_from_ap_id(ap_id) do user = User.get_cached_by_ap_id(ap_id) @@ -1383,6 +1393,8 @@ def make_user_from_ap_id(ap_id) do |> User.remote_user_changeset(data) |> User.update_and_set_cache() else + maybe_handle_clashing_nickname(data[:nickname]) + data |> User.remote_user_changeset() |> Repo.insert() diff --git a/test/user_test.exs b/test/user_test.exs index 9b66f3f51..7126bb539 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -597,6 +597,31 @@ test "updates an existing user, if stale" do refute user.last_refreshed_at == orig_user.last_refreshed_at end + test "if nicknames clash, the old user gets a prefix with the old id to the nickname" do + a_week_ago = NaiveDateTime.add(NaiveDateTime.utc_now(), -604_800) + + orig_user = + insert( + :user, + local: false, + nickname: "admin@mastodon.example.org", + ap_id: "http://mastodon.example.org/users/harinezumigari", + last_refreshed_at: a_week_ago + ) + + assert orig_user.last_refreshed_at == a_week_ago + + {:ok, user} = User.get_or_fetch_by_ap_id("http://mastodon.example.org/users/admin") + + assert user.inbox + + refute user.id == orig_user.id + + orig_user = User.get_by_id(orig_user.id) + + assert orig_user.nickname == "#{orig_user.id}.admin@mastodon.example.org" + end + @tag capture_log: true test "it returns the old user if stale, but unfetchable" do a_week_ago = NaiveDateTime.add(NaiveDateTime.utc_now(), -604_800) From 61fe94d698a6f73e7a3f6224ed4be93b30ba0e54 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 2 Jul 2020 09:33:50 +0200 Subject: [PATCH 096/108] SideEffects: Refactor. --- lib/pleroma/web/activity_pub/side_effects.ex | 6 ++++- test/web/activity_pub/side_effects_test.exs | 23 ++++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index 5cc2eb378..c84af68f4 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -13,6 +13,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do alias Pleroma.Repo alias Pleroma.User alias Pleroma.Web.ActivityPub.ActivityPub + alias Pleroma.Activity.Ir.Topics alias Pleroma.Web.ActivityPub.Pipeline alias Pleroma.Web.ActivityPub.Utils alias Pleroma.Web.Push @@ -97,7 +98,10 @@ def handle(%{data: %{"type" => "Announce"}} = object, meta) do if !User.is_internal_user?(user) do Notification.create_notifications(object) - ActivityPub.stream_out(object) + + object + |> Topics.get_activity_topics() + |> Streamer.stream(object) end {:ok, object, meta} diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index af27c34b4..2649b060a 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -589,10 +589,29 @@ test "creates a notification", %{announce: announce, poster: poster} do end test "it streams out the announce", %{announce: announce} do - with_mock Pleroma.Web.ActivityPub.ActivityPub, [:passthrough], stream_out: fn _ -> nil end do + with_mocks([ + { + Pleroma.Web.Streamer, + [], + [ + stream: fn _, _ -> nil end + ] + }, + { + Pleroma.Web.Push, + [], + [ + send: fn _ -> nil end + ] + } + ]) do {:ok, announce, _} = SideEffects.handle(announce) - assert called(Pleroma.Web.ActivityPub.ActivityPub.stream_out(announce)) + assert called( + Pleroma.Web.Streamer.stream(["user", "list", "public", "public:local"], announce) + ) + + assert called(Pleroma.Web.Push.send(:_)) end end end From 311b7c19d0a34654b785116fe22823132d5a9284 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 2 Jul 2020 09:50:26 +0200 Subject: [PATCH 097/108] Streamer: Align announce streaming with polling. --- lib/pleroma/web/streamer/streamer.ex | 1 + test/web/streamer/streamer_test.exs | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/pleroma/web/streamer/streamer.ex b/lib/pleroma/web/streamer/streamer.ex index d1d2c9b9c..73ee3e1e1 100644 --- a/lib/pleroma/web/streamer/streamer.ex +++ b/lib/pleroma/web/streamer/streamer.ex @@ -116,6 +116,7 @@ def filtered_by_user?(%User{} = user, %Activity{} = item) do true <- Enum.all?([blocked_ap_ids, muted_ap_ids], &(item.actor not in &1)), true <- item.data["type"] != "Announce" || item.actor not in reblog_muted_ap_ids, + true <- !(item.data["type"] == "Announce" && parent.data["actor"] == user.ap_id), true <- Enum.all?([blocked_ap_ids, muted_ap_ids], &(parent.data["actor"] not in &1)), true <- MapSet.disjoint?(recipients, recipient_blocks), %{host: item_host} <- URI.parse(item.actor), diff --git a/test/web/streamer/streamer_test.exs b/test/web/streamer/streamer_test.exs index 245f6e63f..dfe341b34 100644 --- a/test/web/streamer/streamer_test.exs +++ b/test/web/streamer/streamer_test.exs @@ -116,6 +116,18 @@ test "it streams boosts of the user in the 'user' stream", %{user: user} do refute Streamer.filtered_by_user?(user, announce) end + test "it does not stream announces of the user's own posts in the 'user' stream", %{ + user: user + } do + Streamer.get_topic_and_add_socket("user", user) + + other_user = insert(:user) + {:ok, activity} = CommonAPI.post(user, %{status: "hey"}) + {:ok, announce} = CommonAPI.repeat(activity.id, other_user) + + assert Streamer.filtered_by_user?(user, announce) + end + test "it streams boosts of mastodon user in the 'user' stream", %{user: user} do Streamer.get_topic_and_add_socket("user", user) From ce9b7c0e0f1f4759979fb4690021f2f11c408ac0 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 2 Jul 2020 09:54:48 +0200 Subject: [PATCH 098/108] Changelog: Update with stream changes. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b6928dcd..335d29195 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). API Changes - **Breaking:** Emoji API: changed methods and renamed routes. +- Streaming: Repeats of a user's posts will no longer be pushed to the user's stream.

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 JSid(l8LOszvBna$ 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 U{9RV=eijd_8>q>Yeay0_KLod*r~m)} literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-0961.ef33e81b.js b/priv/static/adminfe/static/js/chunk-4e7e.91b5e73a.js similarity index 97% rename from priv/static/adminfe/static/js/chunk-0961.ef33e81b.js rename to priv/static/adminfe/static/js/chunk-4e7e.91b5e73a.js index e090bb93ca1c12523e6a62c72485fe31ec8dc23b..0fdf0de502fd1e8c34fe30f4922db90b301f8e37 100644 GIT binary patch delta 36 pcmeyN{zH9&4U0*tdFn=oCBh;ghMuKil4+{BaiU&Uv0iRs0RZh$3=04N delta 36 pcmeyN{zH9&4U2)Lnc+rS}@hDn>VrM4OY0EhVrDgXcg diff --git a/priv/static/adminfe/static/js/chunk-7f9e.c49aa694.js b/priv/static/adminfe/static/js/chunk-5118.7c48ad58.js similarity index 99% rename from priv/static/adminfe/static/js/chunk-7f9e.c49aa694.js rename to priv/static/adminfe/static/js/chunk-5118.7c48ad58.js index 9fb60af236b6e13625297b5019e880249f5d0a87..2357e225d90f2f7bcf65ee11786bec48e0cec32d 100644 GIT binary patch delta 38 rcmbPtfN|ad#tAkoriO+V8y!x?i+~t<=E)`&i7BQQdRfJKxrqe;`hW~L delta 38 rcmbPtfN|ad#tAko=4qCx8y!x?i+~t<$tISGiDs52dRfJKxrqe;4hjto diff --git a/priv/static/adminfe/static/js/chunk-7f9e.c49aa694.js.map b/priv/static/adminfe/static/js/chunk-5118.7c48ad58.js.map similarity index 99% rename from priv/static/adminfe/static/js/chunk-7f9e.c49aa694.js.map rename to priv/static/adminfe/static/js/chunk-5118.7c48ad58.js.map index 241c6cc21cda3fcc217f312a2530781878fb8f31..c29b4b170785f64e8e33c46eb1068c7fbec159cb 100644 GIT binary patch delta 28 kcmdmglx6=>mJRGFyrzbR7JBB%CKib)rWTt;QdaK+0F*Hb0ssI2 delta 28 kcmdmglx6=>mJRGFyyj_^sd~vKmWhdGmL{7;QdaK+0GnzGYXATM diff --git a/priv/static/adminfe/static/js/chunk-5882.7cbc4c1b.js b/priv/static/adminfe/static/js/chunk-5882.7cbc4c1b.js new file mode 100644 index 0000000000000000000000000000000000000000..a29b6daab41b9f286b7b8ff49188d22de4297782 GIT binary patch literal 24347 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-5882.7cbc4c1b.js.map b/priv/static/adminfe/static/js/chunk-5882.7cbc4c1b.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d1aa2037fc464f0734b0c69ac8ec65be1396e6bd GIT binary patch literal 81471 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

From bad08f34caf0f037b5d6e724628a222fe65b751b Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 2 Jul 2020 09:57:31 +0200 Subject: [PATCH 099/108] Credo fixes. --- lib/pleroma/web/activity_pub/side_effects.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index c84af68f4..61feeae4d 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -6,6 +6,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do collection, and so on. """ alias Pleroma.Activity + alias Pleroma.Activity.Ir.Topics alias Pleroma.Chat alias Pleroma.Chat.MessageReference alias Pleroma.Notification @@ -13,7 +14,6 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do alias Pleroma.Repo alias Pleroma.User alias Pleroma.Web.ActivityPub.ActivityPub - alias Pleroma.Activity.Ir.Topics alias Pleroma.Web.ActivityPub.Pipeline alias Pleroma.Web.ActivityPub.Utils alias Pleroma.Web.Push From a5d611abc296f23c939086f479c1ef708fcb54a8 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 2 Jul 2020 10:16:19 -0500 Subject: [PATCH 100/108] Update AdminFE build to utilize new MRF metadata --- .../{app.6684eb28.css => app.01bdb34a.css} | Bin priv/static/adminfe/chunk-43ca.0de86b6d.css | Bin 23710 -> 0 bytes priv/static/adminfe/chunk-43ca.af749c6c.css | Bin 0 -> 24279 bytes priv/static/adminfe/chunk-c5f4.0827b1ce.css | Bin 5669 -> 0 bytes priv/static/adminfe/chunk-c5f4.b1112f18.css | Bin 0 -> 5842 bytes priv/static/adminfe/index.html | 2 +- priv/static/adminfe/static/js/app.3fcec8f6.js | Bin 192591 -> 0 bytes .../adminfe/static/js/app.3fcec8f6.js.map | Bin 426204 -> 0 bytes priv/static/adminfe/static/js/app.f220ac13.js | Bin 0 -> 194930 bytes .../adminfe/static/js/app.f220ac13.js.map | Bin 0 -> 430912 bytes ...cbc.43ff796f.js => chunk-0cbc.2b0f8802.js} | Bin 21585 -> 21596 bytes .../static/js/chunk-0cbc.2b0f8802.js.map | Bin 0 -> 86354 bytes .../static/js/chunk-0cbc.43ff796f.js.map | Bin 86326 -> 0 bytes .../adminfe/static/js/chunk-43ca.3debeff7.js | Bin 119060 -> 0 bytes .../static/js/chunk-43ca.3debeff7.js.map | Bin 402101 -> 0 bytes .../adminfe/static/js/chunk-43ca.aceb457c.js | Bin 0 -> 112966 bytes .../static/js/chunk-43ca.aceb457c.js.map | Bin 0 -> 386132 bytes .../adminfe/static/js/chunk-c5f4.304479e7.js | Bin 23657 -> 0 bytes .../static/js/chunk-c5f4.304479e7.js.map | Bin 83935 -> 0 bytes .../adminfe/static/js/chunk-c5f4.cf269f9b.js | Bin 0 -> 26121 bytes .../static/js/chunk-c5f4.cf269f9b.js.map | Bin 0 -> 89970 bytes ...untime.5bae86dc.js => runtime.0a70a9f5.js} | Bin 4229 -> 4229 bytes ...bae86dc.js.map => runtime.0a70a9f5.js.map} | Bin 17240 -> 17240 bytes 23 files changed, 1 insertion(+), 1 deletion(-) rename priv/static/adminfe/{app.6684eb28.css => app.01bdb34a.css} (100%) delete mode 100644 priv/static/adminfe/chunk-43ca.0de86b6d.css create mode 100644 priv/static/adminfe/chunk-43ca.af749c6c.css delete mode 100644 priv/static/adminfe/chunk-c5f4.0827b1ce.css create mode 100644 priv/static/adminfe/chunk-c5f4.b1112f18.css delete mode 100644 priv/static/adminfe/static/js/app.3fcec8f6.js delete mode 100644 priv/static/adminfe/static/js/app.3fcec8f6.js.map create mode 100644 priv/static/adminfe/static/js/app.f220ac13.js create mode 100644 priv/static/adminfe/static/js/app.f220ac13.js.map rename priv/static/adminfe/static/js/{chunk-0cbc.43ff796f.js => chunk-0cbc.2b0f8802.js} (61%) create mode 100644 priv/static/adminfe/static/js/chunk-0cbc.2b0f8802.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-43ca.3debeff7.js delete mode 100644 priv/static/adminfe/static/js/chunk-43ca.3debeff7.js.map create mode 100644 priv/static/adminfe/static/js/chunk-43ca.aceb457c.js create mode 100644 priv/static/adminfe/static/js/chunk-43ca.aceb457c.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-c5f4.304479e7.js delete mode 100644 priv/static/adminfe/static/js/chunk-c5f4.304479e7.js.map create mode 100644 priv/static/adminfe/static/js/chunk-c5f4.cf269f9b.js create mode 100644 priv/static/adminfe/static/js/chunk-c5f4.cf269f9b.js.map rename priv/static/adminfe/static/js/{runtime.5bae86dc.js => runtime.0a70a9f5.js} (91%) rename priv/static/adminfe/static/js/{runtime.5bae86dc.js.map => runtime.0a70a9f5.js.map} (98%) diff --git a/priv/static/adminfe/app.6684eb28.css b/priv/static/adminfe/app.01bdb34a.css similarity index 100% rename from priv/static/adminfe/app.6684eb28.css rename to priv/static/adminfe/app.01bdb34a.css diff --git a/priv/static/adminfe/chunk-43ca.0de86b6d.css b/priv/static/adminfe/chunk-43ca.0de86b6d.css deleted file mode 100644 index 817a6be44d8f4860932111a76a2f9146fa1a40df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23710 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 diff --git a/priv/static/adminfe/chunk-43ca.af749c6c.css b/priv/static/adminfe/chunk-43ca.af749c6c.css new file mode 100644 index 0000000000000000000000000000000000000000..504affb935b49649f99810c411e2d5ac6ce39dfe GIT binary patch literal 24279 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 XXX#?`Z~bbhT1l<3VG=!k)2ZXX>(NDK diff --git a/priv/static/adminfe/chunk-c5f4.b1112f18.css b/priv/static/adminfe/chunk-c5f4.b1112f18.css new file mode 100644 index 0000000000000000000000000000000000000000..d3b7604aafcd5f7c3c58250e11f31985fc0ab2ab GIT binary patch literal 5842 zcmd5=+iu%95d9SaL4gKa3X53B%meAW+RCLNheMX{rk?46h-;g#BR5X07k^? zT+W=CVO)srophoTuT1XWc&Rtp!$Z>T`q<29L26OZnsl^yA*-#{qTM%Cu6awe=(6;& z+vQa)sLmu`Z*(8CMttXPrP_BjEf`U(uCju)n#sI@o%WttV(zgU3ejrHTPDd`@^W8t z1zX=U{K)Z#Xx6}pW~31HwrN%N1Xo9NtA+hBr`e@;1zA%kpObebK>8+2gIhbvUO9Us zyjg=*J11D0Bwz9)$p_VVTZv=6oV|>hye`MfBBdqM#U@-1)?tNq#>cz+Sb|YN)n8v+R#$GWl1!HWhwq7kzB9n*W?@i#p!(x8juey!|RBoCEu!S4qoVJ zS@L#m1IGdrF2XRfKS>C)Z_dP1n3~`_0cIPW>UIwxh_mlorFr!}T6i+*W+50MsKHwb zW*J#A{RVi+ZG2lOPxv5m4C1W-K#Gt;?2h@&@7|%()5&~^qsOQ;d}1gh z<6YNJ6|G}~p z(P2K{?EF)bxcMX;$XfZuUYu$AFc!6B?8L2j&B#{Pw@W+0s^^Hw=tTs70E7bx zdcP8@1%!JA+!WPx#cIS6ei@5AKbx`r0RE)!V^mo|a)o?Kk=GpDvKbOWlB2_kHL*>f zeGJUh8s}13Z1^j4d1Lly5bbACSBK^R1}^a~43ICcHQ@lhe)%?DdGb)dFai>2Kesv> z&z`Eo+YOT($_Xzdu&rdJsY9;A$Ehmd)aeIRP5@JICIn!X*T=26VsBOT@kt~N;7=gmrc2C-$ZvhD=qn2g&;Za=r@|hWNoEM~+}9n~)*>k8 zEt&8WJW@gx2qj-&7#G>|M<@tAP=oov3}M3cOT&oyuL`U{(%|}2A(iCLcczWNJT~y6 z%?UqK)NP023F6a4)Kep+!U0dIH#Z)c8Hd>gHQ`42{ZFyN#xqy zupn|n;R(0uGDd-EA#5PnL~tm%ZzjNe3JOTfM#mMxH5eUQ7E}frJg9f}K{%mc(-kfg zUUSu?Py7Fv9}zP)aZ_zIT`6aeu+!^f-gH9h3FAAn`I^IJvj=#O7~5}X48WqB)F0Z% zNN0|r4AZ#wAb~#hu-|2j!C7GsX+iUu8dS2C5YXD&=b(_c-O*X%Bv0q){j)8dZ{E`7 z3~1MPZw5)ApMQ}t)5GET=<|_2aVXJ4_HmY3LdKY2>36<5O!#lGTIg!17fb%iu{^ZH zrj3hi8QCzU=$h@vhqEO<5kZ0JX7Gu{Ip5Bh7r4Xl--opGJGGsd)rP3jRO&;5w1Xi( znkO4GJdL1$Q6Pez4(SA^ZM)^`aN7$*Ie2`~<&yXuR|RgF9(j&O{|wH?7T_$yU(DGV w7#HfPA$kYMRPc`HDkm4$q!B;J@o+G5lHY8d`nP@JG+nHf*fEKnzUkKfUrsWH(f|Me literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/index.html b/priv/static/adminfe/index.html index c8f62d0c7..22b3143d2 100644 --- a/priv/static/adminfe/index.html +++ b/priv/static/adminfe/index.html @@ -1 +1 @@ -Admin FE
\ No newline at end of file +Admin FE
\ No newline at end of file diff --git a/priv/static/adminfe/static/js/app.3fcec8f6.js b/priv/static/adminfe/static/js/app.3fcec8f6.js deleted file mode 100644 index 9a6fb1307826d2f15d288dda7ed09d49b36ea7dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192591 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 diff --git a/priv/static/adminfe/static/js/app.3fcec8f6.js.map b/priv/static/adminfe/static/js/app.3fcec8f6.js.map deleted file mode 100644 index cc4ce87b3ca199fd7f5fe5004cef177b827c8b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426204 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


Ni+nz=@N?SVeMD5u~#_3jS)z3%i zW=i#MUJ0Al#+*v`DA#b5-j*MZc|~`^oF+^DHk1@|Y{N|FA+6rKgK`_=n1Q(E9dT`_ z%Qk%3#c^bHRF^WMBj?XlRK>KjD zM&3x%d)JGl1ra!SQv`M)k&x6j)tB`t5eNsoEcrcu6E{1Ah9ZbrDJR6*H0LHKN8h>t zlsGr%UUH~A_zAfHlv1jNn*eO2+o1|LXRVn=DW$VyN0ZZybee3d-fsw`l{k?X!srLQ zQ`LG*j{f@sX_Io8YZ#~)1eER?9X2TYTtl+}Jz_>fx&I>P3ajzKodVGyG^M2PES_;| zyS1TZ%YvA%$JWAh<3G&QZxEvkvyQ&2X&s;`Q<0}jg;3jld12bYVPoYi*w%LQT1-k; z3qH|!zIU7zf(n_ub=Sz-w46?nH)7ngg>nX^H{~tc0z|13(JAyP`e{>;Zmkx$znWmU zBe@`V+!8Tgq`5YuX*nEpI%Ba{#Tv?XD;Q`uJu@~oFgdUUkbi5w zP|8Fy^ZN$%tSS%xE;Oa6;ans`+V5?=XJM&V zC)O64pRF!7L@MrIa~&$)zBoWCF} zib9TT-6Grmg9wMK3njI>g-0*_OxU~|shIYYE$b5oZ$>%NS?qE!Gwh@Ks^k<}O)4CFF{RFH)bc>GsJjV5dTnVUtAN(yCc*13Q&|(zD)g zE4`%8Hw;=g2>`(hCIjzU+38lElTZ*k1Iorxge-8|pi)(?07IF^8x{kiD!b!gl@~Xx zggOTb!5eDAp#L#1F3b8~+3OzCER?C*m7!Q{5u68@!$Q&M-)ZHO?}j!HYgP#!Rw&XK z6%+QY72k*E{KO`BBZ}HG&4m(P!%&-*^p3OnDDS$!PtT0~b$*ibua1M$T+sLOMfJ;) zzW$qns`%o%N~@)$oDi8rZU`e=-nsr;?VFtH-Eo0UP* z{$wg&@NZRilAhJSt!yV8&Ms46apbK^H??^EX6259vvX6x3x0UjW@S5N;)^lZdbct7 zS7XROJcj)EFUOEO)!^6J=!q(>XPk|S`*oU9eM|7UaGkSYXpVz##r1#Gw2oK^Uf4ru&&V+da?w2!4KOWQDEq^+>=FeOzI_ zvah07z1);->{qXRC5;9D(Hmgb433eAxtPb3g4Tl?n_J>~Z?2L;s#d=Bfc}yQz`=IF?s8~I`jLQc@~P{8%re^nV+#Trj_&EN(+kJxJ}CJSb&iVy zI)sH^H_X`v>#6IVf`C51CZLqJ6tt>Lt4|fJGU!D=Vw?KDLMA`96X*8$!ep{@{A+5k zaAU?7L$kC-=Xe;qV{v;th?OXt%Vg*HD0V@ zA6eGdsUG9)GZpl1M*ZWXvY(s~X;V^=&%yCsEJG-kw<+*h*CBZ6ZlYkC)KI8$mY&UW z2FKKF1X;u5G}|(*)DJbR%nwnj(9!5PF+a#sB*w?8d3b;P>DD7x=Q~D*=yb#0Qw>XA zr=V*injE9{EU1^oIf}cK=9b5DkCkYYdz=KP1jF+h#-1LhJp`MS>)8TlZvo2doW1G5 z+LUL?QNy-?G&`nZzuuetv2Hz{kUc8y5-=iLwEkr8Ltr)d=cZ+kTSDnBpN7&f9IVgu z_`$RCXUC86hV`IZCBBK1Ed+2}il4$S8?glMl;M`*ZMz47LhCgB1SiO-(*J!t_F@a` z)9{~<{amYPBf#bJKWULVP5G(b&&S6uU)&G|;Q8!iZ$FwsdnmRLsIX)afYOdrX|9dK zqHEDHWnFYFHk`mE9v2@hhpTpvzdS);a%1+wk%uDC{_&^2+0FDY?%5YswfMvqUfEut z!&tjNLAjlVR_g$iIG=xH)AV4_bLxZ@RiTo`UT2s)?A10ioSMMke5pfzu<>LhLDsxwr?vl{K5zJ0L+l&p#GrB6nKe=Ei{ zsfFo@pKlo{!D0>13~D|-nTAJ9Wo%_Mb4DrFao*&oB}&h@B}z}jTaSDir7bj7xT%N0 zHQt}56tr@Vf568(*2F`gYd5sk=2N=O1h*A#W|HaRooR}rAl~~Xx5HYPpSW#5;MG;a zd|!KYdNQeH(-SX@A8mzBw7=Jeu2l1gsj_rvkU+s3&g9K7w5&s>wRD8X%o_HrR+Ra@ z_4Erk*yRcDivVnmS-KXbXEin|i0(^au26U`m;co2$X$b z`=W{Uj02WDBB@)C9s&#jXAT72Hc+RvRCr`ljCd?^krViR{#8 zsDc3SEl*^ulryhhc?>^P#AtnP3GKZ=hHe-pD*E=s z=eV7dt9t{98xy{O6rbaEPR5pXL&W!lJ$``!4c^X4DV8SCPaE-pi)+)y&^ehTtv@rIS0uc+F{lb7q?_Ieew`l8Qd(~9AYl%&wrw@G)w31vXpw(-G6^nLp#@m;e%{25wy3c8 zWwMwiV{K9*-K+onAGrL_C+&*iuK*c`H=PV(t$sk?i`k_OGSnY>+x6c%A!+!OCaN=$ zZ0qDWV@_G9dbE3Tyibob{fbM!cLJ5orFZJ$qX!9-*D}}ETQ9Wr)bC6J>n&^Rjgv1e z!WuUm7p(&Gt@Z4?Aq#?D> zJqlP${o9)kzqRDI?A24v^P16aor#O9sb2hON3@iZfS>FjaFsqmWcFfhfdxbF z&44YGz1K7G1lIw7f1bIIbA^_%7r z{I+47brcUR-QzGG*r#37XtTpqoWVTABMa;42tB^&mry~nH9vzB*SC~tLd6SS+5V8w z4mcUcM|{ce+MWe&`lbaxS%IPQAbX|5bMk)3XLg*<;=I)xX(slDeN)qoWb!4_p))nk z#JJjXNio#fu86v@vlsZfCg-FHa90kSM>{+(wL#!3g zj>Nvxb)1&K_@DnUlTvu{lQsdxX|J ztsFwI!L~>M$VaKI1#4c|XlS6_M01!N8Y+*hd3^6mINXcx?96o!UUKTunx}EpY@~id zw*?`iz4frPw6UITa+FEXmPjCy2<{kPF5sOrQrZ0bBh}+a39H@NR^aI9dKs4R>|qr` zLQowsm+dk&uW$);_HT;(c9=>(c>q`mngOCsw@XhecFymOU6nNjEn5fxuRC8qy?8vM z=@=G3Qjg-1Cs0}QpmwSC-76+R$?nOoTc}!#_D-(ku!7OD)DrH3s@~8q|B*@D6U0{s z1R=QP$|H|xNA{FYKQB|gBvNeB0&HjE=}yAVcrF`i&^H8W<(TcFN3p8qxeBls<;v+r z`R2UIrft6HRn0HJ|D_tlG0AkXy)+CjF@xcq9ZEXbD=lu{NV)8g55QZ`af@(q;ZU*h zVrQHc96FOfk3e4QI4Ab<+8L>6M(a!#9)QBeTpGmkKE`cZU3!SUmZM!up>Qrd&)&u} zQ|TOaW(V53b-#GFo4=kEmtc4E^s`u|wsol%YreTQjQYoxjerw+B%Q6qo241Hyp$51 zqM-=~Tq4{*1_1AcLG}QtxlY_M0B>WC+X5oH7Jxkl!1a%=kNoEypTxo@i8hJzLx%T7 z2yPR-2X6Xow$KV6OsKA(L)W|3HUH_l8#5oLrMuYAwXkb-J@T$EH0kE|Uy3ji$$CtN zcP2cJiKMa$6YSNNhKSTgJ*s^c8zQBrVneuTArVqT1CCW&Qo}4J1nisNeJVidHmFD&hmMg6yh-Vo&-ou2)OiPn8YjWA68tE z{llN+DqcEB+COY4)c#?CN5edIz7*At!SnaDvL*|8uE|h_NDa~N}s;zJD$=i+2HA|(DmvQ@MbYelT+OZu< za8m79vM`zrU?X3~3mw^vI$N*NuLW2rmm$<<=Kz6#@N?MJi^F{SiDgDr@FHgq)Ty=v ztocPGtFvVc{&1n>%v9!G?!6D~=Z)l{XE-Q14j#GUt?hL2wL{u|rg33eTKBVQc%A!L z{WZ44j^;m#EbqtEV$wrXXaDnKsrKd(G7O5E2dZ538-K|rAyj=7^7A4}y70v^-@+bP zN__Ve2=&M(4Za9D%|uj8OwWeyA3+ip{v-uuL-$I z139Dj<7!B{R$(BqqmR})FizJP$;^HU#nktwg`I^G_Q31m92|K4A^u-t_5;lhjN6y$ z9vS~wJj?T<3e2u8@A~;@4YO~=>4?^TM5Tp|zY5R2&g+56@k!Ktf!BTIjQTtVmAHD~ z&#X}N@89#j5nr?<;-&bPq8(hy@r^F6pAt-MyNx&CYSs|zJoX&lIWp#@hFVFo>D>4u zgyLT^pfn7L09AHzl1XAIIia2TMr$bz^Ta4ipg|UvD|<}Kb*qEQTBTd=5~|t>-Q9(~ zm!&t+&0blxduyQ{ZB8`{DH62svOpWjcW4HUrj!)A$P3`#IJ_I|tfNgAFm=pY3^dmIlR!1Y@xfFCDJI z`zT4b!TTlE4~yX-Ip43ddA5A_=zSLOp6$Gq?<~@wfs8`_A%z=_-Egg11o+4<_G=2~ zUmN$2lixb;mN-vx{md8B-_}2q-MD{kzih|7>o8F;n8wsX>0jATyGifLydG<0%&Oeb z-?>i**I-k3N}e>_9poDIK550u>%2tX!gM7kp^xx3_R*hPyHQQibCBUR_a+Hx%Vf?c zH~i;tJ{2w!rnZo?I=35mak%y0*me6Zx1+b@cHE_MJDAQ;XfRv!U2rS*l5oIx&uzss z9gC?{7gqQY$8?9-@>s+O+vO)ptiMbqif|Ib}5v-vL zyzx=VWom^2{n%dGR_bijPJe3#ix-eytJ_ls@cTZ%q(jPr=(3?P*1SQ44>Q1=@aAth zfjcQ{znE+`An{RY$L6AT($pi;kt$p^__;xPFH?`>sl9tnDJgIuKaTF|M^;M5G8PE0 z2`h@#B;OW&M~oZ?9t%8kIg`8O-qQZm3OqDUSw#W$1rN3S^EhKGm;znR%L{I2GulZ5 ze^A~~R8g@k@rUY-&G}<&^LaFXQQz#X;S9E#_27()XmO|6)|;G>?XjPPn5Othn->L_ z^&A}C6}<3~o$}Xg@Vaz^nqK)fNpAQq$x?c?{pdaFT%N!St#Tqi{8H-;i~@L8u|k_k zsawr#w_cYfgv`Zl&CjFY&kC9ML3x+fAoH%A-h)iS5#5D-Lx65g%8%9#yD)9{@SfWpt@@Y@um(BQ@ zZzyhLR&CR2@IVmx zZ)AzQOSk_YPAL_0+g+Ygn(k?+jxz(55;={!6})V7{91&G#0IN(UzcEE{mKE1##N>k zf(_}i#vskHytXx}e0hSCnYWB99>XkM(a4C+DJ{dUMYN9MFt;MP$??e@zR*K{XA*B2 z53tNnv`xTU-qU{E!{H~^rDDBce73L=qiest7T?MCdhZm~&w{A<#x|nB#H=)YQ%bKS z!+Ba_apIb7BrfiTHZ@DKLuC+>;VK;cYyIk$!d#h*%qn~Fp~=X!vKt?njObnt`JCUM zD%8k<5|@N|+CC4G&N`2t*^yyzXYP8}OECBuX-}1q_*OaIwn1`3qb(%9F?D2yYKdL9CI$21}=GA!zH`y%YsXk^R_^~@tfq+E>{s{-={u>S=l5^ z)Lh?b4N1>=EH(^Q) zDqBfklgQo5X2S6_Hy~pxDFx?<%#)zh_93!TKp}D~lbe^82|_fdpsyMoRA^PQ8ph6X zp~8eS<$fUjLFM??5XKE5hjJEK&ZEwwc!(7}#N#}QJ)Vg4A#6-^#S-o6B(TI?AV={` ztvO5hDRa@n{whmMh_==+#$ENxEu0JYb*rvE4zwhDSAB>l=SV#Z9*^e5rT59c6Py)A zz7PQZX`4T(>dOP@hpl*UrAflLTAUB5w&?4gYqk^qa3Rv5cXULWFu5woHIhM5XmtKx z$2IB7XtCbLeq>iX^Q3ABevPZ0*iVzwEp0@}cy3%}-fEzZs?1vrIaz#oT%9Bqf*)1y z6JqfAEfxYBSKF$zfTFIpR2@QbU>nl7x|1G>1f%M9%8J${D&{|EbJ!n3gR4 z{-n|t=IEf((wvqqD@PvG%69wnGnOi#M|)2Lr%$UFn;D~T87d990E&0)-9*h$B=)5s zFaxW?G)%{;9$=eQtGmWC1mr_sz2&|w&X%3CwGzx>@Yx4^8dc@;dEhxe4h^>5t^O~? z+q%bDye*u*9u>F7+b}KY7PcHoy99oox*Q*^k>kN}Iz^6A8N=hE_?6xizwF3S;vv+R zV(-GODmD+5eJ!2VxpNU)F+2FkF6vX74u*KhCJLVh>z417poo^4yr;N_r%2S`m}$4! zz#Zr0;-PDEeaG3m!dU@Lp^*6ysP)*Qw^U~l{O3I$rk47S_(aLndWfBrF&CrwrazDt z9+Pchzj4JUb3f*dW5SutHOogfr%0kh1>F*@@uBpRXjj#XxU0DdAGYQmwQ6<~m7qtz zYJED|Q{h&gIJK)omE%gH{qLBgM0-;8Hbp3ISl?wel3M2dr1GTGv!Yu2Mjz+26fs9%04+3wn*)fTFd9P_ zA$0S~x@FI&+90{2sT$$hT7$VhooVHU*1Ra$J}vAf$=B!DX4))qY5WGUeA_dEa5UMl z|CYsZo-H%q#mQAETkJ=Y&L?mcC~EkgDi*i}g*nLIyn=4x)vKF&piGhPP**oxlgL3% z3KJRcz zDf?>))Gy>!Bh#v1^6A;zeXvr?#ZkKB|JOs4oj$C>lnxe6s0K)tVA9jj>90 zBwaI1k`dn$)RKu#x=Owh=qiru5;c;IOMUCaAd5~6um=hgnE!(;_qi4aKse$d-#BMR zBFC-5nsxaX(OE&Bp`V>aEItXMhj`cQVRMr~0f&2`HO0LlUSs>SVN1ikkYH2A!s^AB zvj^Cuo#TFLn!(GB-+KeCm{7g&{rFiF(QZ=Cm@~@}U86}0=yOUp4=f~9eK5YN-)jM# z^_H=c2LWhd6jCZb9j$_O-;N178;zYh@J)j;(ra7J06m=_IZw^5=8X9m!;camQmXvA;1Z}4!h zaV4K0U2Ynm1Ru=Ee=GYgNhO(WWGhq7A0C1>MaxGMZ|6MJqZYRIMEFx#kg>4LuT0 zUt86R?64lOe;7TrG^7ry4F`#cM&V){K7Ehj1`I+bmYb9xO4R#l@8~o;D)mT*Oi;dv zqLo{1*42JspbeM`m&(!u&mO&6-4G3qSi57=bg)k)hEeT-$ARX2$5y74XRp>bcp-0n z$a`x4&V0kDDTdG7mFJ)H=N{c%32-PiehH2X&x1r?i3t|rm^vJndkzP96CA4ipTjX; zf+PLsFr_VfL<{>u>T?mfKCN?<4)_6X+r6PEAI`EgiFi-%Y^{4o#L+vP>!)`vvj_b( z`^_oqH$2cFAw!JSurG#r|E48a)X{y9ciV$L4e<;qe^AXLSoWZRl!@0%k}L!x^m>Ub znZk(7An;w?ic_+$BV7GU@5vf#7?aR9&71@X_LJn>A78%vpBU5A_y4sqX=WDagh!DR zr$DD|?!S*v#(e|^z*&BoRcr~TV+?_LhlWke1<Li^S}P3>ipqK!9(K9+`iW=+N0RjHh}FU67HNRkEF=3_R=*kTxEmVEfAZJKuW zH~#2OwCSWaO_KBy=k=&#CkT-gTyYhy9v%RYJCDrW8D7-JB!gj-gk-=4H*ZuwpU;L) z8njUeC^PtM#4(mW>w;$t3VV1=$Oxjqcy+nfC-*iyC7ja6ZT#qsHA@dI`lyHT28;@9hpav5SM{w^DYQZZ%)0Hh-l-p%WZvu>F-{-6 z@9O}AtprwejvSDjYYJE{r4{YD^fSl!UyVNFk4hFyDWfB)5ll+ZmXnVE5^J{hs523Z z&>sJp_K@QJ)xv`44P?+=k;b9jIz^0lp|M{TWqk|Boy`)BzhMYw!oRoa4PrKT{F8Z{ zUaD$mhbFg2u8_`T&&zD1fk#`h&x0C66JwhjBs~bgd$mVx5e3BzhSSDqxIw&&A5JZ! z>Mp+1J5?4541D1F>Qc@af#2qN5nXEQ#CH*a)FYZgfI*ub9?)Q?m)iSR2Y2}&j*W3# z_{iA&AUc*bajw<~bONjC{ojVyn++%Fsj8Yf9rbuv6mCk3>DuT$3OZJ$%&G)nkv2+V zCKrauugtk6sJ{FcHS`c&)itdW-3;}13PtN|ijM$H{;sN&Px#PDI;uS9t04rie!;b2zF%S9(i3`S= z>0dI_`2_GEGk)dsr*c6+XU`5*j+#~k%*3(HnaTXHnV3Gxe$be^Ozv&CT(Bz;3Bg$K zy&WUnG8$MiZr;XS=9ctr=aiL8l|#?HS%+-q)pls#3Y5?|_+E`JegmG>zf}p5r)z)v zchGzlkPNP(2McpW7h50|68s9trGOYeaHFA|oQ7Br{MD6~vvBiV+nY?TSKt6rzRDKQ zC~L`u`#hUwP8V3cwt`2t0fB~56ylM+w|K-<(z%w`8AQ|5v*&$CE~LAo)141<2vNtq zvbd%jb9l1YHHRvy> zvZAesWfviA<|UFq4pKFP?hELJ@ixqHdR|8WhOzhBFigTORG4t7VR8;XHu}zo@wL*H zW=dXKa)?!vvR`XSUnqMJ(o}Yrl*g{g&w?TN3xi6kXELs;-lC>2meFh;ROFtodr0F^ z(IVV)1WYFR?_{cnNQ~qgmXsy-kUUaH8G-%M=;}bFd#jomd*G(4=urQ+11SaF^ z!0Th3%jufSmY3tlQAI2}u?idtCn|3UE4Wwv=w5Y0`EbT#z=H>61r0d!+|ic(sE#nH z2&d2588;1mQ59&Q4Q;SYfk(__PMZA2JUsh#?LGKo zmBB-^tP`k1FSMHcQJGbBrYtA{%#SIVPTaETlaz`kXR3&Tm(Sg%!*J2E>AOAi z`B*SC!b>#{7eTK<}Q;t zP;dBqJl?V;jMIU!ih&ALKezBj3gY?{yDN68{8!ESD8NCN?#L5g;uWuvX>*Zg*A70c zQ$yQG%&%J7;ozweU4xMa$CE8gooxktOsp0K#S>v=)>FE%qXhauinBg!#hY2ELnx(L z@)x*y`Utc+I4kBA%me{s5uO@RgR-i*63}4%C9tJVp{_-hA6jSNNax~hu>Z}Z{5G+P z;)T-v;E|HUc^h|(P1{*57kSJO1+`0S+1h!Qr> z%%6t&DBeM*(DV1$E#7Mn6M}$F=MQuQwo8e)DLFA2xJ`CG(Ag~REU59tDB&tN=^7y0 z>GVbD(AK6BJHs;?u!fCTyqv1^`2id?sPF;4mf~`2`jc#I{6x8z$K_2t9)_GsD9L^l zH_tq#b=k)SN2UMXhsp6|Z)^$WKK>jsy-YJwTkg`tWO}LoFL^(i9NRL>wLNg}bK_QW z;M|()BwM+;)-FNblTJd9A5}N}DYK4A*pjdi*|YSrzliMR8@Ei)ZDgUngT(YtS~>KN zg@)wJYXGI+vT~}rd5wZ6g7zD#0I)sRqo9oL^%H2Wn=`Zw$TbC*M*+7m`(U*Ybc9}~ z?pP>p%!~Dro7R%q{C7kMPZf^(0`9Qqt0RQ6B=qB2K3EBl>fvF+Ng^iM@`5ayLTCeD zfYz4dh$n}kCWwYrLp$o>6XIU}((`=G6qXV%G`p6PJ&zL7#}8wkR|1HSF9L|)UIY-Y z+wqP&==^8o$=+i8kbW9EC7Q8p$2bz=bA#wKoG;{Y?gmJgk0JcjgQv33YkJ%qB+UZ& zZCy+eH+o_-5liP&v=8>M0yiXO@%7YVnBnUNsye$(nS=114njPT=RM!eR!;aXmF?ec z1>e6$8WsY2HgQ$%l&9{A#@e)eV~+Bkm?-ysQDx8Ly7ScvMs(h#W3UtgoHox!pu`Rv z77ITsd0nO!%R7kvpFW<5C{(csLQ9W^#BKw zSzPKi_Hqt(^Ctyec;H9aiY3%h8J4Fl3-H@Wd90W@kL%||Lowr@VKRJyW9TiFXB$e;DS!$e(24$2UWgj0qxuv2mw;K(!qy;bU9U{>eaivJy&SU#dj5_*~iP z;Pc!xriGaITsyD=0SYhVQh!yUU4=S1-B-Bx7!W0u7;p2X9q^?SrX% z<(U0$hiE{!1@B!f-C_}r0bLS9BqNTb0^7rIwr?ws=La@xI2#!3KLYlfhe$M<~>mFySR3rh>bAZ@9)XJNJ zQT8~>=9?2x^CQ+zJg2M?j%fJN#r(ckWT@`MvuVWIAsvMk$S}3~wed$c*?=HTM|`Q!d~L+PibDTW_q6nF#-T${SFApvhPTH%ZPo z|LzLRlzl8`uDP|870Z#h0iUjiJ+LbOXA!xsYwt+$lJN&ND zN@!ETL|VyuqF-iI&CoCIo!)4%v%XSpSk536wO7+p9!sVWDz(xHRZBnsj{^# ze}LM6YEsl6Iu~xZnz#;J;E+6-u4T`(3GXQY@zyL}3iUmuVb!dD2R#_hADJlxmuv{0 zk2+zGBZv_A|abH-{P|=4DmF2izfDClrMMJQkP|B z`fvOXQun~czkbN4D0yUtrCB85mN{y#lMvQ8e`IoBz;|EKOD4a)ybNvhX#O0CIYyz9SXQ2$+&dRwFppVGG}_1`rpcq_LC+|5rmmNGc~Vn|lA2z;~aL@*kx+;a%rjbfyeDY~NMzf=SnjjkPxE!A8l|$yDLW zq`ZN@WnMXi`8m60=0g(N4U_YyYY(-^sr_SNe5)b;MJKw;Vd2T-*F6_EHrdfw6fspL zW&A&O<1zOvyr#PQ`D?2FdSSBQXdC)$fJ( zZUklCQ{@<8Y0}a*$BL@zH8IXV(u{`4^b!hJi zI^d8uFOa^3_pm3tXHEE5tFKOLSE^sdq~5<49w@Y6Ul|CE6){i%h+dg@KsDQC@%lsB zgx86+>q*lQ%_u)@bAdalWj}4YD~{TLgH#!u{35E!5f_CKEH^0b zS!_H9%e)GQZ~^^=)(liA@u$PIE+2w+`^=FrQIZPe5C&P-%PFQ^U4i$8KMR8%5Dc|; z*@dD_E4)X<&!`KbzmmITm={a#+Fab3?{lG-NdSfxzIuQuDIX9PHaH;l7aa+17tSM! zP&1K|==9?W^C5#wyabEoP~P){4QrH|2-x>Q*}fN$X2cO%ks}NVnNk0Ycxb{0+=6i|27lSNQnlp#{fgMW)3L3@_sgnKGPS;M#s*`EI zw+M$^?budI1@Ft>slTDdw4goj??Gn>pmjDr+aL_`Ltq7R7vI*g%dcNOeDbTn?)#sp z_|2%K%mTq5(4;5_Yjo4U8?of?WCAFI`m^IzBb+OAT7~ruAOG4yOXi%k%|)&cC~}&A z@5~C^xw~C>sz9&~F-B&zS};#eZY?#`W$cy?^QHcd(I&D!2&1p(D5mnVm2~ zcuAH^+ST5@!^`@^fEjC<^|>6BbN_jlIl!MS{~1=d&bNu{ezoXYQpSkeE3o8OX2b>n z?3(=HFbaG47HWUpBX%M9M+E3{TWu6k5i4LV^js)EElDx~3liYu`1fKc(jaT3a4Nb`jwaj?nJ|>PP*m z)CxhdO)j73U`X2vi~&#~5%*lG*sUt+!Si=qcDQ7mN-^4HL_;nCR#_MuT+X;uIUB;p zYFPz}cj*Xj*1J0QCG@+`rTPs{)i&?SsWP^N74hhDrtsBCAIHG*nBAe8AZ9shjkz$6 zlEJwz{-TSVtF0otTnR+ee2Ks@LZxhBU=d(0vWPClB7tMF%V2z%enBf8BsMocY(i0i zw!jJE3vq(8mGrZ;O5jd0lelw{=ax8msb_z7laAHU(z5~K_p~d72Moi0Y!%X8FzJ_Q zj=4K-E%t3l#h786jsFDjRgN27Nqj=P(vhNE0mZrSFWk*Zl`}alQEOp%183ttSisoL zhw{~O@>_nED>e4j6tqU(;M29kc>|ao-1htjEd&;ac7Vmt8yH;8VVkt;LW zHj$T>K;#!FY$!>}%7xEcU0^-cXI|1lK?+CAS|o+x@~+~SfukObqk?2h3nAs99m%=4 zCD2^VBfd4=AXW5x_H(X$pZqKf5R!bQe6j&~9#wx*=3FSx8>KO8^jgya>+iYXQx+8X z({D$vm}B;Pj)sAF zJ|Eh{UV+7_7% z#)TXFe4*5AeaG#@Zjo6QTFqG~@GsQ53VtKJps8Ykh&dh#@(>=D?^JM?3$KL@QVvM3 z=)vY=%4gX|;Gjz6-YiXrbKcUiQZH_I==F!VCx$oY5A^X+7qlW%)h1?2|5=b9te zMlyy{P7q3yE3u?}k)ZJ92ub0GOEj2W2H`1<%AS<2(u;;j-p*qRQcndH z8b~Dh<+ibmMuasga$kQxpc%hB`8D7w{7Nq}iox{C1wV*qc;C`WMJH;?J^IkRR3ns0 zv%X-0?|ZWV1hx_wa{1lmz9CFT@b}|E0qQ9i1#T&@asG8^tNpIcMg^rv4ab~>d%ni* zQ>xwCT>6wXls~2O&VoxI*yWpK%8TK5m^ z{i}>b5)P3ls7VJt<7Fvn9_5(`ov7a)dDOI%*fY~kvMpQVKxP>A`*!g{Q?K0YPp{`3 zJi4A!p?~EgLV^Fpfw1R=tE-It1gF?WI{<`VyWX_-J^n1 z>v2)=4{R%}v+}0mEXoQIA~g2UvyNyQ#*f!??gOj2D9uL?L>hf~OEVtsr+{pDQxJ4S4e$DwlXPk#PJ-7x_1du|d2p2(1a-}iaOT7Ojj~R3EYaTP^N-r%_11*HXG`&ef%rFg$ z;=#aZ++|FK*K&-7*Jy#)oJ;_%POJ@Hqz&Uwnxm8DuNqV!2Ed^UjR$xw6DnGx1?!r- z@J|6ugMz!fmZK|lOuM{hF!)zvc)+|0yzgHN4-{Ikue_F7NSc zXME7%8JbxaEoQ)3wAcr1F!D8n(Z3qX_?nRjjDTxHgTCg$VjlVae-tbRQgC6UfsFHD zG5vqegT;g~b+$1B&ceMwl!tq1A`kcKehBxf<<2BX66sAZ!@WE_5BKWvaTed@0)8;o z&{yTbEQfIc=GS&JFeW;QQwQ*EM~jSoD8lq>dISzye>b|s1hK*Qp7}8ft?6*EXQn7QEJHav{Yoqsz6&5 zfjnXh5MNeDZ29GL9u(_tDS_I z`FWK2sg7ToAMD}W{(zL+{=jLu0ix--0Ycps43L}$VIx=|d91k!0#S1lbj@pX6GTsX zt6)n^0`yRz8XAT{nzj{d!^6hf0x`U&+erRvMhL-IH`a<9vO+hjzglyQF*8EyC9^^j zPyjKgX)ZHED1AV+7bSU_9n$ba-?Wzrp?@{z!Be~n#PhEPr$1oE$6HvoLqXE*Vf9DL zK`ronZiz&{Ob2+lBRnLE7iE*0ZJ(PWi2l!f0;f1e7b}+PvGgp};?$1qG{6;NH(sH$$fhzNykt)#VNg&f+I zLsHnXE$_+?DHIzU@>r60|Cu2*`pN%-Ki_lmKI+jxg9CCvnKNM5y*FPcPo6xlJei5D zyCk2KImjnVe#zxT)t?Ed)ys(xe2N56!vr;0pj9TejlAMO?{D5yS@RsuIO zp+p72gqo99AasSa(#*}Jl|)A-t<>&D=ib`@`}ZzB{RxqWGb(ya#>yp z`qcvK!F51hjDLwybu&}SD*R>wVC40Jf{mKPvkk21ELG&p-I$qEV)mKDLIFBKVxbje z=9KtwW==^B%giaI1Wqa4VWq^9hLf371&Jk=lSwR9l$uktkV`C|M<#*DlQQd*C6?e0 z+TBWtrPb-&o{DcWY*_%z3ndm7QEpK+R|LSQ8$n{RXt`uj5p1wzQEBF9CY7v`Ok}lJ zM!>8VSz)RhKRvqmqt?#Ht&zpO`e7fsF#LTEhM)S$i6i%9eq`F~6;V$j0XN!i9*UOU z>pmiXyvGF^7BrXW5c12~%d^RM9>P|N2gQvRC}T<~+}k`xQ0mig(_~+M6%B;y`?t3I z2Ih0zl3-asvA@^s?~nb#9jTj4s?8!F(4wC%er)LzpEENM2_t8TXVL2H zE^f}Oht~!+gr7VjVg_&tUs0J&Tk!cr7XooIjP+y-v?2_*bQcRP-`@^BAi5JvVe8mq z^V-{7QNTw2C&qUYu`*hl*}W11iB|LzE|pdf4v13Ir{k09(9cw^TpWN&vR)Ip@%w>p z?SzDm4R>1%tLho9pftj&7Dx@G2x`^=R7RJIfI49}2_KZoo4B$d!w+6U56C`RVVuXQABh709owe>HTzjP;z( zV{eknCo{gq4IIK#$3mI|=L)whwss85#CYb^?zbC)<(bcr6w9h3C48IaYCwmDD4}{X z#+#m{e({`vc8&YEDe=iUKf|1`JKnC$j4y6gUrhQhbH6>(qARN39XLaLuim4-+gBSs zHL584ci&yUmHz$HFr)Vs4k=|DEa>=+=gk9fBb#IB5=&=YfxjO=A@T#*uIch?Ap}gI ziQc<(UviTT7FV`@{kpNPd#-qF>9)3PP-9*wWp~}@98C8C>1**KdPWvuWfSN@SE;j$ zt@HwmY#fh>=}^JO$>SJK@2+2TaBSvK9>HXUKtWZoN-n(I{oz|%F)^sBt8hv9sV2_* z7BQQS3CLXFP5CTI?+`zvr3|Ix(Cmoc9Hr^Sh{fy1^T{%`IWoIAv{P4H8B1~5IvJPY zaO%f81qmE_q~TUQOr}*he7P&ZQ5>k##)IFN=KI?_fv!K=`jK;Q4PiPY8N$+W@;kXx zDOw3xiRRanrG~G?d!lnnJ!gUsO7*#4K>2<^`R2(e4>BRX=vrSo_dO)>xthw$ zUG0pXmiCw5mqGRX++XI$`P_dTT4)t9+6=f88RQr(UL-DUc1;f8t}+=dL)_oZUs58-O}5km2MIJhPlKf|laV_fKlZT#j8fP9YzS{VFE$a(5a- z*8vrUyMRx{Xjd3n^P0GOI3&ib2Mc=P0elXZ#>Z{C5=7mHF6tfyYdX8yS6EL;LbnL# zW0T$`Jmjl#4fthjxLZMN#xB;AL6lOvP?lcUq-P(e^oubAO|NkP;NHoj70$^yck!I* z@E6%06?Ti%oeVMtkV)&@0vtT1Xe+;GD z!_9vDFp-XujCz8kH|}k8`SCZ<@Z+uPk1m@MbL_^IC@o`SDf#Kf?tEY?ys1~kyM7ti zPd=0qbxjqhC5rW<&RMD zw{4_e+^O;Izq~%}pQ2CqxnX)QxFyWDcK;$*)kwY=PqC<0e>|FasJOq?cr(5x&Qs?_ zzxHSDv73LjM=rF!go7$)Lig|tiuu{pxgTDJ;n$^A{lHFK3s(+~@&Z?`jr|1=vRLJ& z4x1!ywyC?tF(|oe^w-_o=5}40?@sW5)3qD3ACW&jIB9ApY1xUA9O{l(x3k!`2FPq) z%=LWbf&4G;DdW3aEvx;bV|-*ZYOeCF>W_qs2NxeBm^kU|9_A;Vx^|B`XwS~&@?Kw? z0s=`N>88m-7Ssj=+WYb@AQ&(mUM6jubGq4ENf9nxHBV96@(pYQP~lfD?O$YRTHUv3 zC_gfE%dZ@}{IMWco5$<~_-Kn`%r&^E&YV>A<2Fh#JvZUA)!{|jX0bqT>%F^mEITSl z41kYpzwgzpN7SYTPhu@KBA#da<`eSL-NpNVuW~z@plzBDnoC39X8`YmDDGUnx4m~5 zM*cMrXMx=t>sOG?3NHEZ+_#QP;yp@PzXmPslz(Pmwl*G|_Usn-X}$&{bwZyC;;c?c z@Qcpa3FpylZ|z^7LWS>bf7HL;=Mq6vLRo0pdSH7tx9V8v(h6#^uU^=3Z`&NEV%(7h zqpiV1&(WCA!TF(vV3zB&F;`VqDq>a~FwU0#EydYx4Pk_umIuB<)MS?oQBwFQZ)|aM z!tuK;h23l&y}M6}V$Yx z<^$D1TJ`-y&s}-{9F-hgeD5cRIzt)Uu!1kt@ds(KrAmc?k8Cu8ghP2q`T=w$vT<}@ z$lLRKZ@+%2d1m9x-e8!VIe%t4>&^zf&3n_$?%`p%w%1E~?Y(CC-jpoU@zJE0Ot;6Q zSu&cPIsfUI!NK8pGK+2;P6o5&#^Zy#<6*Qn86QNq&rFZ^OLx2XlSyfEG@1<#lFhr5 z@xv+aQ_FYz%nxplLiwqcFP8K#rQx`{n@l#BYOws}yGMiJuGMqgokU)3bRilg59c6S ze|mcq0nvcG=k?ngk4lHTd$-SQc*4;%nNKMlO}qPi3+cy$W1 zg(`&;&+=9PC6v2x`}XZK^TqfOJvtbUrk2*9%?{6RZa#eYu>7!A9#8f+<4UEn2?kX% z8thuG3~au={nlZ3){i{lTD#dPS6a0wZnes_N^7UtXqBtg>aAv@T&vfIakX0RG~>vB zYflbJajjjBYkX;z<5rrjRBtuQ^-jA~t~Bb$^=h-+X|(#SYQ5a59ha)DcDYH_wMw~N zuTn>?)+o1Y&8XI_lpC#HsR0P3TDj7!m#UR=r(WkvwN|5GxmhjIP(^>6ty0zV)XL2Y zspV!Vrpl_G`lWii+>Wcq?MAs-ulDUN?zJe}6xQqIYQ0o$2=KH>M3v2k)!B%uak)_k z2AYl3Y^7uE#u2aqmVm289g^#%R=G}{6o@PBQk9fSD^hv`sGF5Issk6Pom$HtRzNhh{)wo8eYk zo5A3X!Khalw3>PqGZ@fGwceyxR9s?Us}1_i5Q1jrX@$n@rO$BG%5gK`wGCeN+N0}r zC@-R9qXFg9VUQ@YXoI6R@G-P)WW1=&t01!8sxOEW15P^eAy+jUrU!nmx5X07BV%9A;2yQftD^awjbTJI3Ka7Yf z;>K~cO~2aheuEywot|dDNJ^AWjpaK0#1Po98mmUM4KUJyN7=Y*DuPiFhF}mxoxro2 zP$c9dI$#8wAdwP!qsAsfCtNx!rGTDAWUWScF@%dFQK#4tz-S7?wgDy1`$NMZmu6ee z^GY$?OKbu1rxVdU{H<&stKwUh$h4a;vPxbs=~v;Va(J8 zYn|#g0;+@jr6SGmTGT=y(4sL%c#gA4!0EuRQLDsVkY7Nr-)U0`h)90mx#6v$ay?+D zuS{RH(23}M8+Ic}hRVV$Z`CBw(8)|9Yj)QgLK&r{iowj_i}oU^QLD$|;^L2tF0~+v z#jBBBo+rGd)%aI+xmjt1mym@~Q8hNAR3nZ??PZfZDe7st#RIdU#ZEQK%J>wjuISRY*dzPAOeQCR<%ruRlt4h3!Le z&2p_3gHk4jv?<6=Gawdy)!^U$0`0Wg;HY_AsS> z7Mrfp>Nu&P&zTzQ^P`PCHnK!Xu9>Dn70OTz6A0Z8QQDCRhiNlKd8R&lwsz=4!Pyli+AJXqBHP8auM72IIhB>y%)} zZRUTIZ}k#TH!wg{s#yXK)lQ*CsYAtr;{bRf_?0rEYZm(==NTE5?ZX+?xnn+p+f7Y48BUcA*B%! zSF6;PE4Ooukm z^8=}v!Ve1RV2sWIQ|mminngQJH(o+YBcA1jYEV~Rp-J7)7&5NjxLHHjhrc(G$nh)( zvEFX`I3g!e$7kLbS;?Xe&*ya0kwh22r{5w1?~6vMiYntx%ea%i;$W5NOS4hE30sD3 ziiDt5t63C6XG1Sb^b)i{pN0Z27O>+r;-Rq4gw_I910(_A0ZQu)CMfV@jxq6=g<%l% zqFzGtCNk&H|w%_Xj1j~C(XE8&1z|Mz+|mHvoF#!R3dz|65*RyX+=VPPrg2p zbTHmc{gtKfmCKviztMO%xkKvFFqv*13`T=eZ#pd{k7ko@Z&o@S9_XtucE;RIvDLHkI4MaJCkIuR65T6=?yl4&@;&C<@kLZ1qp=PJo>@|AzH>W-1 z>h6Wvgsj8vX#WCWzKIt&TChSHgY4V)zZj|e;+Lm;`Q2U~@V6iJpUW2+^t*BFQ`M5JI;W|e+<3YfB!_q<7YN2@` zAMrOyTax#@f*FELuiz*~lr?&mDYoqBB=C4;moosDD>g)>+8mmWfW=eANsor3~~A2>)5>&zF}S2AN$T1^t8A+l+lb&j?(hHwgnS5FW?GPg97~yO9>SP z1xdya_L_h`MoVnQJ$i*rUT(?Fj9O(zzNOnDLTyOrE3up)l@@ss>Xiy#+R`L!xkJB0 zxykv`sCUt>u>Ab514=XUf|P6R9>#D9l~nd(ToD>89a(i%^icx_e8;#?sSPw%z#xi6 zwXIG_7tsU5(U&xQasVU^ne9|njfd*E^0jI`^;-)YbRv#fj4%hJdaV(tHjce18%`Om zEk;irX9)lU)`nB|cBMX)28ib(#@9;MWJCf-lRt4)fXGJ_SBHX@;iEzI9i3BueCX(t zyiD|5RkTqZ+fBKRSQrA=6|Iz@nWHe#-yxn(KGvHcSqP?`DvMhcJU;eNtyiHMyj4=a zI~ocfHasz5*lKuaG*(*5sdZXIYUQ=k6hf>G@7&ZA|aL`>?Ww>Vkf0-=Mkj-WQ z00lnGqG()yxRF?7g}#6g*D8Nxw))+`(RCJg_2}qLj`=$vOm@} z8iPMWVCXLLW8yo304wk+fA)0T;uL31mf}!7d=77>vfA?vYew1#oYos;^&ZzN)@X&r z4;E57?dmOvv{u{k@3)j7V;50_S7{kOIh9lRYyvF6*Dk;ZlhLGS_Tp_qazpT~Hea*` zLoMP3b=(HbC`~Bkut#qIcePSA-{_T#VNjszkwLbkfLDfD-`8`SwS5>jM*Q^AmxPDPzinvx^Y^ZWv%X6IKx;C{JEvYa@;n~KB2nd70hNQY0*lI;C zH_&eDpOyMD+FzC|7SS&58_*6{&haj0og%&(z+Q!U{6voVVsHA^v+6AzD)k*Brq(U| zfVd66Mz6)UkbTYi$-zkrv6l9FGA{>viFcv%dlrU*#Ic6)HFqV1?L=;&8GQJ7mEDqd-SnKjg33w~B?MbE=PbDKBtJG!NyA z&Gn+t336+~QX%sd-HpW#3pZ46!&9qsOkeBG9UqJ**9iB3H|woR0F0tzDOCqt>y||r z0Ip&^U>_PX<}71CC2o1j&4kZ`BEUxI2p$peDjO7&T=>!;w7?Xm9xMpd63eEL6OFU% zH8a{628}Y`!9=r#B`EFz4T;vy*V zOG0k5zluMBd@N$34jX3Ss@;BaO=CdZE`wZ&;r$hWAso^|IWb{1`ZBSFcDz)Ws~vGn zyi2tm8Im=EI_VNCUDBtU!e(6-tHp#O1iCmU8g)wekK&{Ff+(fk9f@H&w4-*zM_BSYQ*0=HcR9W6`NH;)YKxR~+@Rq33Cz27#D{YlesB}gj}t3w`yN;?EUu+Hw}Cq^7nO-i)oK87ok8P9~l z2s@%1DnX~r*{_8HSP_}<`-@tE864}A{-U*8NF5U=d_#zWV5ut=co#BH<6mRFgSJG3 ztQGXcR!m|s{!{}ifPO`-ooc(w(BaR~2TnKu44EN)UeYV+JysSG?1S1X33nO3487TjY5)fx$FEe_u_Gg$Ma$wGz5TXc$P zt-s74xP*iND>q8iYNb6htx&7QwkgJhmeg0^v!|*8={PMDAWaj!#BW+7;;S@b(u6o` zK_DJtMak%i27y%|%?hR0>Q!RehFGuFA_&wGX0eh3fGV5zL51lX^_aBF`uXGl9wF(8 zF394`DUhN$_0mWQz&ln8NYRQ^iWF(KCn6e) znQ7}#`EW*$bTgP!tF5AK|H@oHOdco{A zHeh3x&u(UDnBA|Gkfq}?l}=5_KDz^eDr+cJ4VvAyN)Tpu=%)h2K`hgopL#7IMU!Hg zgTnA5?md9erMH|kknc|L)qci6bh zv%GJ1b{}A4!u6W$>{?AFMH%q_3w9?nK9!0V#EXiC{>kjtax(gqc92-qg%-^*$i->! zQZUL@+4St)BYzvs*`9a6ZU;}Zlv30!a%r_2;u4o67au6G?JeMzvE4!h=E`b^KvGDU z`AzMyF%u8t2IhisEcYrd>Pl@Jh24XUwYw1pDJL-_i(MzD6NPcmiu!GHFIkLu)t9O^ z-~{G`2Hfau!#W7F(Uiiq(U5;0tr8;+%GWRZrmQD2lf^9oiLQzP8A!IwV+<0vK9;!J z$3!HHH6mi85r9_$oK5a3%wggHWJSnM5c{PEa9idcc+rZWY+&oJTE%MhXYc#hp|PT# zO=ryRRprNKr+QOVmnx)_{FD^3lwA*!8v7j8l) z^d~js+Xh=376acADB;J`ty@5Y`_6o(=za2;;^YK`h5~$A=Ab5Bb=$^#|H`aCAa)1s}xH)8+d}tvT-LW&iXt*?sP_0jsJKZ=FZW$vn)$-Y*6#$sN3%9F`7`P zNoC7Fz_MFJV{e{E(_@XM_%27a|5)8%rfu*s^h(g_5#h(vy?+|fCkJw}a~uhQf5daj z5h^zr8ii(nWVWWV;Q_ZCavWTmJ5C-y8DW~;O@-BI*~9;O8_=E2ZwsBa6>7~4s8vLv z1q75Bqeko?R067kDy2s?nSS(GBoQ~e4MGB9l#cY*kq1@Vx}P?ZGVSF0FFYuZCNhQ- z`a272xE(vTc!s`5-PjGRGhhJ%2z*4rjy7{)UTA$5)b3uL0D15^_8wTttK^H6o$ z7SPyUja^kUB=EeWGZkXFZAJP}OsmuA+o3cu%j#7KU%|7n@kkxx;m^1ljhR9N?0=JE z85$5gIfURA9Ox~PU4_G zBU3_vHEdL5O9vgyW^sRUm0DdZFIouVQP3#`u)tcroy4SS}mfPU@U82}oiei7MrVwqVj2)C^jaF~U*GYM~fTjZ76A zo(gsr=&f@4jhL0Thr3sv$%lT)HbyPRns0|-uN{cX7R6#kVbFff){${iXsL)AaISVW za#9T@`Bdq{Byfemgj+@x2w_cKZD$k(X_{z45)R#fbU~NElT3y%bUKIp z!&(-H*!-_St1Q}LkNKe0TSN<0dB9u?&$T!!<#kAa)>T==tr@fk5SWf6EtZ4Qs0Sh> zRg)O*LaO;y5bWCVP4)EF3W$q|1IXu5>*MrC`TshU_iyi!8+VURQX@%uJvB&yycDe= zn+BR!ET23rP=Su0kpcsaG<9&4Q3;BZtyt<@DG{(VBOT!+xy9^|hNwpl*-&+gRf6%u z5FskUfQ&R1+^+~Hs;W1J7>7Dsh7@9AwU!zxmcZhiCK`{iQvI0{(zjNE<~}@FQpcu} zLuN7iDP$shfTXmR;(=SeQX2-hSZkvJ>w=MMQ3#tAfoR*G?G!4lQqnZJSh}Mo+ulIb z6}1`rlB%Qwvm|jffmspj5*@_>A=;~|A1{wSV5_c#L>QZAmcne&%hX}*dKS+S&T(7{ zMomCODaBCF)U4L{O!=xbZ<*a+-%%Z%V}_2{d^x#Va5;spDgs{%bYjaUj>Y1s6XuNK zM=)>JIML#`bL zO)ykJqB>%$p^8h9h+(MVaz>-G5jD`A{~b)0^)zc-_caqAUu&D$r)3inGuxbXhxVP zycBY02B<1_+Cup{SrTTT#|EO<()>{pFMLJYZZ&GhsNaOjF~2Bce^X&*F_+91j8`J2 zwf8Ojcm`0zEfIQu@dXY;Dsw;{Q8eo zYDZQntcOa_s10xFk1|l7OmWFgjfkvWb=qxRxFaKEtEqMKxHQa!vLnBc*^-Y4? zBm8*dB9?$VEa#4NRR8hjkr^nmsI!D1p~)z4Uw=Ij3yY}+Tdp^^7<8!{;m7J0XBS;O zxdw$RppmVEGS2KAH5TgAf8nz-=~T8R%nO#>woFw?>-*VU@?m$JuKxeOD|+4idaH zOdweVtY$K|r8~>c*NL&P2)WE;$Y80!?OQEv=9Pn`#fqI=;><1PwdYXGgeDb^OJ)Nt z;)aOPbm0C>62;5m)lfi(JXZ#ds*^(pMHGWZU`bgQ7(8%%A#1pBIauD>zH3KvDH#?f&ed zMa}vioEUDdJQ7o4r&1PWoe|H-AM^XQ%vns_jH{-2b7`^-6v{wNCmKknETB4)No}(el(CRBg)vIxT0t1U)J?K6hEnnYo-wd6 z4GoZqVw3_{u6hEe1@r1LZb07j30JOrxSFWPVzU}0{%YH+PzWT1C=rlmq{B`nu&pL* zhFm>y@R;($`SdJ2=&RISk%XAHrC4*GON3%uBhX!t{Z@nq6oF2~I>^cvUeMB28U2DP zq`X@vhzkHL<-|GjVTqV77FD&SaF!w>sF? ziIr$9@_X_EQ0(CVwIWz@h}5y&Mex{kQfJgXppe_2A}C|lG+5$1DL%;(QWBnJ;R!G# zzTCsFKaTK}Q<@^qu$kv*;QS3fU^IqFbR8+CeA7hrZ zFaHPaAf=gF42zDhgKr6we1L7pOReExYmF!H1BKGQYSK*M7wp>uD=Z8{owFAjbt!|$ zb>KnGhT?c*@@Xv)9P3H^m!$*cQd3$$krzs*j>6IaRGZ{%yNB^p9PQ@ShbVwqJ{wR? zt*{ebjUma-moEU`WEBwohAt`>92`@_j~35-Clih8niC`RDYZA=g z7BfMiBhoC5Dy<#O2~HaoqM6J<#1m*nVDW^D2ad)3(Bx5!p5_Vyhx1u51Q;~v5}LR9 zNSEldSQJx1VuN4J6hni|pBi(6O9ns+$yfo5ipE>mA)*@$@gT>K2!KU0_?jN59RhdK z(C~>!g&A5WBv-glmklZO4_3}6e2@Z@CoD6m%ixFnMmij94uMN*apH&(0p;nAnpaH% zL}(NnrCqSYItp=1Jg@~NuJ%z^8#RtNVsdKOMRl-i#;wXYFhL}OtsvVjX;Rvh*US@V zVWl<(Sg`cbh*}doHncW;7F&HnN!j*bS0Ir2@!P&W+~&6s4~MR`K3sgxRVPUPWZj3o~poBvvn*?vX5 z>0;VdY4;V40$Pebh)pSA8=ad!Z~*Cv2s}C~bii~)t0aXX;*2DQoIDB?0RUy!iDH^l zf`ow+NLZ;FNjA%35$iz)ye6j4Np%ZNL`xE+n;%95W?hl|2?UO^>(YfO3Tpx0n1g`$ zi-F<1M(f139TcS;CT?#GfM8JMH`GJFViRa4kG)~_hwlcETN{d@VDL1SIHbTwy8#J^ zPt_n!gq!dRpf*R*ka*#XB#ARN4vO1_ff_dCw2?74#Kesp_x7uiO`-+G?^Zpcf53&0L@|TiF7|KvYE)N!e zb#kw!Pom6|fciB4f-Mk+r{{mV6*GmQY)c+P90=IuO*iEAN1PwK$zEDZ!QcaeG zzrKy=S^bM!(NpkO=&D#v?C!#}>I`FCa=J~Tic^t|vD~RAGn6^vWS-x z`zBa2e4&nY3K12NwA=+M2VRa@YExsv2pU6s_8`{MH9_$GaEQ+5j z+U23pOKSCh;6mr+%g-VYX?rTClzcJfdchZM^^;d$_`xC$dGVF0F2#MccVIa!?jK^g zu^G{C%cAH&^BK`D-vem$k$Ma+AIW)GQ+P5k)eXUt!lNe@v^c8pq@WG!B#8z-4LisV zF|Bd3REbzr976bjiB;7hb*h!WWVQ@CLQ37R-iIPe^VZnkE1ZR#pn={AlX+cvy zg)gs$5jIruYon5W=QqQFm*p=53j<6`sv!d)5&%>u&y|KOh0JgpI>tT|Lb-IH)?8|6 z#4&H(Rs|YKZ@vEHnp_q-hmTE(;^?^5s6q6mJxD5OQv}hXWe^q}HJ(g7R?K1H3<#}i zHOY>o*VyO+N!23o1J#N&JfBU;ZLKje%XA}w4jSS*WWd)gN;n5O475+POkcSl{LN4u^Y&x)s1pvB+l_Gn9oM z!KV1{SVw=Vm>7v>yltOiyu>Q>K}YM00HWLn^y)n?-$Ds=h%e;f_{1}T(&X1u0;SL` zOCX|yAp`}v$MFun`Q|b7hyG(Xev2ZtaEq?PU2eK<3OWtXqHH2A?V|=3wEqd%fAYFn*+g3xP{mXfBHYD|kWD`6B0D1cM4#4p8D=ee-xajZ$e z4myREw-A67B;bR%ACxrP%POJ^XY5q3ZR#$)803U zE`PSRU{GizO>UhBIXZj@5LlLhRk5)}p@qh^4RQ8t_}nIy`w3JM2@4CU5%I|rvEI~i zOTmFuz-=B>Mm372ryAX?2^#FVuYvBN4QO$ll4?NF9`NA2txQSyZu*Z$r9-=3czS{% z7E)i+$sa&pGQt#hE3->x5|)$QDq!1RIA@u;0%=KBA^+@ohiA_1Q`nLA23ZPkS{(Oh z%e4(TaoC{t{vmdBi##%r7#-GUbs?g{I@kiEg+4oD2J1&r2nbz*eq;;z8#l;vYQQo1 zpmN9==_EB1dyiQJ^ROKpTJcTarndeo6_nY4nxHg9rR6+UE$W^&L$F+^eLL8LtVe38 z-5S)D^&RQ5Fcg;M01~@XAQQ%>17MiJ;f)Xv*4MJRF{ePYXsW};g-;d_`&7m~JFo$w z4UAK8tb$}KOEiGMGvVX}Xu+ls>275zQcqFlEK<{KTd~IQ5}@T9#w+Yactu@MsEGEF zq%Q(eVV5dv$E|{UVU=#7_iI6jP#n4}JHTJ41gke3bAZ4XchcIdg}8NCNQ6_cbgo?h zVw`L?3(s_m03t)G7*;?k`4s*`_vF%M5mG_g0jX4sNiM?Cv0XZ%hI|TWLu*yIJ-SWh zJ9~F-S@K{!N*;L8Wsn zIbHV@du})T=l~p4aaA0HUC}s4nnQ(cL2Zh^(fn%SjzOb$8Eog-qwynOwT*?@=f~v{ zH6R*=3<+^j)QH#`hYd+2a!4*$Rxt~S#qTpqD%GpFq*M^!QiUZ_V5o7HFseY4z$9R; z+ghrDtw;3e8j%;C;Jvdx*D^-&oe)KcCXc!Yhr^RDwFs%NCuOIgFVQwpcQF!2@y*Z% zQi9DzoJ%b|3kz3)HHZ}?qA#3l;|mMzisP%ajxBfGg`5>T8Gd}XhX*)o(@m!(%~xh8 z99*xrD7qbLR%D|VPe~{!_7|xnxdV!{V_82{+@auzS4RU;3Oa10&Avoy zQ7E%UtjW+;__>v~6h5zlB%W?kAhvu0HUI@`wk8_*ohG{s@2b zXO-7pJ+D)CZ9P0&x@ZyomC_6B;j^=wzLz)pCMY}n>C^IsOb>aw^olu2vGoAl==*8q^4SV)ln zR$aDpH?{Nu8W4x-pDC1j37rmzvQD3fG(4w5X^SG=M73dc`5uHuQ@Rp|b%;#>2%S(l9Lh zqh$fhW9jyy92*>~E@*)v`)7BoR5z?*YZGEebST=ts&>`>Ew!>;!wu2d;M0aSCN(xH z8ysM>!NM9_2s+#BkRhd_o>(6Js@SpjiP|=--i=W22KAl>vyG7Yr=2$X?O;0TDuW)+ zNN(%2jYjsTZ(X-~RkuL`tjbxy`YLFY>y*6`8XOmaBn<1K4TeWUULYI+p^geAdRD(^ z#)fDG7$E3K(Tkia+R$WgrnUO_Us)p)t`?J`AE`hm#@&fR`Z|=7b&SdYSg~ z=^+AEgKAzq6(RvIjE07470kDcjF;Qqh7;JJgDPF~90;K>ZJ$Kf*vcw=vr{hKVIzuM zfy@P+gU~W+!U5ejBGi#OPM28gK0!(-d<~}5s_D=}v5T#*Rt&Yn#!Z)!YuNRNz>(I5 zVoTUmq<8z%Q|&g31%kb>b%#0}GAb<@NPt;V%Nv4Wx$nkCL@{zF&~v6!c%nZtsn~`= z6i8!O*{Ix7zwNr=yj_*DhTv%`s}V735p-(T`hG&Y>bhjIJRDktQP1gO?7e0vpka=) z$@{EnE2OG&!@QR>92zH6Z`EyU)!JXxw7M%Q%X%Bi&=_$-a*H*LEbP7i_W}i zvN_?4_XreY2g0wl$jQ};wXykE?A2SteDabsbzxkkZ5KhfzvGr3gjvs+!BxA4$ zz6{GIH8lBsPy}5zJd9nr)mOK;vve5}IGn1oK8m897(k>JTWEqxt&@Tyqb8f(qFxPQ zpjwUOki9_~vmrib2$w(JQ5)73ZQB$U9#y;H+S+Rfkp`APGh)u>5tet=_=$m+L2Gc! zm!Zorv-w(lPL;a_Fy`bn+sHTAwO8hpGOP~dA4)6Ex(!ywnI`sVf2R#loxl3?)V`F` zB+q|C;*{B?N;k6Vfn`xtN7s~UVi-QcVi%1YXT-+>el+>@XPUj5T<~v7*ieFfvp+Z3 zHAWpS*0Y*d;oz;!qI#3P_cq}<)zUH5#-kvuvaPiE0>ve#8EPxw~Hd>$mz>B*sPA@xOuf>ww5?-dyd zi#mT=`=Y*|g3kB1=Xe2&>8LKv)-ik58oD4{8j)NM4HoJx2@9H4K^+mHjLp8h=xoWf zQyF#3)7UVk3W3(~OIPn}xA^epnBGTFzG0RzWL<`kmgb?&YERjkq_cevQVv$sLl8hRJmEU@#h#*i6V;OaN<6L2t^E{jRZpTToS3-R)ZuOii#MY;@&~R`!v@zX$ z-agN{@`vN;tkAIPSZ=(q$#bso%kA)-E4l!8-e#Uq*xPrt`*?gbd%-?0E^^-GM1sAq zd!N@_KfW9B-DGmop58f3MxAC7jYU;xG65S33r9)V~6VmVL^?V}>&LJplb#GB4lQY1b0JCTIM4+My;6+0zl zo6|qESxYgCw5+gPJdrFT5~)`(v>H&pExANkg22Z>s%YerZ!f^L4-D%fkReZiQ~5>0IFK6 z^)*cRe6(t+ts8Biu(oMPcP-zmGu6Y3Dv>P( z+H?#dT>>&4xo&xf8GI}X7!$OGSYRGe0U8G4p?LA(Y^ zk&KQO$DKW|9yACaGN7}N0cG^8m2>EdClLa>ub=_K3K&BIys;|@k4Xuu&9O(oXIF&^ z%=9hwEWJuAN1l{}?jddz?u=tq>r8o*y_V(aF_%xAk8YnCe=>PwY{k>K;UQ0Zw>G>| zNbB{v@h(q&ynX+;m^vIB+U?1Cj^j(W-Ye!99~=_jI4aa}Yxa|Kg&f%x#(5o``j74w zbBudO2UKClap$@2e|Y4ZWxW@>lWw6K2d#6(Mv~n@0fGnjf9l>6FPR*42gAJH$F1a} zLhB(KEKk37?b?s#(tAmv^iO|!P{dI3XfP}79Sw)m-Xuvzc`b1}@vA@r42XmAVKGDX z+{1^(W*#Sb;hTH6jtXgeku=1Ke-fVXZg)PQ4PrY{eCszxpqhvZucJt)ghyBZizKe#RZ6_ty_DA z#D@tCus~e<*T==V^<;3E*E@Ld(@W;e##62T?;VYLxyzYx zUC()YCO$pbg-y@r_&Ax4hsTL!R9%2?mw4W}6Y|}milf0KxpQZIuq($nS8SfpTCpyd z27|rz@2#k*JYGj+Y~X=^;J1fDEe2o$e52%Hba^rvPu6dr+3t=;<5{$a5g5589jy@x za!w`rd;1J;f=T6*au0)>3f8WDaOsn)m+xHv;O3ooKltSOrL~Y_)}M?YMv1-Ai>$A} z@+lR5=AE0zPx*fGcuJ)wboqT!*8_$F=03Q4FX_#!oO)>}qvnNbS$q)QPZ|#jcz?^j z4j~ZcYgn$*M)&raPxdy)oK5ttHf4ILB)91iG0^k-^0V~Qm^I)0azzH-vU$TIK%cN@ z&aFQ7pPkCBiu`yAKdRS48fTWZN$_t^4*XX;=;O8}`G+hWlgUm^$Jl5$w-r-}0p-kwKYtsQ($Xm07ofX|#V)s+OwL3VrIJ`66Lv%L#7DaDO z@W3ULk{0teJs)n(W1imHEEMMzy%ZFYFu%C^RF^l8xCi@uv<6z&OvYfNq`7le_7uiH z!mYFsA=_tz-pBU#?r6#-(|eQg0gR%&xim5<5N{Gf*t}bhlil7P<8yly$jKXeP6eK! zFtk|@zW;KiB&s*RAC1tVyF*l$DB~2-_ct?mvgAox`-^CGax|I^4wB8Ry6b5R^1!L9 z68~8$!X$5FUD)>?Zs;*!*uKsq*^>9VT;^?0Bb5E+2bH@$vdhP__R8Z!DJRqNojZGj zp@iP;Ghvhj+dMVoV5YK<@%Qz54LyZ3SuDw`lsm@<7iRsz^au9RzrcI>4QwFj_VN&A zZ8YHkqD(N}#F2Y;QZIKYOVpMIvX4n2Dg+2*t@Jqsn@hkWgan@6+3aJm`3GA9DDK8^O1 z+0F6&WR%i;mbZH}>lZU-_q~V7u~zm<$&-QBojxA*a*U3WWcTCb?sz;~S8Y420c=Dw zwH9u95BTan><(tq!UXcVP2ea}d!KxK^}IdkUi++$vqmRTbTk=qhx=ytaIndKEhcPt zv%8COQ64N;aflHLITtCkpbr~>kgji?ipk!#V*DBLg&!A zun1;QUIy4V(z(#?tLPZ!FCfgoe&XPr+GEhuh=v{XsGfba-!C>e+`PVdYdJ9X>^BfgUx$UE}1pM*-x+ z;39(8z*S)NfoP^2M0U43$=;(#u8D+!4}g?`cYQ5nyFuBb>DpQP_`UC)dv1>N(QI<$ zoGRjf4+r4mXtu>XGL)Q;jFX9MAe=y7yUFpOCo!~}Oz+Rehbi5qK7$3I($B#2`RCDE zGD`F32nx-F`em*z)S*wI`~jY$ql2`L!RVN%r0M067UMxj2Cf5pa3tmoIb@i-`N4bd zVfNg(a_RELt&h(;o<$V_(*g74fJ&IM@C*Tc&qie7yCY_?%pw-WjU^D$+=IPneN}CN zdkEK2Hn5ogivzn6Rhh${?OBvia}NCr3Rd!h^Mks5^@AG)v^ablO9XLt4pk{>t%Nae zYE@qsaWbE01qK&C&4V9?_0r{ASGF&o59r+>FioU7545-BDL~;5^R?Z$eDltg>$k4l zynN%%avZLQQsrE&NWbLrTk}4JcWwZI zH?6z8+nsekT~p0LVOaZYCF~z(f@wJD8LQ0Dwz?0gPQxs6B_RdytAcEtaRIg)$?VD; zW6yxnSkBL;Is9t4*Vk4|UvRTfY@S}>U{}K_hjVSEbLfOt(usTW6rrQ4eF)!RHAb8X=HYlBDJ_d2o!ra9d+XArJC{HH_=At{T>ap^ zoL^CN6=zY6<-?3c?Xfr=25*m-k-y-)xLz>IZ!nG3r(y>NQ#1@DtRX; zk;AbT-puR>R?KT*?Cd48USBxLC%EyVjp(pD=^jk=yDw%|4J6}(ote(NA6hmt$Y+h^ zbHkQ9{HvMOQFNy~X5wCa4BpG-@?5>l_dDgm^b@RF9NfvSjpNz!YPF?mQ0K--eG{>dE@C~x1PNUdnFja3x=2>eoKbmbP@Lf(_d4kwf-`F2Ooq4*oDFL zj#-~yb4RZ^rpJ?Cb!Wqnk0-C9!{2}<`ZP*s=!QQz$%L02tqX={PT9%A&-1pU- z+S*HYDJOm%#1qrw3NFOy_82eQ`KXd=NJhVfd>ML;+2@6Ip$7AL&K@glRy3vwbrraHGSUAuDq#>-SY2l#VpW)1H0$6GhA zd~p3#0xd^8b%O9^Q0FVWv(3U@L9g#=Y)(K!K6un^8JBB!MC5YUySb`DPoXA%SgtAn z`oYIH^6GNZSXE`7O11e*s9Ha(O#9Wc(`ol2 zrQItHa;m7ji?-$m3_W5_gD>OTIG6_2CD;0w3;IYe6`ze~-QmjOg?U1$RXTV9Z(A;e zPGj8ocw<$}n>dE6P|fKL23bq_NUyFmjH%?tiz{|wnMb4(HAt8T-7Kh;sLM&0Ld)Qt zTyUO`ETY{gc(v9T8o|+i zlxr*2Eli=@w07=zmr}H6%NH*{7NiYSoV31asL-aNAz;aAWGlm_U0yL+V@R8> zQZ83`)C6I$R!|4D5?9bTR{Dw;$?FtKk5DqN@;FjxaY5O1mune<#qdwo&lZ5m9jiIK zCu@!GtxySa?UCJl?6vIm=M--fnV%F?hAsT|1(eMuk8_Wyx+C;FjZD%#W4zoiy<&<= z7n!d&Yxjk2_Ib2rlnLfCt|S2PM!}j;2Cb#@22^=b1K7eUw#>OoWa8h4=UIgJz1NS{ z@32UcIU7^ImXjfroj#-}Twhxvz05BgCbH}CPMqLjlCr7-iKew>i18JZIaQ$m)xuCX z=6(8Pl^4opwZ0JDFNuV}E7QOVAu@!IpO3^N%Pa*rSktn>bAuR{wKU2?*=LUrS!rII z9`$RZ`STWmArH4ejIPV0@fh59~6->KyT=9(m38IVxJL z%m>Tmw{eoJKHT@Krj1eFi^irPfjkW2Ya5aj#^=$c&<7zG)!uZyAdJ>)XX2Ro`e6cB z{JK4{$5k{&MB}KJY#yq?B^~N3D30HVc9i2NQ(k`Pwt%`(P*JQ~aO@Qdiq(#TrU>zK z^aty8VZH}<#sVXe*fU5onU^E}6v}}2Z(gn$zL063YVAdXWiE`*%2ST^c{wG(db)aQ z2khn%R5&$UiM@TMl<(+Y3^#t6Fkj00zqvr+mkU_-FlfrW!+&o|K3rIeYyE-j{^GGm zbS3+i#kzjWI>o@O2xGQ$5H8$4bI9VT%|Jrn8;6g6!1j_K_J|nZ)Y3D)g1oJ_Jla`1 z8%<0`(fQtx+ndPvbZsy#X#yN4Yv%{kEqi*V*jC9?XfovMcMt9!P4<&Xo|GMdbjA*7 z*BL#W?a0=xw5%PZN*l`usK&_dP1|Uh=6yKWo%PA9o!sfSelpna&*nacz->ae)008Y zT+@{*^?Karh{YaTN3{qyMwgpIRF03w)5nmQQ>6Nc9T63mD2#yZ?)^E>6rFnG;8rIul8D%T^QWv z#NX=GxWl>oT;U6D zYgC~FuXI(DQIHb3-TqAEvG@$KXymKJ<+~gUf%!Wr>AEg?I2j*eX$O5iCHd?_s(@Y` zkB3Qj6cl!pPd`qr5Y3pYn}yl7RL{F%f7^0Jib8i%cVpgobYb&=wjInK6Lju(w}Xdr zHVYkmX?DZzV>Ig#rxhoqyF<2d{y=qNEV9X>f zgLj{0*#}br^M+XF5A4C4EN2yq&bkp)|4;$bBiOQI%kR9&q+w-1JmHw~H# z72CzJsw46jUEstT+u9*5>Z|UwIF+>h)o!_f#Rn9G9dhY3IL+3JY*-~E76d-_T-ZbJ z2~#NWo7;RL<#N!wA&Srzj3AqBABKzP+h?9_j7Lf{8BL1zdK5TEx>Ey|$7T+%Z(Gur ztsL3B2WKXc&(Fzi)s!-_XB*i*kRYG~5ZWl0iRg{nXG}U<+VkWy8I56BMn7idjB||a zOA5Foa&a4q??U-bJO{nwUyOKu_U!Cu{2xK_sx}b4o@U4O?lIdtUfov7)y(;uHl|M1 ztJQ`_Y72}EF}Yolai{3K^Rv>t84?0nQS7iVf;NFxKfjxU)U^JrJ~r@ho(Y-_R!622 zYA0u!b0Pzw#5Ot3N61YBHqq{)Dsyuv6iT2eqq)W=~sDJ6S*?6CzF z0vY$Qb^tT5>#Taz(jo|<;)fIBY6WK@A2|mH`_cL7q(?oT@!Z-wY~$HaZn5Pw-mGpu z+-z4i`~1=A0BN_hY*+I9a}~Z7cBi^&M)ifB8Wy7Ia4drH(SNyM1%Lz`2Vm{hr0PFU&7l-?Szo}!+cZf6xeMyCTo71Sw8ch zEodQTR%EJ3Zf9hLq;k8PTDjPM%myhd6e-L$2Xg&W<<$Su9b~yH9E2Yvg;yt)!UvBk z2R@beO$OekukGhx`Fu?y&5J&3Hl>!|n6lkGDd!I4x$KLJ8cr2{ri9wXl3G~_@iImx zWsV~mt&_jF(JLZ`&i6d9{dmE0RU8(@CWMiMcOCEws0 zjqMBz zrp8nwwXVcf_J-q!=c7I*STe%oQtP>aRbWYh49t{EE2=kxnU))BEPVVL)d<1V++_)C znC#8Mm)_9?7vcHna6HhNLgA}fZ3At~(H7U<{e7^-!6fC{lnh?go9B%KrnIO%v1vX` zz5To0^~wejr240Gh!;?4eY(rO<=x)o=-}>hrxqbKGZQ=zd=EV==TDi>vT3_)+_K%# z`kB_5v-Y$%p><0LC`l1qz~&s{!w9Cx+2eGrX<8jSJ&$I}eV*OuBR8vU{ls&Za{yen zJoWE55l%GNHJVEfy}$rgfXdJ#8cW)eaz3iIGa8W-d8qOKFB;uO(rkv#uD}^*?3C_~ zXS4AEc~bb^EEmOK-d(C)NmqjU6ttymOZ26Wr=l@sWN7u1J%pi#fP(zZG=&`KG%1MY zJb^We?t~+3OArogi3Q{_2IFa%C$Irbx??+ZCp1oT1<_or@OcQzTrTyLDR@`%8NHNn z*SKA2!V=37%(^;XFzdYPDI-h{}SL!Y&LS#7kOjgSmD^Q`42+_MdRq>A95M6usZB1UKz1u@DMPd4e=p&ZeyyFZoxGjkJXNAINJXg5{Ox>XkJ9uLXr zcc+|<$4b6iFRXC*;W_0s&h7K;t}yAu2+y3^O~Cxd3@-?F4`EL_1;%Yj87PW=QfR8q z*b~q{+?3ltEPQa(k?9x?Le}qH12Tu@Bv8_rv>anzQk9zI4e`YWz8OAvcs9TPebT=l zZQF4}m`abMdjlObHj)>B6B(<`&1!X%JGhjML!Op#$*$08a+C9$z~cd9(tB5@H?f_` zG+rSHMaxd5ou)DG7cN|gDjC88T9wur`RWkqY&XfZm@aGLd2`+YCbafjCWtv^Maa||SC2}ojbQFzi(Ht(`t z`4jdDucy&^tO2HJ*RV$VnDXbMYFOyRt&t{Ldubt-9@FnTV~mQdwn3h7Z7^cG=Sir* zX_*@dpzh{LZ2w4;E_EMk=W#%8m`Pyo4x>hgoS^V3uw>dx);FK7KmPpS^WD$;pASBt ze%?KM?%C%4M#OQVx?5`_;`Gd-XF}9<+#Mc?V!S5M^eLG>^8sb%UmxpmAP{AM;HS`W zq*Io*nMyY>x4Vx$s|KBdPLy5IW5^qQy7uLt{I3N4to{6Fzhysv|NH*-d;0m}&;HCm z{;|FN_Fu1k_NjyPS!y4tYVSZwC))c0v3kC@up~0_$0iK@S*wV(*_%TcNG429&&Kq# za7%ZhWc#fz#+1_zxyA*_`N@PPW|xWxSoyANfp)% z5>@%PfB5B}{M{+4RK1JUu2sMI%l|Dan<8g!d@`Z3$mK&W6`DWkD1aOe5P;{1ZDg#$ z@f3lzbLr#Smw*1d&|dm#`JG$jA8k(Lua+lpj{GZ`{%*0NjEfYqF$}>gnsN$go%Qz3 z=*z$O$1ncz55M^Re@jjO{3ri$S=P~&kB*YbW9B^)e4PW~0#12?;_NRp3zKBC*+W*U z#}Dy{2VZ8NJ8w9zj7;jQld2yv?M2Jeqq{C#RB;)#pG{J`$)gYU*4N&FMZi}LU@wUz zqnPgj@h_7^CwOeGfBGBmym{fXb7wDvr|+NL+*ga?IO~-8kzK5gb0XfT@*mWZ`(V97 zd6=nj7k0bL(Rf$3)7AC$H_~&i0!ut0R~$Tqa1U~XgCTecpXtJW*7d*CraYhg6RYA-&XC07$o?(auGv@BsySMk*=KkPp^gSn~tPp;2T06&y9*(N{iI=5v5^hM>kMZ#$ zAHfgG>D1K3C>Y@{_O+*&r>)5ZQA$wYQP$l+6v;zNqmOj%T+IZo(Gn*D@67#XbJn~u|yABFJm`FlXdnlXX!Qs}cc=ri2U!M0*rmT{3?IFe4a zD%F$#6XwYHa2`r3(7hcge4(v`Lj@P+lPMao^9vHfE7G$z!p!k`akhL95C8hwn_7ig zIh2Nmn7$NPl@H@Q<2fAacqW+4r`6BYf5Vn%$%ZIEA9kH7SNQUy8y{TP*)Z%(a@?&E z;8JA7%lso$?b(HzTqR?b7rwN{+0$IElP)jKXL-|eoWWDEI>UvK0ee||Gi`?DRW}n( zLRWuwFpO{NEVl zWp=#Cn#l^N)e{C0zK5{6mJoTn&iXa1h;yjWIdp!WY3M|XS?V;JJsh(xVfm*)2aom# z$M8a1Ba=u$6HTH+PLWPniRvZ6sGB#JtP$AH3WLc3plby>5ViQ+B>>6zMgVV-cKmaB zN=P!h*n}D5PQ|$vN|xa&m$5_F6{$%aBbstH?E(QC20qM^14=$k3m6^Gb<3;HORVZ1 z2Ag$0uZFHJ4?v!r4ncHxayJ>G0X^s~OMM=8=dIGkEC z+b9rSnu@oRyPpf`c}Bbl(yfCkmTx4b!ZIh~nVDwArM25zp2uM+zmXhBSm+HK^i#{t zc@m@D&r;gAp)&R}-^DNg{I`Dbpa1CRKl`mO{^+m1T1Q{pk-!`lF_2-%JC}A<-Of6S ztth(+EmGE^45m7NT3OLo*Z-gY?0=Wh6FBtCjrFTW!NO>-Mgo>{I>BBU7JlzrhlS2p z#lr0o(rBeoVN*5lY~&nriJIh4i0UzJKi?; z&iM3|yT5o;ejZOGBmEEl=I1~A*Km<9|Ih#F7ytg>ees8X)v zK9`^W{eSz5zxhvJ{LP;h(}VrU;O9a`T5`ft1tihFTeQ9|N6^6`HO#sX&V|+ z24MO`R%@X@(j(+Ir9+~MGQp6;$LraMivTh%5=@Lh9cNRzps2F(Q|uHJsJ_{cQDdsH zWGDZx6E^U-~O%R-c!AZ;VkQHcmRym10S%YLII!xmQRo490yA{ z4OqgqQY#$#p$<`40CEZ&hF1z!=jc~u*h5YAnla?U8nM~^sS zm#g-C6>8CCAt1JuXFb>tP6vi||Ds_Gt3lzzYV*b}*%HIBBWKsw>|j_CrLSPg>pty6 zCF6(Ip4*>bEY-bSU&o@+=$eVb#a`?Uo*e1g9%Jk7K6wZCNw~crik@cy;TvE=WY&-R z5F#T+)W8w44<*w8ap}jPlVZDeuPdJI|fQe*QEM9~~Xh`R&RS<+thLjVe$l&3C9J;SO)NW+DNC<=JJFLipLg)Q8^d}$4eSK)W#taH9g zU=0~tF%o4BO7KZGvnq~TAA`=tb=i91qw86ZwUt|Z+HZ={u!}HNKC6_)CClX=y|>uY zWI<}y2)hHc_xPy_JllLbrM6Tit1g4$#L6s4U4iavmT&Ftr=dU^cAi%$-~u%{K!y<; z=)z7*#yrGkowyT)%^Pz&*uT=Yjm1h77N8jCWOAB&yF_hY!)}yCpkB|OF+_?e30FMX zSq_CuwDK*PcJo%gCG!+G%Vv2Ypzl=0M6kc~M$JX+FObBqcCV%sG2>0CMs}J#nknv1 z8B+Hxn0Qxptu6!eijSXI9Qt3u#5+aLn0SQfreU?V|K_dll}b^9Czl9xqRMp3kG5dg zjb9urO6XzOiCaQ>ES0=W_Axpx-Nix3P6{fxFW>2u1CY*UTb15Yv|D-`Usj4rUcAL8 z*8mE~-Pmnph|_GI&q?!n8I4+yS`jBmXr1m#ABk>}m@g_lHc=M$*W_JfS+^k2Okn2v ziV_Q{nam2tzoZyK7F}Ykn|hA?o7RwAxst7Jyo@z7lM?Q!WH?d53E0`gD!%AAUjj={vY6 zF^H2H4a z1JS;||NUDHr|%$*M3+Fiym6EGtlrzlvUaIQMO}~k(L$HU-Gg3#58A7|(43xjKVEX~ zm*-yVAv7I;Rc?o-yahxZ-y3wd4u%LbdVY-P% z5c+`7l{Zemq7mnpO394L(zL2(Ta5DTDP7d;~ z(-H+1rEd*>_~Sno+Dhm-pIJfLMvXj{yj)-HSk&;->w?dGN(5maeeGnmR|S1X%Alt8 zAG{!!3_<|_B6vxMgmk8YrqYArXhgQ6#swgPZAQF|bb$;B$-+A!)p*jxaup=0=qN_b z=NCGPfB>K;%*)7m0p_fnj9GyrtBsed0CTnGH>9f!BXWJb9 za)ApRN5}uiEC&NHB1uXmvGf^OdVfkE;n?$U2&_3dC>7vcwRL_$v2^AsayH00Lh5jN z@(GcW>1Q07mWq?w7^^(DvleRWDW-Ia703$$r+i*L*)xz~DmWoC_S2$;DH~s&!+=S_ z3J%l;CDTBVP8l{|@KRWjdCBXHZykhlV3@>l%HkC%K5fbZ4yC0c;7@4kW-Id|Wxd{E z+q`vhgLt@2nI}!s(i6=hgLw;hTVsuRK12W;M@LlU!dE`TuQz(%_wH?defm6n4{uPY z+UPPDYO>y{9T5~UdQEG@;&RPfxBLZYjTgs04vjn&<0d!buuCI0ibd}zn^S6(tUGnS z2m7efy0fpkxRfAVBu^Zt?tKhp35dpI1T@NSV0J+%fYS~*^Wge%+#N02YUyHxW9sna zC>hiqlcq@SECGe3`ZdKQ!VdPR9EtK?=sqyv&1s@0B^xT7v|@^bH*Aqe zfby%6RV)A{Am0|FZ}|>Px7|HF;=bPO%O0Y@!vVE@#NG8@)zBjez%wirH*-}J0PJ?= z%SZoZj<76t%%o%L+mGoid*+}N|`c>u{oxH3Ub!CxJlm`jVk+{MJQD{@% z&c?Dy;ebZ?>VyppVVJOQh_jWp6~516#9$!yK*W-7n*@R9`)LIXqKnL+M_dy;6&3Gy zwqo%UFvNekOQ>qQtt6y0x6L@=RFXbg+>numrF)0GcCCx-GTs@?mNd)Ee(!so7!1Y3 z%)xQa!72Z8w)BRWA#&*}4tijwTe2wm2EZdk33kr9w(*Tg0NAqmxIT~A{*!~#XV@1$ zoWI{0{0F_xHB8ZYdi^c5ur60#&G$y5)9wi8FWVN-FH8Zfu+rWdV8yieH2!%TORg+$?Cd~K z;JK$KpA<+)GprzAgL214yN$RwH-Q{ezKqzX*paVmW(t+Mnwg%+acY3`~dJ8%Om&6aR7v{Ve~vRZ10 zi{G3lg-C5ufD+Rf*;LJ|QWxVe_bLfW>RGxR@-&F&>OzeRO*7iimeoNa1=D`1pGop_ zlxmn$DiA6-rf?)ius5u-6}P%^O{D&?y&UaE}D%ymSLX&g*AB#(irG6JvbI$ zo7r4IZ9EASJO8(5u8wex?c`jGP zV&}6&Qns2OWG=*+fwZ^S?BV~1cTf04EB%$2V}~-$SEp!I+>qMD^lhjyw`! zm+LbnH6&cN;oIv|T)^=WY-&x@weoHc<>Kz~u;0giSd9y(#k4Uyq`l7eaj1d1H`LY6 zbt6h}+L%fV}!Io*S6Uph|LKEiU#G-=|ZiDk>wj`18J z>#XwYQ_tTLaEzw28(%o`YJ8`4-1d)bTT$ndSa`PbA&dZ??LDi`KWc^LZh|l*a2i44 z;uxl^j8Xo+QNlj?r1C-sS3qcrwbnWd`<=DLNueXth=^buBteAJ)%)4}stg_p#QR7L zFV}`$yr()$TmYcRR4xGp<0Gw{uL7nCB`X26HeUhkW1LQ+(Rr3$mFiX|%tTuOP%;Yg z$}$w=C{>dBm4&0^M-_^EluCs@`b+!7wdb;&NmOW&;6a5ZolO{6N;^@5qwJ5Wr|Gux zNho3aqQE5RmL=8?MwA=|e8Q=h9K|Nu?)L6d`z-Emi!qJBQ3B zzOHF)%!#TCIgBqPG>l&6wA*yw28XQnLa1}S+m~DKyA7e8J|Yo89a-i1>5p)3Y*9|C zQbpE^pDO8ptv4#5^QoIUAH&9{;=HB+R-J)PW+`H|p-535zl|;d(D-l2yu!g${N`(m zxdOw>WVeUga{g%+nXtK8h2bf6`P0BH=V0CKJG$28Q1REior|c3H;v)`KK2ylL!nmI z)pMFG5lUMIPu<4t=%KRi#2H=jG49pzMDKp@c*LHgc-&ED@*yNc!g1B~i=zs@-G^M# zs$}6B_6PJxtbpgZo2y?@@x8?Sz$|i0$F@a75W(7u1QzYecn)BHAU4l9Az zKjjMwEXUSMo7GfI?NX}qa zTc(H1@XkKZj^p&{m`=*~yGnq2u^O{w2vLyVqHohp;C){4LB{}@U<*Pza+K`%RpR%o zi%7OE5i|-F38w|_EBP`EtwIq)oN1qc2l;SJpTC?a45Rds?k0kcv!{|bO~j6AZY)Muf!(u3&)2@K%&CkW$37PSn2Y_qdqPxNM~y-k z%$En4QFWwj-ocV!rIU%I0NizScMvJ-pLq~qjgRZAFso} zHqdev7G2FZc8X#m%{}k-3QSzFSKeG!W8|J(EGa5BKl$#|r=rx(z1F{Ov0T?f=CgCZ zv~4Sz>X|Zc_1=Um@V}cgFPYK!q0LU{FC$*kc8&mfn{AKZhklhUYMyZMKyoM@qdL>; z$JHz`e1*XgqK-(z)bge!3Qv6*1{W8&hyn!cm52l9SOTtnQD#)W9t1$^+$%Wi;i{hQ z9tR1#1hJU5i9+eiaN)V%lZteT&*!ersK0Aw9SIi_5E}db+Clq(w|^pq|kK#!oj4U@QykJXqCP#lSqACv5#NLRTmAt*4aD~0EApA zqwW?W$#y}Q?ap)QWD5B!nw3y?xi94MAXcaM{SLmc+GP_0$*3T0T_NbkJ78@PS$Xnd!VGc{k#C;S4vgF2jS z8Nl=xKJ<5|eJ~MYR{@sngFQ0t9myh&SFihYeej>pXO6y~xy(zB@c;7gCc!%)VnUuT z`aSCbK!FJnlX8%b1;YYuTzJ~q?oI@8RL)opM7Htz#D33kMo$3ONjaMU5t@GXS@BIn zsEigOG9|W1>L@BcbiCmsU?kP5@zIe&Kc&n)M(vKa(UXdPB_*bTwbAbrP}iPnBI{!fOeV zEIUe&3g?PlKXvKp^^#P7aK(ksgS4i#W60_x$K4On5-|;?3@&atG^|<)=a)>r9gbq? zmP-m-fOhsMN71Iw5P7Q(!E3=2=%1ZjMtY_aK21HNG;)jYkS5<#3qKp~y=tJvO^QEy zxOmKGc1C19!qTN_VSEbdfKl1)lLI{N65R{JEK#czFfG{h20eO{0)5IfQ<4;Y$60XN zWjeRBH#~K~T>{P@#Uw1-GMZ%$kk_(Gi*riwNOsYzJH|+Q7-WO1ksvRXk)hCI;^Bpw znTKQvX0l{6L^tulnID_p3_TcyY{l|eh+*bh<9S349j(BK#P8 zCSg?Yh$rM?0dp@S?3pB{Uyp}dDk&erbKMoQ)L{j3e zQv9%rCbfuM)|Jp*cGX*T!2%%q%BObZ_&9Rf*B~Liv!xfs-U~^D@W(MdB6M8j{*&`e z=mMRE0Z!Ik%$Yk(%y+<}1}w?(b@YQr9m-wE2CY4}qcEkreIa)qMU9%`1`2Y77pauf zBM8VMIbI7wSQ5hqj)dwMYjH$NsOhXNUOFs@bziyw)L9)c3wYUxB`39f$jZ{Xh%0#| z;>q(6c;kInti(mkw9Hr{@`DQH0VB9G&;8^MTSmPGBm3J3pC!qYJ=j+{1B z;3|rN!Wb&r7|FaJyw>eS`YMcdGJjn@`CwNl-ZWGboU6GE+mY9J`I*?0;5Df<=89^a zov(xOCrr)?5!v&Y#!05LKU{%ODfMTNS!oYRhjvex72QW6wp9?)acbBvCyl5MThR)c zot7|<(6s_dUT5YvR*Ax-5PsrNhlN`jONN1iE>t=h-p1Y?+WkD@ha zNK8E*VKHfphP;=H+jL)wM?=gLp0Oels!bGzOGT`ABpH_}N3z)UaU&lIpfjxxaitsr zA)WGwT_=Hi1d_dAvRodfoEm0)34R9|O+UNT_8J88IgzQ4@| zaeGD#T|h?btWN+USTUFQUgy~E#&ay>)0J8m*?-xMe~8*ikFguP#O^eg*1aQgU2I%H zga?Sjmnb0El=;BguUh!@p#DnDHPWYd#O9V}Q zxL=nG3<4=@Ha!hiGX)luxzE-aD>I?8%x&OUUAv(!d>>Zg6A7U~u_RUN+1hG5kcx6f zY3QuUdZ?)k>K{wBK3iY6AdaMuBD8p`6SD^-O{9nf=H@$EeBP9m@EpRvZBetmn>9mO4TFvzG z_GP#C`~ZWvxZs#OAGF)fI?sktIDtkr{(q$aYODO=M0dJ4jU#1}sks6`%~U{)lO~_7 zA20|c0xhsvx9fxn<0hkqfAC)n&bZi`0H69i%n+(S<`b{shzh+E`6kXF5v!TNP2Q*C zmT@L=4=8rZmy?tt&i5Iad`rCE>Gz%^!FtNL6DEX2!&{YIOx;9W%kA4e9tdBrA=`hg z(H=pxKkMz*pLKue!6DmNUR;7_X+i#NFX4C72ODepac3}sOW?3R#8m152A9NaGJaMe zLqfIn+6WgvbkRtJdA_VDQlSo>43fwuE#>qC)(N8W+2XU^-Q7^TT2vZL`GbG(U*xO{ zhW*g+p)r&1w5O+Zy3O6aXDiLcX(NBCA;N{yJ39G{x2|9LZX_puEP6T#{+YV!nE0PD z^@|}up+^@D0ZN-~#?Yzrn{9q}UQ^sB=KuZVWDr?=Lm}Azcbm}s$tO!GX-rxb zLhr+_VM9NBh;$I+5;~le)pp!}sVA}3lPKHbIEMsxSvaz!0UCvHqzEd6Y2=4{QhPi( z)`NQ4p&m85C87h(@;Et4h?n8A;($jC3Vz=j+<68;;(wR#rfIk$;ogq!@w1dtl(~t{%Ytq zxpcER$52VhCcwD3U)J8(6N9u$4m|c2h9XXg1tqMieQU-!6#dG<)K2@rTphDGDLq<${F*x&WDm)g zd-=HY@~*znpcC{&Hh{P8luK$< zQg2LSrSQ*WOa-Ke*t|6jB<_a8iT}gdN+^FgZ(2Hq{Z6xBWIDx%js@K~I=X{1gSmoQ zQYU}!LP4kNRyh)M1gA2jRfyzdniyQFg%C!Mvx_E_Yyu-rY#+BA)q|0P>2HZ5uqO;R zK&Xjmw--3OKw}QO+Q<*S+dq|r61!nYcZ?~Obs!CM%435`D@8_$GO zNm1?u$!jWJ6l*9OlGRa2iQQ6^!fEyfm&Br&K#hq)GX-T58PG(hiBj3CnVm;@jC!>5 zSP*}iK1=g3ykng~BxeZTl_v?U)y>G)@agZpk_ZhCi+nQBPnt^f*LLE1aTUjS^}`91 zC+Uf62)fmUrhho51%X#>PNAyhpfaXZNRsS7hS-Qb%^{oSHKkQ33qqa|C#hY7qJ>kW z4Q?MWf|c>1jQU6JxUW0Mh*NlteFL1-KRww%@***LECe`-<%3A2&tLxNnxfkpNa;Gj zhOzr$alZ(*;VME>VX$D|$b%yE>82!pJ(eABg;|OjRr2;mcO;1`2q|6lXOE)wQrj{N zv6Mc0DN@mE){s)5hX8aATR^@{sFUII=Y8BId)C_}?xFV8+Ki=@MRsz;zY|Q{xql0C z(|Hl7oe;Sg2J09^ipyRSqWT!^gPu!7@R(hF9m0@&i8UIs$YR-5M*RX>7PI9Fi`$4> z2&_}*k3G$zb1OO8d1o?*r6rYXs<_MvtkH2k zR%3XLAd8&xcKlWaX^JVH@f=~4BN@)ca0VBEPc+)H>IFZt9{2oibd{-YEJaRzctpEobg40ayMwEyPu{h`mLYU;BQ&cX(Vph+ z*Qxqbw$ylLFPwZ6Zz(RkNDeYle+X_}F@#`IC0AML0)_R-thHxK`0LtTv3@SsxWd8=k}FB*4!B&~ww)_XHNAnQF&}mTn7+?I zJdnlm4zDf=aD`GNsl;zhljBwod!4 zDhZ}frF7|BkBw0(lgFB|Ab!KjD<0Y!b~9xKo*IT0&p|jdR{#;aoB|M$5*RWg#d_^h zgL)pni%lcJTzW6z5L{~f<7G-Fx_Dio((GOq&qEe8xQopD=lxJ2-3V~k= z@tf+nGCAR^06fckgqgMOMX2g?E{v;&5l$jt2FQ0rOo6h2c$YKXrQ9VJB z72VD;&h6Ot^cW{XjFAcPXd#*=dGi@!>8T%yFtf1_+!H~gx$d4dhz))@KWC4=7$OiR z$Uj#{vapwh5L1GUh~3@^!hRMS9#kS)n+6IP+^i9ItR$F6vuWxT&-?_25vHkGD<`zvvo)gvD zh?zS<^zG=nK|$>zK-`fg8yzDgKef^{!Sed3_nP{F9tEAjj)lT4XoTxE?VIXvcK;a; zZL4Y_5U61o6tSZe0^bJpb)7da<6wxAYZiA4Dv7*NT>FOXN?-}sSWHRX%8(*RKVvF6 z_TgTMC29=(!yAVQm&{-&hp_Vdwq%h7Iq^5p1ZT!E%+u1;N+&e6Hzk^SNu{1&WdELN zYK@MiX@*oKO+yK%DI*XsK+ogu(eU_WN^)A^NKJcDB&L`9khHWm$C2`Z_A@ekkvl^H zC!{-@#F2UdirTG*(@lE6Lov*Gdr_pQm-~A+l%$QlzPT+0o)3lCBY>aira3$7|B_@eG?4auRo6b>R%_ zBC={~iOT(W@fr_q51&uRwXq5uaL*&H<9mQAk~@CfVWkgA@x1AARKF7lQ3Lwp2_K5ncaUrm(KB3HZN2t2KO6+M>6Wb5$*M1okG(F|R*9n2 zCED{e1XUma=ZaEnV1Au%ei6Grg>K-;Ib~fnkoCJ(!wT*Wr$Vp52=M3~^}ENz!;UwZ zbgfzyky`U!%QX?Wd_vDBH+aE@a)oEAW;&-Q2X&{)1)F2tQ1wEcTU=P2x~=Z<@$mS5 z=XrOYwJz99^R1d`UZ|OhCNf5M5f)wpL$Z`r@741&tHG$J{ThjZTlKBN4EMP=DP;>Wv-`;wgX5zOK=$1Lv7cPBBX0 zo-IvnD6(RgWCEZwdNtTRZ}v+E&!fmx^Sq$;PcgYu;yRyDaG2izkhFKy_`awH81616 zkGez5Tpp{hRQZDkG!Ys|1{A`YZD$h@#Q z{gyOREvFSN#za#^AhcQ3g?a783!wCBn&y)!u}s@XWDfH8f#_!}7Wi%S*Oo zyQHV6$oPU#cWZNd=fS;)+nW!zpack9<7(vd$`azpH^xyJWZ+^Adq1^=y~O8|+R(t8 z-Oh=Qd&n22BoNGb4nD>18)gqgSEb1jv=d0`!`=ycQ)3FrWQc4QP%*+m8C<~E#o{S< z#b=%H=o*|*;t**}9UyrZ^dgYXE*+y??`iy~QydlJw49O4&T+WGM}s_vT$4EnP$L&} z5oSJ{$JH)#Tn?|ua|zdpW(2Cu&Lo2kL0v#Gu&eOtuz!ZDbREl(^@cAnUc#J(;K9hH zsd%Rfio`eO>Gq_e_BQ&%nT7OZd-wvWy*v=X%hHNS3o>WmT||S1f{l5}R4R*t;Uu&{ znyG7(w$2e;Sd2U`v> zT!}nA?sK*49QE9mn-{LYX>+vcng*6ATt0+?=&HXv=;BZTr>>x-53`DxkQyV9(z?(u zPDZu>R>!{>(cgXFu&X;w=S)s%9#|e11pYfhM)|3-n_M@c_egivg=qN52%uO^F}~wT z@a@6L$E)Sl)LH?Cjbc|eE}Jt;N~Jf;BEH8pDqqMj%{%^SMDd3$qv z^R3&eXvZ?0&Zdo%v9f0-Skw*~I{c&LEH36Myly12*w^#Rl>XQc#d@49qq^4Xs%2x0 zRf`+}xuC82a*n0`2zmpPQ>h3S93RNY%^K`Rl#c$!1#JXI?ZVbcVFR&e6n2Bc3Rw=x zs$pTQ#!(`WtcL5x8pR&G0c-O}h zLp6{$NEL@gvo^bvCU$cb)d_~Rx;H?Ak*s0w(Ckby)+M_+r_1#yPlA>QDRU9hq!VCT z>Lg<9<0FvFq>j+$qAcJF3-3fFQ!3y(zCPsHW%xy&clF;b95xw83|%Op{y=_d&5$A5FR{E@o6y~> zBE7GC`dTZ$`Haotk$?1Ihi6^v4KaE1txjR+0^_N8bxJTlS$Qsw7KGFkVQQ02=HnK zR&?!|^e-vTQd&$|McBkB1j8itS!(fC3uB6t;Yp|eKqc@so`=Jxj(xIgEbl`!AY9j8 za-vf#Fyo%R5|MI4#28FgpNH0+Tw9-=*Redc}26lhro6U$7X;6h%LNFl3Qe{Zm$;@bwA*q5VY(bkx zN&ut{@mQ!k*X}*MyB!gg!L5Q^8g&4dcjH0dxOE$@zX)3wkSgE_KLD(jGr0VtgH)~Z zUlX-JJG>>zLDYUtAH6K8H!vMs5{<6s{=H;oxoW`@L1~^!yC1+2r3u{=@=M1W`KUAw zJ4e<`rTZ`ka%+#_ls1gSN~%MTMOIkNDh`fUT2Z;S1*QZe`Vq*K*#L`<2;hYN;5zLQBq(D3~nQcu+xf_`t3~IUj4OMc9v@7T{$Dpm2Wx z7sfGR1f7uPUO^8#8-2JlW#>XVWZJ(8zM03hQN+>UO>v8%e}j&tsL?6gcVa%BpLt zsd5cBcf)>&zUrJ|@bEHV%z*6UhQ781QcDhSEKuVI3T62+E7^nVw@}7cID&F|^0!e& z0xv{q_0HgvkY#VDgC(7t9S}G0(=%)Ob`PHEAZA1|>|7@n*Kc{L}0D=IZ_;H@PV*GVSh=n#m?wQ=Jb#m zbiJ#Gz_5E6c8A{i4pWt>4pFh+dyd<(L;EFz^4;w>NmsFw$XSrzML*r>b6fD;bxo&W z=$n!ip$XAX`i{2?#}8(ylW(`DW?h)dA)xo`{r&GfXaZ&6Jv#x40>L~1PF-3!yjmwd z=e$>N35@(SQaFnb&FP@K`{I7*_@vkAKa`uW&<0M+Y(Zb&JwSd0WGbPic#NI$;b8le zVT$(b50b_6W@qHjJUpnN_8hT*NCS?l<3r@L`+)(H0goNq)b9`XIwQRbRO#y|WBIRe zTF^#3>mp?d+zLGmM`yrHHoC+s&w9*Y7W=)2^5HJeMBF7_kIXsYZVVv_jk2V=BbdC> zF$jI<7g>u0OnKk&+U?Da2Rje%U*Fiqp*eUawy^^l?EfnJxzGSI=-L!D3qdK!hcFV`Md0D&R- zG>>A@(R_`_RBeVO)@#B!aw}m0tXN#CRTjQzb59=w*Qc(_F_8;&*CKA9OQEt?C{T;u zpp9$Ww?MJ&jjtntkhG_Y{DJGx0E#G3*SQJn`sUWP2e>yBQH1B{RJWLH$m)2YzYcGM+`|Rm(L8s+<6OBgh8rHB|e()7|duEMkdh z(xq%Ad}98Oz?p81h-}(>#JgpIU@nYig|+2fqI1^76(VnWiD)X?(h9oV(VXD_tfUG# zy|z|nP68L08+!tgymn)&AdnEdgk@a>_Vg{Lf*k1b3O6z|DENH^9}#5nLEm zGb9&XX!BB~kn_>N8Ef*crcb%AXNMY_IKkc@HISYMFJ>4D!Efv+uYe5O$e@^gcP#WwJV~t)z&}dhY6t!e z?qqGb-B)t(k;Xybq%O6&}QztHA1BImafi>}9CRRX5-g zM0X(`q&8Uai3hJgJ%CQE$lD$soSJX+PQwEO`)XPiRkrYf0ZSy@d0~E6V7dGYRsmoe zcFEnMDWzQZJC{+sk`2Lw&9Cp>+b-1_bh~>y$K7Y}^9RoKniH%Wz^Uv2?vXP4Mv{?0 z%$U3~+YZFqaAPtIAxBPZfJ%v!@hOYt5S2H!PM;wRPAjhI8YV7OW$yj?v+}n>2n=q0_?=CgD7!x3B&c>9xS(_i^-x?o zfl|KSlC$%9QmvK-#s^pU5Ku+&nOM+yOS7*MY6QexDJ9-yK)e)Ev}XAOXU~r4Fla7U zqZP9EU1y+CfJ#c3*nv~R{F_9MOedjL^p-kaGRNI^b)l5cKGl7FGNh{9obRo45#RSE zE*q3hm6YcH*d#Di4q7MJt&da3SI~?T)w_ zIz1GjyF!{J3oFlPvhx0@ULOf2Kk)Vor!e;UM~FS_?UmvVXCTbnPdy>%&~y{}1Zikj z_G_v=8J$*Jf|HQwgKkBgLkmT23UY7`QEy9GRAqdAI`1RxCse<8-pQ`$l*2uyPPmM7 zNRWy52K_R#YpjpPjWg;eENSm4LfMD>>T|^n;o|n|&1Zt;&JbwgZ9sXdKy#ZA?|#cx zccX32N|fuY?Xz-eL9KGk zO2qomjOU1m;5Gc-%m;QP@7vLZafcb+0gtI6{hqgmOKYF2CtJeCzEfO&;Qnoy-wW^J z=!UJ^ujF)xk}`=Z*B4ON#8%)FLch&!kY>7jiV@zrW}dyrRgp2;JnXxQOUA}Ro7j+( zrwJ5&-5o_-L&Mk+#3``dlkT1~X%cvjkI23vx}aSJW9{gN`^PM!D;= z#<{mV&K>8wd=Qv)|HgDg%wsHHN zwI~BIvAyYn>nl1WOI=l(;@2VJjm*ZtPrt?iAw*Alw9AeokQ1$IM!970Y)Iu+5@ z_QPa@NHMQ!DVr#OsU^oj+}zsv`j0C5;*>eJ1qrkC(s?WQA8y?=#5YT*Gvi7cG(Zqt zkAvS55fmagE5C`$$Qyo|w@iv{+`cWY*v;hVhZe7D*a1bs&72JX%2GDHVkd5RMhf!=Q}2v+;2I=Dp;k z2LqbNLsz*C$Sh_s`9~Ln>Rlprm~IK@s9}dl{HhbYu!^M6E!cg%(N?wPr{SL0PLGdq zYVSVeI1VcS7uGSYbi(SFcq!CfP+E8`4ckN%rgiAkky1ieoIDFago*f|;v@IA#!EfW zgFi}CdIX$C;k>jQRDegJ1T(mS6Az9OB{?rz(d0uAj_JM;z;B0_D%xcs9X!ct_qs^# z;B^2Oz=?&!_Uw12l*GAPfrP`ZJ$qI21%50Myl{l*PSVhNiLhEn^aNS>&jG%%k9~A@ z`cBA}3Yw3MGb5=LjB7!1CWb9V$7Ha}NL2TYj$5qI#7yjpmyQcez8s)*I7L%}UA3a4 zf~YA0eQ&|=sn$Hk*2=~B*kT6UPN+1kaVMFY``6`!zm5@%4`=$|wN&r6lfQ!bf71NV zoGG!9pJ#X~P(Pj-p3gaDpc@i|Ak#D16DaXfvOB=@b73>YCjwbIZV+c%+G+wScVOw$ zl_L>w;)Oe(WnAv0E$SkS38c{TNP%)eTdni*4Q$i#EN^LU=UvL@zthJSmoY*fJFOIH zx%TJn;TT9*bBot-`W#ONr$Vm2r}4V@&`?72e~pua?!Z(4D#4LT*mc_y9?NO3i5FQl z9jwSlDbbxKCARI3)Jx?XdYSBV%j0cWw)(`Q_QM->_@U8rw~5l8ni3h6Rgi}+ZnH>t zq5^sW?wmlVxb9EEJ6J5@$-;}#FAjXd!A3IUfNHC|U^<3gQzz27#D7n*n-IIwDEc>a zpRBm2mh4Q6i7-heC?^k0g;+2Rr|N@X6DVmX9xbDs%QVh_t7XXumv&krOUuqGHP_i) z&{Pp8Ix>Q5N9!UfqdUpZsV{DcQf=QjSugL9=2-J)G~@(~<>avhj~)v3B8?qsFH%`| zLMK=+$H{|UloUu5C@BgP(U)@Ad86P$U;+k39xe6Y?+rD}@~t$}oK5rfT64u_-`xKC z!WL5hm`r|Wi9|qgOj9hP#{{w`Q%zv?I9r4tY0V3-MEAjH5xGRjntqeW)Syu%n5S*$ zE|?2l}yoO(WAGLNh&7*rB+0pq2q*q3Hks%pMNNtCuZUJjY?an0>!XRz1rexv)v z*LW)N+3x*s2d++x5v1K-btr5jYwgTIkY~>E0&1~-mp;1$HGT&qVFjmhsZR6>xd9# z-FRfm`BWTeumLk@x};aYBccWSK9~b(XEH~8nEP&JTNRmL_y_-$L%PJGkbo{-RZsl# z?#hi^+GN;FeZ+eqlik|g4g!c@JZX% z%MH$GW1ls69g`RttSwJCZ<@#algQmh2I1&*bdcz^7V+E}je5@qv)G-+=12D>LP4E> zxNO-)jnWPRPdW{GQ9~H{%wSk&Y8GsUvmpN$*Ek;oTQk}HYa7_4y-4p9^2UTtf(V-} zb(mzk6!Em1WD+j(bFwL1AxVVkT}gzqzCudWsmBlJQffTQfbjCiJrMP2ZMbjBY&IO& zjXCbY-ph{)vm2EIoR3Sz@Q#l9xSD7dO-5*;N_iBV#zf`wrALFB+xMWxL)+${%kKu1NKWvkd|`_u=rb0ArAGu?VGs9 zAsg{z*O&Z~PucQlgnnd0u6dtkWfmvX%)-#ltqlo zBK?t$VxU|$vdY>zu*xW(U!2Y308=kZvZW4rN1w|i960pSwi)K`X;_uF_K zP_7zm)FV{kz}j9q#zZ_H;4HDXd z{hrK@v_kUQCJe#5u#LZbl=E(d;dlq6bFL_A9^)x8rrTjIc`p*&Bcb0H>SH;NboH@} zn5XowL_9F-J#0K3kI1qN0(VAx2ZVP}vojc6ZzXUpFDcA~LV<{fdDfv|(rAZI&N&kBvqzhsOx+ zaOb+Qme~nMN23RJdz%Nt{FIx~&YC!jaDQUSz)`QFI+fQG=gw-{C+2FnnZx(Fe7A)M; z{bqj1F4q~B`K+`1B0?DPKq9Ilg+*tt_VO4GG-T}P_lGZQbh_XMEZ|_iBOPUMA<+#q zgK@xa8s)^VuO)1TtH8;79FBm>kRT{x;yr6pD7j)yb#m#qa*hlyc;_`@ z9l)V+!b-f36N0dqzeT3Wy>1UfKHq9A zG`<@R2R=80yxP;%gf%7D{5WVAKNo^-5mdWtBqzlGA<3>AUq zZueF)VwHJe>@~n`SnQ0Hi4R)LpOd!a7Rz}O6)im(C|__gkuBI`@sNb$Qv8w}km3vv z*L1MtDaDv`>n{3`JPJEXn2Vr0>lazFabAuopB%;TRi}4==}FSViymCVL*xUbq)i%= zn^uzz2s@b`I)Vgs$Yi?P@80isPT;UPWLc9CCVhMe((_d;QQorPX3RC5t%^<|cD>5) z$@icv|KyDk#P+>kZ6(^@^-!=1r-?~ zpmw~6%Ca69;W);HIx3kE*Kzm6R*KXUhXXX?A)^>&`r;gWMgV53;$$^e!+QbIE`>}| z&EP4 zm?#$Ha3vhK))U}w=CBWijD54+<74dVrHA~8s1KSrjyG8Z0}M1@*ACGyi4T&BaQw?- z;z(q59Uq0AHR_}&dh9d~`kO>?hyl=!OYndtT%yC|e9CDcp^wQzZIQMKT^xsW@WLEH zA01jAZ{t|t=FjfQt-%?z{?X>3^9*OUigjc+M24)Fl`~5Cd`E9xXG^AwNSL2G6VU$v zT1A#{qERqJbV#Xz29IFFM$NI!1r5 zJo#kjS-&%Q@#K@*!EtvV&wfSn-f(x+Kz?)F`Ho=p;V#tnd75k@e@nFRXH=G@F9 znkYTBWpU68$N6BrqxZO>TqR_!^Ssj=G*XuihQ_QB%joxTSNLNB5omH}) zVs<>n_7iR5r->{;lX^lh^Qr~WVeFJw$ZU1Vs*vXc8&6q=j!?_oCUITNL^+ zu3ps&FK9}|Scr)ZhbqbGJ&uiwUtdO&PMsr$FDyqPrSF}d1aXqdk+gTByXKgtpToe# z5lbwWc!N-Gr}%ppa5uVplklln;f+#-H^1=5HEj*W0Lz&d$A%*d*U$ph1 z?_`ms08S#srR0rx%Zr6WZz!BGEEw%{TvTNWt}tHW%_TJ@f~>Jox5Rk?GMtI*cjAhn zo5Yp~T}ox$9L*nfk8zdS2utdYBnRb{w!|(tVuPzDb?pX!nP_Y9u5wTnXEX9C;9=m` zE=C)@5bbXF<%at40*x-$y3C{=O_29UteJ{Sl!bBJ|MC+_BCy~ViNq=OuJ#65-lyQD zy{_}}$1txVHou#hh0WLQN%!}1aw+Q0VDD>sX)7NAtCaZT!}MPc+Ohi|J_Vyp`Z2jE zVH8a<@>7U|(7$WZK1)QXo7Nw2dBMfscBkf>`NU`}jsH6%f$jlwjH_voAn_iTkg8;Y z&H>XAhOD?y2w?w6>g17#5Y=zjUULpzqy0$n%!#u zZSp<41VA^~nW;DhIbA+-Qv76H>jKmW8p)RIE8?gT^Up*@BxHa4U^3Bye%fBU`+5-w2s|i!mQZAAm zeRd|V67?C$+T;=wmP}qJZbEvOPVto&%BI0CIGTY)hzevy%nSFsPzjMOkDr>?$X|v0 zz08|o-w2<*Ngfkq3SX?@42~@GQoB0RM33~QaRrV}zJJZPF$WL&=Ec|m+<%53x0)TK zCn<{?`&wrbV8cDYFGGL0wV8xdkUmxL_#Qy`ry9i0{Rj7M+`?symUm@2t&Q7Tu>pcf25}tvNfGNw^2R#FKT7&y#6yz0>tRH@Vv8VT(~1!gOety$ z!`Lkv4nvWK*s-ycFN&VWDX_yZF)WlJ&HqExBoIQH#AYRCQ`r9vm^E~Dh(O~$7|}qp zX$$$rc)DRR2Ipb|hPVfDg9-bH5mAq{0^T31;M+{$$&w$1l2Z{agpx{a2do6t z8>ouCOpk0;(hzsVML$|bP^Devsu+~ItoHPjteA4i(8#Rw;gOvtVHb89W^B6awAbD5 zoc49pO;V?ug0E|LJRrz62H`wEM5uKAv={dTd(G8B*f&JX#`E||7W8cQLDoIr-I528 z4@+g-&XJdKmw*E@vUkCApFGF!VJd5Jj8^8R5QRr7CU&|!n=K~4gJmX9WoL)HHl>eE ziz+HF$Ec|wcp%O=4TuM`D|8>}PGY+#q@i4| z`4tGeG0FCNttsfIS0yZYIdcv`Z*uu0`LK$YE_A<#I2?5P#rHDuh(Z>rWv%e|n{!0< z6$|dl!4ha{YSO-l+@y<$6YLFM@P*B3;c{uKT7l!DR!}Y`rNtNOnLbgtNt(Lb1+*a> zHo#IbWcV6cwtl^Ff9HJMRQW&UocML`*rgWn+X1m)97)n7f#wCVPAgx_QZIdHmxI7Wa8!{7s4~K# z0o;0jxrV#eL9R|HFGr2~-D|@`+)>}1eHK2%46>+>fkP0N-`FWMEMjpcD8Q)he<3r z3o?Ob&Wwtoe=~S2Rt0lw>(}=lT;F-H8Nzd;iSSxuA#k@AgaH@fG9AiNMb%`qDl)~n z!*SAMOHl?j1oRbYp^Tp1)x7hE4>unqw>pTwwF;R;T%&y{R)#6kUQoeE6ISLak@TQ9amh^$_}(bB;%ooj0{D#LQ+mraGnJ>8Qje zVkstkQ8^3ClU?SeXprKd3^U)(iv?MrM{*EpEciV2n_TIrB#1!kKy?*A?@K5+^#Xhx zSz-9w2Nnx)(n3-s1Eb{drQBr2-rjcSIi!R$O29R`t#rdG$n$qT+F>|#D+m^h4S0k5 zWb)Di*vQjyg1*@3)El?!!2Lsc#m{BQL7be09=W3+Wxu@d{h z@w9u>X{@;l@I9aAysjdedP}sg|7%~C&L3C02Sw6Tb8nt1igfq!UqKsaP+tef7jy-R!d0$FJ zvdm!R;NH1z#vWnQxHotnlqi?pA84U5TsU~8?dlI|O-#4csKBPVTea0bW^7NnG$rCr zS8jQG*CIMEVxUz@%Q0?MF)2r(m3J;Fom(y{zJiPTT+#Kh>e}M0t-bjjDcc%%^kB@{ zmydShT$fV?Dygf^Ive7d3L*0(sNV&h&iCRXi&xrMgi-c%R8AzNtfDAQzyHaj@<1C_ zkM6C#Tp%Rh=(9^6Qx~+!mE7P|M_uM~Rv8y8mrc%s~C)q)dE|^UdH=lECxXpNhNi3BwF(I z7u{DQJ9}^6=G=X)&m27)5!Lq}>-(p3jqirNLG%Y{1CZ)t!W)t}^K)jqI(vc-Ks`{A zsNcl&1JQEeCX7x29dU)h6cmb28Vr$J2mn{!PE3p%Lzdd9t7@f{5z8o3P`sh*(K8!V z0QLIQFKQ|K-rp#D%E8TSxnQI{kb}04fb5Tk4vpoTG2oGk$@bx3*fX?@TXJKJEp7MX z^G}FWpl`xin=gPSdE0+p!hRNt%zbcsAZ$#hZt0KLb>aHtKRWFl7mf>DNSXAxkS`k? z4Ih;$m%s8>eoDx5L`@JfQ`*^Yr#&Xlj4%&N-jW~`)D9L;xShaBPporSR=$njh)sn? z!Eq!tL#I=ROI(J;ab!!3_qUt`B5h>Ml9R8#V=(a+d>iLIu29~DuL(g~>#p5H@Lu_R z$2klX)~eW#i!4RK^Y3d?t}$Q>D>&P2BcL(TeF0C$$JO1kaIDuDvC}x2o#8YZVQcyj zhrV%d%#0_6W8uA1O`@`1TdMt{)?8RvaMay^c3gC-Zx5e8@9W9^8=?V>XJK-#jbDPe zD~l45q#!uyL&xk+$YL}}t>mtBJTWm-K|K8`Aqn`Zu?WN@{aUAevqK?~0j+SoQY0&pHSa7i~4Ft%#y&jP#rAoiUK@RH$1~ z&_7B^5^M~(A2cp~uX~0YZz{{^CxMgZT`rZSTEZm4*-c4OElJfqzE)C5Dw&E_=o*Jr zqavh`rpYM*l~VdmiZMG+bs^bdiYn}@^idXSFF{2JeR z9~rs?HMPm}BKj^C8NM7)YTZDJFR7zBW%zhwOJ4Mmj+ge;7&RKh*GKy@xkVud)rKuiSX~c*ES=0{*W-hDBH?d=G`6b@J4$`}xhG71D#Y`i!gd85|joQUP-c&sQHcJDG&Dx9H66cP3o zS6xBM)i80`X{;*$TtdH zxVBbv@)4rakgSeFd2zOmUJZ6@8@Vh@)M3|1pa#Dd{=F+>%vRtaK0u%;QxuDi+~p{e z2tf^orcQ4aqV~N@1#ho@1nn)Pt$+rH@tpR8i8&z_f@DGeL4F+hsm<=B*KT@npCcF| zuFN*6v`LV<-^~(VdEAEC$9TSasNUb1xi_^>UwbF`yHpFuxhdjr4`1TI3b+GRJRJgY zwtV(xAEm=Q+2rxwxZXO3kwszWs4@3_N^0AdEFhneAvnM7pQY88SnamSn|`mP(|^w4C|FBNN(1luHU4urT3KYmq-q+4=df-2wX zh$J1XBzLN`SCHFTWCA^@U7SKA21Q#7`5_W*(HvSB;ba8d;rV4Pc&sS)ukv!3(pq7w zfUGduQ73W&@y)kB*aQ^aXJMTh3}3?R;ZzxI4;2izoMNp>pk@q-M23R1!m5NQcV< zD!Kieu$BxJoyux+ig}z#r?~4~Y0Uz`w5Il}z}Q{rlQ`WVn%R9$^rZc;Bxj8>f}^zI z8ypv<=@o>q6SH6!1IdalT-6#up$B5_PezaCM#0Q2FPfDoD|GF*3+~`W3e!$!R-uVx zZlpac*yre7j#(u+tdbbt)$|CIaK}d&Ch~_b@!2><<|yM7Dpc`=PQ$m+)uDBDUv5Q1 z4^KB>{81Hy)yD*DnMAy($yab|RcrI-VGtyCl&1MWhY|YO2*fd9_g^tseRB)Uscww7 zG6I#cMBZ@9J?iu`F2)53dC;YDaM>P(Ckcp1apPb9fs$9XZ9;*p+a{{G(Xo`dDdX$! z8Y|iL9Hrv+J{COc z!cSf*CU4V1p7Xk*q<@OVp*eM4m4WK(v=}cRt12h&V?oy~OO5-7q^PRN>QauhSM?(n z^BtrTME?+ra#x{Lj4$&d7WP(I(nI2c*PGSL{g$^8s;{Kp7kiEcu*#WBzSL^`gj?iL z-oQ8X}%zu(I;q*lY|WOytWP~lo|erjy-g*v5-aic5m=*YA}XHt92c+lP%quG=2 zQ~2#1V=t61!h;OHJ^29pql~US_)ys+sh9jTnkR2`e*|0PfoviHq=eBH(m-fa*x?Z( zrTaT$#KG3t^IIURjmB5=SmP1chZG^B`IswY-b&5DeLFgP{=`C9gxCrAmD9J*l{?d(zHLsDq=bl zaJ-J8Kmxka3j~zZULL%v-Qwn?Y(xw|{B1=3qt;37yHn<=!!1F(FB)V!RNaGXw%3=d zfc!cis5_^JjkDA4cO%@@`h5Om-s2$Zy+IxC>xyVy5Is;t>jxcN)-ycp*3may+H^SI zYA<<&3OnbB%&H@tgn?L+`WH1d`^d&H8KEA<#~of z<_|RlO$1>+6UxkoUya?-h!Z@mfDOA>ee9wId?0kTB|%|Kij!P|$@W4CnIF5u;fo#s zJQ)Nmjd4#YvSl)C9rXqSrv0;%3v+-HO4l%j!R8jsWHKl2;e$!{5G3tf|7765z_z3N z;o6H?jU}kXiVrZ3u7!!s&u0Xf?{&Yww@<#}4M}sgFD3hlrCgD7WI#?nCa~bg9F35| zWe);r_kQZc6JXWPy!7h zYb7K!H~C=?eV<$a7)GxFB?f6%=ExZGGvh9&le5h19E6mK84lf`Tf@-sF0w9%GtKic z|BLwM7xOy*IE*L522w>IsN6I%B-SF)1lO?$cGTx%fO9Q!Tw@RGpP~$i7VCv7U^83_ zw$~XQJR5e7an*DWYY(nULk_^+^XE9#e$v^;I!FTHF0mnG=!mz84NfI3f(kx}RmHU! zXi3~vw%M|-N9f%bTF$~#6olWzJLYEMMRM6bIc1a%r7)bVnsFg|kMarda-VR(d|@ia-SrK8-2(c~8_QflWh2`pUfQn)M2X<1l?w1G-5AV2LP z_6+yiosO{WIqKfrzH@sEOv1B_L^D~66pp#U*9(i5ezfgQSv}LuPW>9UJev!JFi$Oz z5`k|f%m98)i^tzZZdLJ?OW1t)gaLSxKyF`DX6Ecx?q^GeN-|>QR!ZnDE;J#-vO&MB z>35*d({>^_u;K4Lv*PuM`M-+9*U8%xU4!L}%9<6!!7%`cy81*2A2y9vv`;qMGB z*VH`|nrFd{=R;}STJ?4H03^`+2TX=(*KI>|Y zFKX@OWM9p&JqrE&lRpVX=WELgb6EXrSXB}9s0XTyJ9Ch$%ZpRPl;#N)iR_Lum^RTT zqohr-{$A&mRX6HkF8=1f{@;K6tN*6XPl3wkOZO*ggQ5b1F-ha z;+Y37p7%~%w^JIAdengNx|?NA;^up6q=-|NL_8kXq7V{4{&@%IwukPo6xRLudA0 zx8KZt{^=YG&Rm{hCO=>l%{v&YW_H2U6@g>6(lxPs+$Q^O1T&bXP+DYWK*ps=qU|-G zJ&EnMQ4=>6l0CAM1LQ@(g}o4m*S5B>2tsng;Tw#zO-=1;*hJ?IS~Qeq;>-Dd@7X+* zGg#oe2c7&7~F!RNGLKy+Oggbk}@K8v@uVIlj6!>=@-$Y;Fgw-$OA9p zO-n@MOD*VNMpAt~fohX<`WJAd_+glUB_aWVT}CQ<#hUbQ(5-0$hOGup1wDmeTthV& zjx%rurVW^Q<`DMT=^=CWd0pg)pJ8UW#8tj}FPzyB~0x7I>`^hKuOO3{S_>Y&<@7SKhJeZ_che)i$$#9H- z1o&7^p`FtodIFW7_orfKV|;y9)nX=YzZ+eJk+5H{H=Fh5_+Ls#h+uY2FkS#R&k{_0X|cX7Y<*=To& zOy^hV1Jk+4N%>Jv#h*v3G+J>gZ5eyyza+kCE^KPK)_x$HSM{ z=B}I3_sK7VrahASX-$3O3rPurly5vc?e+J-HBSa-ontfKp`}q@Ofgc$@yRDWlwHRG zBbotNnRmPWC!dI#_~a8P;l*!t7?ntg?j_D}V)yIe_gZS9woq%fR{8&-0Dzugvs?>& zp?$1}v=)HRa${*_`E0e(UR^wBuQpa%XG@Lt%JM;7AMj>j%m>t~uJINhnyo5O z&1R$7UcL#Moz>SCf!j^R`iDCpW^=L8US7Su(rOr8A1&O*>vm(g-8w_cg2qaF`3IrY zeBSfcYGZk&RaG_`RN3&rfmmKFo@IV#&9Ub7CplrHR!954CD5aCo(w z{q{2WVUe?}xmsIZYpk_f_2ng$SgJ2KG3QurX>G9v9$9QJ)tcau_R=m`s=3x!Y%SGV zjrQ6~z0q93uNC}4o#pmf9sId;yV+W4tgWp!78X}(c;9N(0C{y~aTleUWL_3uYOdkq z+R_?+1Ce&4xx}(~-^6?ZKCBDQZZsEGemGoQ#MD@>Ev+vL^gEJRa zSHX*|HL}vm3jSRMw?n2av{Amb)Ng~mz>pBA%e%`c4IXV#WG-Rx19vYGY!mzpLETzh zx!qi7Hx`y^D{El%C35ZxW&wn89W1(tdC_PuweY*y26s1Bmsk2&ot9cPaPabCljtnA z@uA&bspCT%s{$rktKNk4UtxRAwSFDEy3hvyW7;jObyfhYCjW5JT&OQM)|#~iFI8iy z<}QFi#G{{UsMq9V0A{O8iwbxJq8xw)le%Ei+C{A;;*5VWt%(f?C5SJh2_SwOL|b00 zEkPixtX|`nMNBky71L`KRB2l_2C zwYt|`*@uC3p4%fez&>ib>t}~o;_!N(Jn(z1biV9j?+Uh8r8%b`r&_U_3jxM^u;&0B zi*shr8RDfidlhB|RLC}je0vcq&qb^!t1G)=Xf>fwE@J^hai{^ySbYfx zD9{MP!i$Bfg%wEFa4xJ^m}wU+?m}IFdLc_S7pT?()myCpQfP_mt~@{kmL9COu<|Xe zh=S3gHoS`G)z#%XR1oU5?X^{`u}f|H2`w9I<3b&MSX~56tnjP#_6ih|8f;ps-tzFn zVZ8;^u%=TDUfzZ62Rs(2%PfoHjSlJWC9KSg_|m4SjFr0u6!DIWJo_O(L3PlQ>ck3` zWa)tY=4X6BWhfeKq>Xw6s72-X4|m$2YZC~fW~;r6((SdjfLm=+jQ~BUM&LKWL1BsT zT3p=~o_z;wLx&wm`m#h^$96@&Mx8!&7Ko_M}r}wY-LA7mBo~>EQc94XrJ~a;BXEGSW~d zLHZcD#pWWFx#bnmV{rjv3B3sPLj~wy_^=Aw3yeq24diYDfIh)=T3l&@1(p_2L8-bc zLyLhXH27Oerg(rV3VgBQ-^pXbiq<$uH4YJ(Qbk1EW%BM_ z6Fcgzo9Pc32%Bzp>b5Ah1HT?3M!7Se#lih4voxEI(=4g2nlJY;mwB}B%>Zp{jGNgkC)Un(68-9qC|2WwTg?(?2lk-N-2lA%B} z6t)!s?1Xq6*7!dJ3JmsUEtG*^>}Nx;mRLOfg&RHn6FMy)*!jlp0bIeyU2K;}pmIAX zz{)oQl^;9-B=u6v(`t$|w-SM|<9^kDHRJ=6u%&f4dpq6n?O2Vw@(-e*| z62Qf`%q_)W3GW!&LLbW@b!)-`gaBz1)o z_T*Pcd{3gWb?v6sunNz48#X>mBPA#{O2pM+WfA!d&AF693OxvYNWZdp5LCsE#CZb* zAwe876_+xF3wipy#$%fsq0j6ucm=Up&OJ7Ge3^IPs>x?$kL)JxYNL;vPaXDCNwI$t z7&0)JLC$NZoz{vR2CFPp@elsdNF@QhuFjKb)F#t+$qlJR*uj(s{O!^4>xq=Xdn z9)4MlYt~93y+7&MG3hZt=7bh%%f2(3n;qC!4n$$HyJ^PjMafky+MnS0JNlGfY#TMU|(OA4?gI^6T2n$tjNV z%;1d1%;xu7pbs;ks_R@2|284x?V|N#w||>Rg@d6<)SAD zB-{%L*tiu^YRPYK8s@bNl_^(oi2=Vm9Bh*UOuVTaqqu}sDeubL4K4{V+{YTEV?2EJ z9nN_P!*%-&8Gv{-NrCQu^|SJjkvoh&@74ta;kc!+c2D3d2V58>ureSFs2}n zQB8U#@(00`4>oTgr_8+vVN*_V(DMa>v1E*qunc?~Wsrf>Z>fI7Aao{5jYW$?!{bsr z{T@vK9#f1E}HahQW!a~ zVk;;teXy|xm*F%p*(E8n07SS@uOD{cL_A6OO0?K2w3FIsAyb4ENJ<{|!sy9cMny`z zu07U*ks3VZgU{LPCf24N^1y$)|LN;l9C^5dmA-L|(D30Q0{)QtzPmb?#DF)KkxmlV zV;O5h)<7OPA(I7R64kNPIN>XaBw8!Nf3e;tR0uS*nE46cF)Jx?6Ln$?ZzSN0L>45b zps|$8Nh~vDUF{Y7@}8)i;2+4ddyJrp&a)|IMpFACy-yaRwDZlUSd-Ehz{n(@a7oa| z6D~9bP((b_y0zijQ09>UVJ5ADMG=YY>ozEHMSwI$yu&n8{ub47Y4jl<+STdlG z_49j~F-b##78-_sJ{6L>7)dURtXbXLjAAIIc^#O1sZc(Ml-Cs8>z0byn49n|b?{q= z51;;Ej38FW2$H00fhd11D+)Tr*qGYhL(j;WnsANMjB|%kIM|!;HmYAVkRUpi{_0bTS%$6dLsYd?zGESL} zc=ZjU_Sy9Wc-C_y6%hb-*gmPHt9in9X~=Pc)`ajlbGt>So!x4H$A_BW-TjN^?xx=l9$Nb0{3q-v_m7rb?UB!o z^0IW}ln))Vm|#%;hfD}^Ux1otkMPCWrFCT23$9pE<-Ad8AGH;m5p=6FoX~^kMU)MF zOWNr#&c?Zh`eqg`(-ZTQlNwi8;h3!%@sGH{;bd@r-25JgeMUICCl1ZDqvHNlM!l+5 zOu=DVuH@ch#R)yYs^|DqMGEF!3EOxP7`hBQ3I*KX5-@%Pj^cVmRk6Cjm<|^Py4ZCi zkMqGyX^hzkxPm9s;#?>{fjICsNyq?upVBAwHI^9~#z2{3=T=d+p;Q%iw0U@l$atB6 zHk=TCVTWR7oy?wC*kkz3=TJ_Fk%0ogvU|*%E#}TSrS%}V%&*GktmovGs_)uZ;mgBZ zAb?NKL85?ix-gzo)6TIw01Rv9Z(yDW-+@%BBoY`LfE5)^fNmdiWXuLmK2COSo;4B^ z(KUdSx6UESc(N9V$DW}u|CnG;#h`ngs_TE51v`3kU_#wq8py;VN#O zLh96X<(Msy!d8#M+fplKA)YoDu)vyPkhW}p%hxhp6ND5hoVkQ?hFRB58U_AvKdH{t zpS&?;_(K5mKA4}jNtNw~`SMl?*{uY2=A+!XB4WTi-;GLidd^Z~bPos6i5q5&@2dC? z)%m+$!UO4^7Gz_-Z&fN`yIzob$-bS;M8(EX%%M!b`(@`q5*EGL8Eprzvka}^6vbCk z_Lh2t@9kp`L}ev6L2_%*YL~ah7O3CL*9JAASEfvuMhwk@J5V#G(92qFeFaj!h#?sy zeV8h6;(J}bDn5kGmx^!97m5_xdpj_8kWmEgao7vU04HA5Vhf@0zGQwuQC_&jgbR+1 z^+P)7GnpBoI3Ylcq9 zj*ag&DBMKG8Zpv6WUG0(7Rl=I2kEfPg+;z#OlyC~ZO5lqz)Wg9*`*)XP}2Q`FtV;E zpMo`yjTjC`@=0)ork;*LZ%PHfoWa12w14%4`3Hy}aMAW3Yh?FK0tHGcR}t-__PCa;2N$p-RHl8Y))^}bA+Nw!;>5l9rJFvyjxmkW^G z->XEITs?w%!~9@y>xwG{I*52taLwrew_09CbhvNtCv=-UD*$~8yo$RBh8cr$zyyjM zBMfg z`Prm`A(! zdv-DmS4|=Vu}&*(QBQG){=e1~kc^d+NMUaS?Z$U_z)~EFnCc^ce#LTvq&(hc0?KuT zNkluxyU0qM_R@?UY8Bq3hrA|>fa2<$x4R36TB67ISQe>I@hY`M6bN8nEJokE)ni%IJ zPO0-l?KHR^;a*PDr-Eg{wFVhI9xhvWOF2OUN366P7q*hp%|UN>XxR z?ItoOEG!}C2ijc2(J&nHMDl>}Bw;eBYK6`sul?n_KDvV@ay`Wr{|T4$?k=pzm? zD(g4a7Lk+zDH~8^sma57ti<1y9bnUF)|-5ULwk$urW}%NEhD!IG8-(dNJf$sWM;rg z*GHIu?Ug<{f*a{$pnkOdsM)Lz4P zO&oN^;a?m)ZUS-i6D={P z2e6P?fh-vSN`ArVPWg#*y7=y@tcTU^L9T z<>iAl3@FDNXLAogc0Nd*C7b}|BhT|LuZCi)Ng)}1mO$c;W(sM|3Ozz2&+I=wYdbi^i?K+GmGA+pAvx6|@m@qCk0lU%0fW0nM%PgU4`3iTYAawO{EIWP z;3AAZGPNMr3V$QZ5IDRA{s$XK(y7*R8wYohmPE#JajgY}Fuph>y8@Ex?9u{ z+FV#!)1UHHU}2ar83~KT#=&n)3}zu>Ru^P0QanJaMdWTFeu5>B$u?Jc#(Q~r4IlN_ z>H#3&+$#p6*~Xya{n7!mqnzPfFL?I=U1+U5LQbQlpBK$E&k(|!$1Ixo@^LPjM7e6w z1XpuSxw*&#+syv6isR}$+umHGgjz!S9sP~N)tIvoVarYC9*}a750DvnkAGQSeji{q zt}^|BK+-RO3rO}`N$>dPRkds1s%n=*R5$L`A(!uR(tpK# z5ILnfBZ;KdteW`QPS{eG;D12!{!W(8A7yQ7JkL%q!Q-LMp~hvT(=92 z+I)dv42^0%H81L7n3trx2+(??e#icPad*`J29;>%^x1+XxXdpnSMZ2$U<{(Ex*|8^ zS<8juBx|oo+%PoVLbZzEDPe=TKd6DIJcI{9oluaFMxoq9H7Y48hx^BZe4+6a2p579 zUTN$z9hbNyESPG&p~X&gM#XKAHpjn~4i^faQgW3i`56JCK_y?tC0i~a{4X?48lw^# zV-*cW%9QF=O?j6xpcr596+(6qLLw*SnP8S(MF1g2n*J#jn?R{5o|*f{^#b%wrK77Z z#FsEb@lu>W#X+-t+EWY`ByO#MLQo*4nEM7)1KFJ~uwZ~LH@XTDZHyQ_*FYm)cv!$5hsrb9Ecio2+fcVJSro$tf)5Ibt_;?*gQ4g@4QI;`D~Clucs=ZzM&)2b(JWn5 zOhVYmh#*f^ql!73OW}0{1`Z-PfL5uz7M8vdb*1ACHYKs9yXU0Twe?zWXCooKrV7{p245o&q;o3tKW5a@q5P^#jy~svG0}W5y z_Pj703}%7YMyLi2K4}z~94d+!T)>3G%xr*D1Iu2jT1_FZ6e+4?u93V@g+k2fLogl& zL4%@UBF5zk%&=0D@mVWYnUx|Ix@HC6M3|MD)`ZOp=(xoKTV^=iV&U7c-ndv8cfVMy zj4c*G7)2@Etk#DXfiHfyEVT4P}FKO7y)L)-jB#Nd6DV`}N34<6z)-Aq3^iT)@?2pxq z#2%3XqRq21VGxQzWy1+u|3~NmUd4sXzj~hC5LHvq9T*n#jvT4#VP8$aG zO9r_sf-5JGxhMhNNn2$L=^DeIM<17;Nxh~8M}&}pXb+}QD>cA?V6OJZO+mcE>-Clf z%~+ya^c7;r1@2Hx6D#~nYZ<6w8-}1!wC1})I5$GJF_v14;3s-jNM(I%l;EB6;g{-- z`LbHW$>d_3`E}^xpHUu4^s7*7PxPgKH8+)&BHzV|Th-|`Scia&GcqLB{6Qkpwy((#KcB`tu`nZr1- z@>nZ*99f9^TBVC9K^;&~yHahX1`}dMLfQmqgQ9VW;ti9?f^D+!PykFuHDGGU4xAq_ zJ!!;LL+-FHj1>8C&^6SeViEUiUZw?ZK^O}@Pgjs-qFM@J?BWqNTr0Q$tN4tqMOF_j zV#A}B?8AZ*Gp-SIk%+`BGPpwM&Y1O3 zwFbAvxGPCNv@!}Z+E~%nSgCT5e~P90ioD6?`n>FA_&Wa-N~L*ioz}|7QLFORlJd%h z<8W^l;=GJ{ei=Y>vKP_u35s7Y*1BX>*a(5Qqj}i|Z$oJ%?Yb!K%wfo%C5V<-FDj>i zw#YyEV&ga~mJN!@Q~~yXc~qi8Fl{Qs2ad}}SWq=Zb+lRz8K3_J()oXPlx=v-wjbpB zVqO&c9N!_b<9K%nl8rB=R-c`1-F<~f&(~!huDkQ=Z(p*x`kOw7Gs{g8qKWe4^A7Uvp?;=R3@YoN(kvR5xkDQ>W zXVuDNfP&7#)`UXbYCE$!DW!$oQ7l{j(+^(lanKdMniqj4u?^WE))P(hf?VTlfF7+7 zSa#n5kGomntoeE7ut8wo7{NhpEPMycsu-TN<6v1A(7IW+4MZVk2T%+HLz7pCgowa! zxQapVnJnVD-Deax zISf`71#0R6d7s&DW$?@G?zhNH9uW3Z#gXL@Z)AZ$4ZL5bdw_Ntyv<9%{#ZDNecK*Q ze?eI(Zp_16=@_MZ1N{sqk&}v{3mYniNl7ZU2kDA!-@OeL!_X%c`>k}v&~?ktT=)_- z(mnq?ut?Rt^yVK%c7&yBB=|=|37puA{v|py&mYF-U!uNUC~-yai_*{V?iA?_8A7{I z742jq4fhQ6C=9cjNxpTCJ`N)oUS$@#c5rm;%`Y2Vd&fBLwjydz_nS+^vfH^oe7okk zb)bi*{Y%N@bGIV?8H!{qV8KWm_Mwoyctz%S^k7#=Odh-@=SckAb)3z3B&jMwLX@P0 zax;b*SC?-E=w9?6t|8 zQuG&nhs@?mlNX{MCZJ_g6S&8IM(%egGqcoRJVVz6+kb|v!E&edIM)MqPT5CDZuNOa z@mQbqeeNsC@Pl-?bE;$A)W0EDH*JsgkM$R+xHo)A zYz!zIxnJr0|IzGCH`VNZ<-1=YpGP^C+}znmNag^yQTINjQuBZK-;pJRQUs@IhZ2)~ zXLA=ir$Q$E&gQjGHMu#gu|43v0!S_q6S;uf zm6TBz$4fwiH z?WJC`3qN?=T5>;`kly2=3`ftGG#3x+-;l`FXNF42N8MM*@OMmnQEFy(g8gHi3GSagKG0e{pr6Dw($7Sv>DlXDv4HRP=N=l0^#Lg2D>Qjq z!9Ukoo*#3C}T`<^b|6dx`jHKrOrs}Y#`n0bPE1rtWn0~x5OJUT7Catf4CIck1$RH zdfA#k>hq`USGL4*XHiuT^$7Gw%-0qJG$8V(=%LqNjt0XHvI4`CF=cY2m5HQ%u2~LS z^HFmUOgTv-rpxP65p2BOov`W?t$ug7&@-~IkVDiu-D}M+^?Uu{fLm_dDpo`h(VWNO zW|wr&e4tn%*O|?whRUnwVG5FGXXx-T z%3D5s2K}4v(mk9p5t7gi1ySmug6QOYABzVjNyBP{I7|vyZ{_sc0@Or$ojVsX0fzB3 z5vONCF4!3ipGqQ6huk5Jh<=}fl#9f@g~2p~Z_6)C-}G>Kxi9uHHQzrOIV&S!i1A1> zfuWCSD}{QSS}j3wKIW!=Z@bmh)Gjc{!-1m245E1^b+FjhI>k6_&v5hHRy4^X1e11A zXF(!c3E%7VIzz~TUi458n{;9}YSKwovV!a_bCviIZ^!g$hVU}Y#lcWfX+&q5%hSl% z*<5tUs7~>7q5(#Gm!MLo{eTWobu?r%M9JxNp|Ke%_o8p_PR3xjH^1c+3HCrP45Tv% ze1}iYW5L=4_?gFn*zdwY)D<@|ZODq)m@Ga-7o3N1G!USJ;`pOh#9|CTHWAc>6qWDZ zsSO+5*$$0{W{As34`pBo56lgwL(?BM7ZG<5BW(6zzbiNbbA^BA&3*=!qhO`^5k?6oqfLe$+4W!7eGmP93* za?}egk%dKqi-y?~btSW7Oo7-xaGsC~2k}}-Hx>g%T~3qo^ETB14e013R4787bDTlQ z;92{2AyN=Z=F8D)!ox%(=pf=^#`G76X!_V7YA)MoEWq}9AbTi6S?Sn}P}R|-hva%l zkj!YVuV%Fb=u(GTu9a!j9_GZS_h)B2wsJf^X_jQ%Fj=nNvhYOnK<5;LIM4cNFKIO` zNgA_2TnhY@^f1@KD50um`ayX0>=xD05}~PVZJ8^+)nm4ZA-_ zWGjQ8Mki=M$D|1b9G&M)!~=vw3$f~}s4#-bKcVPSTTTWNkJ?8_b|<1qp0W%5A(;o@ zN!v3M>)%dyChfo}DXF0xv0gfDRtp*7Gi2$JgPn)=ho3XBBNF!WPe>xX>%6%&_Si>A z#tNFD`x2T*{b$Hhe7m7C6gy=YE6#*ffGU-~$9;wJvYkkk(G-#vhtotL!e6-ai2Di| z4EwAK<06=iOV6;X9NzX3$|5wKsk6^M;^cl0VI?zfpZiLQ%EWMrRa(;vjyRRck&sr} z^bkcBl`L?hAq--3Zj_2eK$8!`UQ{2!4cFC@i+I_G_+*jR6_T%me;bjhGKk=Xz@G+- zOemSVGOB1o32)EE_oyAC?j9sEnD1=55){0U~T zAfXlw7HAe3H`ndV2^I*RCNM1`%nJiB#pmWK&XA6l{CG|}{_?N~wSY37W3jvySSMTs z_CzoG=mBV62-4mRw*MU1w%YdO9jzjOfEc)=6@fv@?nO6XFwMM5)riH+R$3&Jk@8?B z8iE?dd!#UgPAZX4@WONXg)A5pMzk;{x#AR@xawc7LjF06>6o;*xHa#M#UZchUc zuEenv!(jrVUcM(qZ)OhP9FV4BRZD0*2ibhGJ%~sF&0J{*(iSD z1m7Xki;zvTV9&alMZDTzgXKbdV$ry}(+!-BEM0Q>WIsx(3?A?FdcuC84O5dk*G8Lm z;xH+Nut!vwxgHH#?Ot=K(;wt8LufcGhYY%=1UsEXb2M?bRp4no{+0wqogZ5gCE zm4XghoD#}~;n~x&{R9fyz%xpbPuikn&;T@-p=iuklaWo}CX*eC2gn;r3--q1DdT;+!v2K!;W<9?fABmAMy3^fLb*y;YMjSYayEOwpDrNKmcN&81%P&NC@?Wy5( z{2Z+Ykq2Q^$5$24G;PC}E?O!zkhW-gQbqy_TLJ|8!|2r=jM=SW4;)9o1Moe))7wN9 z!-g)5;Wk!%n}}sWEw#TlL>D^Zy^Tj@CDW~=E*TZcc_C3?WIm%K_GAs3yDebjlnvv% z)O0F_XSxVr382&Xc}!oH#98oz=ZXX%3(kw&78s!T73$Q&&B}=lJ=V& z+8A%T!~ocE1mGUw8WJ^kE1F`_RKkOer5u$l?KN(bt*Y$xzXARrQv^?nanWI`5j|nn z{aI(^+qz;xadl}M5tC2^Irvu6ws_0;m`Y=;ty0+*~oY*-SA1IlTwg-d0E*F;r z6q}5FIaMBdycx49dBa4m(kAzX@4!p8@*J2S!Bz2}p@w*oSAIpu`V3jtZ(2DpA)G>L zkP>7BK@zeY6Bb^!)f|!s!)bP{STGB=r%OJT6MR#SgHDeaoShjLpfq-oGOr6cZEfKO zkXuaF(gGe_(%Ir*ud34L4(aqk?4Jy2qjPX=u% zW@Np7sHEwAu+?&s4NY0CO9v!?abQ#oic2b9aYYJ0|}PeeL1pZR{nS` z{8MHyj#qK#1Hs1~2@L)4#Yy+@;tctdITq?1%dL`{;h({qcKVn8lmiqF?#ZDO12n`+zNxUAs8o#+?pt+eV;gkAK{3_8#18w^yWWno0 zAH$j%vY6($DiOc!jb=zeRiKgzlM$=9iH;FXnfP~VCwz`Fnr`Hdy z3ekQ{KUycEod8Hv=DWFZ&H~R!Pnvhb@aD>J2^aa4Kfe=CTjW$FS~d0=+KFOLPfl3T zN#;gyn0l^-uwfrlK?2J8OuyS)lBZIes2&@9>axQEGjiLpZqHhhS=6R+&<1U1u7`cZ zkwmYu_D)A^UC3!lNjB2tZlFB7YNiXs3cwaf6hR{1$+dRWf~gs{lW6=Z;AQ)_ryX|S z(i}WaJDMN3nCk(DRX1sI(%y1p1FvKIWQUuN(-GN)on_Pau)(FsEJsh^RC9&Tro=KF zC8f#eY%?kgVljxjL#D!L0NZKtmJ|%rM_-e&p;O76hLne0Pkt8lJFuOx~D+*bn4DT9_HtuV>RdXlvV;-kR3Gx(alK@bAoF>FJ1 zB(tI6JrY^jFn!vuDbGmu%12?&zYH(=q}*xxv|H4428fO|g#K*7KelER$)-(v7xW?mcog6v`?rk8CBY0?>&6FdAKk(&k#J5fLgYs4E0R(Mah>t;uweFd4tu2RfI zUE!$~{68r-(9h5jFKln?GehI*cfA|SzCz_CjzXD^f7Cuga(2miQR0DsIGCXE31ZqG z>0pIy!A<8HNSEn0cIa$q4#&w{0sP(QLOFpY(N}i#X5lkT+zD;rBock)61W)ek)dz6}x9_BOxmUJu|eTDK4mG(^B z8HX%FG20#Y%k@<1kJ&daF%c1NTw)y?fwimk>CN5KJGK{J(K%Ag0D@>eI+BvrUt;l{Q z`O8g?6sh6E99h(7$eQaf;=Ll{JN6NhAL~#5zr*%W1pN>F>F9g<4tXcr(?^E3d;Z<_ zG@NNLuTzvur|mpRD1^Q=ukP&KJH5yc;U!6lKv>bkM<+vxlnUsn z)k{R!htmmlbNY1b=*gZo+Mk^D4FH``kOH%RFKxPwnqZA2XDasZ4HeSO?Dq#i%mwOo zQfogx8j{=vN!R1ho1NmL!Avc8GA^mpLzQZuJfa&9$NH`kRWS6Vx7$SsSrV?+X80xQ zb*35rWJsvN;SZ5w{6G&)_@tORWwUFp?cY!@-6J<{BD7$gxq;ncS~$47zuywXDUR^+ znM6kl(6J!ecCBQOeS~B-(jMzj?|}Xdi8>@W)aukd#NlF?zL>~44?8&09ZH4V_t4QP zPW*FR%{0qcIS8b8w9NyQZu?RnQ6R$56dafKh%HrPSIMcy9uc!2?UAa4z{QJn(EM8|d4m5B zzQ8QShLL`oV^>pm$g=4s-rQuU%}4LDtRw}4cMu~~09=hQ7&@o4-&Eh7M|5PV8G%a7 z;})8y9=4M}hnuHlqK8@>T4T$3u*V-v(>Et~L$0Bec!Sf3rrp7r;^1lchD3*}q)5_L z`5;3+$Y>D2F77)?S^*@*0(+~S6B{MUIwS*3w*gDCJJJ%8H|S?u930)kI&?h&t0nFh zCHB8f1t>4seVB|F09|zEXnT&s7KjIT2uJ!7cU}hia zzh-v@bpzx@D4q^oFK+3MQFn$hi zFN{$i-Ifunic|jDOK7{}%%QS5gF;=~4scaNzCRIZIiZ+88|n85)UTN1xP7p=G#ERE z;ysJjnl+HX*HNVevK?H?fRwyg=3Pm|9A}xZrkPwZx}%m3vAT>1vs*a{V4HJS%8J`> zXlG*+12zv02g*(9dkjU}*%l}Do7^!so##@9j%t&2(0_*Z@2KcmC#h(C54G6(Kz5nA z=)OV*UaX~M-6t{>{ddUZo${_O)l4nPJ@A14#m$T%hu$_RL?1Vni>40l31tVEs=**o zgR)%5RWN6y3VTX8BQ-N@;V^P2;Z@Tu%k1GLMCUOHTC5di``pq4YD_aK=mD>F$+;rk zlS$<&F5HQwlWD=7;}69T+o^tztRqRZw5?izEHC+Yxk441r(0&@+gcC3Q3IhuNITZw z=iccKL`qG~ZotRC}Cq-_T-VqP$gP5>IZvuE&-S!_+&JYg_&eR7uztWA97-6*s1Oi5s4WA*)nf(tqK+g1s3yA~9CCsWz z8FO}hg=PRYUwxP~=f7Gm|i+@7XN;<}KvYgBJQ=wepm|*O5AB$;396NWzgWQgATZaW&|J^I=7ycu(mcBv*B5Rk<-TL_5keRvlKCl2xgvNsbt-kQ|&1-LG zONJmoqc=WUee3B^Ux&WpC_ro1et7fRUpHih2tYTlJ->GC#gHwFTMUd2$mZ5($l4J5 zXYIpRZhiEV(d!pOi6r{Z=$ThJcf^_C~CU_fJX10&kj?3w-%tcK7M)h#;?{d{B`}wq^n$u zbdi53;QD#HNI<@XTZI8@U9F5`0gcXIc7@j7e17$pABQrCEf<7?31&n?@_0O;^_MTL zz42PM3`T7n4QTbb*Ve9nOnv~63I??L{`;esp2^lt;sLE)`%t-;es%Ms=R@T7YP9Yhz>|MFR<$#j%4Gi;frhk9xqUwIKn~FAtG^w69Mh@4EcrJcA87T(-`x7a+hK4}ytWk}X!OSQ z_1B*oz3@t?7%rrFx7g_ISJr>_QOeP+N97q^d2;lpbECI^52H?@Wp_|Z~f(Wqx0_vWWqTYmd)t$kJjG$e#mg)Yu0~p{^my?k1qUsNXF(# zg4nG6@sBsJJiGeJ2ieAwGVY$|&eb>n$PnDT^5U&0udiObu=@P3|MSBaZe4zV?b^>^ zxmvF8|LNwHUyPo+aO>kYZe4gGl==RDeyIOa<1nVLcz@7X>bMp&7JbIgMzU>~)@D3J z3pT@;+`RtQ+An^X)kLzfXGYIF%|vEP_*<@{H!rUK`lXv!-&lR}snL)AaTxhVP~j5dh_b)>z4)o`dg#(e_$Hc&;8=o$4{?5 z`#i;OUHWM4`X!4p6RrO8w}`;CAHPfC)VSX+;!La^jxK+2^XiXpUO7jXjWo`!{!ueJ zdg`}s9e~Nrt5-)KJ+u1ev-Dk~A$%@_K58jU*r{j?R9t@a+^@kFWS}7zPiFPC%cEak zrJ+EQaWI+HXMZ;O@SH;@g?m~@+!nzE{mWA?f}hq_pZUq?{1r!~LjTzhRxdrb{^q&W zKQUV`+&ag^zI^L<-$#wRdF9EqXWxicpFKyvR^PioPveC`(e-oBu0H>7H?RK4(f#P% z@89~@r!+O!{*~po{>xvDu3TZD+<;Ji^wj$|um8;D#=`|^-TL_T^`~Dzi5flg?i~Zh zgt2n^qwm=0`p>*hevP$v5jg9=`Jsq`X}bO*Bysb@UyNS5vi>^sb1|zG##*C5NeLPQ zga$7W97B2Y;^_RJnb%vt|EbvMkKawJnyW87yZ+Nl0mTex=_?ROBGIiV2(G^M{^-N= z|NGqcby{n;qPy_zK$E-v@2`!n{*DyaOx&S}wWT?G<>}EoudbedY3=Q+8sYPo>7Ycx zlNa5p^ox&r3iRY$yrZX{T>DF`0&I-pl90)p9?I&gwjR&_0eZ1OE^E(1`G1VbW%Sb* zT*wx9!sw|FN0&Yz%aM(vjn$VwSU>j`q@p!t+yneqfAyxs!==B9+Kh*Q=B>-Wr0&fR zUmHF3%&m`KV~x11(WTeKo~_;Nibflf+7}i?Hek!>jjK$b6r;EQa&N@^tUdL6_iO#a z)zQ`St3UoJf5VIgWzmOhQExV>zxIO!Y=-{ps51SFy&Ap8;!-;-Gu$@()AV z__F-!OK-0Id#&TT1b~>tHNgRhD19uX2&!}=YN8N64FEHmRm1AyLK@)qt^W0y0K^}URHGLzMNnOebDNILv6`4nmtFV>sSZX>##EkzsSv#d zg$dIx4r3-5>{Rj#goqrcW!h&2!D|ziQ0a?h!ynwH;#tsd3Iz?;1@Lpf7c~2} zmHY?ciXjd%ubdx!e0}uppCFc7Pyc20=YP3**hyq1kUgW*7)k5e~#>4eevhFe*FIE?H{U(AN~MQV#ssQ{NlIT%eL}kgY1Lv_zMP+f>qxau)f)U9dn#~4E zVbX7X^s~`ZzlD3_<{7>8;;waL7M~yxOBR)F!k0(y4&hgvEcO~*gl|0)fhE?dBml2p zC(w#W!xWnov3s+?Gi2w*XH{gagbg!cRuLnT^4j@DB93|=3+lMJqRva^F?6;J(n{nd8@Iaq2OJ;miYl{Ztu9kO-V z2vbmYgZ$}ysS4iR#qp}cHiROI&+LwQRS)?%MXk<_KgWK=@yXgBP6=g71t;rwhBw}c zk1M535+7^5AMaGkGm!DDx*vTao8t6tMvFHt5XdZswYiUVtWGEt*9!ht1zk^?PV3V6 zw7v5+IY1KU2dC?%1G8P<>j9(@8{G=O9;P_)yejT;Ga~wW$V$6i{j_oBk_(Zs&wniX z`qXf`!)0uX!5)AF-5=_6*@V1fb3GY>&+LJu6K^Y9zYlg-gu|S#h%c|ln3^9;n*Kzhp8J+ zRqS~^I$UNavDxd)aKta!tq;!E!#Fkn)&sI96P^voE;lHL$vV9o7YNgyl#)8^w0928 zEpdZt38pT6J}$D+`|6fbm=Z11l-E@Y`3nxoenh7ZZ~Q67P&e73d0l=dWGeBvV${a` zuR0E*g|U3&oz^g+kE{z;z1yr*)(vYMV}|fyx?=C)#Z;Q{#~yJU)EKH|1nfSQQ`R3u zvxW^?!Y{Y&n^o_!f!CcPbs!G@t^>Io$0C$U3)Q}va6Pvd9SSA0 zY!=2H`zgTPu9Nn5QQUjF#m4yyPIveEDQ#&hKkXDz6XG-YX$S3Af;@KBZV@>>)gSMo zJ=R=+k_l;J0n}4CZSJH^NZbfdXV+t556)Vysiaa<&f13u!}Q`vd22a6%eo)5Q)|k( zY?=Ca1`KA}1(aVbg5XPXbR84P8<8z7l;UHAZ7PQE)#5&B&kC+(J_dj$B>1vH0Pg ze&nYuu|m?SlLsHXxyJ~}?XnY5m-XiEYtk>eJYLG{)Q9dy6Nfmzw9&+mb4Y5=)aZm9 zVvQ7I=o3*}&;Btb!#W@n`>FR1Icy#)Le5XU2VDU> zKa`Cf)dws`$%QD%Suj- zvTI9ADXnHJN41Z(WyeJA(B$1H<6puk<7Suzho1AzCHjN6(7fuf<(k>x)((p*W0J+z zX4dt51g@8l5okQk$=*jy|?m-a5G6usRh%6LMupRtYq)+pm%4JSZ*%vZ)N zhvW&EU~_bNq$4TrHFl@H{T~%+oV(;a5!5-8%yjUV?}HDGrN;hpmq&!JlrPijIe)p& zUhdCe8X5I}I)AwwQ#URSMYhv7-dl>DvtfC8121t4C${KqCO9dSc*}7J2Ckhp`E;S4 zi&bZuk{Zc++u$;9%0(W{{I7GbBe3EM0b+26kNMgAJhy;w*|J*VG{5m)FY$n;Z4mRC z^DYr_abxV_{Ec4or03gpntx%Bm2wvbAMA~H@QP{FwsM<)?njolbeQkuo`}6)8qeB) zmBW0W9aav_esXU)rw>2no27D+$G15WCwX5^@(uz6>cs06FiUyKZ(RMGag&2;G4vof zx;GR}cZ0`Vhc%6>JT8^;l-vG?K?}JXo#c0ZyfieV6$_s`6=0rXCI=s75l0K%KEhm=~cRh`6Zlki^f zP%i5_KWsrXQJAByR<)}giu#{&oTK@=9XDJ2u2@WGrvDy+$LgLX|1u4ZOISvL_Nkob z|G-ONykDVKGr+uFcIQ*gCJ65AI@bWOgPJ(d6ZV{SpnLmF;w209Q@PO%%w~S{8y6E@ z=5uhQPj=>-3-%n@jf*_37SEh~&6>1_mw8I)OjBV9QhMfAUUuC<)9aO|7=$ppX=i&_ zCgWPbot*9IPRHK%?mW-0!Qj~5O4RZ@_}Zm^Y``#h+oybq5tgRg3CgHN$+E{e@8IK8#J@bjBC?+|C-Mhy< zhrAA=r#*S*i@-%FeZq_F>|fY1bNLrO~HXcB~9<%VD38|2UDbM@nzI-BC#eNk8ojY%C zK9$goF<1VOQwSj|mkb%op}hDsz0Zds+m1i~FmrL^-%P_0ok@V95B$%cb`YNOCLs-{2|_kR&ZCoY zVh7pI!?Nk^k?g7TJ**1JXvFdWBTM?PRs)8V9Ay%trluf(?Y+>2c9#ihTB}St&xAT7 zQ!P8;?{s+D<;zQzh<2((}!UN0b#E;o$91 z-vAm7j|UT}LFbS_XIh~Oq`gR718Z4uV?ep+Vcd+UI1GYb5yfQfnd8W`9b*P|5`&H| zaRgI}h3vUS^Vx|*^mR_zlKtzUsLfKhLuy<&7YJtDdw9evFlJzBVnTtG5%HOQ`?46l z3c0!InDxP@$cI5zUkHRKYs2~YO%22!(@iwZu`RlqA=ZrsWt)+=cKKTH_LQF`BpGF-c%OiUoO(J1K;WpeO8cH>3M4Xq1lfNj~nn zM~;ZjY_uyxd&!~HEb!RwSMI+*+PTx$kF0Kvn3cOM?x@Jwp%&+gWk3?B9MSSP&8iOfTP-FNIe&GkWUud#r3 zxseYyj_8CrdqA8aiYGcf#Zc+sq1gipkUuHpXKsDW<&5R?dGT zojHs@8KrSDFj+~FEy=TEgtzIqd^u--+as`@`S(Hi6kggduMkl!A$6S#&T>w%#^xY! zviq}45oHf{iZ*WTe=dw^=a!5~ah((aGZ4gQ;76hoV}mgV2}5zuz32#v>5;G=I_chL ziK6AsLYsJ=_eJ?_4ESuDxb8+*39OBh>AzxqZQv?M>@bSAVc^^7qtgLIQV&ddqDqV1 z&)B)GX~DG{`VdpX=hiQL1iT=KICPTJDG{HsH(QI`P3LDDqc1EuG#G-YrY8XP)(1!Z zqNNvp4-ohk%jy10R&!@v%lV?hy+Ax`mO_*F*hqsx|lrkvh8&Kbb zvqrmjN5}NY;({Kf#!MmpG*%T`I>vstF@7%Yq|wFJnhud;r$WR_cz*k&ii-84)$6_Z zFPSd%DaSdb+R?>F;-B}a$JzcrB4yvnzKx?Xrb#(-Dy8zH26(MMy8oNb@`}F2JlmTn zb|g#I9HH(W-OC+74C1do5v;~t_ndtcgAl4fTO&ZGH!G)b{_*nt>4oWj*O`?kb_`bL zCZ?f>rHLhiBqED8!*Z*P&K+{`AuD~}uDyJ5@y}|t_PMp|bZ@}!{ee&eV+{sd|zcjbIn9t{TGe*iK zg1dpYqG{;L>&#ekf;5TW{01a8AGw^vg+e7)DA#iNYOz@;Mf_(lqH?aG|0=CQu2RWW zOHnb`$k!r%6{}?Cs|`}B^*WWPPk-D$u5vL~s}@|TR<2qj7a;t}7iv){S1gC`N-kfo zt`zdcT&a~Or&=#e6mo@nEvn{frP4$xSE)vgT%l5#ph!(fl#9iQO0HBXsyIdJxkgDq z`94?x$40S5wR)`*TPf5HIcX>B;j1!{s~0J6trl{PLilFXYV^qZlPiG+<58?= zut1NYZ`3Ay^;(gw+?2Dh$RwJL5_No!AleU(Xdv^%YHRtpasYhiNO8bEOjFQ-c^vRVKC0fblQIie(jrLQ7SlU#U9m znQw4rzR9TY#dKI>Zo)kF%p!>ndwnO^mnxuNuZ!}_Rm!+r<_ThfRB3kV)6EY^xE4HieKRpM`LqL!=F%dpQvgJlI_R{S@F z+h|nw6`-63T$n|XuQj4Z0{~j(Rn@L*xwEv5NAc;(e3P@L&bSY)bnIXh~m4Qnr>nBu5mB`= zEW2u=t5!8wCHhkadlspr0DnpgQsz8cVl zd*ro)Fs#)y7WsVL2BTa=TqdJYSYe*ZrIH&D#1z%@#TD8iaee}bwKEG7 z@HS)tGNp)UR^zOH_m4^035KBxzLiqtc$t67b%a&{^cjs(5l&OEIrl}Hj7${(_BWQ& z1ql!MEPTZzMjm+vr_r$187$mvN;(--U>Nh#E2>rgmoIMyR16fLtfYLcFv)0^=zR?tk+0g& zqlRec`Nt1^yw3yG)-|q-PE4%~XrZ>kL^;6-QRIq6iB0J_8h0zs`~U}z!R!cY zQmgjCKT?9kJP_f`jpf(`j?YabaIST6ka}$rsmFN23hJeL3swerhFYNc(~weHL}}8J zmS(3$VH99MM#C75v{xo$h2@wp6z0Xp?h47Yaih~6TS!S|eL2OXA-z#fBBu(aQdF(w zip_GaW-C#D9XCNkf*4?%D0g*{gVw#6F9hP*@bLodqkIsuK8`rVRG6>i1+oPztB8uJ z&(gtyvM)iDvPzz%iuu;V{{*Gk$WEVC#4VWtp zyX?G@0qhH5;~E0HRVPcVZA{O4 zUHHM;Yo_bgz_*A@K;WXysxZ=7l0M+gTC1Tms5=@vm?phBa~RfD00HUuh^o2_KXmY_{c*o18*p>P zCwNrRbPyL#XjCUtbDG=`Ss*j{9pVRm+7i!9ufVGRXfmB|(Yt zoZZ#%@yu|->G3U?m$JT`%*&A8$h^=BG5k=H(P8IN7#sE4aa6=gabE#-s}6fWXRTp& zH}W}@VstEN@v=tImEmD!=$F+3;f8|tZ6I*Epl6p4V&oQBaG2H<#bcsIw5ZDd6FU|~ zy$T2L9vXADROFx`1L{|K`#xAOd|Lt~25VWc82Fs~bf6|2EXWu8ot0%4eWi|z1$eGe z_l*LK-j7WYo`;5$IBPzmoK{GK(0qFOn~GRITc5;a!^U;@vQI6m43>%#p&lP%U(&@QU@ zCs6=Oh-C}`*~a|9z2%D8_dx^R5;!z^^c27$Tu=ls>)f}MlciOyvbZPEj%%!Y16Y}` zwhGoT)!Z+)RJa7fc`NfP|6K!Rs!{s_d`xT&5kGE;Bgi~UJbjuiqF!gBH5g3z)QLqN zQ|@rahxuuZ$wfX+)$8%ko%WqRfOnX4R=QFW z&fob1uM@+L9l>LG-B~DtbVd$P*vCE5W6^Sij@7=x>y(VB<>y>^w;d9nj;OK`k=H(6 zI6~-ipyyJFgB6&^xnLk z!-*o1l^XFUG>$<1ok5$ieT)D_y9|hx02`a(aUZrLyT9@6$M|Zo7zx8Mz6TlS-%(uu zw`@el=xuatv&U0MB+BUK-}!1;Zq`D%bg<4YU>QXf@tT)(#3aP?Sgo3IZQFzSytaW# z?6J7NsEnkbf0`+-Z^1^1l%{#mHMD~BtXRjobFCn)S147f6`G`@21}6h|1^XQM$qDs z#<8x=82xp5lE3U_RcqCQXa>~9e61FxA7G)%b8g#olu;4jj@MVREZD;Fg0fT1;{5Vi zE%bYgT3laP$RSZ5@>Po zs?;X&F|gf+->!}3m*q7B@B$u!CdDffY!GzTI8(pIT~vt0QzX>4Tzl^(D9K^%brV45x*K;c2F z`wZU#&Y+UHrwe&}K^195+NP!c$^;ssCXCLhtdW<)*fqCLK6Qr9+zbu&ve_|F#V9|I zm$+6axw z-7Pq)5VoJoBY@X>>)R5mB|7OssIOR6pDM~;}>^v z{}?NS?N)M-Hd|bIW3?6B4_c$R2-skQG4d~N_b%Yr8W+?;sTLDY+GmK-rFN_0FF3iX z?7rI{YZh~yRy}XkB80?OYK486G&nLKTzsB}S%rT&Nl|KnzAvY3KC56`d~Bl?Y|jD$ zS4Su$b}dI~O@}rrlNm%}RPVaVaFr4MacL_@zvXR*&j0I=F*&q1P&$5d@zL76$#;Zl zv3@Xr+@+m4EV<^kV9_PWvTT>AGcV+wIgE^ikwg9lp|~OlF70^!i=Z5L0K*=MzdyMK z#eJkFl=H~S!u4jhhBG1t;`*QLY=kAy=uL=Y{@Wjn#ASPUEV2Z^%vVSq=;X+)~(|wyf1PrkVIwzoP-AmBpm2A zY$`0`O&LNU(ywtMw@~A}(d=yNYp#R$i-2Ge$$@4YiQ9tPz+Yl|k9oFtGZL(Y4j;&yXhTI3$F!}p*8M>DB}$Pkue+$yQ)G6qoKU6=S)F7bc9cgLVV#J7C3 N-(TKw-;Nz;|9_29b|?S< diff --git a/priv/static/adminfe/static/js/app.f220ac13.js b/priv/static/adminfe/static/js/app.f220ac13.js new file mode 100644 index 0000000000000000000000000000000000000000..e5e1eda91d57636d3dd5a6d35f575f0fea66e437 GIT binary patch literal 194930 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 *f=x9+K!1jGjDVO*J)F-S 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
    xxq&;j7D(uU_w#9)AH4c@czs**H|wdGd9GP`qF( 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/app.f220ac13.js.map b/priv/static/adminfe/static/js/app.f220ac13.js.map new file mode 100644 index 0000000000000000000000000000000000000000..90c22121ecd9d57fad35cb424ee708f0cc7ba653 GIT binary patch literal 430912 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 VzGpaC$G3cZFj(7j$DTcB{|_Br@2da+ literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js b/priv/static/adminfe/static/js/chunk-0cbc.2b0f8802.js similarity index 61% rename from priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js rename to priv/static/adminfe/static/js/chunk-0cbc.2b0f8802.js index 232f0d447a1c38d3b5c722365585b362d209934c..d29070b62d4347c134e89705b412688792865895 100644 GIT binary patch delta 52 zcmcb(g7MA@#tlj)qDmQ=DXF^odAh}!dFeT+x&?{psY;u5OvDuUjgkz~EG!I+^sP}i delta 41 wcmcb!g7M-C#tlj)TuF(^+37|3rFkiv%}vA<_)Uz{(#$Q*()6;5^>Pyn07TFZNdN!< diff --git a/priv/static/adminfe/static/js/chunk-0cbc.2b0f8802.js.map b/priv/static/adminfe/static/js/chunk-0cbc.2b0f8802.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7c99d9d48f4ce979cf4169cf2c7d0a7b0b1b1255 GIT binary patch literal 86354 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 z
    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 z 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js.map b/priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js.map deleted file mode 100644 index dbca0ba8e2bd1c5f49be594f7e5c8a570b84bf26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86326 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 ZNN&6@-AH;v>=l05>kV$K-MI1P{{xXU;u!z{ diff --git a/priv/static/adminfe/static/js/chunk-43ca.3debeff7.js b/priv/static/adminfe/static/js/chunk-43ca.3debeff7.js deleted file mode 100644 index 6d653cf62e8536847cee380e2afd79c42f12ee0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119060 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�Psiby%9JgIk!Zb|t^J54Wn76oi$XTwD8ieWlll<-lRzB4 za90rWpnwSZ zAWrSh9-NEMI2JQ1QZ>q2yauBpdvNYm0oq}DI04AT-UmBTVWjY6MixRV4=EtfcV9Az zicSGQFritTIa!M@!Mee*xGQSibp99>XI>hzZf;d!OwGEvTe6PDyIT6geZbqgB3c+D5=Yu%gUfj@2POYr@P7k0g<%=O2zb+B!mph+!>=;DR#t*kY5j0E;G=W}ch z&HQ^6$Xv;n6oVF`I@yO9AZQ z)nfr7R!GF_a|#?gdUdI6I@!L%ksvlC?LYWQAUk}uTmY284nPUcffL)(Y!!uM$mB(R z)=9?FTrU6!gd75T=a6}JNldpWASj8jQ8M@gV$H6ISttMq0>U$sHxX1X!Q{Q&-M@P) z0lkHhChrYCDr+C4j5Hc`_|#0^HQ%bYU-zd|Z!bw-`A}8%SbQW$X!7E#KLss-A|@|n z3vE}+@WVif$=g-5>Gm)Yj9T6MuJRfqBp1&LPVkkSW+ zEfCVS;KoSQI_8kl#X@kS2r)9W{Y(@WF+K^o;d@R6A-^dQ#l1Ndf5KU|K*v~!4mv9u z#YKcSALZXXirYs>JSU2a@D*)sq_^{I?YXqAoqT_yr|vXT_s>cVS6HVTMRA2Ng#wr9 zU~T!ZWfZWL@d^bk(_z^WA_nQTdlv`N%GPEGp* z%D_$nclFccllGX-%%%j7FTrfWv8HQkHg(-mkwV|inoaO%DU_yWHr;sEE=8~GCPn+C zfTMJ0-J`sd0^C^AXJd$SqU{|VL0VAI7fFzA7-Pi>B4VUef)shJk#hbU9~B@U&K-)W zKrK~pwuke!N#%i4FnWGLAiDY3! z@g-;+e4C>EP8@Z}27;8c2O=EOIEXb(RpV^jT9r4Ox6`S-8C_b6;G2ud;y|r}dZkEd z>80+0&|~0?yNZE0LbQWh@iy$KPrDp^w9|*E3!Oe3j#zN!MVvltN0ZElrBN|b%IWJ3 zP5paiDQ@$>Oo18{YE(F5N|LUI8 z#y;p{drq*Gi)90biiM=)$5yBd1@xE{d)(Ezp~lvz{lbuBL*EZBx6Ifo_3Ci4N|lqw zE7a|FUgEweBtyD=iMriROLPhVf=mlM(K?N2J1=2u&dFBBkh!zwGO}i$ztbxKir70F zbxgxfOsp2giJTRZ=;@j>=Tel}nTgv1kjO{WnhmTAd#mndQAmb-eg7Q3zP&m3u>c@a zT6W!l(z7?`8u>MuI729DpHqR@8*-NmKq4p!8mN%4H{`Zdl1_$XsMzl2oJA1!j$C}q zu!uE^{1u6_D!X~t%x>OpQAmb}Gazvmq_gI(?tWe<0EiIhuEC|#LbDSbd9025MIjkV zb3UAN>GY(x(Da56aZSXDP3OZBKmHmt#;v6K1gOfuGPJgbzp+|_|(gnM$rjC(FRP$M2So7>NMfkj|CP!DevwKtST&an4a0p#NniZ))6i)$LXf41o z6bgdkgQ^Mv?#6&;5svC{A{<{dC%is z4Ah2LQ#kCa;N*+Q8MrbcEw1X~AQ~x)u~KpdPC@?czonenFmeWm+!dUD5jg|@NfxO! zdkmG5GjK%mXU~QS?Vm4a$l1DHv&WGjx+rtThn@<~z0je043*9LSsz!{>@gNjAak0#VtlWTvMwYb zkW7E>*(!$Siq8Hfb1p%J=V?LW6`p*NLivY3B!IV|F1A_o7%5dKzc@7a?-h$&4EWWS zq3qrbtY}tDyXjaYJ}7Sv0+**Ixu;*rz1hAzeAIQ0CbL-Nw~0j#-XZR`YHe>b2Eybp zhFG1BNMCbm`Z=Vv9gDm#;3sh7{hR6J_D1{bh)mLY!J%6P zRcet87i#~h$L=j#3L~Zbb@=ibTPn|S8J&|v9Mi=RIMt;f+(mMd*eJlpFaW@kNf=5i0wlsXoPAs?jf6f z3ki#a4EWu@g>pc@>T;R)yngZiS-<^Uwvxml`1OacV(G%SAx1&c~uKJ19`0KaJ+C%yiwrkbvBU*(gRoS8~^xYJueNbLd zcVKf{NW0b$K9+xAMiLdkJx!NOy+Va186D(+5vaHN+c7hRax9YPO2c+trhp}k<=w0X zQcd^~=a?U$t(GneG$@u4hUY(WCgVnRVPAUKP`ePDmH>gjU6oO3H{WevzLhtI1Mn_F zXWKR6@CYST6fA7zZ!a|j3pikq!^?=kD*82O(9d5dFrx#%syB5IjW_3iE102L$9!95 z7$i__t)?I?D@Z2b)2uU?ez$FyPU66K2Kdg704kf+!O&`i>5ifSzd(jL01=fPENoI~ zcvOalgQ^Y-t4?OEGD?18ejC6jnG9=>UCha13b$7qN>92H;0F?4&?U6-DT?AI^De=+ zvCYT69*@OlYul(wBmYgnJeDkBQP!yn1h*HQ;#&2lnw}ys=8U5S4{*dOU5wO&w5L0# zmjkvR3Saqx(qm+KQj$B~@ExZ)H`$=aHny{1Rh5ZF~RdDQaXOEn&GzMD<=bJA|O?It@KC>5ifZp6?k7!wmnI?9Wa zA;FySpR6H`o6n1QRg=^QiQ0>$bxW-A2-ELueM#c5HOvB)t4u%9Sz-ifF; zRul$;O<+#ex>dBL%pp@JAWFex3<1}}&eE=$IpWaj6tX9uK1jJE#9QGxH23anLN|gG zbV?>3IM*VMMS^|hK;h7 zGO*jF70kzip@$-sGN>Mn$z5KrRr z)YL=Uq#jy_i#lVtW;0Lb+a%)g-E%jSh&M8MvI#%rO!yZRhju3Zv4DLDi+yGvCce;1 zun%#b!u1ES4}AHbp>^Pk#s}bW4Ouzl2f7{L#5IUT}5ijdQ3$9w@o)J=BFEAqEOVsXiJIudX#N| zQJ0ANCE5S^@MiG<$DAS&?X>q`2UZ>V7*-V~G@2oz&QliNiMz-ET-DhZjllh-2+-5h zuR0&)-!J9?6-LyUPZ8^5F5!L$V^^Ic>FOPAwyJ{@5cxJtPN|y}-StUsy+fBZXO*P5 zmuvw994vbbS(WGa+ZwQ>T?pw&gKEVvQ4PN}a>J^`srFLZe?r>_2(6#I#DVONm}5@+%@$AF%kK_?Tc^WLBi=K&(&>^iHsp zCFEoxP9~;mC;aqlt#_B(Xj60W@wk0v8kv-+K)I4cz@4XI)ofbrxg+B zr$o*hJi0{RD|xGsXY^jH=&m14Ehyg?Ph3)^8i@&#L<1JxsiPWozzJc7KC zNJG)HzF=43tJsGavM24a+;z-}r+tY7mKK7Lr8x-Esoi``3w{~&`VdoGmOub#+y=3tgzwx1 z9c(Zdxj|)k?~`Z`y^vFc5R@=^JF@+eD2+7+r_qjz20KKl0+7|@pI%-5AZQ{fF^a%D zePTKbtj?$&X=>qLwtg?I-pOyxOX49u;B8>znZ8nq&%S#)1im3k(XsYM2PBL*W+%>| zW7jA<-rSYPzFHESpTQThZHj-y3W1Bs_rUt>ZEzu13l}m&pvgQtcHTHE+M{MS@BmcP z{GXE7USE68dk4fjh|r@?t1@NfN5nP+Njkn65#ZIFCL-7zcTWQ@CSR;}hQNK|d~!4f zaizML#|A}#pUV$&p>3Dc6OoaSXJfAms-_W>A~H9O4BB%}oRId#@01{5IC+12y&b$&pp2K;wc4 zR`%eQ&P4m&6Dhe2P)IH5G1RfHwVOrXJVI}PRdMIX2qh$|xZ)U0S`Z-sK9YC>J5iMLa(%Jy4S_IA~H-LTAWXdoN)2)%jWT zBvd@Nv#4XTL0q3=N3*3hH;Y&W2`2bUnwwxD=cy};omFa~sdiy+nb9ksWFamGPywk#M@2$7Ew57Pf4QEV{0DfxJ*XYpHL<(y@|k(AhOmC zEmf}pDUs;h8jvAoX&icbS7wQQ#j;$vP#50FV_7zGcnRh}YwUWzg$}St-ZA4&@-CVV zn-|hmv)Vb~{Y?E2#~P~t@pnx94-&F`Vfi<%&>*V+;do1`6h>A7fkfA)_9X-$9(tiz z3AgbbieV@?y&)*(qAH{%Pv*ZWP+Uh)V97p2RY+!2@ZydxC_IAvB2&;v2I#()=27DF zF2O-tqYjM3Bmn@~!**`r540;=LLw8lOR#OIQYfu?8_8nHk)S$-m(&N4^vUxp6}UHw zw7|&vnsP7J(_o*fjZLYX1lM~a@dzpIfI$yr;05#A*ep+26MUg8gFOz^?(8PQCSrTc z#NUm$@++_W@da9d{FuSG{@n0v}>C84mUauiCU z$OsVwP|yq_j#@JuwTizWE`&SZ#mSncqRbe^oA}Geh`8|2N~RS(uMCe-P=K721BTOv z17%ovbKg-?3XaC90JuzJBqi`Pw->P_4grEEU?~@g6&guw#KOH%iozSJ`f^qWMS_Br zX+~~CF)LR}PBRhBx$UqpM>pfc+*Ty$$iY&$%K%A*H?o<`Aa^v%?vc#|U%Ab=Y(_R4 ziAd_xk*%Hx6kbMn}^ zJ#n-`tBoR7Bxh76aeB9Z`q<{tBvC$>;TA~hediA5K7#y+4Unm0!?Jo181*an8}l30 zYIj>h1}cQQEn{FL#-+M&Z9G7iuoG^osG3JLt8`4M(;L+$&^8;|2ARsFO@CCIn|Pd+ zoy<75quPYp=0V3n#auGZ{irqrZ8Oj|@P(2#kE7b$X`4J8ERJgPplyhEPN<8&$wK%? zRvX%?!dANg&>HJ9@>#QdH>a(jPB_$ZdRAAX+BES1ygG*hNK9%W-KI6FjjwGO!D<7# zOAETrs8-k73OHvY3+LTYZQ4y_W`2EG0d?V$0)MK5Uo@aL=7|L5nQ7t;UV z2^!uRUKq5zaG~vY{MYp`eC^%$dv3k|y4xBw{mw$e5Bm$Pz-@Rv3^le3w$?Wn{7%EW z$NO7bJ@4Z6>&3;_i({MK4!o#o%Re{cg$rT-q2+xD!v6b00Ce$Y3JCTz49L=0KteZ} zL;{I5ljX4;WM-0#pFDUSbo+kL0Wud3+^`<>!~ITo(Ek~4Y~g?Z(SPWAzsl7ALz@3u z`H!C0(mUa$=k@>Z(r$=({zuF0G=G&}f4=(9AG~{^c*DDJ2Q8s|eDD9wc)%jzzbOwu z5KLP3&t3CY`_x)X_&k5XTkVpiu#l{=iL2e};t5OLYF~PtTdgw_NG6{=NGlZ1nr#dqV&4Xc95CL1hIYWwY+*??C=x6fBDI44C-Fv zy?gGp!f(IcvvZm8g!ricHat;4EId~xSnW#)1gl+U4XJbg?`x<#gZ?GLCw?9AmZ0

    1Ib|fqn!VR{2c`Nyb(s_2>w9IM#So-+K4l0 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-c5f4.304479e7.js b/priv/static/adminfe/static/js/chunk-c5f4.304479e7.js deleted file mode 100644 index 4220621be645378c58349d128deda10edad9ca4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23657 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 diff --git a/priv/static/adminfe/static/js/chunk-c5f4.cf269f9b.js b/priv/static/adminfe/static/js/chunk-c5f4.cf269f9b.js new file mode 100644 index 0000000000000000000000000000000000000000..2d53080313d885dadda0ae74d1852bc20ea44f67 GIT binary patch literal 26121 zcmeHQ`*YhylK%bv3I^x$5@nE<9NX(q#r68R@tvc1EjziaPNf3Lp$HoUZ~!P-C-Z;5 zuX`St!Goe6apkI#s@T>%duDq2@pWU=KZ}xCdNw>0lPsKm{*NL}vT;k<*RO|1{xDk= zi~ixEH(jif&x7fs`9tq0xbPl4{_VgU%~#2^jMAhpf-(sG3vX43UQy=JwDk7EVcswO zz0)x7rQ@*gr90`a=Lf|&947tL4i67)t_|G?Q zmnd9vVeSVR6)u-genH`Ce39j8R*WtdX;F?Y%JWQ&4nRk866E54R#7fyqwjXs0WEkx zT#5}%iba~2({#3}%{+=XRY%3!bQ;ELlILj}i!gBrSqHPQ46FU~FLF_?^5h~BX9tFW zWEIB&N?y}+{KGWO&Of9)`a8W8Q}Hg%(o>QD5*5(|9lqNQWbc!nl+c|&18)?R?EFplxZ%8MH!Z27-rdUCQhR% zW{HZQ(g{Xv8Dq&6mk$vWztD*m%|Uv+AZK>oByK*edal7?%d`}45|EfoTgcfwlG__c zu@vPZo#9fgGH|Oi9$jiNp7#BIF${;xF#p`wvY;pWnwxu6d6tKnsqEw2=V{*G+w+UF zsGKhPVwmOPbS%J4UrPUC8bX5Xj8y4PV6S}^6N#$J=xOpWzWA#0&TL!e6g7TB?GJy#SYb$yccmA&Uj1on7cb8qRJD= z%&Q0k7iWE+ZW?cHaCo>AJUlw`*S^1}sMkkX9V9b+eBLK&f-pZ>Ek#lm7^M&CjGa4e z;SOrM$K>CcrpY|YmwoR8%6ex}9QS4-7Nr13iXQKL&IH{ls4ShQy69pWheZMLt##s4k8k$?SGWwLMC5~cEWUW7M)64=&AfGRh>@ZtU3${9 z(ewq6r&^Pyh{V}|8-!(&cxG@gPcI z0<}*YCG*q^)O=YSPQ@aPXClYEcOb}lfz^fga50xKA7TEThVe?E6}RBa1T7y=aBZsV z3Y}*)7?+UCU$D-ifLX0}iF(3JyM3BzGrGtn#)LTSCYKttl1mj$a+zb=4t2s(y-;V5 zlaK{C3bo@>U}q2uVSbKg*cY%_giRDfX_7g}` zI!`!yAwV6VSa2p=7=M$JwAy!TEo#)U&6<>M?QJAn5vLGtxtNPwz!THnR;9e_4LUWq zMKt*tk~FPOk6>dR9tAM5*+({i_?&(;bDc72VDJzCt&*omkefqn@o#0T z0g0W#DhH#mWxf4rQ=cZ7;EIB-y>MIA_rk5cf}x_8q%8u)YT~*jU#FbgCyjD=*R;iWl09TVOlKIc1%+UGF|+FagGn^N0wpL{;(aycNIO`>>z(n zgM7US#au`umt$Q<;adM9nj= z?*PR>YMzRtJ&bXhMzh`yMnL?Rra`P1;f@$yQ&4{WiYVGV#Fil@(VQ>!^(-j@1$lbb zgV^qUK=Afeo+C=+{r&IOY`rDSr=B7!?2%2$RP@-f8se(Ry1qvdXao)@aQ9S3fk*qR zr|p>s0DfC$=115(B?Mbei~`tnn8>a|y;cJi?u>qQ}!! z4zs@`xmdh|@oO86>fG46QuYbCKnnY$L5pF%KgO0L-e555dMhE?sQ5r0SW8gcE4gBe zC@&!azmg@N{~1a z2V~q_aWGPHeCE^{f%gTXd83X9K2t?jIRo>DkfLbJVzls%I)e5MlU9a+-|D#eFEEON zi^@=^e+2}?IHM~JhJrk6T$81s**nXRq%3?T$-Y z9p0)f531CGt*??z@c_5>!K24|%jE>PRu+6PP2)Jsz#Nt=VG3$$WDGSD$b10O19o!> zHBhImG6_hi+%S=VhWMTH2xyU7SRw8YN!5}hpv|vlGJ@mGxAc^@9$Zd4Ux~w6G;v{L z+2Ocf!Zs!njsis8`z4vm{3DWjvi<~tv%MWyMbgX|LZBA?&>sSoJt-G=?*fag6!hPA zpPET4=6WrVvBP4TeE=rGgMDvx9B_QB!SGx3q$~(uCD&L?hSFdWCbL+)z+biwjAwN(;3UBF|SH@YhPr`&;(Jj4r2{P z3M(jp+|%?wi88Eb54O{NQ0oDv%P_z`j#~mvGy{glrG3XB&D&QGqZ&x_>6SnmEete{ z;NahjuozHS{3M4VGc#y%8I^FfBtr&7tNJ(Sr5IHQ^uw$!L3ALQyj5mI7tKLj$5><< z=&2AP1pwU$>VaXy9AiN}GVcvXQA-kFE2ztz=gPVl&xJPwGK}qE5vZ}K8hyHH7m2#Q zPNgot8KJfT(n6~PM3B>ujSu1Y*VbT-(zOh$Nqr?&)y)>8&6Spg)Cg8ByNFfQbwc&{ zH^TF@vWNL(KrRcrsu60n?jqJ|QYYA|YS~$2?Np}R-Mh*Nv&wXSS0xj)l<7oat=#gaRkf~ z0)|bMK7cydnmJ~NkZgkucBs_)Bq3{(rsh0!Nt;@;y2Pnf^KMotS@MK6?OK>PD@@W& z7E5(GfCFp550(`hF@z0Ei&LE;P|sShs$wjUr3CdOB%1zKQe7R4%j@9FTcO%9ixt&& znY@og8i#0$yLW95L0ulkgtW8pw;hut3I?Q{nyPnYVwOQ_z$+X=!LfU_H-e-0*cpO# zQk`AHV5iFTZ0?m6*G*;ow+y_fkck$wp$ZJuNja2-hmQ;>hsQZ>WC?Kmrd2U!I(kR&&Cl!av5p{ zWW>^P=?6mS0&fw`#2`&jL+KH!KXMe}5IOjeG8DNEdelA-0Lyb2g|Z;cj8neLG^o6} zW=iS%C@wu>RY-yaYiy5HylcSguDe*}YaEZ?X{bE7b1BgN{}4?Nv?zv6f=||-74;ku z%WJk_k}H7g?{K1ohrj$oeD|c0?dD>>C8+*@uyzL3!`XYN>XMzdCQX~apQ6a$sX&l` z;!fIsuYZ(Ps!O{TFB_Ld3voDn!L<7L$ ziPVRqT1K%Db0v?es=lK(f-VRPi79HTv9Eym41VW{(8vmMBMCm-!j zWryAmh!mD)K<4mJ8w1HiiB?lD)xF;hZWJMm3<^gVR0*%k9}(T0}pmMpcTdH ztV+E>GSIC~pas#|(CH73Rkh`@YQbFh?px5RZw5NuBGhC9G#YBM%l-sy>^$rmXtM#_ zyb=DV%^?X7DJab;q+Wdik~?v zt2GN>H`3eGWuesD)s2;UJ=ramdofAV@;QIOPSA1w=HmhQIYb4S+GeKFdFLl%1~tM5 zCzQaE7h-V2A#;GHS03&hfd?ITZFNH_OQ_ zxcl|wfcuB_wg{t8+y*8D;IKK2tdGet926uc7fQ+6gH+7k0({1NXiFOs@rK1 zaVh-rf*)IcVb)%|b5PM~nBdivt;dO3HbO&S|i%PiDMbR;same9ugVWeNd zCywu7=}TKuE3Xgi!@6{z-dG(WUAK6zX&W$Ts|{!zzD;=dJ4@~JGgn#>oQ{`bcR>ejE+?l3fNMVB&dFrH?DEH+=z9SRa$O@Zx@C=jltQ~KoTc%*iwR%kLdwG#sDA?8Sv|au%8n#n^9@MjLwLu{9 z0$}HZXy$V~_8g!vnLdf!z*69n58YKb*5R)gH)p znQ@X-Ilr5i1tWVas=M;)I&;x-em_yAnrP3;efG)RYU2(yQmN!9%s6d(f!RyE28$0! zq4AY3robo1FOsT~hxwq|V^`;MJiLRHfEk|K^aA!%VD;NDdK&hT8s_v& zTn(NxPE?n_Z5q@aZBt?8(}67PSwhc>s=4J8KDOst+5EV@Y`ZDY$H;fx|;w^k#GlC^|lOyilcATn(NO$jF&2Bbee#_;SO|J^t z;3eu@enNq<>-=Jw&|Ms3HL3HARdoei##)9JhB}AM3Uo2pW=)`QHW#9)ZJs$c=c4lc zv%xgEBeHJ;V39!v39(ow>Spy-Oz&p(ZF}e$`N(|KV6d)dwQ4DV7+Wh?TqY;=FPu)( ze8%r2LL@L}%luM2ziKJm#_7vDZ+x~c4yZM&b3v_I%MacorABDIAR6~ffjcbGNli_us@uHUF#s* z^(Ih)>!lz{c%n1?kUYk3mw8zEr#k7dO)PCA)h%Gbh;><}k5{q!x0mYz2WHfrI8r?Y4t;VzCYs#?0mG%h_2zCH?^+~F$-{?>hHRRKzO zzsJeRY{g&`+-8R1yp1X*T`iAh<`$BSgS)jf_sE`1oq4>p<`cjqcoRB84){a!cj4wL1BR`;|W z*V$bCxHaqzq@_EJyK&f3Vb_z|37aT^{|{;8!JV~}3`Uc|c@|#?VP5syy~c5@q*-mQ z+zauVM4F;z!WOOu%5}8yAimpZgbhtX=Si>GXbW8^e-xLn{$ynGEj-xVY#x7kGhg1q zgL`*wug}`d3uxm|b;y$B!Fu!FN!ZRLx)!t&HZYm6U#E!&$MMm0b|p1MjoY`^Lg)+8 zcNN02C78}udXimvaMWC%nbk$Q{NVWBW`@@#2zVeB=)hXz_U2S{@R}*$_=DBe&5TNy zfaB=-;O^1p#@ug}xo)GQ!%o`8VQz$g#vcwZ`|)AY9JKnw!*-*4diX9m1nm7mub<%W zSuYvl4@=?C!Ek_4244p8`%!BUQ`0%9JwtE!nw<3p!)EW8-%na?{%IvbAAH;H_1bZx zi*Lt`A<^o_7YAMi{M^+#&0hcVWl!o+3r*vE`n=cgVR-$um9&nec`fQUqfgipNq}xh zfYDGug?7JdndVMo!RxF=EED7DP$mNB|C9)KJ4}J{6>N?Rj?d3hWy*;^YL-~ zq19AOpZ1Ovfi?{*L1)|2p8YWp1GC>vhK;V&>cqpd-Z9IK`k)INI&|L}$z`|svbPs^ z<3R(xA0EdijZvF`58~5;rzC5qF*s){0HGbTy^BGEfF3q`-C_KZmHUJE1O9aN*KsT9 zH-^nKc_KV8lsoCccfr%)3O*V~gHfNAK?XJl?Aw?8J2)M6=z!omvHKt>43(}o(C0~O z(7`+NZF@8v_PQ^%=O&5J4jv89Vv2|-0_@}Xcn~Ma&nI;dT4olThI2qjzzWm^jsV)*Eyh?bh${08bA;u+c-3<3@83gD3TNObq$7$&Vy%(@Hek zjYNb8^3ZD5%&*39IFP3UDN8!{+l^*?)@#G@z^@x@r~@UTutDTx)Frcy6ssFISSS7n zCMDuWR_5SLvb&aGeaO}iiK(<}AnW(~{dllwVLD{vhkb3)5a&E5zuJu>=^0#aK!>Qo zNxMgwdi^2XR%!i^G{vKw#lSO1wd62sL&w;YR;O_qtNZop#S=C&f*^IMXGS4M;+qMF z@fu1%SIzw##3cFQM|@;^gn$6%e-DS#V~41?GyWx7TU6+vr`1_OK}d6MU# z9LkzU=2t6uN%oO%g5hg}pff#EwbmO+bA2>%pr{i!Y0~^o&KhFX&U&4g#n9k!tmA

    Y7zC-mn=OpQ{jcFalV!4 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 delta 90 zcmZowY*pOQ#lm5bl4@a=WR@~{5{m|hfrXKIl3{Y{=0hxMtQ;oBX=&z`W@(c@aB6TE qr=%vO0{N2_xPTl36BBdGRP)UNTxx9mrb&rFGg6ZEvWoR`6AJ*U(;58$ diff --git a/priv/static/adminfe/static/js/runtime.5bae86dc.js.map b/priv/static/adminfe/static/js/runtime.0a70a9f5.js.map similarity index 98% rename from priv/static/adminfe/static/js/runtime.5bae86dc.js.map rename to priv/static/adminfe/static/js/runtime.0a70a9f5.js.map index 46c6380d92bf58780ed94c3252154f463052d502..62e726b22c0567c0ff77be46cec670ebb0e1be4f 100644 GIT binary patch delta 94 zcmcc7#(1NRaYL>+he4vbL84`v>E=@L)0`YeNd{>a76wL>JroT%5|dMtOiay_CpQ2& v$!SJrmT8trn|COFW#>ptGdHnJHUmkCOg^b8!;xfYXlRsXXtDXNX0{{%ooF5d delta 94 zcmcc7#(1NRaYL>+hiOt`s)bof^5#`$N9)SP= From d169e51b7e33808a82b314e1ec54d709088a55fb Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 2 Jul 2020 10:27:15 -0500 Subject: [PATCH 101/108] Improve descriptions, move primary MRF settings to top for AdminFE ordering --- config/description.exs | 98 +++++++++++++++++++++--------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/config/description.exs b/config/description.exs index 39c6c5793..5ffef15fc 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1389,13 +1389,51 @@ } ] }, + %{ + group: :pleroma, + key: :mrf, + tab: :mrf, + label: "MRF", + type: :group, + description: "General MRF settings", + children: [ + %{ + key: :policies, + type: [:module, {:list, :module}], + description: + "A list of MRF policies enabled. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name.", + suggestions: + Generator.list_modules_in_dir( + "lib/pleroma/web/activity_pub/mrf", + "Elixir.Pleroma.Web.ActivityPub.MRF." + ) + }, + %{ + key: :transparency, + label: "MRF transparency", + type: :boolean, + description: + "Make the content of your Message Rewrite Facility settings public (via nodeinfo)" + }, + %{ + key: :transparency_exclusions, + label: "MRF transparency exclusions", + type: {:list, :string}, + description: + "Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value.", + suggestions: [ + "exclusion.com" + ] + } + ] + }, %{ group: :pleroma, key: :mrf_simple, tab: :mrf, label: "MRF Simple", type: :group, - description: "Message Rewrite Facility", + description: "Simple ingress policies", children: [ %{ key: :media_removal, @@ -1414,7 +1452,7 @@ key: :federated_timeline_removal, type: {:list, :string}, description: - "List of instances to remove from Federated (aka The Whole Known Network) Timeline", + "List of instances to remove from the Federated (aka The Whole Known Network) Timeline", suggestions: ["example.com", "*.example.com"] }, %{ @@ -1461,12 +1499,12 @@ tab: :mrf, label: "MRF Activity Expiration Policy", type: :group, - description: "Adds expiration to all local Create Note activities", + description: "Adds automatic expiration to all local activities", children: [ %{ key: :days, type: :integer, - description: "Default global expiration time for all local Create activities (in days)", + description: "Default global expiration time for all local activities (in days)", suggestions: [90, 365] } ] @@ -1498,7 +1536,7 @@ key: :mrf_rejectnonpublic, tab: :mrf, description: - "MRF RejectNonPublic settings. RejectNonPublic drops posts with non-public visibility settings.", + "RejectNonPublic drops posts with non-public visibility settings.", label: "MRF Reject Non Public", type: :group, children: [ @@ -1521,14 +1559,14 @@ tab: :mrf, label: "MRF Hellthread", type: :group, - description: "Block messages with too much mentions", + description: "Block messages with excessive user mentions", children: [ %{ key: :delist_threshold, type: :integer, description: - "Number of mentioned users after which the message gets delisted (the message can still be seen, " <> - " but it will not show up in public timelines and mentioned users won't get notifications about it). Set to 0 to disable.", + "Number of mentioned users after which the message gets removed from timelines and" <> + "disables notifications. Set to 0 to disable.", suggestions: [10] }, %{ @@ -1577,7 +1615,7 @@ tab: :mrf, label: "MRF Mention", type: :group, - description: "Block messages which mention a user", + description: "Block messages which mention a specific user", children: [ %{ key: :actors, @@ -3070,7 +3108,7 @@ label: "MRF Object Age", tab: :mrf, type: :group, - description: "Rejects or delists posts based on their age when received.", + description: "Rejects or delists posts based on their timestamp deviance from your server's clock.", children: [ %{ key: :threshold, @@ -3083,7 +3121,7 @@ type: {:list, :atom}, description: "A list of actions to apply to the post. `:delist` removes the post from public timelines; " <> - "`:strip_followers` removes followers from the ActivityPub recipient list, ensuring they won't be delivered to home timelines; " <> + "`:strip_followers` removes followers from the ActivityPub recipient list ensuring they won't be delivered to home timelines; " <> "`:reject` rejects the message entirely", suggestions: [:delist, :strip_followers, :reject] } @@ -3408,43 +3446,5 @@ suggestions: [false] } ] - }, - %{ - group: :pleroma, - key: :mrf, - tab: :mrf, - label: "MRF", - type: :group, - description: "General MRF settings", - children: [ - %{ - key: :policies, - type: [:module, {:list, :module}], - description: - "A list of MRF policies enabled. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name.", - suggestions: - Generator.list_modules_in_dir( - "lib/pleroma/web/activity_pub/mrf", - "Elixir.Pleroma.Web.ActivityPub.MRF." - ) - }, - %{ - key: :transparency, - label: "MRF transparency", - type: :boolean, - description: - "Make the content of your Message Rewrite Facility settings public (via nodeinfo)" - }, - %{ - key: :transparency_exclusions, - label: "MRF transparency exclusions", - type: {:list, :string}, - description: - "Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value.", - suggestions: [ - "exclusion.com" - ] - } - ] } ] From 80076f1974f4527bf3914a83465c30274721457c Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 2 Jul 2020 10:33:27 -0500 Subject: [PATCH 102/108] Lint, long lines --- config/description.exs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/description.exs b/config/description.exs index 5ffef15fc..370af80a6 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1535,8 +1535,7 @@ group: :pleroma, key: :mrf_rejectnonpublic, tab: :mrf, - description: - "RejectNonPublic drops posts with non-public visibility settings.", + description: "RejectNonPublic drops posts with non-public visibility settings.", label: "MRF Reject Non Public", type: :group, children: [ @@ -3108,7 +3107,8 @@ label: "MRF Object Age", tab: :mrf, type: :group, - description: "Rejects or delists posts based on their timestamp deviance from your server's clock.", + description: + "Rejects or delists posts based on their timestamp deviance from your server's clock.", children: [ %{ key: :threshold, From d44ec2bf4ced0278b8cc5a0b5fa36fcfe38df38b Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 2 Jul 2020 12:55:08 -0500 Subject: [PATCH 103/108] Remove camelCase from the keys --- lib/pleroma/web/mastodon_api/views/instance_view.ex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex index 347480d49..89e48fba5 100644 --- a/lib/pleroma/web/mastodon_api/views/instance_view.ex +++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex @@ -93,10 +93,10 @@ def federation do def fields_limits do %{ - maxFields: Config.get([:instance, :max_account_fields]), - maxRemoteFields: Config.get([:instance, :max_remote_account_fields]), - nameLength: Config.get([:instance, :account_field_name_length]), - valueLength: Config.get([:instance, :account_field_value_length]) + max_fields: Config.get([:instance, :max_account_fields]), + max_remote_fields: Config.get([:instance, :max_remote_account_fields]), + name_length: Config.get([:instance, :account_field_name_length]), + value_length: Config.get([:instance, :account_field_value_length]) } end end From 02d855b2b9a4bb88f0ddd7edc9bca30b66dbf241 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 2 Jul 2020 12:59:45 -0500 Subject: [PATCH 104/108] Document the new API extension of /api/v1/instance --- CHANGELOG.md | 1 + docs/API/differences_in_mastoapi_responses.md | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b6928dcd..e21318580 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

    API Changes - **Breaking:** Emoji API: changed methods and renamed routes. +- Added `pleroma.metadata.fields_limits` to /api/v1/instance

    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 JSid(l8LOszvBna$ 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 U{9RV=eijd_8>q>Yeay0_KLod*r~m)} diff --git a/priv/static/adminfe/static/js/chunk-43ca.aceb457c.js b/priv/static/adminfe/static/js/chunk-43ca.aceb457c.js new file mode 100644 index 0000000000000000000000000000000000000000..f9fcbc28874bbd4ae205b7c0ff57f61550b68e0b GIT binary patch literal 112966 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�UxA^>>~(e!Po803jV53} zX(A)r&AApc4cgEebKw`@6?_#RJyBXOHjA7C81qomvAF^!d2st zl9oguxqW&+P;li!%GR%Gj8l8WBCtr}&G#%yi=ShW;cW>R2r1f1IKTvAS4+0Si3w%w zqN>0G&htral->rLA;Xv2vDKG(AWb5#Mq`{L-cZDJz|EU6dK&nMs)?Rm{z4*{Y@FnqVzqfFC*a64?gT^A6xTC)Y`ODDH%nMp4FLX;Cw}TTserKl^+Tna8fJf{CTol6`d_h zMFN{k9tYP@dk)*}-6@B0O8r0s5&3>rf}g6QWrWDbbVC##5W(Pc$;T^rKr$&pM*AiY zbBgUTp(s)tX@Yx`cmNd%=2qVR;Ro&q7p}#_Y}}G5SgkzkCDHH)`AFFhyd4reU(U~r z{P67cYPX2;{rm@^UH$+)6^t5cRnXlTMi|)Sh3afd_td;12OeG45o?G;CrBWrbxF$D zq_kp;xU6Iwq>eK=vvgjaRLOOABeGr6pc61;V zBJfLO6eInWu>oyY;YCO_5E)%JfYYU%fq77f|z zE0IO_We5nDL435zBzU1dipv~?<;c0yu@K(P5PGgK#&EL9vCh7HLEu_awMR^=EEn^6;>?H2UOY zYl5n4_aQXisrO(3whnEFt0pn&Hnga$L}Q|Yq_DWf=LuXolOz_3qXw!8$^g=5 zPgoRgI}{r?eO*iCDE5pCp~e(~%oE?RLW8fildfb)l~T4&pq$3lHtLIS9PKx*Hq)Pc z?WFg(+Df^VJrJ@Fx!OXwmOb^g54qY#fAYbm{m9jJ__Pf9KaIUemv&LLnesDxfRrxf zY8&Ni_O&rCWluZ$xGb(&_stG28gZMkuc>l6`vz4PvN?3jj%QD8$Gcn|i9UmT<;4I# zFfD_s<&3C2(4Ik+uemxNzF>zUi^MmS^f*^rDOa>-DB*UlHj(aV*}@X~bnL;p5-Pa6 z^YBjp-j6E*AO3+qWl)U-@*y}82aIuoh>t#XP)~*ePeQsi)p4VQIJgwxU5_QG`U#}v zW3vA94j9#=@%=|Q`JJ@V1{_`yj*}jJw%mwt!PK{1KYaMWX&bMs-OrOLNl5pxREqsm`Rn7_U8hUB_-)3v@87QOyKO)G`;QshPV<8|PTK_e`7^fNEM7iy z+R`K{ZE=$J&3L_1>_@}q&iW5dm&5+U50$o1$?-sNrP$x)$Jg;wr_0eV>8x$@(XP8H zqm5S&D&qp2y!g3N><4GuzmFYj(QNwa^UE3A{`lj#aM}iG@2?+%O6!x5M)4J=QMK3) z=WieX{K*;X1kH_5;8E=WBO?4t9IiffWhmNqG41osTk)eth+O#*zMf_3I0JPAA*V$N%exAO81J qo=qpccnuzBTt2$_?sccPH%<4K@89c1kQ?#N{RcnxT7Tu_@%{f=RoeFe literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-43ca.aceb457c.js.map b/priv/static/adminfe/static/js/chunk-43ca.aceb457c.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3c71ad17836a2a77a7cd9c8bb12244c77f90a27b GIT binary patch literal 386132 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

diff --git a/docs/API/differences_in_mastoapi_responses.md b/docs/API/differences_in_mastoapi_responses.md index 13920e5f9..72b5984ae 100644 --- a/docs/API/differences_in_mastoapi_responses.md +++ b/docs/API/differences_in_mastoapi_responses.md @@ -228,6 +228,7 @@ Has theses additional parameters (which are the same as in Pleroma-API): - `background_image`: A background image that frontends can use - `pleroma.metadata.features`: A list of supported features - `pleroma.metadata.federation`: The federation restrictions of this instance +- `pleroma.metadata.fields_limits`: A list of values detailing the length and count limitation for various instance-configurable fields. - `vapid_public_key`: The public key needed for push messages ## Markers From 90764670dc83c39c28cd7851f08f77f1e8bcf25a Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Fri, 3 Jul 2020 11:02:15 +0300 Subject: [PATCH 105/108] [#1892] Excluded internal users (applications) from user search results, reinstated service actors in search results. --- lib/pleroma/user/search.ex | 6 +++--- test/user_search_test.exs | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/pleroma/user/search.ex b/lib/pleroma/user/search.ex index 0293c6ae7..42ff1de78 100644 --- a/lib/pleroma/user/search.ex +++ b/lib/pleroma/user/search.ex @@ -52,7 +52,7 @@ defp search_query(query_string, for_user, following) do |> base_query(following) |> filter_blocked_user(for_user) |> filter_invisible_users() - |> filter_bots() + |> filter_internal_users() |> filter_blocked_domains(for_user) |> fts_search(query_string) |> trigram_rank(query_string) @@ -110,8 +110,8 @@ defp filter_invisible_users(query) do from(q in query, where: q.invisible == false) end - defp filter_bots(query) do - from(q in query, where: q.actor_type not in ["Application", "Service"]) + defp filter_internal_users(query) do + from(q in query, where: q.actor_type != "Application") end defp filter_blocked_user(query, %User{} = blocker) do diff --git a/test/user_search_test.exs b/test/user_search_test.exs index 9a74b9764..f030523d3 100644 --- a/test/user_search_test.exs +++ b/test/user_search_test.exs @@ -25,11 +25,13 @@ test "excludes invisible users from results" do assert found_user.id == user.id end - test "excludes bots from results" do - insert(:user, actor_type: "Service", nickname: "bot1") - insert(:user, actor_type: "Application", nickname: "bot2") + test "excludes service actors from results" do + insert(:user, actor_type: "Application", nickname: "user1") + service = insert(:user, actor_type: "Service", nickname: "user2") + person = insert(:user, actor_type: "Person", nickname: "user3") - assert [] = User.search("bot") + assert [found_user1, found_user2] = User.search("user") + assert [found_user1.id, found_user2.id] -- [service.id, person.id] == [] end test "accepts limit parameter" do From 59b426ebefd1881181888a5b0e6abe8338b65d3f Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 11:25:12 +0200 Subject: [PATCH 106/108] Notification Backfill: Explicitly select the needed fields. Prevents a crashing migration when we change user fields. --- .../migration_helper/notification_backfill.ex | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/migration_helper/notification_backfill.ex b/lib/pleroma/migration_helper/notification_backfill.ex index b3770307a..d260e62ca 100644 --- a/lib/pleroma/migration_helper/notification_backfill.ex +++ b/lib/pleroma/migration_helper/notification_backfill.ex @@ -3,7 +3,6 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.MigrationHelper.NotificationBackfill do - alias Pleroma.Notification alias Pleroma.Object alias Pleroma.Repo alias Pleroma.User @@ -25,18 +24,27 @@ def fill_in_notification_types do |> type_from_activity() notification - |> Notification.changeset(%{type: type}) + |> Ecto.Changeset.change(%{type: type}) |> Repo.update() end) end + defp get_by_ap_id(ap_id) do + q = + from(u in User, + select: u.id + ) + + Repo.get_by(q, ap_id: ap_id) + end + # This is copied over from Notifications to keep this stable. defp type_from_activity(%{data: %{"type" => type}} = activity) do case type do "Follow" -> accepted_function = fn activity -> - with %User{} = follower <- User.get_by_ap_id(activity.data["actor"]), - %User{} = followed <- User.get_by_ap_id(activity.data["object"]) do + with %User{} = follower <- get_by_ap_id(activity.data["actor"]), + %User{} = followed <- get_by_ap_id(activity.data["object"]) do Pleroma.FollowingRelationship.following?(follower, followed) end end From 945e75c8e8f05fadd669c7aa084dd6ba7e9b5ab2 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 16:36:55 +0200 Subject: [PATCH 107/108] SearchController: Trim query. --- .../web/mastodon_api/controllers/search_controller.ex | 1 + test/web/mastodon_api/controllers/search_controller_test.exs | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/mastodon_api/controllers/search_controller.ex b/lib/pleroma/web/mastodon_api/controllers/search_controller.ex index e50980122..29affa7d5 100644 --- a/lib/pleroma/web/mastodon_api/controllers/search_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/search_controller.ex @@ -44,6 +44,7 @@ def search2(conn, params), do: do_search(:v2, conn, params) def search(conn, params), do: do_search(:v1, conn, params) defp do_search(version, %{assigns: %{user: user}} = conn, %{q: query} = params) do + query = String.trim(query) options = search_options(params, user) timeout = Keyword.get(Repo.config(), :timeout, 15_000) default_values = %{"statuses" => [], "accounts" => [], "hashtags" => []} diff --git a/test/web/mastodon_api/controllers/search_controller_test.exs b/test/web/mastodon_api/controllers/search_controller_test.exs index 826f37fbc..24d1959f8 100644 --- a/test/web/mastodon_api/controllers/search_controller_test.exs +++ b/test/web/mastodon_api/controllers/search_controller_test.exs @@ -79,6 +79,7 @@ test "search", %{conn: conn} do assert status["id"] == to_string(activity.id) end + @tag capture_log: true test "constructs hashtags from search query", %{conn: conn} do results = conn @@ -318,11 +319,13 @@ test "search doesn't show statuses that it shouldn't", %{conn: conn} do test "search fetches remote accounts", %{conn: conn} do user = insert(:user) + query = URI.encode_query(%{q: " mike@osada.macgirvin.com ", resolve: true}) + results = conn |> assign(:user, user) |> assign(:token, insert(:oauth_token, user: user, scopes: ["read"])) - |> get("/api/v1/search?q=mike@osada.macgirvin.com&resolve=true") + |> get("/api/v1/search?#{query}") |> json_response_and_validate_schema(200) [account] = results["accounts"] From cbf2fe9649da34e78ddbc0f11c3fcc2599aa1c7a Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 16:46:11 +0200 Subject: [PATCH 108/108] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26f878a76..85401809a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **Breaking:** Emoji API: changed methods and renamed routes. - Streaming: Repeats of a user's posts will no longer be pushed to the user's stream. - Mastodon API: Added `pleroma.metadata.fields_limits` to /api/v1/instance +- Mastodon API: On deletion, returns the original post text.