From 40dbb62b28bcc9393ab11266f0841a075531f6e6 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Wed, 27 May 2026 21:27:54 +0300 Subject: [PATCH 01/30] Improvements driven by the Immich Flutter port comparison A coherent set of framework, build-tool, and theme additions surfaced by porting Immich's Flutter client to Codename One. Each item was driven by a concrete pain point in that port; the Immich port is the regression fixture for the cn1:compliance-check + Rest builder + typed binding paths. Java API subset (Ports/CLDC11 + vm/JavaAPI): - Map: 11 Java 8 default methods (getOrDefault, putIfAbsent, remove(K,V), replace(K,V) / replace(K,V,V), forEach, replaceAll, computeIfAbsent, computeIfPresent, compute, merge). - BiFunction added to java.util.function (was missing). - Iterable.forEach(Consumer), Collection.removeIf(Predicate), List.replaceAll(UnaryOperator), List.sort(Comparator). - All four primitive atomics: AtomicReference (already in vm/JavaAPI, mirrored to CLDC11), AtomicInteger, AtomicLong, AtomicBoolean. Core framework: - Rest.fetchAsJsonList -- top-level JSON arrays unwrap automatically rather than forcing callers through the {"root":[...]} envelope trick. - Rest.fetchAsMapped(Class) / fetchAsMappedList(Class) -- typed POJO responses via the @Mapped binding framework merged in PR #5047. - Component.setPullToRefresh(Runnable) alias for addPullToRefresh (more discoverable; same single-task slot). - URLImage.RequestDecorator interface + setDefaultRequestDecorator + setDefaultBearerToken + per-call decorator overload on createToStorage. Eliminates the "URLImage doesn't pass headers" workaround for authenticated image endpoints. - JSONWriter -- mirror of JSONParser. One-shot toJson(Object) plus fluent JSONWriter.object().put(...).toJson() / JSONWriter.array() builders. Streaming variants for writer / OutputStream. - Tabs.setAnimatedIndicator(boolean) -- Material 3 NavigationBar / iOS 26 sliding-underline indicator. Gated by tabsAnimatedIndicatorBool theme constant + duration/thickness constants + TabIndicator UIID color. Off by default in framework, on by default in modern native themes. - MorphTransition.snapshotMode(boolean) -- opt-in image-snapshot path that captures source/dest as clipped Images at initTransition() and tweens those rather than re-painting the live components. Solves the source-inside-scrolling-container off-viewport-leak case. Default (live-paint) path unchanged. - DefaultLookAndFeel.drawModernPullToRefresh -- Material 3 arc-spinner pull-to-refresh painted directly via Graphics.drawArc. Sweep grows 0deg -> 330deg as the user pulls, then spins continuously while the refresh task runs. Gated by pullToRefreshModernBool theme constant; on by default in modern themes. - com.codename1.io.websocket package -- WebSocket Java API moved from the cn1-websockets cn1lib into core. Per-platform native impls remain in the cn1lib repo for a follow-up. Maven plugin: - StubGenerator.isValidType accepts String[] (was rejected). All primitive arrays were already accepted. - New cn1:generate-openapi-client mojo -- reads an OpenAPI 3.x JSON spec (URL or local file), emits one @Mapped POJO per components.schemas entry and one Api.java per tag. Each generated method routes through Rest. + Mappers.toJson + fetchAsMapped / fetchAsMappedList. Tested end-to-end against the Swagger Petstore reference spec: 6 models + 3 Api classes generated, compiles cleanly against codenameone-core. Four JUnit tests in OpenApiCodegenTest cover inline-spec generation, identifier / class-name sanitisation, and a real-Petstore round-trip. - codenameone-core moved from test to compile scope in the plugin pom so the codegen can use com.codename1.io.JSONParser for spec parsing. Native themes: - iOS Modern + Android Material both enable tabsAnimatedIndicatorBool, pullToRefreshModernBool, plus the supporting duration / thickness / diameter constants. New TabIndicator UIID with light + dark variants pinned to --accent-color / --accent-color-dark. Binary Themes/*.res files regenerated via scripts/build-native-themes.sh. Tests (scripts/hellocodenameone): - MorphTransitionTest -- baseline live-paint morph. - MorphTransitionScrolledSourceTest -- source in a scrolling list (the case snapshotMode is designed to solve). - MorphTransitionSnapshotTest -- snapshot-mode baseline. - All three registered in Cn1ssDeviceRunner.DEFAULT_TEST_CLASSES and the HTML5 skip list. Documentation: - docs/developer-guide/io.asciidoc -- new sections for fetchAsJsonList / fetchAsMapped / fetchAsMappedList, JSONWriter, WebSocket. - docs/developer-guide/graphics.asciidoc -- URLImage RequestDecorator + setDefaultBearerToken. - docs/developer-guide/Animations.asciidoc -- MorphTransition snapshotMode. - docs/developer-guide/The-Components-Of-Codename-One.asciidoc -- animated tab indicator under the Tabs section. - docs/developer-guide/Miscellaneous-Features.asciidoc -- modern arc-spinner pull-to-refresh under the existing Pull to refresh section. - docs/developer-guide/Native-Themes.asciidoc -- the six new theme constants (3 tabs, 3 pull-to-refresh) added to the tuning-constants table. - docs/developer-guide/appendix_goal_generate_openapi_client.adoc -- new Maven goal documentation page. - docs/developer-guide/Maven-Appendix-Goals.adoc -- includes the new goal in the appendix. Skill (scripts/initializr/.../skill/): - references/java-api-subset.md -- fetchAsMapped section, URLImage.RequestDecorator section, JSONWriter section, OidcClient section, WebSocket-in-core mention, refreshed subset gotchas. - references/ui-components.md -- MorphTransition.snapshotMode, Tabs animated indicator, modern pull-to-refresh, package-split table for components / spinner / ui. - references/build-and-run.md -- Hot Reload modes, cn1:generate-openapi-client invocation. - references/native-interfaces.md -- corrected allowed-types list to include String[] and primitive arrays; iOS NSData* marshal caveat. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/com/codename1/io/JSONWriter.java | 210 ++++++ .../com/codename1/io/rest/RequestBuilder.java | 231 ++++++ .../com/codename1/io/websocket/WebSocket.java | 247 +++++++ .../io/websocket/WebSocketNativeImpl.java | 70 ++ .../io/websocket/WebSocketState.java | 36 + .../codename1/io/websocket/package-info.java | 23 + .../src/com/codename1/ui/Component.java | 13 + CodenameOne/src/com/codename1/ui/Tabs.java | 145 +++- .../src/com/codename1/ui/URLImage.java | 195 ++++- .../ui/animations/MorphTransition.java | 176 ++++- .../codename1/ui/plaf/DefaultLookAndFeel.java | 158 +++++ Ports/CLDC11/src/java/lang/Iterable.java | 12 + Ports/CLDC11/src/java/util/Collection.java | 22 + Ports/CLDC11/src/java/util/List.java | 33 + Ports/CLDC11/src/java/util/Map.java | 171 +++++ .../util/concurrent/atomic/AtomicBoolean.java | 71 ++ .../util/concurrent/atomic/AtomicInteger.java | 129 ++++ .../util/concurrent/atomic/AtomicLong.java | 129 ++++ .../concurrent/atomic/AtomicReference.java | 89 +++ .../src/java/util/function/BiFunction.java | 5 + Themes/AndroidMaterialTheme.res | Bin 107500 -> 109504 bytes Themes/iOSModernTheme.res | Bin 111414 -> 113418 bytes docs/developer-guide/Animations.asciidoc | 39 + .../developer-guide/Maven-Appendix-Goals.adoc | 2 + .../Miscellaneous-Features.asciidoc | 46 ++ docs/developer-guide/Native-Themes.asciidoc | 31 + .../The-Components-Of-Codename-One.asciidoc | 46 ++ ...appendix_goal_generate_openapi_client.adoc | 124 ++++ docs/developer-guide/graphics.asciidoc | 41 ++ docs/developer-guide/io.asciidoc | 159 +++++ maven/codenameone-maven-plugin/pom.xml | 5 +- .../maven/GenerateOpenApiClientMojo.java | 158 +++++ .../com/codename1/maven/OpenApiCodegen.java | 665 ++++++++++++++++++ .../com/codename1/maven/StubGenerator.java | 17 +- .../codename1/maven/OpenApiCodegenTest.java | 191 +++++ native-themes/android-material/theme.css | 21 + native-themes/ios-modern/theme.css | 24 + .../tests/Cn1ssDeviceRunner.java | 6 + .../MorphTransitionScrolledSourceTest.java | 111 +++ .../tests/MorphTransitionSnapshotTest.java | 73 ++ .../tests/MorphTransitionTest.java | 72 ++ .../common/src/main/resources/skill/SKILL.md | 2 +- .../skill/references/build-and-run.md | 34 + .../skill/references/java-api-subset.md | 118 ++++ .../skill/references/native-interfaces.md | 3 +- .../skill/references/ui-components.md | 64 ++ vm/JavaAPI/src/java/lang/Iterable.java | 15 + vm/JavaAPI/src/java/util/Collection.java | 21 + vm/JavaAPI/src/java/util/List.java | 30 + vm/JavaAPI/src/java/util/Map.java | 182 +++++ .../util/concurrent/atomic/AtomicBoolean.java | 71 ++ .../util/concurrent/atomic/AtomicLong.java | 129 ++++ .../src/java/util/function/BiFunction.java | 5 + 53 files changed, 4624 insertions(+), 46 deletions(-) create mode 100644 CodenameOne/src/com/codename1/io/JSONWriter.java create mode 100644 CodenameOne/src/com/codename1/io/websocket/WebSocket.java create mode 100644 CodenameOne/src/com/codename1/io/websocket/WebSocketNativeImpl.java create mode 100644 CodenameOne/src/com/codename1/io/websocket/WebSocketState.java create mode 100644 CodenameOne/src/com/codename1/io/websocket/package-info.java create mode 100644 Ports/CLDC11/src/java/util/concurrent/atomic/AtomicBoolean.java create mode 100644 Ports/CLDC11/src/java/util/concurrent/atomic/AtomicInteger.java create mode 100644 Ports/CLDC11/src/java/util/concurrent/atomic/AtomicLong.java create mode 100644 Ports/CLDC11/src/java/util/concurrent/atomic/AtomicReference.java create mode 100644 Ports/CLDC11/src/java/util/function/BiFunction.java create mode 100644 docs/developer-guide/appendix_goal_generate_openapi_client.adoc create mode 100644 maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiClientMojo.java create mode 100644 maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/OpenApiCodegen.java create mode 100644 maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/OpenApiCodegenTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionScrolledSourceTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionSnapshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionTest.java create mode 100644 vm/JavaAPI/src/java/util/concurrent/atomic/AtomicBoolean.java create mode 100644 vm/JavaAPI/src/java/util/concurrent/atomic/AtomicLong.java create mode 100644 vm/JavaAPI/src/java/util/function/BiFunction.java diff --git a/CodenameOne/src/com/codename1/io/JSONWriter.java b/CodenameOne/src/com/codename1/io/JSONWriter.java new file mode 100644 index 0000000000..821fdde458 --- /dev/null +++ b/CodenameOne/src/com/codename1/io/JSONWriter.java @@ -0,0 +1,210 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + */ +package com.codename1.io; + +import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/// Convenience JSON writer to complement [JSONParser]. Two access modes: +/// +/// 1. **One-shot**: `JSONWriter.toJson(map)` / +/// `JSONWriter.toJson(map, writer)` -- accepts a `Map`, `List`, `String`, +/// `Number`, `Boolean`, `null`, and arbitrarily nested combinations. +/// +/// 2. **Fluent builder**: `JSONWriter.object().put("name", x).put("values", +/// JSONWriter.array().add("a").add("b")).toJson()` -- for ad-hoc request +/// bodies where a `Map` literal would be noisier than the chain. +/// +/// Encoded output is strict JSON: no trailing commas, all strings +/// double-quoted with the standard backslash escapes for `"`, `\`, `\n`, +/// `\r`, `\t`, and control chars `< 0x20` emitted as `\` + `u00xx`. No +/// pretty-printing layer is included; if you need indented output, run +/// the result through an external formatter at debug time. +/// +/// For typed mapper-based serialization (DTOs annotated with `@Mapped` +/// from the binding framework), use `com.codename1.mapping.Mappers#toJson` +/// instead. `JSONWriter` is for ad-hoc and untyped payloads. +public final class JSONWriter { + + private JSONWriter() { } + + // ---- one-shot ---- + + /// Encodes `value` as JSON and returns the resulting string. Accepts + /// `Map`, `List`, `String`, `Number`, `Boolean`, `null`. Maps with + /// non-String keys are encoded using `String.valueOf(key)`. + public static String toJson(Object value) { + StringBuilder sb = new StringBuilder(); + writeJson(value, sb); + return sb.toString(); + } + + /// Streams `value` as JSON into `writer`. The writer is **not** closed + /// or flushed by this method -- the caller owns the writer. + public static void toJson(Object value, Writer writer) throws IOException { + StringBuilder sb = new StringBuilder(); + writeJson(value, sb); + writer.write(sb.toString()); + } + + /// Streams `value` as JSON into `out` using UTF-8 encoding. The stream + /// is flushed but **not** closed. + public static void toJson(Object value, OutputStream out) throws IOException { + OutputStreamWriter w = new OutputStreamWriter(out, "UTF-8"); + toJson(value, w); + w.flush(); + } + + // ---- fluent builder ---- + + /// Starts a JSON-object builder. Insertion order is preserved. + public static ObjectBuilder object() { + return new ObjectBuilder(); + } + + /// Starts a JSON-array builder. + public static ArrayBuilder array() { + return new ArrayBuilder(); + } + + /// Fluent builder for `{ "k": v, ... }`. Implements `toJson()` to emit + /// the encoded string and exposes the backing `Map` via `toMap()` for + /// callers that need to embed the builder into a larger structure. + public static final class ObjectBuilder { + private final Map map = new LinkedHashMap(); + + ObjectBuilder() { } + + public ObjectBuilder put(String key, Object value) { + map.put(key, unwrap(value)); + return this; + } + + public Map toMap() { return map; } + + public String toJson() { return JSONWriter.toJson(map); } + + @Override + public String toString() { return toJson(); } + } + + /// Fluent builder for `[ ..., ..., ... ]`. + public static final class ArrayBuilder { + private final List list = new ArrayList(); + + ArrayBuilder() { } + + public ArrayBuilder add(Object value) { + list.add(unwrap(value)); + return this; + } + + public List toList() { return list; } + + public String toJson() { return JSONWriter.toJson(list); } + + @Override + public String toString() { return toJson(); } + } + + // ---- internal encoding ---- + + /// Lets builders embed each other transparently: `object().put("xs", + /// array().add(1).add(2))` stores the *list*, not the builder wrapper. + private static Object unwrap(Object value) { + if (value instanceof ObjectBuilder) return ((ObjectBuilder) value).map; + if (value instanceof ArrayBuilder) return ((ArrayBuilder) value).list; + return value; + } + + private static void writeJson(Object o, StringBuilder sb) { + if (o == null) { + sb.append("null"); + return; + } + if (o instanceof Boolean || o instanceof Number) { + sb.append(o); + return; + } + if (o instanceof Map) { + Map m = (Map) o; + sb.append('{'); + boolean first = true; + for (Map.Entry e : m.entrySet()) { + if (!first) sb.append(','); + first = false; + writeString(String.valueOf(e.getKey()), sb); + sb.append(':'); + writeJson(e.getValue(), sb); + } + sb.append('}'); + return; + } + if (o instanceof List) { + sb.append('['); + boolean first = true; + for (Object e : (List) o) { + if (!first) sb.append(','); + first = false; + writeJson(e, sb); + } + sb.append(']'); + return; + } + if (o instanceof ObjectBuilder) { + writeJson(((ObjectBuilder) o).map, sb); + return; + } + if (o instanceof ArrayBuilder) { + writeJson(((ArrayBuilder) o).list, sb); + return; + } + writeString(String.valueOf(o), sb); + } + + private static void writeString(String s, StringBuilder sb) { + sb.append('"'); + int n = s.length(); + for (int i = 0; i < n; i++) { + char c = s.charAt(i); + switch (c) { + case '"': sb.append("\\\""); break; + case '\\': sb.append("\\\\"); break; + case '\n': sb.append("\\n"); break; + case '\r': sb.append("\\r"); break; + case '\t': sb.append("\\t"); break; + case '\b': sb.append("\\b"); break; + case '\f': sb.append("\\f"); break; + default: + if (c < 0x20) { + sb.append("\\u"); + String hex = Integer.toHexString(c); + for (int p = hex.length(); p < 4; p++) sb.append('0'); + sb.append(hex); + } else { + sb.append(c); + } + } + } + sb.append('"'); + } +} diff --git a/CodenameOne/src/com/codename1/io/rest/RequestBuilder.java b/CodenameOne/src/com/codename1/io/rest/RequestBuilder.java index 13e7394c5a..cb2f48d499 100644 --- a/CodenameOne/src/com/codename1/io/rest/RequestBuilder.java +++ b/CodenameOne/src/com/codename1/io/rest/RequestBuilder.java @@ -695,6 +695,127 @@ public ConnectionRequest fetchAsJsonMap(final OnComplete> callback return request; } + /// Executes the request asynchronously when the server is expected to return + /// a **top-level JSON array** (`[{...}, {...}]`). Internally this funnels + /// through the same JSON parser as `#fetchAsJsonMap(OnComplete)`, which + /// wraps top-level arrays under the synthetic key `"root"`; this builder + /// unwraps that key for you so the callback receives the array directly: + /// + /// ```java + /// Rest.get("https://api.example.com/items") + /// .header("Authorization", "Bearer " + token) + /// .acceptJson() + /// .fetchAsJsonList(response -> { + /// List items = response.getResponseData(); + /// renderItems(items); + /// }); + /// ``` + /// + /// If the server returns a JSON object instead of an array, the callback + /// receives an empty list. If you don't know up-front whether the + /// response is an array or an object, use `#fetchAsJsonMap(OnComplete)` + /// and branch on `data.get("root") instanceof List`. + /// + /// #### Parameters + /// + /// - `callback`: writes the response (with the unwrapped list) to this + /// callback. Always invoked on the EDT. + /// + /// #### Returns + /// + /// returns the Connection Request object so it can be killed if necessary + public ConnectionRequest fetchAsJsonList(final OnComplete> callback) { + final Connection request = createRequest(true); + request.addResponseListener(new FetchAsJsonListActionListener(request, callback)); + fetched = true; + CN.addToQueue(request); + return request; + } + + /// Executes the request asynchronously, parses the JSON response, and + /// hands the typed DTO to `callback`. Uses the build-time POJO binding + /// framework: `type` must be annotated with `@Mapped` (see + /// `com.codename1.annotations.Mapped` / + /// `com.codename1.mapping.Mappers`) so the build registers a typed + /// mapper for it. + /// + /// ```java + /// // model + /// @Mapped public final class Asset { + /// @JsonProperty public String id; + /// @JsonProperty public String originalFileName; + /// } + /// + /// // call site + /// Rest.get(url + "/assets/" + id) + /// .header("Authorization", "Bearer " + token) + /// .acceptJson() + /// .fetchAsMapped(Asset.class, response -> { + /// Asset a = response.getResponseData(); // already typed -- no Map casts + /// render(a); + /// }); + /// ``` + /// + /// Compared to `#fetchAsJsonMap(OnComplete)`: no `(Map) cast`, no + /// `m.get("id")` boilerplate, no key-typo surprises at runtime. The + /// per-class mapper is generated by the Maven plugin's + /// `process-annotations` mojo from the `@Mapped` annotation and lives + /// in `.generated.Mapper`. + /// + /// If the type has no registered mapper at runtime, the listener + /// completes with `null` data and a non-200 response code is *not* + /// synthesised -- inspect `response.getResponseCode()` to differentiate + /// "server returned an error" from "no mapper registered". + /// + /// #### Parameters + /// + /// - `type`: the `@Mapped` class to deserialise into + /// - `callback`: invoked on the EDT with the typed result + /// + /// #### Returns + /// + /// the Connection Request object so it can be killed if necessary + public ConnectionRequest fetchAsMapped(final Class type, final OnComplete> callback) { + final Connection request = createRequest(true); + request.addResponseListener(new FetchAsMappedActionListener(request, type, callback)); + fetched = true; + CN.addToQueue(request); + return request; + } + + /// List-typed variant of `#fetchAsMapped(Class, OnComplete)`. Use when + /// the server returns a top-level JSON array of DTOs: + /// + /// ```java + /// Rest.get(url + "/albums") + /// .header("Authorization", "Bearer " + token) + /// .acceptJson() + /// .fetchAsMappedList(Album.class, response -> { + /// List albums = response.getResponseData(); + /// renderAlbums(albums); + /// }); + /// ``` + /// + /// Internally goes through the same `{"root": [...]}` envelope as + /// `#fetchAsJsonList(OnComplete)`, then maps each element through the + /// registered mapper for `type`. + /// + /// #### Parameters + /// + /// - `type`: the per-element `@Mapped` class + /// - `callback`: invoked on the EDT with `List` data + /// + /// #### Returns + /// + /// the Connection Request object so it can be killed if necessary + public ConnectionRequest fetchAsMappedList(final Class type, final OnComplete>> callback) { + final Connection request = createRequest(true); + request.addResponseListener(new FetchAsMappedListActionListener(request, type, callback)); + fetched = true; + CN.addToQueue(request); + return request; + } + /// Executes the request asynchronously and writes the response to the provided /// Callback. This fetches JSON data and parses it into a properties business object /// @@ -1146,6 +1267,116 @@ public void actionPerformed(NetworkEvent evt) { } } + private static class FetchAsJsonListActionListener implements ActionListener { + private final Connection request; + private final OnComplete> callback; + + public FetchAsJsonListActionListener(Connection request, OnComplete> callback) { + this.request = request; + this.callback = callback; + } + + @Override + public void actionPerformed(NetworkEvent evt) { + if (request.errorCode) { + return; + } + // The JSONParser wraps top-level arrays under "root". + Map parsed = (Map) evt.getMetaData(); + List list; + if (parsed != null && parsed.get("root") instanceof List) { + list = (List) parsed.get("root"); + } else { + list = java.util.Collections.emptyList(); + } + Response res = new Response(evt.getResponseCode(), list, evt.getMessage()); + callback.completed(res); + } + } + + /// Routes a JSON-object response through the build-time POJO mapping + /// framework. Returns a `null` typed result when no mapper is registered + /// for `type` (typical cause: forgot `@Mapped` on the class, or the + /// process-annotations Mojo didn't run). + private static class FetchAsMappedActionListener implements ActionListener { + private final Connection request; + private final Class type; + private final OnComplete> callback; + + public FetchAsMappedActionListener(Connection request, Class type, OnComplete> callback) { + this.request = request; + this.type = type; + this.callback = callback; + } + + @Override + @SuppressWarnings({"unchecked", "rawtypes"}) + public void actionPerformed(NetworkEvent evt) { + if (request.errorCode) { + return; + } + Map parsed = (Map) evt.getMetaData(); + T result = null; + if (parsed != null) { + com.codename1.mapping.Mapper m = + com.codename1.mapping.Mappers.get(type); + if (m != null) { + result = m.fromMap(parsed); + } + } + Response res = new Response(evt.getResponseCode(), result, evt.getMessage()); + callback.completed(res); + } + } + + /// List-typed mapped variant. Pulls the array out of the top-level + /// JSON envelope (same as `FetchAsJsonListActionListener`), then maps + /// each element through the registered mapper for `type`. + private static class FetchAsMappedListActionListener implements ActionListener { + private final Connection request; + private final Class type; + private final OnComplete>> callback; + + public FetchAsMappedListActionListener(Connection request, Class type, OnComplete>> callback) { + this.request = request; + this.type = type; + this.callback = callback; + } + + @Override + @SuppressWarnings({"unchecked", "rawtypes"}) + public void actionPerformed(NetworkEvent evt) { + if (request.errorCode) { + return; + } + Map parsed = (Map) evt.getMetaData(); + List raw = null; + if (parsed != null && parsed.get("root") instanceof List) { + raw = (List) parsed.get("root"); + } + List out; + if (raw == null) { + out = java.util.Collections.emptyList(); + } else { + com.codename1.mapping.Mapper m = + com.codename1.mapping.Mappers.get(type); + if (m == null) { + out = java.util.Collections.emptyList(); + } else { + out = new java.util.ArrayList(raw.size()); + for (Object e : raw) { + if (e instanceof Map) { + Map mm = (Map) e; + out.add(m.fromMap(mm)); + } + } + } + } + Response> res = new Response>(evt.getResponseCode(), out, evt.getMessage()); + callback.completed(res); + } + } + private static class GetAsBytesAsyncImplActionListener implements ActionListener { private final Connection request; private final Object callback; diff --git a/CodenameOne/src/com/codename1/io/websocket/WebSocket.java b/CodenameOne/src/com/codename1/io/websocket/WebSocket.java new file mode 100644 index 0000000000..5abd8ecd65 --- /dev/null +++ b/CodenameOne/src/com/codename1/io/websocket/WebSocket.java @@ -0,0 +1,247 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + * + * Originally written by Steve Hannah for the cn1-websockets cn1lib, MIT + * licensed. Moved into Codename One core with a contributor-grant retained. + */ +package com.codename1.io.websocket; + +import com.codename1.system.NativeLookup; +import com.codename1.ui.Display; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +/// Client-side WebSocket connection following RFC 6455. Subclass and override +/// the four `onXxx` callbacks, then call `#connect()` to open the handshake. +/// +/// ```java +/// WebSocket socket = new WebSocket("wss://example.com/socket") { +/// @Override protected void onOpen() { send("hello"); } +/// @Override protected void onMessage(String message) { Log.p("recv: " + message); } +/// @Override protected void onMessage(byte[] message) { Log.p("recv " + message.length + " bytes"); } +/// @Override protected void onClose(int statusCode, String reason) { Log.p("closed: " + reason); } +/// @Override protected void onError(Exception ex) { Log.e(ex); } +/// }; +/// socket.connect(); +/// ``` +/// +/// All five `onXxx` callbacks fire on the Codename One EDT, so they may +/// touch UI directly. `send(...)` may be called from any thread. +/// +/// Check `#isSupported()` before constructing one -- support requires a +/// per-platform native implementation; platforms without one return `false`. +public abstract class WebSocket { + private static int nextId = 1; + private static final Map sockets = new HashMap(); + + private WebSocketNativeImpl impl; + private final String url; + private Thread socketThread; + private boolean connecting; + + /// Failure surfaced by the underlying transport. Carries the + /// platform-specific error code so callers can branch on + /// "connection refused" vs "TLS error" vs "protocol violation" when the + /// platform exposes that detail. + public static class WebSocketException extends IOException { + private final int code; + + public WebSocketException(String message, int code) { + super(message); + this.code = code; + } + + public int getCode() { + return code; + } + } + + /// Returns `true` if the current platform ships a WebSocket native + /// implementation. Always check before constructing -- on platforms + /// without an implementation (or in tests with the native layer + /// stubbed out) the constructor returns a non-functional instance. + public static boolean isSupported() { + try { + WebSocketNativeImpl impl = (WebSocketNativeImpl) NativeLookup.create(WebSocketNativeImpl.class); + return impl != null && impl.isSupported(); + } catch (Throwable t) { + return false; + } + } + + public WebSocket(String url) { + this.url = url; + impl = (WebSocketNativeImpl) NativeLookup.create(WebSocketNativeImpl.class); + if (impl != null) { + int id = nextId++; + impl.setId(id); + sockets.put(id, this); + } + } + + /// Called on the EDT when the opening handshake has succeeded. + protected abstract void onOpen(); + + /// Called on the EDT when the connection has closed (either side). + /// `statusCode` is the WebSocket close code (RFC 6455 section 7.4). + protected abstract void onClose(int statusCode, String reason); + + /// Called on the EDT when a text frame arrives. + protected abstract void onMessage(String message); + + /// Called on the EDT when a binary frame arrives. + protected abstract void onMessage(byte[] message); + + /// Called on the EDT when the transport raises an error. The exception is + /// usually a `WebSocketException`. + protected abstract void onError(Exception ex); + + /// Sends a text frame. If the connection isn't open the call is routed + /// through `#onError` rather than throwing. + public void send(String message) { + if (impl != null && getReadyState() == WebSocketState.OPEN) { + impl.sendString(message); + } else { + onError(new IOException( + "Attempt to send message while socket is not open: " + getReadyState())); + } + } + + /// Sends a binary frame. Same error-routing contract as `#send(String)`. + public void send(byte[] message) { + if (impl != null && getReadyState() == WebSocketState.OPEN) { + impl.sendBytes(message); + } else { + onError(new IOException( + "Attempt to send message while socket is not open: " + getReadyState())); + } + } + + /// Initiates the closing handshake. The `#onClose` callback fires once the + /// peer acknowledges. Calling `close()` on an already-closed socket is a + /// no-op. + public void close() { + if (impl != null && getReadyState() != WebSocketState.CLOSED) { + impl.close(); + } + } + + /// Initiates the opening handshake. May be called from the EDT (in which + /// case the actual `setUrl` + `connect` happens on a dedicated worker + /// thread to avoid blocking the UI). Subsequent state transitions are + /// dispatched back via the `onXxx` callbacks. + public void connect() { + if (connecting || getReadyState() != WebSocketState.CLOSED || impl == null) { + return; + } + if (Display.getInstance().isEdt()) { + socketThread = Display.getInstance().startThread(new Runnable() { + @Override + public void run() { + connect(); + } + }, "WebSocket"); + socketThread.start(); + } else { + connecting = true; + try { + impl.setUrl(url); + impl.connect(); + } finally { + connecting = false; + } + } + } + + /// Returns the current state of the socket. See [WebSocketState]. + public WebSocketState getReadyState() { + if (impl == null) { + return connecting ? WebSocketState.CONNECTING : WebSocketState.CLOSED; + } + int state = impl.getReadyState(); + switch (state) { + case 0: return WebSocketState.CONNECTING; + case 1: return WebSocketState.OPEN; + case 2: return WebSocketState.CLOSING; + default: return WebSocketState.CLOSED; + } + } + + /// Utility for the iOS port -- allocates a byte array from Java so the + /// native side can fill it without crossing the bridge for each byte. + static byte[] newByteArray(int len) { + return new byte[len]; + } + + // ---- Native-to-Java callback entry points. Marked @Deprecated only to + // ---- hint that application code shouldn't call them; the per-platform + // ---- native impls do, by mangled symbol name. + + /// @deprecated Internal callback for native implementations. + @Deprecated + public static void messageReceived(int id, String message) { + WebSocket socket = sockets.get(id); + if (socket != null) { + socket.connecting = false; + socket.onMessage(message); + } + } + + /// @deprecated Internal callback for native implementations. + @Deprecated + public static void messageReceived(int id, byte[] message) { + WebSocket socket = sockets.get(id); + if (socket != null) { + socket.onMessage(message); + } + } + + /// @deprecated Internal callback for native implementations. Wrapper + /// around `#messageReceived(int, byte[])` to work around an old issue + /// with overloaded-method dispatch in the JavaScript port. + @Deprecated + public static void messageReceivedBytes(int id, byte[] message) { + messageReceived(id, message); + } + + /// @deprecated Internal callback for native implementations. + @Deprecated + public static void closeReceived(int id, int statusCode, String reason) { + WebSocket socket = sockets.remove(id); + if (socket != null) { + socket.onClose(statusCode, reason); + } + } + + /// @deprecated Internal callback for native implementations. + @Deprecated + public static void openReceived(int id) { + WebSocket socket = sockets.get(id); + if (socket != null) { + socket.onOpen(); + } + } + + /// @deprecated Internal callback for native implementations. + @Deprecated + public static void errorReceived(int id, String message, int code) { + WebSocket socket = sockets.get(id); + if (socket != null) { + socket.onError(new WebSocketException(message, code)); + } + } +} diff --git a/CodenameOne/src/com/codename1/io/websocket/WebSocketNativeImpl.java b/CodenameOne/src/com/codename1/io/websocket/WebSocketNativeImpl.java new file mode 100644 index 0000000000..9cad6557dc --- /dev/null +++ b/CodenameOne/src/com/codename1/io/websocket/WebSocketNativeImpl.java @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + * + * Originally written by Steve Hannah for the cn1-websockets cn1lib, MIT + * licensed. Moved into Codename One core with a contributor-grant retained. + */ +package com.codename1.io.websocket; + +import com.codename1.system.NativeInterface; + +/// Per-platform native interface backing [WebSocket]. Application code does +/// not call this directly -- subclass [WebSocket] instead and the framework +/// wires up the right per-platform implementation through `NativeLookup`. +/// +/// Implementations live outside core: +/// +/// - iOS: a `URLSessionWebSocketTask` wrapper in `ios/src/main/objectivec/` +/// - Android: an `OkHttp` `WebSocket` client (or the JDK `java.net.http.WebSocket` +/// on API 33+) in `android/src/main/java/` +/// - JavaScript: a thin `window.WebSocket` wrapper in `javascript/src/main/javascript/` +/// - Desktop / simulator: a Tyrus or `java.net.http.WebSocket` adapter +/// +/// Each implementation receives a numeric ID from the framework, opens its +/// underlying connection, and dispatches inbound events back to the Java +/// side via the static callbacks on [WebSocket] (`openReceived`, +/// `messageReceived`, `closeReceived`, `errorReceived`). +public interface WebSocketNativeImpl extends NativeInterface { + /// Sets the URL for the connection. Called before `#connect()`. + void setUrl(String url); + + /// Assigns a per-instance identifier the framework uses to route inbound + /// events back to the correct Java-side `WebSocket` instance. + void setId(int id); + + /// Returns the identifier set via `#setId(int)`. + int getId(); + + /// Sends a binary frame. Called only when `#getReadyState()` is + /// `WebSocketState#OPEN`. + void sendBytes(byte[] message); + + /// Sends a UTF-8 text frame. Called only when `#getReadyState()` is + /// `WebSocketState#OPEN`. + void sendString(String message); + + /// Initiates the closing handshake. Subsequent reads will continue to + /// fire until the server confirms the close. + void close(); + + /// Initiates the opening handshake. Returns immediately; the framework + /// expects an `openReceived` callback (or `errorReceived`) asynchronously. + void connect(); + + /// Returns the current state as a small int: + /// 0 = `CONNECTING`, 1 = `OPEN`, 2 = `CLOSING`, anything else = `CLOSED`. + /// The Java-side translates this back to a [WebSocketState]. + int getReadyState(); +} diff --git a/CodenameOne/src/com/codename1/io/websocket/WebSocketState.java b/CodenameOne/src/com/codename1/io/websocket/WebSocketState.java new file mode 100644 index 0000000000..66f1d61f13 --- /dev/null +++ b/CodenameOne/src/com/codename1/io/websocket/WebSocketState.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + * + * Originally written by Steve Hannah for the cn1-websockets cn1lib, MIT + * licensed. Moved into Codename One core with a contributor-grant retained. + */ +package com.codename1.io.websocket; + +/// Connection lifecycle state of a [WebSocket]. Mirrors the WebSocket +/// protocol state machine from RFC 6455. +public enum WebSocketState { + /// An opening handshake is being performed (RFC 6455 section 4). + CONNECTING, + + /// The connection is established and usable (the opening handshake + /// has succeeded). + OPEN, + + /// A closing handshake is being performed (RFC 6455 section 7). + CLOSING, + + /// The connection is closed. + CLOSED +} diff --git a/CodenameOne/src/com/codename1/io/websocket/package-info.java b/CodenameOne/src/com/codename1/io/websocket/package-info.java new file mode 100644 index 0000000000..39ba48c31a --- /dev/null +++ b/CodenameOne/src/com/codename1/io/websocket/package-info.java @@ -0,0 +1,23 @@ +/// Client-side WebSocket support. +/// +/// Promoted into Codename One core from the legacy `cn1-websockets` cn1lib. +/// Application code subclasses [com.codename1.io.websocket.WebSocket] and +/// overrides the four `onXxx` callbacks; the framework dispatches inbound +/// events on the EDT via a per-platform [com.codename1.io.websocket.WebSocketNativeImpl]. +/// +/// Per-platform implementations live next to the rest of the platform port: +/// +/// - iOS: `ios/src/main/objectivec/com_codename1_io_websocket_WebSocketNativeImplImpl.{h,m}` +/// wrapping `URLSessionWebSocketTask` (iOS 13+). +/// - Android: `android/src/main/java/com/codename1/io/websocket/WebSocketNativeImplImpl.java` +/// wrapping `okhttp3.WebSocket` or `java.net.http.WebSocket` (API 33+). +/// - JavaScript: `javascript/src/main/javascript/com_codename1_io_websocket_WebSocketNativeImplImpl.js` +/// wrapping `window.WebSocket`. +/// - JavaSE simulator: `javase/src/main/java/com/codename1/io/websocket/WebSocketNativeImplImpl.java` +/// wrapping `java.net.http.WebSocket` (JDK 11+). +/// +/// Each impl receives a numeric ID via `setId(int)` from the framework, opens +/// its underlying connection, and dispatches inbound events through the +/// static callbacks on [com.codename1.io.websocket.WebSocket] +/// (`openReceived`, `messageReceived`, `closeReceived`, `errorReceived`). +package com.codename1.io.websocket; diff --git a/CodenameOne/src/com/codename1/ui/Component.java b/CodenameOne/src/com/codename1/ui/Component.java index d25adfa0e1..e7198daf26 100644 --- a/CodenameOne/src/com/codename1/ui/Component.java +++ b/CodenameOne/src/com/codename1/ui/Component.java @@ -5265,6 +5265,19 @@ public void addPullToRefresh(Runnable task) { this.refreshTask = task; } + /// Alias for `#addPullToRefresh(Runnable)`. Provided because the natural + /// guess from Flutter (`RefreshIndicator`), React Native + /// (`refreshControl`) and SwiftUI (`refreshable`) is `setPullToRefresh`, + /// not `addPullToRefresh`. Both names point at the same single-task + /// slot -- a second call replaces the previously-registered runnable. + /// + /// #### Parameters + /// + /// - `task`: the refresh task to execute, or `null` to clear. + public void setPullToRefresh(Runnable task) { + this.refreshTask = task; + } + /// Checks if the component responds to pointer events. A component is considered /// to respond to pointer events if it is visible and enabled, and is either scrollable, /// focusable, or has the `#isGrabsPointerEvents()` flag true. diff --git a/CodenameOne/src/com/codename1/ui/Tabs.java b/CodenameOne/src/com/codename1/ui/Tabs.java index 786fefc565..dcc2b23e43 100644 --- a/CodenameOne/src/com/codename1/ui/Tabs.java +++ b/CodenameOne/src/com/codename1/ui/Tabs.java @@ -138,6 +138,20 @@ public class Tabs extends Container { private boolean blockSwipe; private boolean riskySwipe; + // ---- Animated tab indicator (Material 3 "NavigationBar" style) ---- + // Off by default. Enable with #setAnimatedIndicator(true) or the + // `tabsAnimatedIndicatorBool` theme constant. When on, a coloured + // underline drawn under the currently-selected tab tweens its + // x/width between the previous and new tabs on selection change. + private boolean animatedIndicator; + private int animatedIndicatorDurationMs = 200; + private int animatedIndicatorThicknessMm = 1; // 1mm-tall underline + private Motion indicatorAnimMotion; + // Tab bounds at the start of the indicator animation. + private int indicatorFromX, indicatorFromW; + // Tab bounds at the end of the indicator animation. + private int indicatorToX, indicatorToW; + /// Creates an empty `TabbedPane` with a default /// tab placement of `Component.TOP`. public Tabs() { @@ -157,7 +171,18 @@ public Tabs(int tabP) { focusListener = new TabFocusListener(); contentPane.setUIID("TabbedPane"); super.addComponent(BorderLayout.CENTER, contentPane); - tabsContainer = new Container(); + // Custom Container subclass that lets us paint the animated indicator + // on top of children (over the tab buttons' selected-state background) + // when `animatedIndicator` is on. When the feature is off, the + // override is a no-op extra call and visually indistinguishable from + // a plain Container. + tabsContainer = new Container() { + @Override + public void paint(Graphics g) { + super.paint(g); + paintAnimatedIndicator(g); + } + }; // tabsSafeAreaBool=true (default): legacy / flush-bar themes keep the // safe-area inset as PADDING on the pill itself - the bar's // background reaches the screen edge with tabs sitting above the @@ -197,6 +222,9 @@ public Tabs(int tabP) { drag = new SwipeListener(SwipeListener.DRAG); release = new SwipeListener(SwipeListener.RELEASE); setUIIDFinal("Tabs"); + // Opt-in animated indicator (Material 3 NavigationBar style). + animatedIndicator = getUIManager().isThemeConstant("tabsAnimatedIndicatorBool", false); + animatedIndicatorDurationMs = getUIManager().getThemeConstant("tabsAnimatedIndicatorDurationInt", 200); BorderLayout bd = (BorderLayout) super.getLayout(); if (bd != null) { if (UIManager.getInstance().isThemeConstant("tabsOnTopBool", false)) { @@ -320,6 +348,18 @@ protected void initComponent() { @Override public boolean animate() { boolean b = super.animate(); + // Indicator-animation tick: redraw the tab bar each frame while + // the motion is in flight. We let the existing super.animate / + // slide motion control deregistration; the indicator motion is + // cheap enough to run alongside without coordination. + if (indicatorAnimMotion != null) { + if (indicatorAnimMotion.isFinished()) { + indicatorAnimMotion = null; + } else { + tabsContainer.repaint(); + b = true; + } + } if (slideToDestMotion != null) { if (swipeOnXAxis) { int motionX = slideToDestMotion.getValue(); @@ -1258,6 +1298,10 @@ public void setSelectedIndex(int index, boolean slideToSelected) { if (index == activeComponent) { return; } + // Snapshot the current tab bounds *before* we mutate state, so the + // animated indicator can tween from where it visibly is to the new + // selection's bounds. + startIndicatorAnimation(activeComponent, index); Form form = getComponentForm(); if (slideToSelected && form != null) { @@ -1300,6 +1344,105 @@ protected void selectTab(Component tab) { b.requestFocus(); } + /// Enables the Material 3 sliding-underline indicator (off by default). + /// When on, selection changes tween the indicator from the old tab's + /// bounds to the new tab's bounds over `tabsAnimatedIndicatorDurationInt` + /// milliseconds (default 200, ease-in-out cubic). + /// + /// Color is taken from the `TabIndicator` UIID's foreground color when + /// it exists, otherwise from the currently-selected tab's foreground color. + /// Thickness is 1mm; override with the `tabsAnimatedIndicatorThicknessMm` + /// theme constant (in millimeters). + public void setAnimatedIndicator(boolean enable) { + this.animatedIndicator = enable; + // First frame: snap the indicator to the currently-selected tab so + // it appears immediately on enable rather than on the next change. + if (enable && tabsContainer.getComponentCount() > 0) { + Component active = tabsContainer.getComponentAt(activeComponent); + indicatorFromX = active.getX(); + indicatorFromW = active.getWidth(); + indicatorToX = indicatorFromX; + indicatorToW = indicatorFromW; + } + tabsContainer.repaint(); + } + + /// Returns whether the animated tab indicator is enabled. See + /// `#setAnimatedIndicator(boolean)`. + public boolean isAnimatedIndicator() { + return animatedIndicator; + } + + private void startIndicatorAnimation(int fromIndex, int toIndex) { + if (!animatedIndicator || tabsContainer == null) { + return; + } + if (fromIndex < 0 || fromIndex >= tabsContainer.getComponentCount() + || toIndex < 0 || toIndex >= tabsContainer.getComponentCount()) { + return; + } + Component fromTab = tabsContainer.getComponentAt(fromIndex); + Component toTab = tabsContainer.getComponentAt(toIndex); + // If a motion is already in flight, start from the *current* + // interpolated position, not from the previous tab -- otherwise + // rapid double-clicks jump back to a stale baseline. + if (indicatorAnimMotion != null && !indicatorAnimMotion.isFinished()) { + int v = indicatorAnimMotion.getValue(); + indicatorFromX = indicatorFromX + ((indicatorToX - indicatorFromX) * v / 100); + indicatorFromW = indicatorFromW + ((indicatorToW - indicatorFromW) * v / 100); + } else { + indicatorFromX = fromTab.getX(); + indicatorFromW = fromTab.getWidth(); + } + indicatorToX = toTab.getX(); + indicatorToW = toTab.getWidth(); + indicatorAnimMotion = Motion.createEaseInOutMotion(0, 100, animatedIndicatorDurationMs); + indicatorAnimMotion.start(); + Form f = getComponentForm(); + if (f != null) { + f.registerAnimatedInternal(this); + } + } + + /// Draws the animated indicator inside `tabsContainer`'s paint flow. Called + /// from the inner `Container` subclass installed as `tabsContainer`. + void paintAnimatedIndicator(Graphics g) { + if (!animatedIndicator || tabsContainer.getComponentCount() == 0) { + return; + } + int x, w; + if (indicatorAnimMotion != null) { + int v = indicatorAnimMotion.getValue(); // 0..100 + x = indicatorFromX + ((indicatorToX - indicatorFromX) * v / 100); + w = indicatorFromW + ((indicatorToW - indicatorFromW) * v / 100); + } else { + // At rest: pin to the currently-selected tab. + Component active = tabsContainer.getComponentAt(activeComponent); + x = active.getX(); + w = active.getWidth(); + } + int thicknessMm = getUIManager().getThemeConstant("tabsAnimatedIndicatorThicknessMm", animatedIndicatorThicknessMm); + int thickness = Display.getInstance().convertToPixels(thicknessMm); + // Use TabIndicator UIID color if present; otherwise pull from the + // selected tab's foreground. + int color; + Style indicatorStyle = getUIManager().getComponentStyle("TabIndicator"); + if (indicatorStyle != null && indicatorStyle.getFgColor() != 0) { + color = indicatorStyle.getFgColor(); + } else { + Component active = tabsContainer.getComponentAt(activeComponent); + color = active.getSelectedStyle().getFgColor(); + } + int oldAlpha = g.getAlpha(); + int oldColor = g.getColor(); + g.setColor(color); + g.setAlpha(255); + int y = tabsContainer.getInnerY() + tabsContainer.getInnerHeight() - thickness; + g.fillRect(tabsContainer.getInnerX() + x, y, w, thickness); + g.setColor(oldColor); + g.setAlpha(oldAlpha); + } + /// Hide the tabs bar public void hideTabs() { removeComponent(tabsContainerHost != null ? tabsContainerHost : tabsContainer); diff --git a/CodenameOne/src/com/codename1/ui/URLImage.java b/CodenameOne/src/com/codename1/ui/URLImage.java index 595c9729a0..1cb906a7c4 100644 --- a/CodenameOne/src/com/codename1/ui/URLImage.java +++ b/CodenameOne/src/com/codename1/ui/URLImage.java @@ -165,23 +165,92 @@ public boolean isAsyncAdapter() { private static final EasyThread imageLoader = EasyThread.start("ImageLoader"); /// The exception handler is used for callbacks in case of an error private static ErrorCallback exceptionHandler; + /// Global default applied to every URLImage download request that doesn't + /// already carry a per-instance decorator. See `#setDefaultRequestDecorator`. + private static RequestDecorator defaultRequestDecorator; private final EncodedImage placeholder; private final String url; private final ImageAdapter adapter; private final String storageFile; private final String fileSystemFile; + private final RequestDecorator requestDecorator; private boolean fetching; private byte[] imageData; private boolean repaintImage; private boolean locked; private URLImage(EncodedImage placeholder, String url, ImageAdapter adapter, String storageFile, String fileSystemFile) { + this(placeholder, url, adapter, storageFile, fileSystemFile, null); + } + + private URLImage(EncodedImage placeholder, String url, ImageAdapter adapter, + String storageFile, String fileSystemFile, + RequestDecorator requestDecorator) { super(placeholder.getWidth(), placeholder.getHeight()); this.placeholder = placeholder; this.url = url; this.adapter = adapter; this.storageFile = storageFile; this.fileSystemFile = fileSystemFile; + this.requestDecorator = requestDecorator; + } + + /// Decorator hook applied to the `ConnectionRequest` that loads a + /// network-backed `URLImage`. Useful when the image endpoint sits + /// behind an `Authorization: Bearer ...` header, when you need to + /// override the user-agent, set a cookie, or anything else + /// `ConnectionRequest` exposes. + /// + /// Two ways to install one: + /// + /// - **Global default**: + /// `URLImage.setDefaultRequestDecorator(req -> + /// req.addRequestHeader("Authorization", "Bearer " + token));` -- + /// applies to every `URLImage` from then on. This covers the common + /// "all our images are private" case in one app-boot line. + /// + /// - **Per-image**: use the + /// `createToStorage(EncodedImage, String, String, ImageAdapter, + /// RequestDecorator)` overload. Per-instance decorators run **after** + /// the global default, so the per-call decorator can override or + /// augment headers set by the default. + public interface RequestDecorator { + void decorate(com.codename1.io.ConnectionRequest req); + } + + /// Installs a global `RequestDecorator`. Pass `null` to clear the + /// existing default. The decorator runs on every URLImage's + /// `ConnectionRequest` immediately before it's queued. + public static void setDefaultRequestDecorator(RequestDecorator decorator) { + defaultRequestDecorator = decorator; + } + + /// Returns the global default decorator installed via + /// `#setDefaultRequestDecorator(RequestDecorator)`, or `null`. + public static RequestDecorator getDefaultRequestDecorator() { + return defaultRequestDecorator; + } + + /// Convenience for the most common case: every URLImage fetch should + /// carry the same `Authorization: Bearer ` header. Equivalent + /// to `setDefaultRequestDecorator(req -> req.addRequestHeader( + /// "Authorization", "Bearer " + token))`. + /// + /// Pass `null` to clear. Subsequent calls replace the previously-set + /// header value; the same `Authorization` header is not appended + /// twice. + public static void setDefaultBearerToken(String token) { + if (token == null) { + defaultRequestDecorator = null; + return; + } + final String headerValue = "Bearer " + token; + defaultRequestDecorator = new RequestDecorator() { + @Override + public void decorate(com.codename1.io.ConnectionRequest req) { + req.addRequestHeader("Authorization", headerValue); + } + }; } /// The exception handler is used for callbacks in case of an error @@ -283,12 +352,27 @@ public static URLImage createToStorage(EncodedImage placeholder, String storageF /// /// a URLImage that will initialy just delegate to the placeholder public static URLImage createToStorage(EncodedImage placeholder, String storageFile, String url, ImageAdapter adapter) { + return createToStorage(placeholder, storageFile, url, adapter, null); + } + + /// Same as `#createToStorage(EncodedImage, String, String, ImageAdapter)`, + /// plus a per-call `RequestDecorator` applied to the + /// `ConnectionRequest` that fetches the image bytes. Use when the URL + /// requires authentication, custom headers, or other + /// `ConnectionRequest` configuration not covered by the default. + /// + /// If a global default decorator is also installed via + /// `#setDefaultRequestDecorator(RequestDecorator)`, the global default + /// runs first, then the per-call decorator -- so the per-call decorator + /// can override headers set by the default. + public static URLImage createToStorage(EncodedImage placeholder, String storageFile, String url, + ImageAdapter adapter, RequestDecorator decorator) { // intern is used to trigger an NPE in case of a null URL or storage file URLImage out = pendingToStorage.get(storageFile); if (out != null) { return out; } - out = new URLImage(placeholder, url.intern(), adapter, storageFile.intern(), null); + out = new URLImage(placeholder, url.intern(), adapter, storageFile.intern(), null, decorator); pendingToStorage.put(storageFile, out); return out; } @@ -502,56 +586,58 @@ public void fetch() { } if (adapter != null) { if (url.startsWith("http://") || url.startsWith("https://")) { - Util.downloadImageToStorage(url, storageFile + IMAGE_SUFFIX, - new SuccessCallback() { + SuccessCallback downloadCb = new SuccessCallback() { + @Override + public void onSucess(final Image value) { + imageLoader.run(new Runnable() { @Override - public void onSucess(final Image value) { - imageLoader.run(new Runnable() { + public void run() { + runAndWait(new Runnable() { @Override public void run() { - runAndWait(new Runnable() { - @Override - public void run() { - DownloadCompleted onComplete = new DownloadCompleted(); - onComplete.setSourceImage(value); - onComplete.actionPerformed(new ActionEvent(value)); - } - }); + DownloadCompleted onComplete = new DownloadCompleted(); + onComplete.setSourceImage(value); + onComplete.actionPerformed(new ActionEvent(value)); } }); - - } - }); + } + }; + if (hasRequestDecorator()) { + downloadDecorated(url, storageFile + IMAGE_SUFFIX, downloadCb); + } else { + Util.downloadImageToStorage(url, storageFile + IMAGE_SUFFIX, downloadCb); + } } else { // from file loadImageFromLocalUrl(storageFile + IMAGE_SUFFIX, false); } } else { if (url.startsWith("http://") || url.startsWith("https://")) { - // Load image from http - Util.downloadImageToStorage(url, storageFile, - new SuccessCallback() { + SuccessCallback downloadCb = new SuccessCallback() { + @Override + public void onSucess(final Image value) { + imageLoader.run(new Runnable() { @Override - public void onSucess(final Image value) { - imageLoader.run(new Runnable() { + public void run() { + runAndWait(new Runnable() { @Override public void run() { - runAndWait(new Runnable() { - @Override - public void run() { - DownloadCompleted onComplete = new DownloadCompleted(); - onComplete.setSourceImage(value); - onComplete.actionPerformed(new ActionEvent(value)); - } - }); + DownloadCompleted onComplete = new DownloadCompleted(); + onComplete.setSourceImage(value); + onComplete.actionPerformed(new ActionEvent(value)); } }); - - } }); + } + }; + if (hasRequestDecorator()) { + downloadDecorated(url, storageFile, downloadCb); + } else { + Util.downloadImageToStorage(url, storageFile, downloadCb); + } } else { //load image from file system loadImageFromLocalUrl(storageFile, false); @@ -773,6 +859,53 @@ public boolean isAsyncAdapter() { } } + /// Whether this URLImage has an applicable RequestDecorator (per-instance + /// or a global default). + private boolean hasRequestDecorator() { + return requestDecorator != null || defaultRequestDecorator != null; + } + + /// Downloads `url` to `Storage` under `storageKey`, applying the global + /// default `RequestDecorator` then the per-instance one to the + /// `ConnectionRequest` before queueing. Mirrors the contract of + /// `Util.downloadImageToStorage(url, storageKey, onSuccess)`: invokes + /// `onSuccess` on the EDT with the decoded `Image` when the file is + /// fully written. + /// + /// We can't reuse `Util.downloadImageToStorage(...)` directly here + /// because it offers no extension point for decorating the underlying + /// `ConnectionRequest`; this method assembles an equivalent request + /// inline so the decorators can run before the queue dispatch. + private void downloadDecorated(final String url, final String storageKey, + final SuccessCallback onSuccess) { + com.codename1.io.ConnectionRequest cr = new com.codename1.io.ConnectionRequest(); + cr.setPost(false); + cr.setFailSilently(true); + cr.setReadResponseForErrors(false); + cr.setDuplicateSupported(true); + cr.setUrl(url); + // Run decorators first so anything they set is in place by the time + // the network manager pulls the request off the queue. + if (defaultRequestDecorator != null) { + defaultRequestDecorator.decorate(cr); + } + if (requestDecorator != null) { + requestDecorator.decorate(cr); + } + cr.downloadImageToStorage(storageKey, onSuccess, new com.codename1.util.FailureCallback() { + @Override + public void onError(Object sender, Throwable err, int errorCode, String errorMessage) { + if (exceptionHandler != null) { + exceptionHandler.onError(URLImage.this, new java.io.IOException( + "Image download failed (" + errorCode + "): " + errorMessage)); + } else { + com.codename1.io.Log.e(new RuntimeException( + "URLImage download failed (" + errorCode + "): " + errorMessage)); + } + } + }); + } + /// CachedImage used by `java.lang.String, com.codename1.ui.Image, int)` private static class CachedImage extends Image { int resizeRule; diff --git a/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java b/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java index 1f3e2cea5b..f31a46b6ff 100644 --- a/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java +++ b/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java @@ -44,10 +44,52 @@ public final class MorphTransition extends Transition { private CC[] fromToComponents; private Motion animationMotion; private boolean finished; + /// Opt-in snapshot mode -- when on, source / destination components are + /// captured as clipped `Image`s at `initTransition()` time and the tween + /// draws those images rather than re-painting the live components every + /// frame. See `#snapshotMode(boolean)`. + private boolean snapshotMode; private MorphTransition() { } + /// Enables the image-snapshot path. Each `(source, dest)` pair is rendered + /// once into an `Image` at `initTransition()` (clipped to the component's + /// own bounds; off-viewport children do not contribute pixels), then the + /// tween draws those images at the interpolated `(x, y, w, h)`. + /// + /// Use this when: + /// + /// - The source lives inside a scrolling container whose + /// `scrollX`/`scrollY` would otherwise leak off-viewport child pixels + /// into the morph (the cross-form morph clipping artifact). + /// - The source has children with dynamic content (a `BrowserComponent`, + /// a video frame, a custom-painted background) that should be frozen + /// visually for the duration of the animation. + /// - The source's parent applies a clip that the layered pane wouldn't + /// replicate. + /// + /// Default is **off** to preserve back-compat with the legacy live-paint + /// path. Always pair with a screenshot regression test (see + /// `scripts/hellocodenameone/.../MorphTransitionTest`). + /// + /// #### Parameters + /// + /// - `enabled`: `true` to snapshot, `false` for the legacy live-paint mode + /// + /// #### Returns + /// + /// this transition (for chaining with `#morph(String)` etc.) + public MorphTransition snapshotMode(boolean enabled) { + this.snapshotMode = enabled; + return this; + } + + /// Returns the current snapshot-mode setting. See `#snapshotMode(boolean)`. + public boolean isSnapshotMode() { + return snapshotMode; + } + /// Creates a transition with the given duration, this transition should be modified with the /// builder methods such as morph /// @@ -86,6 +128,7 @@ private static Component findByName(Container root, String componentName) { @Override public Transition copy(boolean reverse) { MorphTransition m = create(duration); + m.snapshotMode = snapshotMode; if (reverse) { for (Map.Entry entry : fromTo.entrySet()) { m.fromTo.put(entry.getValue(), entry.getKey()); @@ -151,6 +194,16 @@ public void initTransition() { continue; } CC cc = new CC(sourceCmp, destCmp, duration); + // Snapshot capture happens BEFORE the layered-pane swap, so + // the source still sits inside its original (possibly + // scrolling, possibly clipped) parent and renders the pixels + // the user actually sees at the moment they tap. Capturing + // after the swap would render the layered-pane copy, which + // has no clipping context. + if (snapshotMode) { + cc.sourceImage = captureSnapshot(sourceCmp); + cc.destImage = captureSnapshot(destCmp); + } fromToComponents[index] = cc; index++; cc.placeholderDest = new Label(); @@ -241,18 +294,89 @@ public void paint(Graphics g) { if (animationMotion != null) { alpha = animationMotion.getValue(); } - if (alpha < 255) { - g.setAlpha(255 - alpha); - getSource().paintComponent(g); - - g.setAlpha(alpha); - byte bgT = getDestination().getUnselectedStyle().getBgTransparency(); - getDestination().getUnselectedStyle().setBgTransparency(0); - getDestination().paintComponent(g, false); - getDestination().getUnselectedStyle().setBgTransparency(bgT); + // In snapshot mode we hide the live morphed components on the + // layered pane (they'd otherwise paint themselves on top of the + // captured images), paint the source / dest forms normally, then + // overlay the alpha-blended snapshots at the tweened bounds. + boolean hidSnapshots = false; + if (snapshotMode && fromToComponents != null) { + for (CC c : fromToComponents) { + if (c != null) { + c.source.setVisible(false); + c.dest.setVisible(false); + } + } + hidSnapshots = true; + } + try { + if (alpha < 255) { + g.setAlpha(255 - alpha); + getSource().paintComponent(g); + + g.setAlpha(alpha); + byte bgT = getDestination().getUnselectedStyle().getBgTransparency(); + getDestination().getUnselectedStyle().setBgTransparency(0); + getDestination().paintComponent(g, false); + getDestination().getUnselectedStyle().setBgTransparency(bgT); + g.setAlpha(oldAlpha); + } else { + getDestination().paintComponent(g); + } + if (snapshotMode && fromToComponents != null) { + paintSnapshots(g, alpha); + } + } finally { + if (hidSnapshots) { + for (CC c : fromToComponents) { + if (c != null) { + c.source.setVisible(true); + c.dest.setVisible(true); + } + } + } + g.setAlpha(oldAlpha); + } + } + + /// Snapshot-mode draw of each morphed pair: alpha-blend the source + /// snapshot (decreasing) on top of the destination snapshot + /// (increasing) at the current tweened bounds. The snapshots are + /// scaled to fit those bounds; on hi-DPI this is a nearest-neighbour + /// stretch via `drawImage(scaled)`. Both images already represent the + /// component clipped to its own bounds at the moment of capture, so + /// nothing off-viewport leaks into the morph. + private void paintSnapshots(Graphics g, int alpha) { + int oldAlpha = g.getAlpha(); + try { + for (CC c : fromToComponents) { + if (c == null || c.sourceImage == null || c.destImage == null) { + continue; + } + int x = c.xMotion.getValue(); + int y = c.yMotion.getValue(); + int w = c.wMotion.getValue(); + int h = c.hMotion.getValue(); + if (w <= 0 || h <= 0) continue; + // Source fades out + g.setAlpha(255 - alpha); + drawImageScaled(g, c.sourceImage, x, y, w, h); + // Dest fades in + g.setAlpha(alpha); + drawImageScaled(g, c.destImage, x, y, w, h); + } + } finally { g.setAlpha(oldAlpha); + } + } + + /// Draws `img` into the `(x, y, w, h)` rectangle. Skips a scaled copy + /// when the image already happens to be at the target size (cheap + /// fast-path for the first and last frames of the animation). + private static void drawImageScaled(Graphics g, com.codename1.ui.Image img, int x, int y, int w, int h) { + if (img.getWidth() == w && img.getHeight() == h) { + g.drawImage(img, x, y); } else { - getDestination().paintComponent(g); + g.drawImage(img, x, y, w, h); } } @@ -266,6 +390,13 @@ static class CC { Motion wMotion; Motion hMotion; + /// Snapshot-mode capture of `source` at its original bounds, clipped + /// to its own size. Populated in `MorphTransition#captureSnapshot` + /// when `snapshotMode == true`; null on the legacy path. + com.codename1.ui.Image sourceImage; + /// Snapshot-mode capture of `dest` at its destination-form bounds. + com.codename1.ui.Image destImage; + public CC(Component source, Component dest, int duration) { this.source = source; this.dest = dest; @@ -291,4 +422,29 @@ private int positionRelativeToScreen(Component cmp, boolean yAxis) { return retVal; } } + + /// Renders `cmp` into a fresh `Image` sized to its current bounds. Used + /// by snapshot mode in `initTransition()` to freeze each endpoint + /// visually before the tween starts; the resulting image is what the + /// `paint()` cycle draws at the interpolated bounds. + /// + /// The component is painted with `paintComponent` (not `paint`) so its + /// background + border + children are all included. The graphics is + /// translated so the component's `(getX(), getY())` becomes `(0, 0)` in + /// the snapshot. The image's own bounds clip everything that paints + /// outside `(0, 0, width, height)` -- which is exactly the + /// "off-viewport children don't leak" property the legacy live-paint + /// path lacked. + private static com.codename1.ui.Image captureSnapshot(Component cmp) { + int w = Math.max(1, cmp.getWidth()); + int h = Math.max(1, cmp.getHeight()); + com.codename1.ui.Image img = com.codename1.ui.Image.createImage(w, h, 0); + com.codename1.ui.Graphics g = img.getGraphics(); + // paintComponent renders the component at its current screen position + // by default; offset so the top-left of `cmp` lands at (0, 0) of the + // image buffer. The image's bounds clip outside-of-buffer paints. + g.translate(-cmp.getX(), -cmp.getY()); + cmp.paintComponent(g); + return img; + } } diff --git a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java index ea50206b3e..d6bcc86ced 100644 --- a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java +++ b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java @@ -2226,6 +2226,18 @@ private FontImage getDefaultRefreshIcon() { /// {@inheritDoc} @Override public void drawPullToRefresh(Graphics g, final Component cmp, boolean taskExecuted) { + // Modern path: a Material-style circular arc spinner painted + // directly by Graphics, with no Label / rotating-icon + // machinery. Opt-in via the `pullToRefreshModernBool` theme + // constant; the iOS Modern and Android Material themes turn + // this on by default so they get the spec-fidelity look. The + // legacy path below is the framework default and remains + // pixel-identical for apps that don't enable the constant. + if (getUIManager().isThemeConstant("pullToRefreshModernBool", false)) { + drawModernPullToRefresh(g, cmp, taskExecuted); + return; + } + final Form parentForm = cmp.getComponentForm(); final int scrollY = cmp.getScrollY(); Component cmpToDraw; @@ -2309,9 +2321,155 @@ public void paint(Graphics g) { pull.paintComponent(g); } + /// Material 3 / iOS modern pull-to-refresh: a circular arc spinner + /// painted directly with `Graphics`. No Label / rotating-image + /// machinery, no `pull` container layout pass per frame -- just an + /// arc whose sweep grows from 0° to ~330° as the user pulls + /// through the threshold, then spins continuously (advancing the + /// start angle each frame) once the task fires. + /// + /// Geometry: + /// + /// - Indicator diameter: `pullToRefreshIndicatorDiameterMm` (default 8mm). + /// - Stroke thickness: `pullToRefreshIndicatorStrokeMm` (default 0.6mm). + /// - Colour: `TabIndicator` UIID's fg colour if set (consistent with + /// the animated tab indicator), otherwise the form's title fg. + /// - The arc sits centered horizontally and at `pullToRefreshHeight / 2` + /// from the form's content-pane top. + /// + /// `taskExecuted == true` -> continuous-spin mode (animation + /// registered with the form so it ticks each frame). Pre-threshold + /// the sweep mirrors the user's pull fraction; post-threshold (but + /// pre-release) the sweep is fixed at the full ring. + private long modernSpinStartTime = 0L; + + public void drawModernPullToRefresh(Graphics g, Component cmp, boolean taskExecuted) { + final int height = getPullToRefreshHeight(); + final int scrollY = cmp.getScrollY(); + final int pullDistance = -scrollY; // positive when pulling + if (pullDistance <= 0 && !taskExecuted) { + return; + } + + final int diameter = Display.getInstance().convertToPixels(modernIndicatorDiameterMm()); + final int strokePx = Math.max(1, Display.getInstance().convertToPixels(modernIndicatorStrokeMm())); + final int radius = diameter / 2; + // Center the indicator horizontally and inside the pull region. + int cx = cmp.getAbsoluteX() + cmp.getWidth() / 2; + int cy = cmp.getAbsoluteY() - scrollY - height / 2; + int boxX = cx - radius; + int boxY = cy - radius; + + int sweep; // degrees -- the visible arc length + int startAngle; // degrees -- where the arc starts (0 = 3 o'clock, CCW positive in CN1 Graphics) + if (taskExecuted) { + // Continuous spin: rotate the arc by ~360 deg/sec. + if (modernSpinStartTime == 0L) { + modernSpinStartTime = System.currentTimeMillis(); + } + long elapsed = System.currentTimeMillis() - modernSpinStartTime; + startAngle = (int) ((elapsed / 2L) % 360L); + sweep = 280; + // Schedule the next frame -- without this the spinner freezes + // after one paint pass. + Form f = cmp.getComponentForm(); + if (f != null) { + f.registerAnimated(modernSpinnerRepaintAnimation(cmp, f)); + } + } else { + modernSpinStartTime = 0L; + // Pull fraction 0..1 over the threshold height. + float pull = pullDistance / (float) Math.max(1, height); + float clamped = Math.min(1f, Math.max(0f, pull)); + sweep = (int) (clamped * 330); // grow from 0 to ~full ring + startAngle = 90; // top of the circle + } + + int oldColor = g.getColor(); + int oldAlpha = g.getAlpha(); + try { + g.setColor(modernIndicatorColor()); + g.setAlpha(255); + // CN1 doesn't expose stroke width on the basic drawArc; emulate a + // thick stroke by drawing the arc at the diameter and then + // erasing the inner circle with a smaller filled arc in the + // same color over the cmp's painted background... but a simpler + // approach is to draw N concentric arcs offset by 1px each. + // The visible width is `strokePx`. + for (int i = 0; i < strokePx; i++) { + g.drawArc(boxX + i, boxY + i, diameter - 2 * i, diameter - 2 * i, startAngle, sweep); + } + } finally { + g.setColor(oldColor); + g.setAlpha(oldAlpha); + } + } + + private float modernIndicatorDiameterMm() { + String s = getUIManager().getThemeConstant("pullToRefreshIndicatorDiameterMm", null); + if (s != null) { + float f = Util.toFloatValue(s); + if (f > 0) return f; + } + return 8f; + } + + private float modernIndicatorStrokeMm() { + String s = getUIManager().getThemeConstant("pullToRefreshIndicatorStrokeMm", null); + if (s != null) { + float f = Util.toFloatValue(s); + if (f > 0) return f; + } + return 0.6f; + } + + private int modernIndicatorColor() { + Style indicator = getUIManager().getComponentStyle("TabIndicator"); + if (indicator != null && indicator.getFgColor() != 0) { + return indicator.getFgColor(); + } + // Fall back to the form's title foreground, which already tracks + // accent in the modern themes. + Style title = getUIManager().getComponentStyle("Title"); + if (title != null) { + return title.getFgColor(); + } + return 0x007aff; // iOS blue as ultimate fallback + } + + /// Animation hook used during the continuous-spin phase to request a + /// repaint each EDT cycle without rebuilding state on every frame. + /// Holds no reference to a per-spinner instance -- the animation is + /// registered once and stops itself when `taskExecuted` flips back to + /// false (the pull-to-refresh container repaints from elsewhere when + /// the task finishes). + private Animation modernSpinnerRepaintAnimation(final Component cmp, final Form host) { + return new Animation() { + @Override + public boolean animate() { + cmp.repaint(cmp.getAbsoluteX(), cmp.getAbsoluteY() - getPullToRefreshHeight(), + cmp.getWidth(), getPullToRefreshHeight()); + return false; + } + + @Override + public void paint(Graphics g) { + // No-op -- the actual paint happens via cmp.repaint above. + } + }; + } + /// {@inheritDoc} @Override public int getPullToRefreshHeight() { + // Modern mode skips the legacy Label/Container stack and uses the + // configured indicator diameter plus a small breathing margin as + // the gesture threshold. + if (getUIManager().isThemeConstant("pullToRefreshModernBool", false)) { + int diameter = Display.getInstance().convertToPixels(modernIndicatorDiameterMm()); + int margin = Display.getInstance().convertToPixels(2f); + return diameter + margin * 2; + } if (pull == null) { BorderLayout bl = new BorderLayout(); bl.setCenterBehavior(BorderLayout.CENTER_BEHAVIOR_CENTER_ABSOLUTE); diff --git a/Ports/CLDC11/src/java/lang/Iterable.java b/Ports/CLDC11/src/java/lang/Iterable.java index 66f86db1f6..cb2844f1a1 100644 --- a/Ports/CLDC11/src/java/lang/Iterable.java +++ b/Ports/CLDC11/src/java/lang/Iterable.java @@ -17,6 +17,7 @@ package java.lang; import java.util.Iterator; +import java.util.function.Consumer; /// Objects of classes that implement this interface can be used within a /// `foreach` statement. @@ -32,4 +33,15 @@ public interface Iterable { /// /// An `Iterator` instance. Iterator iterator(); + + /// Performs the given action for each element of the `Iterable` until all + /// elements have been processed or the action throws an exception. + default void forEach(Consumer action) { + if (action == null) { + throw new NullPointerException(); + } + for (T t : this) { + action.accept(t); + } + } } diff --git a/Ports/CLDC11/src/java/util/Collection.java b/Ports/CLDC11/src/java/util/Collection.java index 55ac391203..0a5c536acc 100644 --- a/Ports/CLDC11/src/java/util/Collection.java +++ b/Ports/CLDC11/src/java/util/Collection.java @@ -17,6 +17,8 @@ package java.util; +import java.util.function.Predicate; + /// `Collection` is the root of the collection hierarchy. It defines operations on /// data collections and the behavior that they will have in all implementations @@ -364,4 +366,24 @@ public interface Collection extends java.lang.Iterable { /// if the type of an element in this `Collection` cannot be /// stored in the type of the specified array. public T[] toArray(T[] array); + + /// Removes all of the elements of this collection that satisfy the given + /// predicate. Returns `true` if any elements were removed. The default + /// implementation walks the `iterator()` and calls `Iterator#remove()` + /// for matching elements; implementations whose iterator doesn't support + /// `remove` should override. + default boolean removeIf(Predicate filter) { + if (filter == null) { + throw new NullPointerException(); + } + boolean removed = false; + Iterator it = iterator(); + while (it.hasNext()) { + if (filter.test(it.next())) { + it.remove(); + removed = true; + } + } + return removed; + } } diff --git a/Ports/CLDC11/src/java/util/List.java b/Ports/CLDC11/src/java/util/List.java index 0fc8fa7a29..855387e8df 100644 --- a/Ports/CLDC11/src/java/util/List.java +++ b/Ports/CLDC11/src/java/util/List.java @@ -17,6 +17,8 @@ package java.util; +import java.util.function.UnaryOperator; + /// A `List` is a collection which maintains an ordering for its elements. Every /// element in the `List` has an index. Each element can thus be accessed by its @@ -431,4 +433,35 @@ public interface List extends Collection { /// if the type of an element in this `List` cannot be stored /// in the type of the specified array. public T[] toArray(T[] array); + + /// Replaces each element of this list with the result of applying the + /// operator to that element. + default void replaceAll(UnaryOperator operator) { + if (operator == null) { + throw new NullPointerException(); + } + ListIterator it = listIterator(); + while (it.hasNext()) { + it.set(operator.apply(it.next())); + } + } + + /// Sorts this list according to the order induced by the specified + /// `Comparator`. All elements in this list must be **mutually + /// comparable** using the specified comparator. A `null` comparator sorts + /// elements by their natural ordering (each must implement `Comparable`). + /// + /// The default implementation extracts the list contents to an array, + /// sorts the array via `Arrays.sort`, then writes the sorted elements + /// back through a `ListIterator`. Implementations may override for + /// efficiency. + default void sort(Comparator c) { + Object[] a = toArray(); + Arrays.sort(a, (Comparator) c); + ListIterator it = listIterator(); + for (Object e : a) { + it.next(); + it.set((E) e); + } + } } diff --git a/Ports/CLDC11/src/java/util/Map.java b/Ports/CLDC11/src/java/util/Map.java index 68bd3283bb..6359a93949 100644 --- a/Ports/CLDC11/src/java/util/Map.java +++ b/Ports/CLDC11/src/java/util/Map.java @@ -17,6 +17,10 @@ package java.util; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Function; + /// A `Map` is a data structure consisting of a set of keys and values /// in which each key is mapped to a single value. The class of the objects @@ -290,4 +294,171 @@ public static interface Entry { /// /// a collection of the values contained in this map. public Collection values(); + + // ---- Java 8 default methods. ---- + // + // Implementations override these as needed (e.g. for synchronized maps). + // The default implementations are written to be ParparVM-friendly: + // synchronous, no streams, no `default Optional` returns. + + /// Returns the value to which the specified key is mapped, or + /// `defaultValue` if this map contains no mapping for the key. Equivalent + /// to: + /// ```java + /// V v = m.get(key); + /// return v != null ? v : defaultValue; + /// ``` + default V getOrDefault(Object key, V defaultValue) { + V v = get(key); + return v != null ? v : defaultValue; + } + + /// If the specified key is not already associated with a value (or is + /// mapped to `null`) associates it with the given value and returns + /// `null`, else returns the current value. + default V putIfAbsent(K key, V value) { + V v = get(key); + if (v == null) { + v = put(key, value); + } + return v; + } + + /// Removes the entry for the specified key only if it is currently mapped + /// to the specified value. + default boolean remove(Object key, Object value) { + Object curr = get(key); + if (curr == null ? value != null : !curr.equals(value)) { + return false; + } + if (curr == null && !containsKey(key)) { + return false; + } + remove(key); + return true; + } + + /// Replaces the entry for the specified key only if currently mapped to + /// the specified value. + default boolean replace(K key, V oldValue, V newValue) { + Object curr = get(key); + if (curr == null ? oldValue != null : !curr.equals(oldValue)) { + return false; + } + if (curr == null && !containsKey(key)) { + return false; + } + put(key, newValue); + return true; + } + + /// Replaces the entry for the specified key only if it is currently + /// mapped to some value. Returns the previous value associated with the + /// key, or `null` if there was no mapping. + default V replace(K key, V value) { + V curr = get(key); + if (curr != null || containsKey(key)) { + curr = put(key, value); + } + return curr; + } + + /// Performs the given action for each entry in this map until all entries + /// have been processed or the action throws an exception. Exceptions + /// thrown by the action propagate to the caller. + default void forEach(BiConsumer action) { + if (action == null) { + throw new NullPointerException(); + } + for (Map.Entry entry : entrySet()) { + action.accept(entry.getKey(), entry.getValue()); + } + } + + /// Replaces each entry's value with the result of invoking the given + /// function on that entry until all entries have been processed or the + /// function throws an exception. + default void replaceAll(BiFunction function) { + if (function == null) { + throw new NullPointerException(); + } + for (Map.Entry entry : entrySet()) { + entry.setValue(function.apply(entry.getKey(), entry.getValue())); + } + } + + /// If the specified key is not already associated with a value (or is + /// mapped to `null`), attempts to compute its value using the given + /// mapping function and enters it into this map unless `null`. + default V computeIfAbsent(K key, Function mappingFunction) { + if (mappingFunction == null) { + throw new NullPointerException(); + } + V v = get(key); + if (v == null) { + V newValue = mappingFunction.apply(key); + if (newValue != null) { + put(key, newValue); + return newValue; + } + } + return v; + } + + /// If the value for the specified key is present and non-null, attempts to + /// compute a new mapping given the key and its current mapped value. + default V computeIfPresent(K key, + BiFunction remappingFunction) { + if (remappingFunction == null) { + throw new NullPointerException(); + } + V old = get(key); + if (old != null) { + V newValue = remappingFunction.apply(key, old); + if (newValue != null) { + put(key, newValue); + return newValue; + } + remove(key); + } + return null; + } + + /// Attempts to compute a mapping for the specified key and its current + /// mapped value (or `null` if there is no current mapping). + default V compute(K key, + BiFunction remappingFunction) { + if (remappingFunction == null) { + throw new NullPointerException(); + } + V old = get(key); + V newValue = remappingFunction.apply(key, old); + if (newValue == null) { + if (old != null || containsKey(key)) { + remove(key); + } + return null; + } + put(key, newValue); + return newValue; + } + + /// If the specified key is not already associated with a value or is + /// associated with null, associates it with the given non-null value. + /// Otherwise, replaces the associated value with the results of the given + /// remapping function, or removes if the result is `null`. + default V merge(K key, V value, + BiFunction remappingFunction) { + if (remappingFunction == null || value == null) { + throw new NullPointerException(); + } + V old = get(key); + V newValue = old == null ? value : remappingFunction.apply(old, value); + if (newValue == null) { + remove(key); + } else { + put(key, newValue); + } + return newValue; + } } diff --git a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicBoolean.java b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicBoolean.java new file mode 100644 index 0000000000..817cca7b31 --- /dev/null +++ b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicBoolean.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + */ +package java.util.concurrent.atomic; + +/** + * Codename One subset implementation of {@code AtomicBoolean}. Backed by a + * monitor on the receiver rather than the JDK's CAS hardware intrinsics -- + * the visible contract (happens-before, CAS semantics) is preserved. + */ +public class AtomicBoolean implements java.io.Serializable { + private volatile boolean value; + + public AtomicBoolean(boolean initialValue) { + value = initialValue; + } + + public AtomicBoolean() { + } + + public final boolean get() { + return value; + } + + public final void set(boolean newValue) { + value = newValue; + } + + public final void lazySet(boolean newValue) { + value = newValue; + } + + public final boolean getAndSet(boolean newValue) { + synchronized (this) { + boolean prev = value; + value = newValue; + return prev; + } + } + + public final boolean compareAndSet(boolean expect, boolean update) { + synchronized (this) { + if (value == expect) { + value = update; + return true; + } + return false; + } + } + + public final boolean weakCompareAndSet(boolean expect, boolean update) { + return compareAndSet(expect, update); + } + + @Override + public String toString() { + return String.valueOf(get()); + } +} diff --git a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicInteger.java b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicInteger.java new file mode 100644 index 0000000000..a48d20c631 --- /dev/null +++ b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicInteger.java @@ -0,0 +1,129 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + */ +package java.util.concurrent.atomic; + +/** + * Codename One subset implementation of {@code AtomicInteger}. Backed by a + * monitor on the receiver rather than the JDK's CAS hardware intrinsics -- + * the visible contract (happens-before, CAS semantics) is preserved. + */ +public class AtomicInteger extends Number implements java.io.Serializable { + private volatile int value; + + public AtomicInteger(int initialValue) { + value = initialValue; + } + + public AtomicInteger() { + } + + public final int get() { + return value; + } + + public final void set(int newValue) { + value = newValue; + } + + public final void lazySet(int newValue) { + value = newValue; + } + + public final int getAndSet(int newValue) { + synchronized (this) { + int prev = value; + value = newValue; + return prev; + } + } + + public final boolean compareAndSet(int expect, int update) { + synchronized (this) { + if (value == expect) { + value = update; + return true; + } + return false; + } + } + + public final boolean weakCompareAndSet(int expect, int update) { + return compareAndSet(expect, update); + } + + public final int getAndIncrement() { + synchronized (this) { + return value++; + } + } + + public final int getAndDecrement() { + synchronized (this) { + return value--; + } + } + + public final int getAndAdd(int delta) { + synchronized (this) { + int prev = value; + value += delta; + return prev; + } + } + + public final int incrementAndGet() { + synchronized (this) { + return ++value; + } + } + + public final int decrementAndGet() { + synchronized (this) { + return --value; + } + } + + public final int addAndGet(int delta) { + synchronized (this) { + return value += delta; + } + } + + @Override + public String toString() { + return Integer.toString(get()); + } + + @Override + public int intValue() { + return get(); + } + + @Override + public long longValue() { + return (long) get(); + } + + @Override + public float floatValue() { + return (float) get(); + } + + @Override + public double doubleValue() { + return (double) get(); + } +} diff --git a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicLong.java b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicLong.java new file mode 100644 index 0000000000..68f05df6a8 --- /dev/null +++ b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicLong.java @@ -0,0 +1,129 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + */ +package java.util.concurrent.atomic; + +/** + * Codename One subset implementation of {@code AtomicLong}. Backed by a + * monitor on the receiver rather than the JDK's CAS hardware intrinsics -- + * the visible contract (happens-before, CAS semantics) is preserved. + */ +public class AtomicLong extends Number implements java.io.Serializable { + private volatile long value; + + public AtomicLong(long initialValue) { + value = initialValue; + } + + public AtomicLong() { + } + + public final long get() { + return value; + } + + public final void set(long newValue) { + value = newValue; + } + + public final void lazySet(long newValue) { + value = newValue; + } + + public final long getAndSet(long newValue) { + synchronized (this) { + long prev = value; + value = newValue; + return prev; + } + } + + public final boolean compareAndSet(long expect, long update) { + synchronized (this) { + if (value == expect) { + value = update; + return true; + } + return false; + } + } + + public final boolean weakCompareAndSet(long expect, long update) { + return compareAndSet(expect, update); + } + + public final long getAndIncrement() { + synchronized (this) { + return value++; + } + } + + public final long getAndDecrement() { + synchronized (this) { + return value--; + } + } + + public final long getAndAdd(long delta) { + synchronized (this) { + long prev = value; + value += delta; + return prev; + } + } + + public final long incrementAndGet() { + synchronized (this) { + return ++value; + } + } + + public final long decrementAndGet() { + synchronized (this) { + return --value; + } + } + + public final long addAndGet(long delta) { + synchronized (this) { + return value += delta; + } + } + + @Override + public String toString() { + return Long.toString(get()); + } + + @Override + public int intValue() { + return (int) get(); + } + + @Override + public long longValue() { + return get(); + } + + @Override + public float floatValue() { + return (float) get(); + } + + @Override + public double doubleValue() { + return (double) get(); + } +} diff --git a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicReference.java b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicReference.java new file mode 100644 index 0000000000..bef6fd4a6f --- /dev/null +++ b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicReference.java @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + */ +package java.util.concurrent.atomic; + +/** + * Codename One subset implementation of {@code AtomicReference}. Backed by a + * monitor rather than CAS hardware intrinsics -- the JDK contract is + * preserved (every read sees a happens-before-correct value, all + * compare-and-set semantics are honored), but throughput under high contention + * is lower than the JDK's {@code sun.misc.Unsafe}-backed version. + * + *

Mirror of {@code vm/JavaAPI/src/java/util/concurrent/atomic/AtomicReference.java}. + * The ParparVM iOS port has this class; CLDC11 (the runtime-subset feed) and + * the JavaSE simulator now have it too. Android already has the JDK's full + * implementation. TeaVM (the legacy JavaScript port) does not currently + * support {@code java.util.concurrent.atomic} -- ParparVM-based JavaScript + * builds work correctly. + */ +public class AtomicReference { + private final Object lock = new Object(); + private V ref; + + public AtomicReference() { + } + + public AtomicReference(V initialValue) { + ref = initialValue; + } + + public final boolean compareAndSet(V expect, V update) { + synchronized (lock) { + if (expect == ref) { + ref = update; + return true; + } + return false; + } + } + + public V get() { + synchronized (lock) { + return ref; + } + } + + public final V getAndSet(V newValue) { + synchronized (lock) { + V old = ref; + ref = newValue; + return old; + } + } + + public final void lazySet(V newValue) { + synchronized (lock) { + ref = newValue; + } + } + + @Override + public String toString() { + synchronized (lock) { + return String.valueOf(ref); + } + } + + public final boolean weakCompareAndSet(V expect, V update) { + return compareAndSet(expect, update); + } + + public final void set(V newValue) { + synchronized (lock) { + ref = newValue; + } + } +} diff --git a/Ports/CLDC11/src/java/util/function/BiFunction.java b/Ports/CLDC11/src/java/util/function/BiFunction.java new file mode 100644 index 0000000000..92c2bccaf7 --- /dev/null +++ b/Ports/CLDC11/src/java/util/function/BiFunction.java @@ -0,0 +1,5 @@ +package java.util.function; + +public interface BiFunction { + R apply(T t, U u); +} diff --git a/Themes/AndroidMaterialTheme.res b/Themes/AndroidMaterialTheme.res index 03b1e852167f5795b43d028678a1f11840640213..ae3b0c3dd4bb1616f84615e9ddb88f694deafae4 100644 GIT binary patch delta 1278 zcmZ`(&rcIU7@eg}3n{HMfV8EBwxSpt3ut1D@lcVFV1m$EF%e_jb_dvWJKM}|Q7-Tw z2;n>Q=E3MmV?uiHVh~PV^<*?);?cx-(}OYUOre_@v3qE?-+SNte$2f6`o^>K-m}r$ z=JRj$-I|2el;=!dEld$jFRHdl(}l&WreRXVpV-iZN=pI^FH)gX!hf39bnC>zVanTA ze^9cS0zbE-u$uMy1aa8N_Oz)5*nb^`yIzlrDZ%AnXj5@_3^{q9b_O7jlk?)a&`Cij zZDFHD)nB_&7`WyQi)@>!#Hy$ili~`hmnR>^q^1IMap=0&)hW)kS%?DBg1lMQAgs@I z!*eYtrM;Vvvseu7EO$ab!f4J+op9kwR%TJZHM5aFr-LR=y z!i?h@O6B7R*4TE&8n!{O`_Wkw>W5RB&#Ic zF)qSPkdb>7>&Qr1rH)p2voP}{Y<&n1%T%$fguv&$usgylGmjm-u>0H2hiXJqJJF7C zQ@a+=DM>$%JEsSU)7^5UrnD=A?m;feoSAWkY~6&Gtd)zv*yCvG osH`}mgx0RNDY1j?GP5V0X&MblR!7`!R=Reqq8xw8e)iA*1;OdNJOBUy delta 62 zcmV-E0Kxyj*9Ppz29Om33fHk0S4NX?CI+(_NS7V6pJqi8lRkP3ldEP7lb>e}v(R~d U0kgV$76G$Bed+eM$9DnwGbRQa+*b+`KxyQeoZ-+VLk?ab(_?U)4+MR66e5aGJ<}MPsX!%9}<(Fn`xUW~E zVA|}mVhL{W4NcH(Q=5XowRnY>i!DH9LG%pNrXs^8 zuVHMdWCqNUs3NTMvZPk{r_^pRuW;4QvLv)Pg|C}cRv;9CU6H#yi2WZ?=*pZTKxtJ{ zfbCi;br!C)E!3Klwi3AEG@y01JAx=~z@5&@v!llNs6kb{5ua6jVvFar2wq^j{?PvH z5_oa~uwk~FtP7n)i<8Tepy-<)z&XFvOYvz~o2#2Josk{-QE`v9hjET}2wAcfW0P@F zGGZ;r;N)+^*kux8Ek;HL=`uC%vJ8QGcl`;AEl*q$t{=oz_76h#`M(baeLwKob#Hpa z44M(jX;^{5XNsboQG*emodf8y;j7D&!dMS(T3sBq4y&vCdo-yohFJ&J)m { hi.show(); ---- +`setPullToRefresh(Runnable)` is provided as a more discoverable alias for the +same single-task slot -- both names route to the same field, and a second +call replaces whatever runnable was previously registered. + .Pull to refresh demo image::img/pull-to-refresh.png[Simple pull to refresh demo,scaledwidth=20%] +==== Modern arc-spinner pull-to-refresh + +The legacy pull-to-refresh visual is the classic "rotating arrow + text" +stack. Modern Material 3 / iOS apps instead show a thin circular arc +that grows as the user pulls and spins once the task fires. This is +shipped as an opt-in path via the `pullToRefreshModernBool` theme +constant; the iOS Modern and Android Material themes enable it by +default so apps shipping against those themes get the spec-accurate +look without any extra wiring. + +To enable in a custom theme: + +[source,css] +---- +#Constants { + pullToRefreshModernBool: true; + pullToRefreshIndicatorDiameterMm: 8; /* 8mm circle */ + pullToRefreshIndicatorStrokeMm: "0.6"; /* 0.6mm stroke thickness */ +} + +TabIndicator { + /* The pull-to-refresh arc shares its colour with the animated tab + indicator -- both follow the brand's accent. */ + color: #007aff; + background-color: transparent; + padding: 0; + margin: 0; +} +---- + +Behaviour: + +* During the pull gesture the arc sweep grows from 0° to ~330° + proportional to how far the user has pulled past the threshold. +* When the refresh task fires the arc rotates continuously at ~360°/sec + until the task completes. +* All sizing is in millimetres so the indicator stays physical-size-accurate + across device densities; no rasterized images involved. + +The legacy `addPullToRefresh` API is unchanged -- the same `Runnable` is +invoked at the same moment; only the visual rendering differs. + === Running 3rd party apps using display's execute The https://www.codenameone.com/javadoc/com/codename1/ui/Display.html[Display] class's `execute` method allows you to invoke a URL which is bound to a particular application. diff --git a/docs/developer-guide/Native-Themes.asciidoc b/docs/developer-guide/Native-Themes.asciidoc index ccf78e6ab3..471fa60242 100644 --- a/docs/developer-guide/Native-Themes.asciidoc +++ b/docs/developer-guide/Native-Themes.asciidoc @@ -500,6 +500,37 @@ top). |`@tabsFillRowsBool`, `@tabsGridBool` |Distribute tabs evenly across the bar. +|`@tabsAnimatedIndicatorBool` +|`true` paints a thin coloured underline below the currently-selected +tab and tweens its `x` / `width` between tabs on selection change. Both +modern themes set this to `true`. Off in the framework default; opt-in +for legacy themes by setting it explicitly. + +|`@tabsAnimatedIndicatorDurationInt` +|Duration of the indicator tween in milliseconds (default `200`, +matching Material 3's `NavigationBar` spec). + +|`@tabsAnimatedIndicatorThicknessMm` +|Indicator underline thickness in millimetres (default `1`). + +|`@pullToRefreshModernBool` +|`true` switches the pull-to-refresh visual from the legacy +rotating-arrow + text Label stack to a thin circular arc spinner +painted directly via `Graphics.drawArc`. The arc sweep grows from 0° +to ~330° proportional to the user's pull, then spins continuously +once the refresh task fires. Both modern themes set this to `true`. +Color comes from the `TabIndicator` UIID's fg (consistent with the +animated tab indicator), falling back to the Title fg if unset. + +|`@pullToRefreshIndicatorDiameterMm` +|Outer diameter of the modern arc spinner in millimetres (default `8`). +Drives the gesture threshold too -- the user must pull this distance +plus a small margin to fire the refresh task. + +|`@pullToRefreshIndicatorStrokeMm` +|Stroke thickness of the modern arc spinner in millimetres (default +`0.6`). + |`@darkModeBool` |`true` enables `$DarkUIID` resolution when the app is in dark mode. Both modern themes set this; user themes that want dark diff --git a/docs/developer-guide/The-Components-Of-Codename-One.asciidoc b/docs/developer-guide/The-Components-Of-Codename-One.asciidoc index 6ad3204325..02fc580bc7 100644 --- a/docs/developer-guide/The-Components-Of-Codename-One.asciidoc +++ b/docs/developer-guide/The-Components-Of-Codename-One.asciidoc @@ -2467,6 +2467,52 @@ image::img/components-tabs-swipe2.png[Swipeable Tabs with an iOS carousel effect NOTE: Notice that you used `setRadioButtonImages` to explicitly set the radio button images to the look you want for the carousel. +==== Animated tab indicator + +Modern Material 3 (`NavigationBar`) and iOS 26 tab bars animate a small +underline between tabs when the user changes selection. `Tabs` ships +this as an opt-in feature gated by the `tabsAnimatedIndicatorBool` +theme constant; the iOS Modern and Android Material themes turn it on +by default, so apps shipping against those themes get the effect for +free. + +To enable in a custom theme: + +[source,css] +---- +#Constants { + tabsAnimatedIndicatorBool: true; + tabsAnimatedIndicatorDurationInt: 200; /* tween duration in ms */ + tabsAnimatedIndicatorThicknessMm: 1; /* underline thickness */ +} + +TabIndicator { + /* The indicator picks up its colour from this UIID's fg. If the + UIID isn't defined or has fgColor == 0, the indicator falls + back to the currently-selected tab's fgColor. */ + color: #007aff; + background-color: transparent; + padding: 0; + margin: 0; +} +---- + +To toggle programmatically (e.g. add it to a Tabs instance whose theme +hasn't enabled it): + +[source,java] +---- +Tabs tabs = new Tabs(); +tabs.setAnimatedIndicator(true); +---- + +The indicator tweens its `x` / `width` from the previously-selected +tab's bounds to the new selection's bounds using a `Motion.createEaseInOutMotion` +over the configured duration (200ms default, matching Material 3's +spec). Rapid double-taps start the tween from the *current +interpolated position* rather than from a stale baseline, so the +animation chains cleanly. + [[mediamanager-section]] === MediaManager & MediaPlayer diff --git a/docs/developer-guide/appendix_goal_generate_openapi_client.adoc b/docs/developer-guide/appendix_goal_generate_openapi_client.adoc new file mode 100644 index 0000000000..d9e04495ff --- /dev/null +++ b/docs/developer-guide/appendix_goal_generate_openapi_client.adoc @@ -0,0 +1,124 @@ +=== Generate OpenAPI client (`generate-openapi-client`) + +Generates a typed Codename One client from an OpenAPI 3.x JSON +specification. Emits one `@Mapped`-annotated POJO per +`components.schemas` entry and one `Api.java` per OpenAPI tag. +The generated code uses only the Codename One JDK subset -- +`Rest` + `JSONWriter` + `Mappers` for transport / serialisation, no +`java.net.http`, no reflection. + +This is the build-time complement to the `Rest.fetchAsMapped` / +`Rest.fetchAsMappedList` runtime APIs. Run it once at +`generate-sources` time; the output is regular Java that the standard +compiler picks up and the generated files are added to the project's +compile-source-roots automatically. + +==== Usage example + +Add an execution to the Maven plugin block in your `common/pom.xml`: + +[source, xml] +---- + + com.codenameone + codenameone-maven-plugin + + + generate-openapi-client + generate-sources + generate-openapi-client + + https://petstore3.swagger.io/api/v3/openapi.json + com.example.petstore + + + + +---- + +Configuration: + +[cols="2,4,1", options="header"] +|=== +| Property | Description | Required + +| `openapiSpec` +| URL or local file path of the OpenAPI 3.x JSON document. YAML is +not supported -- convert with `yq` or an online tool upstream. +| Yes + +| `basePackage` +| Base Java package for the generated client. Api classes go under +``; schemas under `.model`. +| Yes + +| `outputDirectory` +| Where the generated sources land. Defaults to +`${project.build.directory}/generated-sources/openapi`. The directory +is added to the project's compile-source-roots automatically so the +generated code is picked up by the compiler in the same build. +| No + +| `overwrite` +| `true` to regenerate every file, `false` to skip files that haven't +changed. Default `true`. +| No +|=== + +==== Generated output + +For the Swagger Petstore reference spec (`/pet`, `/store`, `/user` +endpoints), the goal emits: + +[listing] +---- +target/generated-sources/openapi/ + com/example/petstore/ + PetApi.java // addPet, updatePet, findPetsByStatus, getPetById, deletePet, ... + StoreApi.java // getInventory, placeOrder, getOrderById, deleteOrder + UserApi.java // createUser, loginUser, logoutUser, getUserByName, updateUser, ... + com/example/petstore/model/ + Pet.java // @Mapped POJO with id / name / category / photoUrls / tags / status + Order.java + User.java + Category.java + Tag.java + ApiResponse.java +---- + +Each generated Api method has a uniform shape: path parameters first, +then required query parameters, then the optional request body, then a +`String bearerToken` (or `null` to skip the `Authorization` header), +then an `OnComplete>` callback. Method body is a single +chained `Rest.(url)...fetchAsMapped(Type.class, callback)` call. + +[source,java] +---- +PetApi api = new PetApi("https://petstore3.swagger.io/api/v3"); +api.getPetById(123L, "MY_TOKEN", response -> { + if (response.getResponseCode() == 200) { + Pet pet = response.getResponseData(); + renderPet(pet); + } +}); +---- + +==== Scope (MVP) + +* HTTP verbs: `GET`, `POST`, `PUT`, `DELETE`, `PATCH`. +* Parameter locations: `path`, `query`. Header / cookie parameters are +silently ignored; submit them via `Rest`'s `header(...)` builder +method after-the-fact if needed. +* Request bodies: `application/json` only -- serialised via +`Mappers.toJson(body)` before being attached. +* Response schemas: `$ref` resolution, primitives (`string` / `number` +/ `integer` / `boolean`), arrays, object schemas. `oneOf` / `anyOf` / +`allOf` compositions collapse to `Object` -- callers cast. +* Authentication: bearer token as a per-method `String bearerToken` +parameter. Other schemes (API key, basic, OAuth) are not in the MVP +scope -- use `Rest`'s `header(...)` / `basicAuth(...)` builders or the +`OidcClient` directly. + +Multipart upload (`multipart/form-data`), header / cookie parameter +locations, richer composition modelling, and async / pagination +wrappers are tracked as follow-ups. diff --git a/docs/developer-guide/graphics.asciidoc b/docs/developer-guide/graphics.asciidoc index 84fc9a4bc9..31e5613a1e 100644 --- a/docs/developer-guide/graphics.asciidoc +++ b/docs/developer-guide/graphics.asciidoc @@ -1379,6 +1379,47 @@ you would need to convert the processed image back to an encoded image so it can If you need to download the file instantly and not wait for the image to appear before download initiates you can explicitly invoke the `fetch()` method which will asynchronously fetch the image from the network. Notice that the downloading will still take time so the placeholder is still required. +===== Authenticated image URLs — `RequestDecorator` + +The standard `createToStorage` path doesn't expose the underlying +`ConnectionRequest`, so attaching an `Authorization` header (or any +other custom header / cookie / timeout) requires the `RequestDecorator` +hook. Two ways to install one: + +[source,java] +---- +// Global default -- applied to every URLImage download from this point on. +// The most common case is "all our images sit behind the same bearer +// token", which has its own shorthand: +URLImage.setDefaultBearerToken(Preferences.get("auth.token", null)); + +// Or the explicit form, which can attach any header / cookie / timeout: +URLImage.setDefaultRequestDecorator(req -> + req.addRequestHeader("Authorization", "Bearer " + token)); +---- + +For per-image overrides (e.g. one endpoint needs an extra API-version +header on top of the global bearer token), use the +`createToStorage(placeholder, key, url, adapter, RequestDecorator)` +overload. Per-instance decorators run *after* the global default so they +can override or augment whatever the default set: + +[source,java] +---- +URLImage profilePic = URLImage.createToStorage( + placeholder, + "profile-" + userId, + baseUrl + "/users/" + userId + "/picture", + URLImage.RESIZE_SCALE_TO_FILL, + req -> req.addRequestHeader("X-API-Version", "2")); +---- + +When a decorator is installed (global or per-call), `URLImage` skips the +default `Util.downloadImageToStorage` path and builds a +`ConnectionRequest` inline so the decorator can inspect / mutate it +before it's queued. The legacy path remains the default for back-compat +when no decorator is set. + ===== Mask adapter A `URLImage` can be created with a mask adapter to apply an effect to an image. This allows you to round downloaded images or apply any sort of masking for example: you can adapt the round mask code above as such: diff --git a/docs/developer-guide/io.asciidoc b/docs/developer-guide/io.asciidoc index 47d5883eb4..5848f11071 100644 --- a/docs/developer-guide/io.asciidoc +++ b/docs/developer-guide/io.asciidoc @@ -873,6 +873,45 @@ An alternative approach is to use the static data parse() method of the `JSONPar Notice that a static version of the method is used! The callback object is an instance of the `JSONParseCallback` interface, which includes many methods. These methods are invoked by the parser to show internal parser states, this is like the way traditional XML SAX event parsers work. +===== Writing JSON — `JSONWriter` + +For typed DTO serialisation use the `@Mapped` annotation framework +(see `<>`) plus `Mappers.toJson(...)`. For ad-hoc +maps / lists where a build-time `Mapper` would be overkill, the +`com.codename1.io.JSONWriter` class is the complement of `JSONParser`: + +[source,java] +---- +// One-shot encoding of any Map / List / String / Number / Boolean / null tree +String json = JSONWriter.toJson(Map.of("name", "ada", "values", List.of(1, 2, 3))); + +// Streaming variants for large outputs (UTF-8) +JSONWriter.toJson(value, writer); +JSONWriter.toJson(value, outputStream); +---- + +For tiny request bodies the fluent builders are usually faster to read +than a `Map` literal: + +[source,java] +---- +String body = JSONWriter.object() + .put("email", email) + .put("password", password) + .toJson(); + +String coords = JSONWriter.array() + .add(JSONWriter.object().put("lat", 37.7749).put("lng", -122.4194)) + .add(JSONWriter.object().put("lat", 51.5074).put("lng", -0.1278)) + .toJson(); +---- + +Strings are double-quoted with the standard backslash escapes for `"`, +`\`, `\n`, `\r`, `\t`, `\b`, `\f`, and control chars below `0x20` are +emitted as `+\u00xx+`. The writer does not pretty-print; if you need +indented output, run the result through an external formatter at debug +time. + ===== XML parsing The https://www.codenameone.com/javadoc/com/codename1/xml/XMLParser.html[XMLParser] started its life as an HTML parser built for displaying mobile HTML. That usage has since been deprecated but the parser can still parse many HTML pages and is "loose" in verification. This is both good and bad as the parser will work with invalid data without complaining. @@ -1349,6 +1388,78 @@ Some highlights that are easy to miss: * `.cacheMode(...)` and `.postParameters(...)` expose the same knobs as `ConnectionRequest`, keeping you in the fluent API even for advanced tweaks. +==== Top-level JSON arrays — `fetchAsJsonList` + +When the endpoint returns a top-level JSON array (e.g. `+[{...}, {...}]+`), +use `fetchAsJsonList` rather than `fetchAsJsonMap`. The underlying +`JSONParser` wraps top-level arrays under a synthetic `"root"` key; +`fetchAsJsonList` unwraps that envelope for you so the callback receives +the array directly: + +[source,java] +---- +Rest.get("https://api.example.com/items") + .header("Authorization", "Bearer " + token) + .acceptJson() + .fetchAsJsonList(response -> { + List items = response.getResponseData(); + renderItems(items); + }); +---- + +There is no separate builder for "JSON object or array, I don't know which": +if you don't know up-front, use `fetchAsJsonMap` and branch on +`data.get("root") instanceof List`. + +==== Typed responses — `fetchAsMapped` and `fetchAsMappedList` + +`Rest.fetchAsJsonMap` returns a generic `Map` that the caller +casts and inspects key by key. Once your DTOs are `@Mapped`-annotated +(see `<>`), `fetchAsMapped` returns the typed object +directly: + +[source,java] +---- +// Model +@Mapped +public class Pet { + @JsonProperty("id") public long id; + @JsonProperty("name") public String name; + @JsonProperty("photoUrls") public List photoUrls; +} + +// Call site +Rest.get(baseUrl + "/pet/" + petId) + .header("Authorization", "Bearer " + token) + .acceptJson() + .fetchAsMapped(Pet.class, response -> { + Pet pet = response.getResponseData(); // already typed -- no Map casts + renderPet(pet); + }); +---- + +For endpoints that return a list of DTOs, use `fetchAsMappedList`: + +[source,java] +---- +Rest.get(baseUrl + "/albums") + .header("Authorization", "Bearer " + token) + .acceptJson() + .fetchAsMappedList(Album.class, response -> { + List albums = response.getResponseData(); + renderAlbums(albums); + }); +---- + +Both builders fall back to the untyped `fetchAsJsonMap` / `fetchAsJsonList` +path internally and then route every map element through the build-time +mapper that the `@Mapped` annotation processor generated. If a mapper isn't +registered for the requested class (typical cause: the +`process-annotations` Mojo didn't run on the class, or the class isn't +`@Mapped`-annotated), the callback completes with `null` data -- so always +inspect `response.getResponseCode()` rather than `response.getResponseData()` +to differentiate "server returned an error" from "no mapper registered". + The code in the kitchen sink webservice sample was updated to use this API. The result is shorter and more readable without sacrificing anything. ==== Rest in practice - twilio @@ -1439,6 +1550,54 @@ if(result.getResponseData() != null) { ---- +=== WebSockets + +For server-push, real-time chat, multiplayer game sync, Socket.IO-style +framing, or any client-initiated persistent connection, use +`com.codename1.io.websocket.WebSocket`. Subclass it and override the +four `onXxx` callbacks; the framework dispatches inbound events on +the EDT so the callbacks can touch UI directly. + +[source,java] +---- +WebSocket socket = new WebSocket("wss://example.com/socket") { + @Override protected void onOpen() { + send("hello"); + } + @Override protected void onMessage(String message) { + Log.p("recv: " + message); + } + @Override protected void onMessage(byte[] message) { + Log.p("recv " + message.length + " bytes"); + } + @Override protected void onClose(int statusCode, String reason) { + Log.p("closed: " + reason); + } + @Override protected void onError(Exception ex) { + Log.e(ex); + } +}; +if (WebSocket.isSupported()) { + socket.connect(); +} +---- + +`send(String)` / `send(byte[])` may be called from any thread. +`getReadyState()` returns one of `WebSocketState.CONNECTING`, +`WebSocketState.OPEN`, `WebSocketState.CLOSING`, or +`WebSocketState.CLOSED`. Always check `WebSocket.isSupported()` before +constructing: support requires a per-platform native implementation +and platforms without one return `false`. + +NOTE: The Java API lives in +`com.codename1.io.websocket` and ships in `codenameone-core`. The +per-platform native implementations (iOS / Android / JavaScript / desktop +simulator) are tracked in the separate +https://github.com/codenameone/cn1-websockets[cn1-websockets repository] +for the moment; install that cn1lib to wire up the bridge on each platform +until the per-platform impls are merged into the matching port modules. + + === Webservice wizard The Webservice Wizard can be invoked directly from the plugin. It generates stubs for the client side that allow performing simple method invocations on the server. It also generates a servlet that can be installed on any servlet container to intercept client side calls. diff --git a/maven/codenameone-maven-plugin/pom.xml b/maven/codenameone-maven-plugin/pom.xml index 5ecf26f9d5..7eb6e7356f 100644 --- a/maven/codenameone-maven-plugin/pom.xml +++ b/maven/codenameone-maven-plugin/pom.xml @@ -65,7 +65,10 @@ ${project.groupId} codenameone-core ${project.version} - test + ${project.groupId} diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiClientMojo.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiClientMojo.java new file mode 100644 index 0000000000..feae102f4a --- /dev/null +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiClientMojo.java @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + */ +package com.codename1.maven; + +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; +import org.apache.maven.plugins.annotations.ResolutionScope; + +/** + * Generates a typed CN1-subset-clean REST client from an OpenAPI 3.x + * specification. Emits one {@code Api.java} class per OpenAPI tag, each + * with one method per operation. Generated code uses {@code Rest}, + * {@code JSONWriter}, and (once merged from the {@code pojo-annotation-frameworks} + * branch) {@code @Mapped} DTOs -- never {@code java.net.http} or anything + * else outside the CN1 JDK subset. + * + *

Usage

+ * + *
{@code
+ * 
+ *     com.codenameone
+ *     codenameone-maven-plugin
+ *     
+ *         
+ *             generate-openapi-client
+ *             generate-openapi-client
+ *             
+ *                 https://server.example.com/api/openapi.json
+ *                 com.example.api
+ *                 ${project.build.directory}/generated-sources/openapi
+ *             
+ *         
+ *     
+ * 
+ * }
+ * + *

Status: SCAFFOLD ONLY

+ * + * The mojo is wired into the plugin but the underlying generator is not yet + * implemented. The intended design is: + * + *
    + *
  1. Resolve the spec via {@code ConnectionRequest}-style URL fetch (or + * read from local file when the configured value is a path).
  2. + *
  3. Parse the OpenAPI JSON using the framework's own {@code JSONParser}.
  4. + *
  5. For each {@code tag} in the spec, emit a {@code Api.java} class + * under {@code } in {@code outputDirectory}.
  6. + *
  7. For each {@code operation} on a tag, emit a method with parameters + * mapped from {@code parameters} + {@code requestBody}.
  8. + *
  9. Use {@code Rest.(url) + * .queryParam(...).header(...).body(JSONWriter.toJson(...)) + * .fetchAsJsonMap(callback)} (or {@code fetchAsJsonList}, or + * {@code fetchAsMapped} once the binding framework lands) as the + * per-method body.
  10. + *
  11. For each {@code components/schemas} entry, emit a POJO under + * {@code .model} annotated with {@code @Mapped} + + * {@code @JsonProperty} fields (after the binding framework merge). + * Pre-merge: emit plain POJOs with hand-rolled {@code fromJson(Map)} + * static methods.
  12. + *
  13. Add the {@code outputDirectory} to the project's compile source + * roots so generated code is picked up by the compiler.
  14. + *
+ * + *

Subset-compliance notes for the generator

+ * + *
    + *
  • Generated method bodies use only the CN1 JDK subset -- no + * {@code java.net.http}, no {@code Optional}, no {@code Stream} + * beyond what {@code java-runtime} ships.
  • + *
  • Date/time fields use {@code com.codename1.l10n.SimpleDateFormat} + * for parse/format, not {@code java.text.SimpleDateFormat} (partial) + * or {@code java.time.format.DateTimeFormatter} (also partial).
  • + *
  • {@code File} upload / {@code multipart/form-data} request bodies + * use {@code MultipartRequest} from CN1 core.
  • + *
  • Authentication is parameterised: the generator emits methods that + * take an optional {@code String bearerToken} parameter and attach it + * as an {@code Authorization} header. OAuth flows are out of scope + * (use {@code OidcClient} directly).
  • + *
+ * + *

Why this is a separate mojo, not a build extension

+ * + * The mojo runs once at {@code generate-sources}; the output is regular + * Java that the standard compiler picks up. There is no need for a build + * extension because the generated code has no runtime support beyond + * what already ships in {@code codenameone-core}. + */ +@Mojo(name = "generate-openapi-client", + defaultPhase = LifecyclePhase.GENERATE_SOURCES, + requiresDependencyResolution = ResolutionScope.COMPILE, + threadSafe = true) +public class GenerateOpenApiClientMojo extends AbstractCN1Mojo { + + /// URL or local file path of the OpenAPI 3.x spec (JSON). + @Parameter(property = "cn1.openapi.spec", required = true) + private String openapiSpec; + + /// Base package for the generated client classes (e.g. + /// `com.example.api`). The Api classes go directly under this package; + /// schemas under `.model`. + @Parameter(property = "cn1.openapi.basePackage", required = true) + private String basePackage; + + /// Output directory for generated Java sources. Added to the project's + /// compile-source-roots so the generated files are picked up by the + /// compiler. + @Parameter(property = "cn1.openapi.outputDirectory", + defaultValue = "${project.build.directory}/generated-sources/openapi") + private java.io.File outputDirectory; + + /// When `true`, regenerate every file even if it exists. Default is to + /// skip files that haven't changed (by content hash) so the user can + /// edit generated code locally if they wish. + @Parameter(property = "cn1.openapi.overwrite", defaultValue = "true") + private boolean overwrite; + + @Override + protected void executeImpl() throws MojoExecutionException, MojoFailureException { + if (!outputDirectory.exists() && !outputDirectory.mkdirs()) { + throw new MojoExecutionException("Could not create output directory: " + outputDirectory); + } + java.util.Map spec; + try { + getLog().info("Loading OpenAPI spec from " + openapiSpec); + spec = OpenApiCodegen.loadSpec(openapiSpec); + } catch (Exception e) { + throw new MojoExecutionException( + "Failed to load OpenAPI spec from " + openapiSpec + ": " + e.getMessage(), e); + } + if (spec == null || spec.isEmpty()) { + throw new MojoExecutionException( + "OpenAPI spec parsed as empty/null. Is " + openapiSpec + " valid JSON?"); + } + try { + new OpenApiCodegen(outputDirectory, basePackage, getLog(), spec).generate(); + } catch (java.io.IOException e) { + throw new MojoExecutionException( + "OpenAPI codegen failed: " + e.getMessage(), e); + } + project.addCompileSourceRoot(outputDirectory.getAbsolutePath()); + } +} diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/OpenApiCodegen.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/OpenApiCodegen.java new file mode 100644 index 0000000000..1a76888c8b --- /dev/null +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/OpenApiCodegen.java @@ -0,0 +1,665 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + */ +package com.codename1.maven; + +import com.codename1.io.JSONParser; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.io.UnsupportedEncodingException; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.TreeMap; + +/** + * Build-time OpenAPI 3.x -> Codename One Java client generator. + * + *

Input

+ * + * An OpenAPI 3.x JSON document. YAML is not supported (avoid pulling SnakeYAML + * into the plugin's classpath); convert with {@code yq} or an online tool + * upstream. The spec may live at an {@code http://} / {@code https://} URL or + * on the local filesystem. + * + *

Output

+ * + * Generated under the configured output directory: + * + *
    + *
  • {@code /model/.java} -- one POJO per + * {@code components.schemas} entry, annotated with {@code @Mapped} and + * {@code @JsonProperty} on each field. The generated POJOs work directly + * with {@code Rest.fetchAsMapped(...)} on the runtime side.
  • + *
  • {@code /Api.java} -- one Api class per OpenAPI tag, + * with one public method per operation tagged with that tag.
  • + *
+ * + *

Method shape

+ * + * Each generated method takes the path parameters first, then required query + * parameters, then the optional request body, then a {@code String bearerToken} + * (or {@code null} to skip the {@code Authorization} header), then an + * {@code OnComplete>} callback. The body is a single chained + * call to {@code Rest.(url)...fetchAsMapped(Type.class, callback)}. + * + *
{@code
+ * // From the Petstore spec:
+ * public void getPetById(long petId, String bearerToken, OnComplete> cb) {
+ *     Rest.get(baseUrl + "/pet/" + petId)
+ *         .acceptJson()
+ *         .header("Authorization", bearerToken == null ? null : "Bearer " + bearerToken)
+ *         .fetchAsMapped(Pet.class, cb);
+ * }
+ * }
+ * + *

Scope (MVP)

+ * + *
    + *
  • HTTP verbs: GET, POST, PUT, DELETE, PATCH.
  • + *
  • Parameter locations: path, query.
  • + *
  • Request bodies: {@code application/json} -> serialised via + * {@code Mappers.toJson(body)} before being passed to {@code Rest#body}.
  • + *
  • Schemas: plain object types with {@code properties}; {@code $ref} + * resolution; {@code array}/{@code integer}/{@code number}/{@code string}/ + * {@code boolean} primitives. {@code oneOf}/{@code anyOf}/{@code allOf} + * are flattened to {@code Object} (caller-cast) -- a richer follow-up + * can specialise these.
  • + *
  • Response types: the first JSON success response (2xx) wins; everything + * else gets a {@code Map} fallback.
  • + *
+ * + * Header parameters, multipart upload, cookie params, file upload, security + * schemes beyond bearer-token, oneOf/anyOf are out of scope for this MVP and + * documented as deferred in {@code IMPROVEMENT_PLAN.md}. + */ +final class OpenApiCodegen { + + private final File outputDir; + private final String basePackage; + private final org.apache.maven.plugin.logging.Log log; + private final Map spec; + private final String modelPackage; + private final Map schemas; + + /** Tag -> list of operations associated with that tag. */ + private final Map> opsByTag = new TreeMap>(); + + OpenApiCodegen(File outputDir, String basePackage, + org.apache.maven.plugin.logging.Log log, Map spec) { + this.outputDir = outputDir; + this.basePackage = basePackage; + this.modelPackage = basePackage + ".model"; + this.log = log; + this.spec = spec; + Object components = spec.get("components"); + Object schemasObj = components instanceof Map ? ((Map) components).get("schemas") : null; + @SuppressWarnings("unchecked") + Map s = schemasObj instanceof Map ? (Map) schemasObj : Collections.emptyMap(); + this.schemas = s; + } + + /** Public entry point: parses spec into operations, then emits files. */ + void generate() throws IOException { + // Index every operation by tag. + Object pathsObj = spec.get("paths"); + if (!(pathsObj instanceof Map)) { + log.warn("OpenAPI spec has no `paths` -- nothing to generate."); + return; + } + @SuppressWarnings("unchecked") + Map paths = (Map) pathsObj; + for (Map.Entry e : paths.entrySet()) { + String path = e.getKey(); + if (!(e.getValue() instanceof Map)) continue; + @SuppressWarnings("unchecked") + Map pathItem = (Map) e.getValue(); + for (String verb : new String[]{"get", "post", "put", "delete", "patch"}) { + Object opObj = pathItem.get(verb); + if (!(opObj instanceof Map)) continue; + @SuppressWarnings("unchecked") + Map op = (Map) opObj; + OperationInfo info = buildOperation(verb, path, op, pathItem); + String tag = primaryTag(op); + List list = opsByTag.get(tag); + if (list == null) { + list = new ArrayList(); + opsByTag.put(tag, list); + } + list.add(info); + } + } + + // Emit models for every schema (whether referenced by an op or not). + File modelDir = new File(outputDir, modelPackage.replace('.', '/')); + modelDir.mkdirs(); + for (Map.Entry e : schemas.entrySet()) { + if (!(e.getValue() instanceof Map)) continue; + @SuppressWarnings("unchecked") + Map schema = (Map) e.getValue(); + emitModel(modelDir, e.getKey(), schema); + } + + // Emit one Api class per tag. + File apiDir = new File(outputDir, basePackage.replace('.', '/')); + apiDir.mkdirs(); + for (Map.Entry> e : opsByTag.entrySet()) { + emitApi(apiDir, e.getKey(), e.getValue()); + } + + log.info("Generated " + schemas.size() + " models and " + + opsByTag.size() + " Api classes under " + outputDir); + } + + // ---- parser / model ---- + + static final class OperationInfo { + final String verb; + final String path; + final String operationId; + final String summary; + final List pathParams = new ArrayList(); + final List queryParams = new ArrayList(); + boolean hasRequestBody; + String requestBodyType; // Java type, or "Map" for unrefed JSON + String responseType; // Java type, or "Map" for unrefed JSON + boolean responseIsList; + OperationInfo(String verb, String path) { this.verb = verb; this.path = path; this.operationId = null; this.summary = null; } + OperationInfo(String verb, String path, String operationId, String summary) { + this.verb = verb; this.path = path; this.operationId = operationId; this.summary = summary; + } + } + + static final class ParamInfo { + final String name; + final String javaType; + final boolean required; + ParamInfo(String name, String javaType, boolean required) { + this.name = name; this.javaType = javaType; this.required = required; + } + } + + private OperationInfo buildOperation(String verb, String path, + Map op, Map pathItem) { + String operationId = (String) op.get("operationId"); + if (operationId == null) { + operationId = synthesizeOperationId(verb, path); + } + String summary = (String) op.get("summary"); + OperationInfo info = new OperationInfo(verb, path, sanitizeIdentifier(operationId), summary); + + // Parameters: union of path-level params and operation-level params. + List combined = new ArrayList(); + Object pp = pathItem.get("parameters"); + if (pp instanceof List) combined.addAll((List) pp); + Object op2 = op.get("parameters"); + if (op2 instanceof List) combined.addAll((List) op2); + for (Object pObj : combined) { + if (!(pObj instanceof Map)) continue; + @SuppressWarnings("unchecked") + Map p = (Map) pObj; + Object resolved = resolveRef(p); + @SuppressWarnings("unchecked") + Map pr = (Map) resolved; + String in = (String) pr.get("in"); + String pname = (String) pr.get("name"); + boolean required = Boolean.TRUE.equals(pr.get("required")); + String javaType = paramTypeJava(pr); + ParamInfo pi = new ParamInfo(sanitizeIdentifier(pname), javaType, required); + if ("path".equals(in)) { + info.pathParams.add(pi); + } else if ("query".equals(in)) { + info.queryParams.add(pi); + } + // header / cookie params silently ignored in MVP + } + + // Request body: only application/json. If present, set the type. + Object rb = op.get("requestBody"); + if (rb instanceof Map) { + @SuppressWarnings("unchecked") + Map body = (Map) rb; + Object content = body.get("content"); + if (content instanceof Map) { + @SuppressWarnings("unchecked") + Map cmap = (Map) content; + Object jsonEntry = cmap.get("application/json"); + if (jsonEntry instanceof Map) { + @SuppressWarnings("unchecked") + Map je = (Map) jsonEntry; + Object schema = je.get("schema"); + info.hasRequestBody = true; + info.requestBodyType = schemaToJavaType(schema, /*listIsArrayList*/ true); + } + } + } + + // Response: pick the first 2xx with application/json. + Object responses = op.get("responses"); + info.responseType = "java.util.Map"; + if (responses instanceof Map) { + @SuppressWarnings("unchecked") + Map r = (Map) responses; + for (Map.Entry re : r.entrySet()) { + String code = re.getKey(); + if (code != null && code.startsWith("2") && re.getValue() instanceof Map) { + @SuppressWarnings("unchecked") + Map resp = (Map) re.getValue(); + Object content = resp.get("content"); + if (content instanceof Map) { + @SuppressWarnings("unchecked") + Map cmap = (Map) content; + Object jsonEntry = cmap.get("application/json"); + if (jsonEntry instanceof Map) { + @SuppressWarnings("unchecked") + Map je = (Map) jsonEntry; + Object schema = je.get("schema"); + if (schema instanceof Map) { + @SuppressWarnings("unchecked") + Map sm = (Map) schema; + if ("array".equals(sm.get("type"))) { + info.responseIsList = true; + info.responseType = schemaToJavaType(sm.get("items"), false); + } else { + info.responseType = schemaToJavaType(schema, false); + } + break; + } + } + } + } + } + } + return info; + } + + /// Resolves {@code $ref} pointers within the spec to their target object. + /// Only {@code #/components/...} refs are supported; external refs are + /// returned as-is and produce a {@code Map} typing fallback. + private Object resolveRef(Map maybeRef) { + Object ref = maybeRef.get("$ref"); + if (!(ref instanceof String)) return maybeRef; + String r = (String) ref; + if (!r.startsWith("#/")) return maybeRef; + String[] parts = r.substring(2).split("/"); + Object cur = spec; + for (String p : parts) { + if (cur instanceof Map) { + cur = ((Map) cur).get(p); + } else { + return maybeRef; + } + } + return cur instanceof Map ? cur : maybeRef; + } + + private String paramTypeJava(Map param) { + Object schema = param.get("schema"); + if (schema instanceof Map) return schemaToJavaType(schema, false); + return "String"; + } + + /// Maps an OpenAPI schema node to a Java type name suitable for use in + /// generated source. Composition keywords (allOf/oneOf/anyOf) collapse to + /// {@code Object} -- callers can cast. Unknown types become {@code String}. + @SuppressWarnings("unchecked") + String schemaToJavaType(Object schemaObj, boolean listIsArrayList) { + if (schemaObj == null) return "Object"; + if (!(schemaObj instanceof Map)) return "Object"; + Map schema = (Map) schemaObj; + // $ref short-circuit: resolve to a class name under modelPackage. + Object ref = schema.get("$ref"); + if (ref instanceof String) { + String r = (String) ref; + int slash = r.lastIndexOf('/'); + if (slash >= 0 && r.startsWith("#/components/schemas/")) { + String name = r.substring(slash + 1); + return modelPackage + "." + sanitizeClassName(name); + } + return "Object"; + } + Object type = schema.get("type"); + if (type instanceof String) { + String t = (String) type; + if ("integer".equals(t)) { + Object fmt = schema.get("format"); + if ("int64".equals(fmt)) return "long"; + return "int"; + } + if ("number".equals(t)) { + Object fmt = schema.get("format"); + if ("float".equals(fmt)) return "float"; + return "double"; + } + if ("boolean".equals(t)) return "boolean"; + if ("string".equals(t)) return "String"; + if ("array".equals(t)) { + String element = schemaToJavaType(schema.get("items"), false); + return "java.util.List<" + boxIfPrimitive(element) + ">"; + } + // "object" fallthrough to Map + return "java.util.Map"; + } + // Composition keywords: collapse to Object. + if (schema.containsKey("allOf") || schema.containsKey("oneOf") || schema.containsKey("anyOf")) { + return "Object"; + } + return "java.util.Map"; + } + + private String primaryTag(Map op) { + Object tags = op.get("tags"); + if (tags instanceof List && !((List) tags).isEmpty()) { + Object first = ((List) tags).get(0); + if (first instanceof String) return sanitizeClassName((String) first); + } + return "Default"; + } + + // ---- emit ---- + + private void emitModel(File dir, String name, Map schema) throws IOException { + String className = sanitizeClassName(name); + StringBuilder sb = new StringBuilder(); + sb.append("/* Generated by cn1:generate-openapi-client. DO NOT EDIT. */\n"); + sb.append("package ").append(modelPackage).append(";\n\n"); + sb.append("import com.codename1.annotations.JsonProperty;\n"); + sb.append("import com.codename1.annotations.Mapped;\n\n"); + sb.append("@Mapped\n"); + sb.append("public class ").append(className).append(" {\n"); + + Object propsObj = schema.get("properties"); + if (propsObj instanceof Map) { + @SuppressWarnings("unchecked") + Map props = (Map) propsObj; + for (Map.Entry e : props.entrySet()) { + String propName = e.getKey(); + String javaType = schemaToJavaType(e.getValue(), false); + String javaName = sanitizeIdentifier(propName); + sb.append(" @JsonProperty(\"").append(escapeJavaString(propName)).append("\")\n"); + sb.append(" public ").append(javaType).append(" ").append(javaName).append(";\n"); + } + } + + sb.append("}\n"); + writeFile(new File(dir, className + ".java"), sb.toString()); + } + + private void emitApi(File dir, String tag, List ops) throws IOException { + String className = sanitizeClassName(tag) + "Api"; + StringBuilder sb = new StringBuilder(); + sb.append("/* Generated by cn1:generate-openapi-client. DO NOT EDIT. */\n"); + sb.append("package ").append(basePackage).append(";\n\n"); + sb.append("import com.codename1.io.JSONWriter;\n"); + sb.append("import com.codename1.io.rest.Rest;\n"); + sb.append("import com.codename1.io.rest.RequestBuilder;\n"); + sb.append("import com.codename1.io.rest.Response;\n"); + sb.append("import com.codename1.util.OnComplete;\n\n"); + sb.append("public class ").append(className).append(" {\n"); + sb.append(" private final String baseUrl;\n\n"); + sb.append(" public ").append(className).append("(String baseUrl) {\n"); + sb.append(" this.baseUrl = stripTrailing(baseUrl);\n"); + sb.append(" }\n\n"); + + for (OperationInfo op : ops) { + emitOperationMethod(sb, op); + } + + // Footer helper. + sb.append(" private static String stripTrailing(String s) {\n"); + sb.append(" if (s == null) return \"\";\n"); + sb.append(" while (s.endsWith(\"/\")) { s = s.substring(0, s.length() - 1); }\n"); + sb.append(" return s;\n"); + sb.append(" }\n"); + sb.append("}\n"); + writeFile(new File(dir, className + ".java"), sb.toString()); + } + + private void emitOperationMethod(StringBuilder sb, OperationInfo op) { + String javaResponseType = op.responseIsList + ? "java.util.List<" + boxIfPrimitive(op.responseType) + ">" + : op.responseType; + + sb.append(" /// ").append(op.summary == null ? op.operationId : op.summary).append("\n"); + sb.append(" /// HTTP ").append(op.verb.toUpperCase(Locale.ROOT)).append(" ").append(op.path).append("\n"); + sb.append(" public void ").append(op.operationId).append("("); + boolean first = true; + for (ParamInfo p : op.pathParams) { + if (!first) sb.append(", "); + sb.append(p.javaType).append(" ").append(p.name); + first = false; + } + for (ParamInfo p : op.queryParams) { + if (!first) sb.append(", "); + sb.append(p.javaType).append(" ").append(p.name); + first = false; + } + if (op.hasRequestBody) { + if (!first) sb.append(", "); + sb.append(op.requestBodyType).append(" body"); + first = false; + } + if (!first) sb.append(", "); + sb.append("String bearerToken, OnComplete> callback) {\n"); + + // Build URL: substitute path params, then append query string. + sb.append(" String url = baseUrl + \"").append(interpolatePath(op.path, op.pathParams)).append("\";\n"); + sb.append(" RequestBuilder rb = Rest.").append(op.verb.toLowerCase(Locale.ROOT)).append("(url).acceptJson();\n"); + for (ParamInfo p : op.queryParams) { + sb.append(" if (").append(p.name).append(" != null) rb = rb.queryParam(\"") + .append(escapeJavaString(p.name)).append("\", String.valueOf(").append(p.name).append("));\n"); + } + sb.append(" if (bearerToken != null) rb = rb.header(\"Authorization\", \"Bearer \" + bearerToken);\n"); + if (op.hasRequestBody) { + sb.append(" rb = rb.header(\"Content-Type\", \"application/json\").jsonContent().body(\n"); + sb.append(" com.codename1.mapping.Mappers.toJson(body));\n"); + } + + // Fetch by shape. A response type is "mapped" (typed POJO) only + // when it resolves to a generated model class under modelPackage; + // primitive / Map / List responses go through the + // untyped fetchAsJsonMap / fetchAsJsonList path and the caller + // does its own un-marshaling. + boolean responseIsModel = op.responseType.startsWith(modelPackage + "."); + if (op.responseIsList) { + if (responseIsModel) { + sb.append(" rb.fetchAsMappedList(").append(op.responseType).append(".class, callback);\n"); + } else { + sb.append(" rb.fetchAsJsonList((OnComplete) callback);\n"); + } + } else if (responseIsModel) { + sb.append(" rb.fetchAsMapped(").append(op.responseType).append(".class, callback);\n"); + } else { + sb.append(" rb.fetchAsJsonMap((OnComplete) callback);\n"); + } + sb.append(" }\n\n"); + } + + private String interpolatePath(String path, List pathParams) { + // Replace {name} with a Java string-concat segment. + String out = path; + for (ParamInfo p : pathParams) { + String placeholder = "{" + originalNameFor(p.name, path) + "}"; + int idx = out.indexOf(placeholder); + if (idx < 0) continue; + String before = out.substring(0, idx); + String after = out.substring(idx + placeholder.length()); + out = before + "\" + " + p.name + " + \"" + after; + } + return out; + } + + /// Looks for the original (un-sanitized) parameter name in the path + /// placeholders. Path placeholders use the OpenAPI declared name which + /// is preserved verbatim; sanitizeIdentifier may have transformed the + /// Java identifier. + private String originalNameFor(String sanitizedName, String path) { + // Quick path: most OpenAPI parameter names are already Java-identifier-safe. + if (path.contains("{" + sanitizedName + "}")) return sanitizedName; + // Otherwise scan placeholders and pick the one whose sanitized form matches. + int i = 0; + while ((i = path.indexOf('{', i)) >= 0) { + int end = path.indexOf('}', i); + if (end < 0) break; + String inner = path.substring(i + 1, end); + if (sanitizeIdentifier(inner).equals(sanitizedName)) return inner; + i = end + 1; + } + return sanitizedName; + } + + // ---- name sanitization ---- + + /// Strips characters that would make a name invalid as a Java identifier, + /// upper-cases the first letter to match Java class-name convention. + static String sanitizeClassName(String s) { + StringBuilder sb = new StringBuilder(); + boolean upper = true; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c == '_' || c == '-' || c == ' ' || c == '.') { upper = true; continue; } + if (!Character.isJavaIdentifierPart(c)) continue; + if (sb.length() == 0 && !Character.isJavaIdentifierStart(c)) { + sb.append('_'); + } + sb.append(upper ? Character.toUpperCase(c) : c); + upper = false; + } + if (sb.length() == 0) return "Anonymous"; + return sb.toString(); + } + + static String sanitizeIdentifier(String s) { + StringBuilder sb = new StringBuilder(); + boolean upperNext = false; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c == '_' || c == '-' || c == ' ' || c == '.') { upperNext = true; continue; } + if (!Character.isJavaIdentifierPart(c)) continue; + if (sb.length() == 0 && !Character.isJavaIdentifierStart(c)) { + sb.append('_'); + } + sb.append(upperNext ? Character.toUpperCase(c) : c); + upperNext = false; + } + if (sb.length() == 0) return "anonymous"; + // Lowercase the first char (camelCase for methods/fields). + sb.setCharAt(0, Character.toLowerCase(sb.charAt(0))); + // Reserved-word collision: append underscore. + String word = sb.toString(); + if (isJavaReservedWord(word)) return word + "_"; + return word; + } + + private static boolean isJavaReservedWord(String s) { + return s.equals("abstract") || s.equals("assert") || s.equals("boolean") || s.equals("break") + || s.equals("byte") || s.equals("case") || s.equals("catch") || s.equals("char") + || s.equals("class") || s.equals("const") || s.equals("continue") || s.equals("default") + || s.equals("do") || s.equals("double") || s.equals("else") || s.equals("enum") + || s.equals("extends") || s.equals("final") || s.equals("finally") || s.equals("float") + || s.equals("for") || s.equals("goto") || s.equals("if") || s.equals("implements") + || s.equals("import") || s.equals("instanceof") || s.equals("int") || s.equals("interface") + || s.equals("long") || s.equals("native") || s.equals("new") || s.equals("null") + || s.equals("package") || s.equals("private") || s.equals("protected") || s.equals("public") + || s.equals("return") || s.equals("short") || s.equals("static") || s.equals("strictfp") + || s.equals("super") || s.equals("switch") || s.equals("synchronized") || s.equals("this") + || s.equals("throw") || s.equals("throws") || s.equals("transient") || s.equals("true") + || s.equals("false") || s.equals("try") || s.equals("void") || s.equals("volatile") + || s.equals("while") || s.equals("record"); + } + + private static String synthesizeOperationId(String verb, String path) { + StringBuilder sb = new StringBuilder(verb); + boolean upper = true; + for (int i = 0; i < path.length(); i++) { + char c = path.charAt(i); + if (c == '/' || c == '{' || c == '}' || c == '-' || c == '_') { upper = true; continue; } + if (!Character.isJavaIdentifierPart(c)) continue; + sb.append(upper ? Character.toUpperCase(c) : c); + upper = false; + } + return sb.toString(); + } + + /// Java requires reference types for type parameters (`List` is + /// illegal). Box primitive type names. + static String boxIfPrimitive(String type) { + if (type == null) return "Object"; + if (type.equals("int")) return "Integer"; + if (type.equals("long")) return "Long"; + if (type.equals("double")) return "Double"; + if (type.equals("float")) return "Float"; + if (type.equals("boolean")) return "Boolean"; + if (type.equals("byte")) return "Byte"; + if (type.equals("short")) return "Short"; + if (type.equals("char")) return "Character"; + return type; + } + + private static String escapeJavaString(String s) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c == '"' || c == '\\') sb.append('\\'); + sb.append(c); + } + return sb.toString(); + } + + private void writeFile(File f, String content) throws IOException { + FileOutputStream out = new FileOutputStream(f); + try { + out.write(content.getBytes(StandardCharsets.UTF_8)); + } finally { + out.close(); + } + } + + // ---- spec loading helpers (also used by the mojo) ---- + + /// Loads an OpenAPI spec from `specLocation`, which is either a URL + /// (http / https) or a local file path. Returns the parsed JSON + /// document as a Map. + static Map loadSpec(String specLocation) throws IOException { + Reader reader; + if (specLocation.startsWith("http://") || specLocation.startsWith("https://")) { + URL url = new URL(specLocation); + InputStream is = url.openStream(); + reader = new InputStreamReader(is, StandardCharsets.UTF_8); + } else { + File f = new File(specLocation); + if (!f.exists()) { + throw new IOException("OpenAPI spec not found: " + specLocation); + } + reader = Files.newBufferedReader(f.toPath(), StandardCharsets.UTF_8); + } + try { + return new JSONParser().parseJSON(reader); + } finally { + reader.close(); + } + } +} diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/StubGenerator.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/StubGenerator.java index 5b19e1101b..d137d959d4 100644 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/StubGenerator.java +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/StubGenerator.java @@ -697,7 +697,22 @@ private boolean isValidType(Class cls) { return true; } if(cls.isArray()) { - return cls.getComponentType().isPrimitive(); + // Primitive arrays (byte[], int[], long[], double[], float[], + // boolean[], char[], short[]) plus String[] are valid parameter + // and return types. + // + // CAVEAT: the iOS Objective-C marshaller at + // javaTypeToObjectiveCType() currently maps every array to + // NSData* -- i.e. iOS callers receive byte-buffer semantics + // regardless of declared component type. For int[] / long[] / + // double[] / float[] this means the native side has to read the + // raw bytes (still useful for fixed-format payloads). For + // String[] this means the native side has to deserialize the + // payload itself. Per-component-type ObjC marshalling + // (NSArray* / NSArray*) is a separate + // follow-up; see the IMPROVEMENT_PLAN. + Class component = cls.getComponentType(); + return component.isPrimitive() || component == String.class; } if(cls == String.class) { return true; diff --git a/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/OpenApiCodegenTest.java b/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/OpenApiCodegenTest.java new file mode 100644 index 0000000000..ea9f0af9bd --- /dev/null +++ b/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/OpenApiCodegenTest.java @@ -0,0 +1,191 @@ +package com.codename1.maven; + +import org.apache.maven.plugin.logging.SystemStreamLog; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Map; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * End-to-end coverage of {@link OpenApiCodegen} against a small inline OpenAPI + * spec resembling a Petstore-style API. The test asserts the generator emits + * the expected file set and that key marker strings (annotations, method + * signatures, return types) appear in the output. + * + *

This is an integration test in spirit -- not a pure unit test of + * sanitizer methods -- but it doesn't reach the network so it stays + * deterministic and runs in <100ms. + */ +class OpenApiCodegenTest { + + private static final String INLINE_SPEC = + "{" + + "\"openapi\":\"3.0.0\"," + + "\"info\":{\"title\":\"t\",\"version\":\"1.0\"}," + + "\"paths\":{" + + " \"/pet/{petId}\":{" + + " \"get\":{\"tags\":[\"pet\"],\"operationId\":\"getPetById\"," + + " \"parameters\":[{\"name\":\"petId\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"integer\",\"format\":\"int64\"}}]," + + " \"responses\":{\"200\":{\"description\":\"ok\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Pet\"}}}}}" + + " }," + + " \"delete\":{\"tags\":[\"pet\"],\"operationId\":\"deletePet\"," + + " \"parameters\":[{\"name\":\"petId\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"integer\",\"format\":\"int64\"}}]," + + " \"responses\":{\"200\":{\"description\":\"ok\"}}" + + " }" + + " }," + + " \"/pet\":{" + + " \"post\":{\"tags\":[\"pet\"],\"operationId\":\"addPet\"," + + " \"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Pet\"}}}}," + + " \"responses\":{\"200\":{\"description\":\"ok\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Pet\"}}}}}" + + " }" + + " }," + + " \"/pet/findByStatus\":{" + + " \"get\":{\"tags\":[\"pet\"],\"operationId\":\"findPetsByStatus\"," + + " \"parameters\":[{\"name\":\"status\",\"in\":\"query\",\"schema\":{\"type\":\"string\"}}]," + + " \"responses\":{\"200\":{\"description\":\"ok\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Pet\"}}}}}}" + + " }" + + " }" + + "}," + + "\"components\":{\"schemas\":{" + + " \"Pet\":{\"type\":\"object\",\"properties\":{" + + " \"id\":{\"type\":\"integer\",\"format\":\"int64\"}," + + " \"name\":{\"type\":\"string\"}," + + " \"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}" + + " }}," + + " \"Tag\":{\"type\":\"object\",\"properties\":{" + + " \"id\":{\"type\":\"integer\",\"format\":\"int64\"}," + + " \"name\":{\"type\":\"string\"}" + + " }}" + + "}}}"; + + @Test + void emitsExpectedFiles() throws Exception { + File specFile = File.createTempFile("openapi-spec-", ".json"); + try (FileOutputStream out = new FileOutputStream(specFile)) { + out.write(INLINE_SPEC.getBytes(StandardCharsets.UTF_8)); + } + + File outDir = Files.createTempDirectory("cn1-openapi-codegen").toFile(); + try { + Map spec = OpenApiCodegen.loadSpec(specFile.getAbsolutePath()); + assertNotNull(spec, "spec parses to non-null Map"); + new OpenApiCodegen(outDir, "com.example.api", new SystemStreamLog(), spec).generate(); + + // Models + File petModel = new File(outDir, "com/example/api/model/Pet.java"); + File tagModel = new File(outDir, "com/example/api/model/Tag.java"); + assertTrue(petModel.exists(), "Pet model emitted"); + assertTrue(tagModel.exists(), "Tag model emitted"); + + String petContent = new String(Files.readAllBytes(petModel.toPath()), StandardCharsets.UTF_8); + assertTrue(petContent.contains("@Mapped"), "Pet POJO carries @Mapped"); + assertTrue(petContent.contains("@JsonProperty(\"id\")"), "Pet#id has @JsonProperty(\"id\")"); + assertTrue(petContent.contains("public long id"), "Pet#id is a long (int64)"); + assertTrue(petContent.contains("public String name"), + "Pet#name is a String. got:\n" + petContent); + assertTrue(petContent.contains("java.util.List"), + "Pet#tags is a List. got:\n" + petContent); + + // Api class + File petApi = new File(outDir, "com/example/api/PetApi.java"); + assertTrue(petApi.exists(), "PetApi emitted"); + String petApiContent = new String(Files.readAllBytes(petApi.toPath()), StandardCharsets.UTF_8); + assertTrue(petApiContent.contains("public void getPetById(long petId,"), + "getPetById takes long petId. got:\n" + petApiContent); + assertTrue(petApiContent.contains("Rest.get(url)"), + "GET endpoint generates Rest.get. got:\n" + petApiContent); + assertTrue(petApiContent.contains(".fetchAsMapped(com.example.api.model.Pet.class,"), + "getPetById returns mapped Pet. got:\n" + petApiContent); + assertTrue(petApiContent.contains("public void deletePet(long petId,"), + "deletePet emitted. got:\n" + petApiContent); + assertTrue(petApiContent.contains("Rest.delete(url)"), + "DELETE endpoint generates Rest.delete. got:\n" + petApiContent); + assertTrue(petApiContent.contains("public void addPet(com.example.api.model.Pet body,"), + "addPet body is typed Pet. got:\n" + petApiContent); + assertTrue(petApiContent.contains("Rest.post(url)"), + "POST endpoint generates Rest.post. got:\n" + petApiContent); + assertTrue(petApiContent.contains(".fetchAsMappedList(com.example.api.model.Pet.class,"), + "findPetsByStatus returns mapped list. got:\n" + petApiContent); + assertTrue(petApiContent.contains("if (status != null) rb = rb.queryParam(\"status\","), + "Optional query param wired as queryParam. got:\n" + petApiContent); + assertTrue(petApiContent.contains("if (bearerToken != null)"), + "Bearer token plumbing present. got:\n" + petApiContent); + assertTrue(petApiContent.contains("baseUrl + \"/pet/\" + petId + \"\""), + "Path param interpolated into URL. got:\n" + petApiContent); + } finally { + // Cleanup + specFile.delete(); + } + } + + /// If a saved Swagger Petstore spec is on disk at `/tmp/petstore.json`, + /// drive the generator end-to-end. The test asserts the generator + /// produces the expected Api classes (PetApi, StoreApi, UserApi) and + /// the expected model count -- catching real-world spec patterns + /// (operationId fallbacks, multi-tag operations, $ref-in-array + /// schemas) that the inline-spec test doesn't exercise. + /// + /// Skipped when the file isn't present so the test suite stays + /// hermetic. + @Test + void generatesPetstoreClient() throws Exception { + File petstoreSpec = new File("/tmp/petstore.json"); + if (!petstoreSpec.exists()) { + System.out.println("petstore.json not present; skipping. " + + "To run: curl -sS https://petstore3.swagger.io/api/v3/openapi.json > /tmp/petstore.json"); + return; + } + File outDir = Files.createTempDirectory("cn1-openapi-petstore").toFile(); + Map spec = OpenApiCodegen.loadSpec(petstoreSpec.getAbsolutePath()); + new OpenApiCodegen(outDir, "com.petstore.api", new SystemStreamLog(), spec).generate(); + + File petApi = new File(outDir, "com/petstore/api/PetApi.java"); + File storeApi = new File(outDir, "com/petstore/api/StoreApi.java"); + File userApi = new File(outDir, "com/petstore/api/UserApi.java"); + assertTrue(petApi.exists(), "PetApi emitted from real Petstore spec"); + assertTrue(storeApi.exists(), "StoreApi emitted"); + assertTrue(userApi.exists(), "UserApi emitted"); + + File petModel = new File(outDir, "com/petstore/api/model/Pet.java"); + File orderModel = new File(outDir, "com/petstore/api/model/Order.java"); + File userModel = new File(outDir, "com/petstore/api/model/User.java"); + assertTrue(petModel.exists(), "Pet model emitted"); + assertTrue(orderModel.exists(), "Order model emitted"); + assertTrue(userModel.exists(), "User model emitted"); + + String petContent = new String(Files.readAllBytes(petModel.toPath()), StandardCharsets.UTF_8); + assertTrue(petContent.contains("public long id"), "Pet#id is long (int64). got:\n" + petContent); + assertTrue(petContent.contains("public java.util.List photoUrls"), + "Pet#photoUrls is List. got:\n" + petContent); + + String petApiContent = new String(Files.readAllBytes(petApi.toPath()), StandardCharsets.UTF_8); + // The Petstore has findPetsByStatus returning a List; verify list path. + assertTrue(petApiContent.contains("fetchAsMappedList(com.petstore.api.model.Pet.class"), + "findPetsByStatus uses fetchAsMappedList. PetApi content:\n" + petApiContent); + } + + @Test + void sanitizesIdentifiers() { + assertEquals("getPetById", OpenApiCodegen.sanitizeIdentifier("getPetById")); + assertEquals("xRateLimit", OpenApiCodegen.sanitizeIdentifier("X-Rate-Limit")); + assertEquals("class_", OpenApiCodegen.sanitizeIdentifier("class")); + assertEquals("_123foo", OpenApiCodegen.sanitizeIdentifier("123foo")); + } + + @Test + void sanitizesClassNames() { + assertEquals("Pet", OpenApiCodegen.sanitizeClassName("pet")); + assertEquals("OrderItem", OpenApiCodegen.sanitizeClassName("order_item")); + assertEquals("HttpClient", OpenApiCodegen.sanitizeClassName("http-client")); + } +} diff --git a/native-themes/android-material/theme.css b/native-themes/android-material/theme.css index 8545e7baa5..4375143313 100644 --- a/native-themes/android-material/theme.css +++ b/native-themes/android-material/theme.css @@ -71,6 +71,19 @@ tabsSafeAreaBool: true; tabsFillRowsBool: true; tabsGridBool: true; + /* Material 3 NavigationBar-style sliding indicator: a thin coloured + underline that tweens between tabs when the user changes + selection. Off by default in the framework so existing apps + don't suddenly animate; on by default in the modern Material + theme to match the spec. Duration 200ms matches Material 3. */ + tabsAnimatedIndicatorBool: true; + tabsAnimatedIndicatorDurationInt: 200; + tabsAnimatedIndicatorThicknessMm: 1; + /* Modern arc-spinner pull-to-refresh, Material 3 style. Color + comes from the TabIndicator UIID's fg (accent-tinted). */ + pullToRefreshModernBool: true; + pullToRefreshIndicatorDiameterMm: 8; + pullToRefreshIndicatorStrokeMm: "0.6"; switchThumbPaddingInt: 2; switchThumbScaleY: "1.5"; switchTrackScaleY: "0.9"; @@ -342,6 +355,11 @@ Tab.pressed { color: var(--accent-on-container-color, #21005d); background-color SelectedTab { cn1-derive: Tab; color: var(--accent-color, #6750a4); } UnselectedTab { cn1-derive: Tab; color: #49454f; } +/* TabIndicator: color reference read by Tabs.paintAnimatedIndicator() + for the sliding underline. The actual drawing is done in Java; this + UIID only contributes the foreground colour. */ +TabIndicator { color: var(--accent-color, #6750a4); background-color: transparent; padding: 0; margin: 0; } + SideNavigationPanel { background-color: #fef7ff; padding: 0; margin: 0; } SideCommand { @@ -534,6 +552,9 @@ PopupContent { SelectedTab { color: var(--accent-color-dark, #d0bcff); } UnselectedTab { color: #cac4d0; } + /* Animated indicator inherits the dark-mode accent. */ + TabIndicator { color: var(--accent-color-dark, #d0bcff); background-color: transparent; } + SideNavigationPanel { background-color: #141218; } SideCommand { color: #e6e0e9; background-color: transparent; } SideCommand.pressed { background-color: var(--accent-pressed-color-dark, #4f378b); } diff --git a/native-themes/ios-modern/theme.css b/native-themes/ios-modern/theme.css index ef299dd9b8..7069c7ae3a 100644 --- a/native-themes/ios-modern/theme.css +++ b/native-themes/ios-modern/theme.css @@ -66,6 +66,22 @@ Themes painting a flush full-width tab strip leave this true (the framework default) so the tab strip itself reserves the inset. */ tabsSafeAreaBool: false; + /* iOS 26 NavigationBar-style sliding indicator: a thin coloured + underline that tweens between tabs when the user changes + selection. Off by default in the framework (so existing apps + don't suddenly animate); on by default in the modern native + theme. Duration 200ms matches Material 3's reference. */ + tabsAnimatedIndicatorBool: true; + tabsAnimatedIndicatorDurationInt: 200; + tabsAnimatedIndicatorThicknessMm: 1; + /* Modern arc-spinner pull-to-refresh. Replaces the legacy + rotating-arrow + text stack with a thin circular arc whose sweep + grows as the user pulls, then spins continuously while the + refresh task is running. Color is pulled from the TabIndicator + UIID's fg (already accent-tinted in this theme). */ + pullToRefreshModernBool: true; + pullToRefreshIndicatorDiameterMm: 8; + pullToRefreshIndicatorStrokeMm: "0.6"; /* Route the Tab icon's styling through a separate UIID. FontImage copies the Button's bgColor/transparency into the rendered glyph image; over the cn1-pill-border selected pill that paints a @@ -322,6 +338,11 @@ UnselectedTab { cn1-derive: Tab; color: #000000; } square inside the pill. Color (light/dark) inherits from the parent Tab via Style.fgColor at icon-render time. */ TabIcon { background-color: transparent; padding: 0; margin: 0; } + +/* TabIndicator: color reference read by Tabs.paintAnimatedIndicator() + for the sliding underline. The actual drawing is done in Java; this + UIID only contributes the foreground colour. */ +TabIndicator { color: var(--accent-color, #007aff); background-color: transparent; padding: 0; margin: 0; } TabIcon.selected { background-color: transparent; } TabIcon.pressed { background-color: transparent; } @@ -563,6 +584,9 @@ PopupContent { TabIcon.selected { color: #ffffff; background-color: transparent; } TabIcon.pressed { color: #ffffff; background-color: transparent; } + /* Animated indicator inherits the dark-mode accent. */ + TabIndicator { color: var(--accent-color-dark, #0a84ff); background-color: transparent; } + SideNavigationPanel { background-color: #000000; } SideCommand { color: #ffffff; } SideCommand.pressed { background-color: #3a3a3c; } diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java index 2cd24f099d..a4416e27d3 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java @@ -100,6 +100,9 @@ private static int testTimeoutMs() { new UncoverHorizontalTransitionTest(), new FadeTransitionTest(), new FlipTransitionTest(), + new MorphTransitionTest(), + new MorphTransitionScrolledSourceTest(), + new MorphTransitionSnapshotTest(), new AnimateLayoutScreenshotTest(), new AnimateHierarchyScreenshotTest(), new AnimateUnlayoutScreenshotTest(), @@ -356,6 +359,9 @@ private static boolean isJsSkippedAnimationTest(String testName) { || "UncoverHorizontalTransitionTest".equals(testName) || "FadeTransitionTest".equals(testName) || "FlipTransitionTest".equals(testName) + || "MorphTransitionTest".equals(testName) + || "MorphTransitionScrolledSourceTest".equals(testName) + || "MorphTransitionSnapshotTest".equals(testName) || "AnimateLayoutScreenshotTest".equals(testName) || "AnimateHierarchyScreenshotTest".equals(testName) || "AnimateUnlayoutScreenshotTest".equals(testName) diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionScrolledSourceTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionScrolledSourceTest.java new file mode 100644 index 0000000000..f81a4e366c --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionScrolledSourceTest.java @@ -0,0 +1,111 @@ +package com.codenameone.examples.hellocodenameone.tests; + +import com.codename1.ui.Container; +import com.codename1.ui.Form; +import com.codename1.ui.Label; +import com.codename1.ui.animations.MorphTransition; +import com.codename1.ui.animations.Transition; +import com.codename1.ui.layouts.BorderLayout; +import com.codename1.ui.layouts.BoxLayout; +import com.codename1.ui.plaf.Style; + +/// Regression test for the "source inside a scrolling parent" case of +/// {@link MorphTransition}. +/// +/// The source form has a long scrolling list of placeholder cards plus one +/// named "card-of-interest" that lives partway down the list. Before the +/// transition starts the source's scroll position is advanced so the named +/// card sits near the top edge of the viewport -- meaning the off-viewport +/// cards above it are clipped by the form bounds, not the parent's content +/// bounds. The destination form positions the same-named card at the top +/// of the form, full-width. +/// +/// The bug this test guards against: an earlier {@link MorphTransition} +/// implementation re-painted the source component live during animate() +/// using {@code paintComponent(g)}, which renders the *full* component +/// including off-viewport pixels. With a scrolled parent this caused the +/// morph to briefly show pixels the user could not see at the moment they +/// tapped. The fix is to capture the source as a clipped Image at +/// initTransition() and tween that. Any regression that puts the source +/// back on the live-paint path produces a different grid image and the +/// screenshot diff catches it. +public class MorphTransitionScrolledSourceTest extends AbstractTransitionScreenshotTest { + + private static final String CARD_NAME = "morph-card-scrolled"; + /// How far down the long list the named card sits. Picked large enough + /// that on every supported skin the card is at least one viewport + /// below the top of the list before scrolling. + private static final int LEADING_FILLER = 12; + private static final int TRAILING_FILLER = 12; + + @Override + protected Transition createTransition(int duration) { + return MorphTransition.create(duration).morph(CARD_NAME); + } + + @Override + protected void buildSourceForm(Form form) { + form.setLayout(new BorderLayout()); + Style cps = form.getContentPane().getAllStyles(); + cps.setBgTransparency(255); + cps.setBgColor(0x1f4068); + cps.setFgColor(0xffffff); + + Container list = new Container(BoxLayout.y()); + list.setScrollableY(true); + for (int i = 0; i < LEADING_FILLER; i++) { + list.add(buildFiller("Filler " + (i + 1), 0x2a4a78)); + } + Label card = new Label("Card"); + card.setName(CARD_NAME); + Style cs = card.getAllStyles(); + cs.setBgColor(0xef4444); + cs.setFgColor(0xffffff); + cs.setBgTransparency(255); + cs.setPadding(12, 12, 8, 8); + cs.setMargin(2, 2, 4, 4); + list.add(card); + + for (int i = 0; i < TRAILING_FILLER; i++) { + list.add(buildFiller("Filler " + (LEADING_FILLER + i + 1), 0x2a4a78)); + } + form.add(BorderLayout.CENTER, list); + + // Force a layout so the list has real bounds, then scroll so the + // named card sits near the top of the viewport. Without this, the + // scroll-out-of-view condition the test depends on doesn't occur. + form.layoutContainer(); + list.scrollComponentToVisible(card); + } + + private Label buildFiller(String text, int bgColor) { + Label l = new Label(text); + Style s = l.getAllStyles(); + s.setBgColor(bgColor); + s.setFgColor(0xffffff); + s.setBgTransparency(255); + s.setPadding(12, 12, 8, 8); + s.setMargin(2, 2, 4, 4); + return l; + } + + @Override + protected void buildDestForm(Form form) { + form.setLayout(new BorderLayout()); + Style cps = form.getContentPane().getAllStyles(); + cps.setBgTransparency(255); + cps.setBgColor(0x9c1d1d); + cps.setFgColor(0xffffff); + + Label card = new Label("Card (expanded)"); + card.setName(CARD_NAME); + Style cs = card.getAllStyles(); + cs.setBgColor(0xef4444); + cs.setFgColor(0xffffff); + cs.setBgTransparency(255); + cs.setPadding(24, 24, 12, 12); + cs.setMargin(0, 8, 8, 8); + + form.add(BorderLayout.NORTH, card); + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionSnapshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionSnapshotTest.java new file mode 100644 index 0000000000..bdfcee41b8 --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionSnapshotTest.java @@ -0,0 +1,73 @@ +package com.codenameone.examples.hellocodenameone.tests; + +import com.codename1.ui.Container; +import com.codename1.ui.Form; +import com.codename1.ui.Label; +import com.codename1.ui.animations.MorphTransition; +import com.codename1.ui.animations.Transition; +import com.codename1.ui.layouts.BorderLayout; +import com.codename1.ui.layouts.BoxLayout; +import com.codename1.ui.plaf.Style; + +/// Snapshot-mode variant of {@link MorphTransitionTest}. Same source / dest +/// layout, but the transition is built with +/// {@code MorphTransition.create(d).snapshotMode(true).morph(...)} so the +/// per-frame paint pulls from images captured at initTransition() rather +/// than re-painting the live source / dest components from the layered +/// pane. +/// +/// Why a separate test rather than flipping the existing one to snapshot +/// mode: the legacy live-paint path stays the framework default for +/// backwards compatibility; both paths should have their own locked +/// baseline so a regression on one doesn't get hidden under the other's +/// tolerance. +public class MorphTransitionSnapshotTest extends AbstractTransitionScreenshotTest { + + private static final String CARD_NAME = "morph-card-snapshot"; + + @Override + protected Transition createTransition(int duration) { + return MorphTransition.create(duration).snapshotMode(true).morph(CARD_NAME); + } + + @Override + protected void buildSourceForm(Form form) { + form.setLayout(new BorderLayout()); + Style cps = form.getContentPane().getAllStyles(); + cps.setBgTransparency(255); + cps.setBgColor(0x1f4068); + cps.setFgColor(0xffffff); + + Label card = new Label("Card"); + card.setName(CARD_NAME); + Style cs = card.getAllStyles(); + cs.setBgColor(0xef4444); + cs.setFgColor(0xffffff); + cs.setBgTransparency(255); + cs.setPadding(8, 8, 8, 8); + cs.setMargin(20, 4, 4, 20); + + Container row = new Container(new BorderLayout()); + row.add(BorderLayout.WEST, card); + form.add(BorderLayout.SOUTH, row); + } + + @Override + protected void buildDestForm(Form form) { + form.setLayout(new BorderLayout()); + Style cps = form.getContentPane().getAllStyles(); + cps.setBgTransparency(255); + cps.setBgColor(0x9c1d1d); + cps.setFgColor(0xffffff); + + Label card = new Label("Card (expanded)"); + card.setName(CARD_NAME); + Style cs = card.getAllStyles(); + cs.setBgColor(0xef4444); + cs.setFgColor(0xffffff); + cs.setBgTransparency(255); + cs.setPadding(20, 20, 8, 8); + + form.add(BorderLayout.NORTH, card); + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionTest.java new file mode 100644 index 0000000000..22ba9fb14f --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/MorphTransitionTest.java @@ -0,0 +1,72 @@ +package com.codenameone.examples.hellocodenameone.tests; + +import com.codename1.ui.Container; +import com.codename1.ui.Form; +import com.codename1.ui.Label; +import com.codename1.ui.animations.MorphTransition; +import com.codename1.ui.animations.Transition; +import com.codename1.ui.layouts.BorderLayout; +import com.codename1.ui.layouts.BoxLayout; +import com.codename1.ui.plaf.Style; + +/// Baseline {@link MorphTransition} test. Source places a 6mm-square red +/// "card" tile in the bottom-left of the form; destination places the same +/// "card" expanded across the top. The morph tweens that one named +/// component between the two layouts. +/// +/// This is the simplest possible morph case -- both components are fully +/// on-screen at all times. See {@link MorphTransitionScrolledSourceTest} +/// for the source-in-scrolling-container variant that exercises the +/// clipped-capture path. +public class MorphTransitionTest extends AbstractTransitionScreenshotTest { + + private static final String CARD_NAME = "morph-card"; + + @Override + protected Transition createTransition(int duration) { + return MorphTransition.create(duration).morph(CARD_NAME); + } + + @Override + protected void buildSourceForm(Form form) { + form.setLayout(new BorderLayout()); + Style cps = form.getContentPane().getAllStyles(); + cps.setBgTransparency(255); + cps.setBgColor(0x1f4068); + cps.setFgColor(0xffffff); + + Label card = new Label("Card"); + card.setName(CARD_NAME); + Style cs = card.getAllStyles(); + cs.setBgColor(0xef4444); + cs.setFgColor(0xffffff); + cs.setBgTransparency(255); + cs.setPadding(8, 8, 8, 8); + cs.setMargin(20, 4, 4, 20); + + // The card lives in the SOUTH region as a compact tile. + Container row = new Container(new BorderLayout()); + row.add(BorderLayout.WEST, card); + form.add(BorderLayout.SOUTH, row); + } + + @Override + protected void buildDestForm(Form form) { + form.setLayout(new BorderLayout()); + Style cps = form.getContentPane().getAllStyles(); + cps.setBgTransparency(255); + cps.setBgColor(0x9c1d1d); + cps.setFgColor(0xffffff); + + Label card = new Label("Card (expanded)"); + card.setName(CARD_NAME); + Style cs = card.getAllStyles(); + cs.setBgColor(0xef4444); + cs.setFgColor(0xffffff); + cs.setBgTransparency(255); + cs.setPadding(20, 20, 8, 8); + + // The card lives in NORTH and stretches across the full width. + form.add(BorderLayout.NORTH, card); + } +} diff --git a/scripts/initializr/common/src/main/resources/skill/SKILL.md b/scripts/initializr/common/src/main/resources/skill/SKILL.md index d6f730b088..6d42775fb0 100644 --- a/scripts/initializr/common/src/main/resources/skill/SKILL.md +++ b/scripts/initializr/common/src/main/resources/skill/SKILL.md @@ -22,7 +22,7 @@ This skill teaches you how to write code for a Codename One (CN1) cross-platform - `references/build-and-run.md` — Local vs cloud builds, JDK matrix, Maven goals, `codenameone_settings.properties`, running the simulator, building for iOS/Android/Web, automated (Enterprise) cloud builds in CI. - `references/build-hints.md` — Curated index of `codename1.arg.*` build hints (iOS, Android, push, web). -- `references/java-api-subset.md` — How to inspect the supported Java API subset, IO (`Storage`, `FileSystemStorage`), networking (`ConnectionRequest`, `Rest`), concurrency, dates, SQLite. **Read this whenever the compliance check fails or when you reach for a `java.*` API.** +- `references/java-api-subset.md` — How to inspect the supported Java API subset, IO (`Storage`, `FileSystemStorage`), networking (`ConnectionRequest`, `Rest`), OAuth/OpenID Connect (`OidcClient`), WebSockets (cn1lib), concurrency, dates, SQLite. **Read this whenever the compliance check fails or when you reach for a `java.*` API.** - `references/ui-components.md` — Form, Toolbar, Container layouts (Border/Box/Flow/Grid/Layered), common components, navigation, dialogs. - `references/css.md` — CSS capabilities and (important) **limitations**. Selectors, supported properties, 9-patch borders, theme constants. - `references/swing-comparison.md` — Mapping Swing concepts and code to Codename One. Read this when porting Swing code. diff --git a/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md b/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md index b4c3c3592e..8992ae3daf 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md +++ b/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md @@ -40,12 +40,28 @@ mvn -pl common cn1:run # Debug from your IDE (attaches to JDWP). mvn -pl common cn1:debug +# Hot reload of edited Java code (HotSwap, not full app restart) — see +# "Hot reload" below. Pick the mode from the simulator's Hot Reload menu. + # Run the CN1 test runner (NOT surefire). Runs inside the simulator JVM. mvn -pl common cn1:test # Compile CSS into theme.res without running the app. Process-resources phase. mvn -pl common compile +# Generate stubs for any com.codename1.system.NativeInterface in common/ +# (one per platform under android/, ios/, javase/, javascript/). +mvn -pl common cn1:generate-native-interfaces + +# Generate a typed REST client from an OpenAPI 3.x spec. Emits @Mapped POJOs +# under common/target/generated-sources/openapi//model/ and one +# Api.java per OpenAPI tag. Hooks into the generate-sources phase when +# wired as an execution in common/pom.xml (see references/java-api-subset.md +# "Typed responses"). +mvn -pl common cn1:generate-openapi-client \ + -Dcn1.openapi.spec=https://petstore3.swagger.io/api/v3/openapi.json \ + -Dcn1.openapi.basePackage=com.example.petstore + # --- Cloud builds (need a Codename One account; some need Enterprise tier) --- # Native iOS app (.ipa). Cloud-built. @@ -66,6 +82,24 @@ mvn -pl javase package -Dcodename1.platform=javase -Dcodename1.buildTarget=windo mvn -pl javase package -Dcodename1.platform=javase -Dcodename1.buildTarget=linux-desktop ``` +## Hot reload — Java edits without restarting the simulator + +The simulator (`cn1:run` / `cn1:debug`) supports three reload modes, picked from the **Hot Reload** menu in the simulator's window (the setting persists per-project in Java preferences): + +| Mode | What it does | When to use | +| --- | --- | --- | +| **Disabled** (default) | No reload — restart `cn1:run` to pick up Java edits. CSS still live-reloads regardless. | Production-style runs. | +| **Reload Simulator** | A file watcher (`SourceChangeWatcher`) recompiles changed `.java` files in `common/src/main/java/` via the IDE's incremental compiler and triggers a simulator restart. The simulator keeps the same JVM but rebuilds the form stack. | The most reliable mode — works on any edit (new class, signature change, new field). | +| **Reload Current Form** | Requires the **HotswapAgent** JVM agent (set up via `cn1:debug` + an IDE that pushes class file redefinitions through JDWP) **plus** CodeRAD wiring on your forms. When a `.java` file is recompiled, the simulator calls `FormController.tryCloneAndReplaceCurrentForm()` and re-shows the current form on the patched class. | Fastest iteration for UI tweaks inside a single form — preserves global state and the navigation stack, only the visible form re-renders. Method-body edits work; adding fields or methods falls back to a full restart. | + +Behind the scenes: + +- **CSS reload** is always on. Edits to `common/src/main/css/theme.css` are watched and `theme.res` is regenerated + re-injected into the running simulator without restarting the JVM. This works in every mode. +- **Java reload (mode 2)** is driven by the standard JVM HotSwap protocol (`-agentlib:jdwp=...,redefinitions=true`) plus [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) for the deeper redefinitions (added/removed methods, new classes). The IDE compiles the `.java` to a `.class` and JDWP-pushes it; the simulator notices via a system property and re-clones the form. +- The watcher only sees files written by the IDE — running `mvn compile` from a separate shell doesn't trigger reload because the IDE's incremental compiler is what writes the `.class` to `target/classes/`. + +Comparing to Flutter / React Native: this is closer to Flutter's "hot restart" semantics (mode 2 above) than to Flutter's true "hot reload" (which preserves *all* in-memory state across the patch). Method-body edits feel instantaneous; structural edits cost a form rebuild. + ## Tests in CI/CD For **logic, UI, and screenshot tests**, run `mvn -pl common cn1:test` (the CN1 test runner). It executes inside a local JVM via the simulator, so CI/CD does not need a Codename One account, a build server, or platform tooling — any GitHub Actions runner with a JDK 17+ can run it. This is the right loop for fast feedback. diff --git a/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md b/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md index 7077f98bcf..69c9f06191 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md +++ b/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md @@ -74,6 +74,7 @@ When in doubt, list the jar (top of this file) and search the jar's class listin | `java.util.logging.*` | **Not supported.** | `com.codename1.io.Log` (`Log.p(message)`, `Log.e(throwable)`, `Log.sendLog()` to upload). | | `java.util.regex` | **Not supported.** | For simple matching use `String.matches(...)` / `String.split(...)` / `String.replace(...)` — these are present and use a simplified pattern syntax under the hood. For real PCRE-style regex, look for a regex cn1lib or write the matcher by hand. | | `java.lang.invoke.*`, `java.lang.module.*` | **Forbidden.** | Don't generate code at runtime. | +| `java.util.concurrent.atomic.AtomicLongArray`, `AtomicIntegerArray`, `AtomicReferenceArray`, `LongAdder`, `LongAccumulator` | **Forbidden** in the runtime subset. `AtomicReference`, `AtomicInteger`, `AtomicLong`, `AtomicBoolean` are all supported. | For atomic arrays, hand-roll a `synchronized` wrapper around a regular `int[]` / `long[]`. For high-throughput counters where `LongAdder`'s contention-splitting matters, use `synchronized` + a long field; the contention pattern that motivates `LongAdder` is rarely a bottleneck on mobile. | ## Resource files are a flat namespace @@ -329,6 +330,93 @@ Rest.post("https://api.example.com/items") Use `Rest` for ~95% of REST API work. The `fetchAs*` methods marshal into `byte[]`, `String`, `Map`, `JSONArray`, or `PropertyBusinessObject` and always invoke the callback on the EDT. +For **top-level JSON arrays** (`[{...}, {...}]`) use `fetchAsJsonList(OnComplete>)` -- it parses through the same `JSONParser` (which internally wraps top-level arrays under a synthetic `"root"` key) and hands you the unwrapped `List` directly. + +### Typed responses — `fetchAsMapped` / `fetchAsMappedList` + +Once a DTO is `@Mapped`-annotated (see *Build-time POJO binding* below), use `fetchAsMapped(Class, callback)` instead of `fetchAsJsonMap` — the callback receives the typed object directly: + +```java +@Mapped public class Pet { + @JsonProperty("id") public long id; + @JsonProperty("name") public String name; + @JsonProperty("photoUrls") public List photoUrls; +} + +Rest.get(baseUrl + "/pet/" + petId) + .header("Authorization", "Bearer " + token) + .acceptJson() + .fetchAsMapped(Pet.class, response -> { + Pet pet = response.getResponseData(); // already typed + renderPet(pet); + }); + +// List variant for endpoints returning a top-level JSON array of DTOs: +Rest.get(baseUrl + "/albums") + .acceptJson() + .fetchAsMappedList(Album.class, response -> { + List albums = response.getResponseData(); + }); +``` + +If no `Mapper` is registered for `Class` (typical cause: the class isn't `@Mapped`, or the `process-annotations` Mojo didn't run), the callback completes with `null` data and a normal response code — inspect `response.getResponseCode()` to differentiate "server error" from "no mapper registered". + +For **bulk REST clients** (an existing OpenAPI 3.x spec, dozens of endpoints), use the `cn1:generate-openapi-client` Maven goal — it emits one `Api.java` per OpenAPI tag plus `@Mapped` POJOs for every schema. See `references/build-and-run.md` and the developer guide's Maven goals appendix. + +### Writing JSON — `JSONWriter` + +For ad-hoc request bodies use `com.codename1.io.JSONWriter`. Two access modes: + +```java +// One-shot: pass any Map / List / String / Number / Boolean / null tree +String json = JSONWriter.toJson(Map.of("name", "ada", "values", List.of(1, 2, 3))); + +// Fluent builder for tiny request bodies (faster to read than a Map literal): +String body = JSONWriter.object() + .put("email", email) + .put("password", password) + .toJson(); + +// Streaming variants for large outputs: +JSONWriter.toJson(value, writer); +JSONWriter.toJson(value, outputStream); // UTF-8 +``` + +For *typed* DTO serialization (POJOs annotated with `@Mapped`), use `com.codename1.mapping.Mappers#toJson` from the build-time binding framework instead. `JSONWriter` is for untyped maps/lists. + +### Authenticated image URLs — `URLImage.RequestDecorator` + +`URLImage.createToStorage(placeholder, key, url, adapter)` is the standard CN1 idiom for lazy network-loaded images cached to `Storage`. When the URL is behind a bearer token (or any other custom header), use the decorator hook: + +```java +// Global: one line at app boot, applies to every URLImage from then on +URLImage.setDefaultBearerToken(Preferences.get("auth.token", null)); + +// Or the explicit form: +URLImage.setDefaultRequestDecorator(req -> + req.addRequestHeader("Authorization", "Bearer " + token)); + +// Per-image: pass a decorator at construction time. Runs *after* the +// global default so it can override. +URLImage.createToStorage(placeholder, cacheKey, url, + URLImage.RESIZE_SCALE_TO_FILL, + req -> req.addRequestHeader("X-API-Version", "2")); +``` + +For one-off image fetches without `URLImage`'s caching (e.g. preloading neighbours in an asset viewer where you stream bytes straight into `Storage`), drop to a raw `ConnectionRequest` with `readResponse(InputStream)` overridden: + +```java +ConnectionRequest req = new ConnectionRequest(url) { + @Override protected void readResponse(InputStream in) throws IOException { + try (OutputStream os = Storage.getInstance().createOutputStream(cacheKey)) { + Util.copy(in, os); + } + } +}; +req.addRequestHeader("Authorization", "Bearer " + token); +NetworkManager.getInstance().addToQueue(req); +``` + ### What about `HttpClient` / `URLConnection` / `OkHttp`? `java.net.http.HttpClient` and standard `java.net.URLConnection` aren't in the subset. OkHttp pulls in Android-only deps. **Use `ConnectionRequest` or `Rest` instead.** @@ -347,6 +435,36 @@ try (InputStream is = conn.getInputStream()) { This is a portability shim, not a feature-complete replacement. Prefer `Rest` for new code. +### OAuth 2.0 / OpenID Connect — `OidcClient` + +For modern sign-in flows (Google, Apple, Microsoft Entra, Auth0, Okta, Keycloak — anything that publishes `.well-known/openid-configuration`), use `com.codename1.io.oidc.OidcClient`. It drives the **system browser** — `ASWebAuthenticationSession` on iOS, Custom Tabs on Android, the user's default browser on desktop/web — which is the only flow Apple/Google/Microsoft/Facebook still accept. PKCE S256 is mandatory, refresh-token rotation is first-class, ID-token claims are surfaced via `getClaim(String)`, and tokens persist through a pluggable `TokenStore`. + +```java +import com.codename1.io.oidc.OidcClient; +import com.codename1.io.oidc.OidcTokens; + +OidcClient.discover("https://accounts.google.com").ready(client -> { + client.setClientId("YOUR_CLIENT_ID") + .setRedirectUri("com.example.app:/oauth2redirect") + .setScopes("openid", "email", "profile"); + client.authorize().ready((OidcTokens tokens) -> { + String access = tokens.getAccessToken(); + String email = (String) tokens.getClaim("email"); + Preferences.set("auth.token", access); + }); +}); +``` + +The pre-existing `com.codename1.io.Oauth2` and `com.codename1.social.Login` classes are kept for source compatibility but **deprecated** — they use an in-app `BrowserComponent` WebView which the major IdPs now reject. New code should use `OidcClient`. + +Companion classes in `com.codename1.io.oidc`: `OidcConfiguration` (endpoints + supported scopes), `OidcTokens` (access / id / refresh tokens + claim accessors), `PkceChallenge`, `SystemBrowser` (the per-platform browser driver), `TokenStore` (defaults to `Preferences`), `OidcException`. + +### WebSockets — `cn1-websockets` cn1lib (not in core) + +Codename One core does **not** ship a `WebSocket` class. For server-push, real-time chat, Socket.IO-style framing, or any client-initiated persistent connection, add the [`cn1-websockets`](https://github.com/codenameone/cn1-websockets) cn1lib. Once installed, `com.codename1.io.websocket.WebSocket` is available with the conventional `onOpen` / `onMessage(String|byte[])` / `onClose` / `onError` callbacks and a `send(String)` / `send(byte[])` write path. See `references/cn1libs.md` for installing a cn1lib. + +For raw HTTP server-push (Server-Sent Events / long-poll), use `ConnectionRequest` with `readResponse(InputStream)` overridden to consume the stream incrementally — the same pattern as the authenticated-image loader above. + ### TLS, redirects, gzip `ConnectionRequest` handles HTTPS, gzip decompression, and HTTP redirects automatically. Override `shouldStop()`, `handleErrorResponseCode()`, or `postResponse()` for custom behavior. For self-signed certs in dev, see `ConnectionRequest.setSslCertificates(...)` — only enable in development builds. diff --git a/scripts/initializr/common/src/main/resources/skill/references/native-interfaces.md b/scripts/initializr/common/src/main/resources/skill/references/native-interfaces.md index 6fa067a845..775489ff22 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/native-interfaces.md +++ b/scripts/initializr/common/src/main/resources/skill/references/native-interfaces.md @@ -32,7 +32,8 @@ public interface GpsBridge extends NativeInterface { Constraints on the interface: - Must extend `com.codename1.system.NativeInterface`. -- All method parameters and return values must be **primitives**, `String`, `byte[]`, or `PeerComponent` (for native UI views). No arbitrary Java objects, no collections, no `Object`. This is because the bridge must marshal across language boundaries. +- All method parameters and return values must be one of: **primitives** (`int`, `long`, `double`, `float`, `boolean`, `char`, `byte`, `short`), `String`, **primitive arrays** (`byte[]`, `int[]`, `long[]`, `double[]`, `float[]`, `boolean[]`, `char[]`, `short[]`), `String[]`, or `PeerComponent` (for native UI views). No arbitrary Java objects, no collections, no `Object`. This is because the bridge must marshal across language boundaries. +- **iOS array-marshalling caveat**: the iOS bridge maps **every** Java array (regardless of element type) to `NSData*` on the Objective-C side. That means an `int[]` parameter arrives as a byte buffer the native code must read by hand; a `String[]` arrives serialized as bytes the native code must deserialize itself. Plain `byte[]` is the lossless case; `int[]` / `long[]` / `double[]` are usable for fixed-format payloads (typically by treating them as little-endian byte streams); `String[]` is best avoided on iOS until the per-component-type marshalling lands. Per-platform notes for Android (JNI-style direct arrays) and JavaScript (JS arrays) are different — those marshal element-wise as you'd expect. - Callbacks from native code back to Java go through a *separate* mechanism — see *Callbacks* below. `NativeInterface` itself exposes a built-in `isSupported()` method (every native interface inherits it). Implementations should return `true` if the platform can serve the calls, `false` otherwise — callers branch on `bridge.isSupported()` before invoking real methods. diff --git a/scripts/initializr/common/src/main/resources/skill/references/ui-components.md b/scripts/initializr/common/src/main/resources/skill/references/ui-components.md index 51255a242d..4d48717b7b 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/ui-components.md +++ b/scripts/initializr/common/src/main/resources/skill/references/ui-components.md @@ -64,6 +64,19 @@ form.add(BorderLayout.CENTER, col); **Note on `ComboBox`**: It exists but is **not recommended** in CN1. The dropdown rendering is awkward on touch screens and behaves inconsistently across platforms. Use `Picker` (set `pickerType` to `Display.PICKER_TYPE_STRINGS` for a string-list picker) — it opens a native sheet on iOS, a Material dialog on Android, and a normal popup in the simulator. `ComboBox` is kept only for legacy ports of Swing apps. +### Package locations — don't trust autocomplete to find these + +A few components live in package paths that don't match where you'd guess from the type name. Importing from the wrong package gives `cannot find symbol` and the IDE will helpfully offer to import the (deprecated or non-existent) sibling. + +| Component | Package | +| --- | --- | +| `Label`, `Button`, `TextField`, `TextArea`, `Form`, `Container`, `TextComponent`, `Dialog`, `Tabs`, `CheckBox`, `RadioButton`, `Slider`, `List` | `com.codename1.ui` | +| `SpanLabel`, `SpanButton`, `MultiButton`, `MultiList`, `Switch`, `ScaleImageButton`, `ScaleImageLabel`, `ToastBar`, `InfiniteProgress`, `ImageViewer`, `FloatingActionButton`, `StickyHeaderContainer`, `Accordion` | `com.codename1.components` | +| `Picker` | `com.codename1.ui.spinner` | +| `InfiniteContainer` | `com.codename1.ui` (despite being a "component") | + +When in doubt, `find CodenameOne/src -name ".java"` from the framework checkout — much faster than guessing which sub-package is current. + ## Container is structural — don't style its UIID `Container` is the layout glue between visible components, **not** a styled component itself. The default `Container` UIID must remain transparent with **0 padding / 0 margin / no border**. @@ -443,6 +456,57 @@ In most CN1 codebases the **default transition** is set globally via theme const `CommonTransitions` exposes slide / fade / cover / uncover / dialog / empty transitions. `MorphTransition.create(durationMs).morph(sourceCmp, targetCmp)` animates a specific source component into a specific destination component across forms — great for "tap a card to expand it into the full screen". +#### `MorphTransition.snapshotMode(boolean)` — for sources inside scrolling parents + +By default `MorphTransition` paints both endpoints by re-rendering the live source / destination components every frame at the interpolated bounds. That works for sources that are fully visible. It produces visible artifacts when: + +- The source is inside a scrolling parent and has children that extend past the source's bounds (the layered-pane copy used during the morph doesn't carry the original parent's clip, so off-viewport children leak into the morph). +- The source has dynamic content (a video frame, a `BrowserComponent`, a custom painter) that you want frozen visually during the morph. + +`snapshotMode(true)` captures each `(source, dest)` as a clipped `Image` at `initTransition()` and tweens those images at the interpolated bounds. The image's own bounds are the clip, so off-viewport children cannot leak. + +```java +MorphTransition morph = MorphTransition.create(300) + .snapshotMode(true) + .morph("card"); +nextForm.setTransitionInAnimator(morph); +nextForm.show(); +``` + +The default (live-paint) path is unchanged for back-compat. Opt into snapshot mode only when the live path exhibits a visible artifact — it adds a one-time per-morphed-component `Image` allocation at init. + +#### Tabs animated indicator — Material 3 / iOS 26 NavigationBar + +`Tabs` ships an opt-in sliding underline indicator (off in framework default; on by default in the modern iOS / Android native themes). When enabled, selection changes tween the indicator's x/width from the previously-selected tab's bounds to the new selection's bounds with `Motion.createEaseInOutMotion`. + +```java +Tabs tabs = new Tabs(); +tabs.setAnimatedIndicator(true); // or set tabsAnimatedIndicatorBool: true in theme +``` + +Theme constants: + +| Constant | Purpose | +| --- | --- | +| `tabsAnimatedIndicatorBool` | Enable / disable. Default `false` in framework, `true` in iOS Modern + Android Material themes. | +| `tabsAnimatedIndicatorDurationInt` | Tween duration in ms, default `200`. | +| `tabsAnimatedIndicatorThicknessMm` | Underline thickness in mm, default `1`. | +| `TabIndicator { color: ... }` UIID | Indicator colour. Falls back to the selected tab's fg when no `TabIndicator` UIID is defined. | + +#### Modern pull-to-refresh + +The legacy `addPullToRefresh` paint is a rotating-arrow + text Label stack. The **modern path** (opt-in via `pullToRefreshModernBool` theme constant; on by default in the modern themes) replaces that with a thin circular arc spinner painted directly via `Graphics.drawArc`: the arc sweep grows 0°→330° proportional to the user's pull, then spins continuously while the refresh task runs. + +Theme constants: + +| Constant | Purpose | +| --- | --- | +| `pullToRefreshModernBool` | Enable the arc-spinner path. | +| `pullToRefreshIndicatorDiameterMm` | Outer diameter, default `8`mm. | +| `pullToRefreshIndicatorStrokeMm` | Stroke thickness, default `0.6`mm. | + +Color follows the `TabIndicator` UIID (shared with the animated tab indicator) so brand accent stays consistent. + ### Ongoing per-component animation: `Component.animate()` + `registerAnimated` Override `animate()` on a Component, return `true` while the animation should keep firing, and register with the form: diff --git a/vm/JavaAPI/src/java/lang/Iterable.java b/vm/JavaAPI/src/java/lang/Iterable.java index 31883fb0b8..3349bf0e94 100644 --- a/vm/JavaAPI/src/java/lang/Iterable.java +++ b/vm/JavaAPI/src/java/lang/Iterable.java @@ -17,6 +17,7 @@ package java.lang; import java.util.Iterator; +import java.util.function.Consumer; /** * Objects of classes that implement this interface can be used within a @@ -32,4 +33,18 @@ public interface Iterable { * @return An {@code Iterator} instance. */ Iterator iterator(); + + /** + * Performs the given action for each element of the {@code Iterable} + * until all elements have been processed or the action throws an + * exception. + */ + default void forEach(Consumer action) { + if (action == null) { + throw new NullPointerException(); + } + for (T t : this) { + action.accept(t); + } + } } diff --git a/vm/JavaAPI/src/java/util/Collection.java b/vm/JavaAPI/src/java/util/Collection.java index 1297d21b50..f7944b9159 100644 --- a/vm/JavaAPI/src/java/util/Collection.java +++ b/vm/JavaAPI/src/java/util/Collection.java @@ -17,6 +17,8 @@ package java.util; +import java.util.function.Predicate; + /** * {@code Collection} is the root of the collection hierarchy. It defines operations on @@ -313,4 +315,23 @@ public interface Collection extends java.lang.Iterable { * stored in the type of the specified array. */ public T[] toArray(T[] array); + + /** + * Removes all of the elements of this collection that satisfy the given + * predicate. Returns {@code true} if any elements were removed. + */ + default boolean removeIf(Predicate filter) { + if (filter == null) { + throw new NullPointerException(); + } + boolean removed = false; + Iterator it = iterator(); + while (it.hasNext()) { + if (filter.test(it.next())) { + it.remove(); + removed = true; + } + } + return removed; + } } diff --git a/vm/JavaAPI/src/java/util/List.java b/vm/JavaAPI/src/java/util/List.java index 68e1ad9b67..045fd92988 100644 --- a/vm/JavaAPI/src/java/util/List.java +++ b/vm/JavaAPI/src/java/util/List.java @@ -17,6 +17,8 @@ package java.util; +import java.util.function.UnaryOperator; + /** * A {@code List} is a collection which maintains an ordering for its elements. Every @@ -350,4 +352,32 @@ public interface List extends Collection { * in the type of the specified array. */ public T[] toArray(T[] array); + + /** + * Replaces each element of this list with the result of applying the + * operator to that element. + */ + default void replaceAll(UnaryOperator operator) { + if (operator == null) { + throw new NullPointerException(); + } + ListIterator it = listIterator(); + while (it.hasNext()) { + it.set(operator.apply(it.next())); + } + } + + /** + * Sorts this list according to the order induced by the specified + * {@code Comparator}. A {@code null} comparator sorts by natural ordering. + */ + default void sort(Comparator c) { + Object[] a = toArray(); + Arrays.sort(a, (Comparator) c); + ListIterator it = listIterator(); + for (Object e : a) { + it.next(); + it.set((E) e); + } + } } diff --git a/vm/JavaAPI/src/java/util/Map.java b/vm/JavaAPI/src/java/util/Map.java index 7509d1acf4..a1452ebc85 100644 --- a/vm/JavaAPI/src/java/util/Map.java +++ b/vm/JavaAPI/src/java/util/Map.java @@ -17,6 +17,10 @@ package java.util; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Function; + /** * A {@code Map} is a data structure consisting of a set of keys and values @@ -250,4 +254,182 @@ public static interface Entry { * @return a collection of the values contained in this map. */ public Collection values(); + + // ---- Java 8 default methods. Mirror of the same set in + // ---- Ports/CLDC11/src/java/util/Map.java; kept in sync. + + /** + * Returns the value to which the specified key is mapped, or + * {@code defaultValue} if this map contains no mapping for the key. + */ + default V getOrDefault(Object key, V defaultValue) { + V v = get(key); + return v != null ? v : defaultValue; + } + + /** + * If the specified key is not already associated with a value (or is + * mapped to {@code null}) associates it with the given value and returns + * {@code null}, else returns the current value. + */ + default V putIfAbsent(K key, V value) { + V v = get(key); + if (v == null) { + v = put(key, value); + } + return v; + } + + /** + * Removes the entry for the specified key only if it is currently mapped + * to the specified value. + */ + default boolean remove(Object key, Object value) { + Object curr = get(key); + if (curr == null ? value != null : !curr.equals(value)) { + return false; + } + if (curr == null && !containsKey(key)) { + return false; + } + remove(key); + return true; + } + + /** + * Replaces the entry for the specified key only if currently mapped to + * the specified value. + */ + default boolean replace(K key, V oldValue, V newValue) { + Object curr = get(key); + if (curr == null ? oldValue != null : !curr.equals(oldValue)) { + return false; + } + if (curr == null && !containsKey(key)) { + return false; + } + put(key, newValue); + return true; + } + + /** + * Replaces the entry for the specified key only if it is currently + * mapped to some value. + */ + default V replace(K key, V value) { + V curr = get(key); + if (curr != null || containsKey(key)) { + curr = put(key, value); + } + return curr; + } + + /** + * Performs the given action for each entry in this map until all entries + * have been processed or the action throws an exception. + */ + default void forEach(BiConsumer action) { + if (action == null) { + throw new NullPointerException(); + } + for (Map.Entry entry : entrySet()) { + action.accept(entry.getKey(), entry.getValue()); + } + } + + /** + * Replaces each entry's value with the result of invoking the given + * function on that entry. + */ + default void replaceAll(BiFunction function) { + if (function == null) { + throw new NullPointerException(); + } + for (Map.Entry entry : entrySet()) { + entry.setValue(function.apply(entry.getKey(), entry.getValue())); + } + } + + /** + * If the specified key is not already associated with a value, attempts to + * compute its value using the given mapping function and enters it into + * this map unless {@code null}. + */ + default V computeIfAbsent(K key, Function mappingFunction) { + if (mappingFunction == null) { + throw new NullPointerException(); + } + V v = get(key); + if (v == null) { + V newValue = mappingFunction.apply(key); + if (newValue != null) { + put(key, newValue); + return newValue; + } + } + return v; + } + + /** + * If the value for the specified key is present and non-null, attempts to + * compute a new mapping. + */ + default V computeIfPresent(K key, + BiFunction remappingFunction) { + if (remappingFunction == null) { + throw new NullPointerException(); + } + V old = get(key); + if (old != null) { + V newValue = remappingFunction.apply(key, old); + if (newValue != null) { + put(key, newValue); + return newValue; + } + remove(key); + } + return null; + } + + /** + * Attempts to compute a mapping for the specified key and its current + * mapped value (or {@code null} if there is no current mapping). + */ + default V compute(K key, + BiFunction remappingFunction) { + if (remappingFunction == null) { + throw new NullPointerException(); + } + V old = get(key); + V newValue = remappingFunction.apply(key, old); + if (newValue == null) { + if (old != null || containsKey(key)) { + remove(key); + } + return null; + } + put(key, newValue); + return newValue; + } + + /** + * If the specified key is not already associated with a value or is + * associated with null, associates it with the given non-null value; + * otherwise replaces the associated value with the results of the + * remapping function, or removes if the result is {@code null}. + */ + default V merge(K key, V value, + BiFunction remappingFunction) { + if (remappingFunction == null || value == null) { + throw new NullPointerException(); + } + V old = get(key); + V newValue = old == null ? value : remappingFunction.apply(old, value); + if (newValue == null) { + remove(key); + } else { + put(key, newValue); + } + return newValue; + } } diff --git a/vm/JavaAPI/src/java/util/concurrent/atomic/AtomicBoolean.java b/vm/JavaAPI/src/java/util/concurrent/atomic/AtomicBoolean.java new file mode 100644 index 0000000000..817cca7b31 --- /dev/null +++ b/vm/JavaAPI/src/java/util/concurrent/atomic/AtomicBoolean.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + */ +package java.util.concurrent.atomic; + +/** + * Codename One subset implementation of {@code AtomicBoolean}. Backed by a + * monitor on the receiver rather than the JDK's CAS hardware intrinsics -- + * the visible contract (happens-before, CAS semantics) is preserved. + */ +public class AtomicBoolean implements java.io.Serializable { + private volatile boolean value; + + public AtomicBoolean(boolean initialValue) { + value = initialValue; + } + + public AtomicBoolean() { + } + + public final boolean get() { + return value; + } + + public final void set(boolean newValue) { + value = newValue; + } + + public final void lazySet(boolean newValue) { + value = newValue; + } + + public final boolean getAndSet(boolean newValue) { + synchronized (this) { + boolean prev = value; + value = newValue; + return prev; + } + } + + public final boolean compareAndSet(boolean expect, boolean update) { + synchronized (this) { + if (value == expect) { + value = update; + return true; + } + return false; + } + } + + public final boolean weakCompareAndSet(boolean expect, boolean update) { + return compareAndSet(expect, update); + } + + @Override + public String toString() { + return String.valueOf(get()); + } +} diff --git a/vm/JavaAPI/src/java/util/concurrent/atomic/AtomicLong.java b/vm/JavaAPI/src/java/util/concurrent/atomic/AtomicLong.java new file mode 100644 index 0000000000..68f05df6a8 --- /dev/null +++ b/vm/JavaAPI/src/java/util/concurrent/atomic/AtomicLong.java @@ -0,0 +1,129 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + */ +package java.util.concurrent.atomic; + +/** + * Codename One subset implementation of {@code AtomicLong}. Backed by a + * monitor on the receiver rather than the JDK's CAS hardware intrinsics -- + * the visible contract (happens-before, CAS semantics) is preserved. + */ +public class AtomicLong extends Number implements java.io.Serializable { + private volatile long value; + + public AtomicLong(long initialValue) { + value = initialValue; + } + + public AtomicLong() { + } + + public final long get() { + return value; + } + + public final void set(long newValue) { + value = newValue; + } + + public final void lazySet(long newValue) { + value = newValue; + } + + public final long getAndSet(long newValue) { + synchronized (this) { + long prev = value; + value = newValue; + return prev; + } + } + + public final boolean compareAndSet(long expect, long update) { + synchronized (this) { + if (value == expect) { + value = update; + return true; + } + return false; + } + } + + public final boolean weakCompareAndSet(long expect, long update) { + return compareAndSet(expect, update); + } + + public final long getAndIncrement() { + synchronized (this) { + return value++; + } + } + + public final long getAndDecrement() { + synchronized (this) { + return value--; + } + } + + public final long getAndAdd(long delta) { + synchronized (this) { + long prev = value; + value += delta; + return prev; + } + } + + public final long incrementAndGet() { + synchronized (this) { + return ++value; + } + } + + public final long decrementAndGet() { + synchronized (this) { + return --value; + } + } + + public final long addAndGet(long delta) { + synchronized (this) { + return value += delta; + } + } + + @Override + public String toString() { + return Long.toString(get()); + } + + @Override + public int intValue() { + return (int) get(); + } + + @Override + public long longValue() { + return get(); + } + + @Override + public float floatValue() { + return (float) get(); + } + + @Override + public double doubleValue() { + return (double) get(); + } +} diff --git a/vm/JavaAPI/src/java/util/function/BiFunction.java b/vm/JavaAPI/src/java/util/function/BiFunction.java new file mode 100644 index 0000000000..92c2bccaf7 --- /dev/null +++ b/vm/JavaAPI/src/java/util/function/BiFunction.java @@ -0,0 +1,5 @@ +package java.util.function; + +public interface BiFunction { + R apply(T t, U u); +} From e3a3256590c71b2850d0cbf99e835392bd2bd737 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Wed, 27 May 2026 21:48:53 +0300 Subject: [PATCH 02/30] Address review feedback: WebSocketImpl factory + CLDC11 stub bodies Two corrections to the previous round, both PR feedback: 1. WebSocket: replace WebSocketNativeImpl (NativeInterface pattern) with WebSocketImpl + createWebSocketImpl factory on CodenameOneImplementation. The Java API still lives under com.codename1.io.websocket but each per-platform port now subclasses WebSocketImpl directly and returns it from createWebSocketImpl -- same pattern Media / Storage / LocationManager use. The WebSocketImpl talks directly to the native WebSocket API (no NativeInterface marshaling, no static-callback string-id round-trip). Util gets a narrow Util.createWebSocketImpl(parent) delegate so WebSocket (in a sub-package) can reach the impl accessor; pattern matches Util.secureRandomBytes. 2. CLDC11 contains stubs, not implementations. AtomicReference / AtomicInteger / AtomicLong / AtomicBoolean now have empty stub bodies (return 0 / null / false). The Java 8 default methods on Map / Collection / List / Iterable also drop their real implementations -- stubbed bodies returning null / false / no-op. Actual runtime behaviour comes from the platform (Android JDK on Android, vm/JavaAPI on ParparVM, the host JDK in the JavaSE simulator); CLDC11 java-runtime.jar is only used by the compile-time compliance check. Also fixes the validate-java25-markdown-docs.sh CI step which rejected the classic /** Javadoc markers introduced in the new atomic classes -- all four are now /// markdown comments. Verified: full mvn install green, errorprone clean, validate-java25-markdown-docs passes, the immich-cn1-port external fixture still passes cn1:compliance-check. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../impl/CodenameOneImplementation.java | 30 ++++ CodenameOne/src/com/codename1/io/Util.java | 15 ++ .../com/codename1/io/websocket/WebSocket.java | 147 +++++++---------- .../codename1/io/websocket/WebSocketImpl.java | 63 +++++++ .../io/websocket/WebSocketNativeImpl.java | 70 -------- .../codename1/io/websocket/package-info.java | 35 ++-- Ports/CLDC11/src/java/lang/Iterable.java | 11 +- Ports/CLDC11/src/java/util/Collection.java | 21 +-- Ports/CLDC11/src/java/util/List.java | 30 +--- Ports/CLDC11/src/java/util/Map.java | 154 ++++-------------- .../util/concurrent/atomic/AtomicBoolean.java | 35 +--- .../util/concurrent/atomic/AtomicInteger.java | 69 ++------ .../util/concurrent/atomic/AtomicLong.java | 69 ++------ .../concurrent/atomic/AtomicReference.java | 53 +----- docs/developer-guide/io.asciidoc | 25 ++- .../skill/references/java-api-subset.md | 19 ++- 16 files changed, 313 insertions(+), 533 deletions(-) create mode 100644 CodenameOne/src/com/codename1/io/websocket/WebSocketImpl.java delete mode 100644 CodenameOne/src/com/codename1/io/websocket/WebSocketNativeImpl.java diff --git a/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java b/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java index ff48623f7d..27a8134788 100644 --- a/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java +++ b/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java @@ -4826,6 +4826,36 @@ public void run() { } } + /// Builds the per-platform WebSocket implementation that backs the public + /// [com.codename1.io.websocket.WebSocket] class. Each port overrides this + /// to return a subclass of + /// [com.codename1.io.websocket.WebSocketImpl] wrapping the platform-native + /// WebSocket API (URLSessionWebSocketTask on iOS, OkHttp on Android, + /// `window.WebSocket` on JavaScript, `java.net.http.WebSocket` on + /// JavaSE 11+). + /// + /// The default implementation here returns `null` -- meaning the platform + /// does not ship a WebSocket implementation. Application code branches + /// on [com.codename1.io.websocket.WebSocket#isSupported()] before + /// constructing a `WebSocket`. + /// + /// #### Parameters + /// + /// - `parent`: the public [com.codename1.io.websocket.WebSocket] + /// instance that the new impl is bound to. The platform implementation + /// typically holds a reference so it can dispatch inbound events to + /// `parent` via the public callbacks (`onOpenReceived`, + /// `onMessageReceived`, `onCloseReceived`, `onErrorReceived`). + /// + /// #### Returns + /// + /// a per-instance `WebSocketImpl`, or `null` if the platform does not + /// support WebSockets + public com.codename1.io.websocket.WebSocketImpl createWebSocketImpl( + com.codename1.io.websocket.WebSocket parent) { + return null; + } + /// Creates a soft/weak reference to an object that allows it to be collected /// yet caches it. This method is in the porting layer since CLDC only includes /// weak references while some platforms include nothing at all and some include diff --git a/CodenameOne/src/com/codename1/io/Util.java b/CodenameOne/src/com/codename1/io/Util.java index 57ef8eb8ed..1e5522f7c9 100644 --- a/CodenameOne/src/com/codename1/io/Util.java +++ b/CodenameOne/src/com/codename1/io/Util.java @@ -1818,6 +1818,21 @@ public static void secureRandomBytes(byte[] out) { cryptoImpl().secureRandomBytes(out); } + /// Builds the per-platform WebSocket implementation for `parent` by + /// delegating to + /// [com.codename1.impl.CodenameOneImplementation#createWebSocketImpl]. + /// Returns `null` when the platform does not ship a WebSocket + /// implementation. Used by + /// [com.codename1.io.websocket.WebSocket] (which lives in a sibling + /// package and cannot reach the package-private impl accessor). + public static com.codename1.io.websocket.WebSocketImpl createWebSocketImpl( + com.codename1.io.websocket.WebSocket parent) { + if (implInstance == null) { + return null; + } + return implInstance.createWebSocketImpl(parent); + } + /// AES encryption. See /// [com.codename1.impl.CodenameOneImplementation#aesEncrypt] for the /// parameter contract. Used by [com.codename1.security.Cipher]. diff --git a/CodenameOne/src/com/codename1/io/websocket/WebSocket.java b/CodenameOne/src/com/codename1/io/websocket/WebSocket.java index 5abd8ecd65..1a85c0245a 100644 --- a/CodenameOne/src/com/codename1/io/websocket/WebSocket.java +++ b/CodenameOne/src/com/codename1/io/websocket/WebSocket.java @@ -18,15 +18,14 @@ */ package com.codename1.io.websocket; -import com.codename1.system.NativeLookup; +import com.codename1.io.Util; import com.codename1.ui.Display; import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -/// Client-side WebSocket connection following RFC 6455. Subclass and override -/// the four `onXxx` callbacks, then call `#connect()` to open the handshake. +/// Client-side WebSocket connection following RFC 6455. Subclass and +/// override the four `onXxx` callbacks, then call `#connect()` to open +/// the handshake. /// /// ```java /// WebSocket socket = new WebSocket("wss://example.com/socket") { @@ -42,21 +41,22 @@ /// All five `onXxx` callbacks fire on the Codename One EDT, so they may /// touch UI directly. `send(...)` may be called from any thread. /// -/// Check `#isSupported()` before constructing one -- support requires a -/// per-platform native implementation; platforms without one return `false`. +/// Check `#isSupported()` before constructing -- the underlying +/// transport is provided by the per-platform port through +/// [com.codename1.impl.CodenameOneImplementation#createWebSocketImpl]. +/// Platforms that don't ship a WebSocket implementation return `false` +/// from `isSupported()` and `new WebSocket(...)` produces a non-functional +/// instance. public abstract class WebSocket { - private static int nextId = 1; - private static final Map sockets = new HashMap(); - - private WebSocketNativeImpl impl; + private final WebSocketImpl impl; private final String url; private Thread socketThread; private boolean connecting; /// Failure surfaced by the underlying transport. Carries the /// platform-specific error code so callers can branch on - /// "connection refused" vs "TLS error" vs "protocol violation" when the - /// platform exposes that detail. + /// "connection refused" vs "TLS error" vs "protocol violation" + /// when the platform exposes that detail. public static class WebSocketException extends IOException { private final int code; @@ -70,14 +70,13 @@ public int getCode() { } } - /// Returns `true` if the current platform ships a WebSocket native + /// Returns `true` when the current platform ships a WebSocket /// implementation. Always check before constructing -- on platforms - /// without an implementation (or in tests with the native layer - /// stubbed out) the constructor returns a non-functional instance. + /// without one, the constructor returns a non-functional instance. public static boolean isSupported() { try { - WebSocketNativeImpl impl = (WebSocketNativeImpl) NativeLookup.create(WebSocketNativeImpl.class); - return impl != null && impl.isSupported(); + WebSocketImpl probe = Util.createWebSocketImpl(null); + return probe != null; } catch (Throwable t) { return false; } @@ -85,12 +84,7 @@ public static boolean isSupported() { public WebSocket(String url) { this.url = url; - impl = (WebSocketNativeImpl) NativeLookup.create(WebSocketNativeImpl.class); - if (impl != null) { - int id = nextId++; - impl.setId(id); - sockets.put(id, this); - } + this.impl = Util.createWebSocketImpl(this); } /// Called on the EDT when the opening handshake has succeeded. @@ -106,12 +100,12 @@ public WebSocket(String url) { /// Called on the EDT when a binary frame arrives. protected abstract void onMessage(byte[] message); - /// Called on the EDT when the transport raises an error. The exception is - /// usually a `WebSocketException`. + /// Called on the EDT when the transport raises an error. The + /// exception is usually a [WebSocketException]. protected abstract void onError(Exception ex); - /// Sends a text frame. If the connection isn't open the call is routed - /// through `#onError` rather than throwing. + /// Sends a text frame. If the connection isn't open the call is + /// routed through `#onError` rather than throwing. public void send(String message) { if (impl != null && getReadyState() == WebSocketState.OPEN) { impl.sendString(message); @@ -121,7 +115,8 @@ public void send(String message) { } } - /// Sends a binary frame. Same error-routing contract as `#send(String)`. + /// Sends a binary frame. Same error-routing contract as + /// `#send(String)`. public void send(byte[] message) { if (impl != null && getReadyState() == WebSocketState.OPEN) { impl.sendBytes(message); @@ -131,19 +126,19 @@ public void send(byte[] message) { } } - /// Initiates the closing handshake. The `#onClose` callback fires once the - /// peer acknowledges. Calling `close()` on an already-closed socket is a - /// no-op. + /// Initiates the closing handshake. The `#onClose` callback fires + /// once the peer acknowledges. Calling `close()` on an + /// already-closed socket is a no-op. public void close() { if (impl != null && getReadyState() != WebSocketState.CLOSED) { impl.close(); } } - /// Initiates the opening handshake. May be called from the EDT (in which - /// case the actual `setUrl` + `connect` happens on a dedicated worker - /// thread to avoid blocking the UI). Subsequent state transitions are - /// dispatched back via the `onXxx` callbacks. + /// Initiates the opening handshake. May be called from the EDT (in + /// which case the actual `setUrl` + `connect` happens on a + /// dedicated worker thread to avoid blocking the UI). Subsequent + /// state transitions are dispatched back via the `onXxx` callbacks. public void connect() { if (connecting || getReadyState() != WebSocketState.CLOSED || impl == null) { return; @@ -174,74 +169,42 @@ public WebSocketState getReadyState() { } int state = impl.getReadyState(); switch (state) { - case 0: return WebSocketState.CONNECTING; - case 1: return WebSocketState.OPEN; - case 2: return WebSocketState.CLOSING; + case 0: return WebSocketState.CONNECTING; + case 1: return WebSocketState.OPEN; + case 2: return WebSocketState.CLOSING; default: return WebSocketState.CLOSED; } } - /// Utility for the iOS port -- allocates a byte array from Java so the - /// native side can fill it without crossing the bridge for each byte. - static byte[] newByteArray(int len) { - return new byte[len]; - } - - // ---- Native-to-Java callback entry points. Marked @Deprecated only to - // ---- hint that application code shouldn't call them; the per-platform - // ---- native impls do, by mangled symbol name. - - /// @deprecated Internal callback for native implementations. - @Deprecated - public static void messageReceived(int id, String message) { - WebSocket socket = sockets.get(id); - if (socket != null) { - socket.connecting = false; - socket.onMessage(message); - } - } + // ---- Inbound-event entry points called by the per-platform + // ---- WebSocketImpl. The platform impl must dispatch on the EDT + // ---- before calling these so application code never has to. - /// @deprecated Internal callback for native implementations. - @Deprecated - public static void messageReceived(int id, byte[] message) { - WebSocket socket = sockets.get(id); - if (socket != null) { - socket.onMessage(message); - } + /// Routed from [WebSocketImpl] when the underlying transport finishes + /// the opening handshake. + public void onOpenReceived() { + connecting = false; + onOpen(); } - /// @deprecated Internal callback for native implementations. Wrapper - /// around `#messageReceived(int, byte[])` to work around an old issue - /// with overloaded-method dispatch in the JavaScript port. - @Deprecated - public static void messageReceivedBytes(int id, byte[] message) { - messageReceived(id, message); + /// Routed from [WebSocketImpl] when a text frame arrives. + public void onMessageReceived(String message) { + connecting = false; + onMessage(message); } - /// @deprecated Internal callback for native implementations. - @Deprecated - public static void closeReceived(int id, int statusCode, String reason) { - WebSocket socket = sockets.remove(id); - if (socket != null) { - socket.onClose(statusCode, reason); - } + /// Routed from [WebSocketImpl] when a binary frame arrives. + public void onMessageReceived(byte[] message) { + onMessage(message); } - /// @deprecated Internal callback for native implementations. - @Deprecated - public static void openReceived(int id) { - WebSocket socket = sockets.get(id); - if (socket != null) { - socket.onOpen(); - } + /// Routed from [WebSocketImpl] when the connection has closed. + public void onCloseReceived(int statusCode, String reason) { + onClose(statusCode, reason); } - /// @deprecated Internal callback for native implementations. - @Deprecated - public static void errorReceived(int id, String message, int code) { - WebSocket socket = sockets.get(id); - if (socket != null) { - socket.onError(new WebSocketException(message, code)); - } + /// Routed from [WebSocketImpl] when the transport raises an error. + public void onErrorReceived(String message, int code) { + onError(new WebSocketException(message == null ? "" : message, code)); } } diff --git a/CodenameOne/src/com/codename1/io/websocket/WebSocketImpl.java b/CodenameOne/src/com/codename1/io/websocket/WebSocketImpl.java new file mode 100644 index 0000000000..93f033ed80 --- /dev/null +++ b/CodenameOne/src/com/codename1/io/websocket/WebSocketImpl.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details. + */ +package com.codename1.io.websocket; + +/// Per-platform WebSocket implementation backing the public [WebSocket] +/// class. Each port supplies a concrete subclass through +/// [com.codename1.impl.CodenameOneImplementation#createWebSocketImpl]; +/// application code never instantiates this directly. +/// +/// The contract mirrors a small subset of [WebSocket]'s public surface +/// expressed against the lifecycle of one connection. The implementation +/// is responsible for: +/// +/// - Establishing and tearing down the underlying transport (URLSession +/// on iOS, OkHttp on Android, `window.WebSocket` on JavaScript, +/// `java.net.http.WebSocket` on JavaSE). +/// - Dispatching inbound events back to the owning [WebSocket] via its +/// protected callbacks. Implementations should hop to the EDT before +/// calling those callbacks so application code never has to. +/// +/// Method names match the legacy `cn1-websockets` cn1lib so existing +/// platform implementations can be ported with minimal churn. +public abstract class WebSocketImpl { + + /// Sets the URL for the connection. Called before [#connect()]. + public abstract void setUrl(String url); + + /// Sends a UTF-8 text frame. Only called when [#getReadyState()] returns + /// `1` ([WebSocketState#OPEN]). + public abstract void sendString(String message); + + /// Sends a binary frame. Same gating as [#sendString(String)]. + public abstract void sendBytes(byte[] message); + + /// Initiates the closing handshake. Subsequent reads continue to fire + /// until the peer confirms; the impl is expected to dispatch + /// `onClose` via the owning [WebSocket] when the handshake completes. + public abstract void close(); + + /// Initiates the opening handshake. Returns immediately; the impl + /// must dispatch `onOpen` (or `onError`) asynchronously through the + /// owning [WebSocket]. + public abstract void connect(); + + /// Returns the current state as a small int that maps to + /// [WebSocketState]: + /// `0` = `CONNECTING`, `1` = `OPEN`, `2` = `CLOSING`, anything else = + /// `CLOSED`. + public abstract int getReadyState(); +} diff --git a/CodenameOne/src/com/codename1/io/websocket/WebSocketNativeImpl.java b/CodenameOne/src/com/codename1/io/websocket/WebSocketNativeImpl.java deleted file mode 100644 index 9cad6557dc..0000000000 --- a/CodenameOne/src/com/codename1/io/websocket/WebSocketNativeImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Codename One designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details. - * - * Originally written by Steve Hannah for the cn1-websockets cn1lib, MIT - * licensed. Moved into Codename One core with a contributor-grant retained. - */ -package com.codename1.io.websocket; - -import com.codename1.system.NativeInterface; - -/// Per-platform native interface backing [WebSocket]. Application code does -/// not call this directly -- subclass [WebSocket] instead and the framework -/// wires up the right per-platform implementation through `NativeLookup`. -/// -/// Implementations live outside core: -/// -/// - iOS: a `URLSessionWebSocketTask` wrapper in `ios/src/main/objectivec/` -/// - Android: an `OkHttp` `WebSocket` client (or the JDK `java.net.http.WebSocket` -/// on API 33+) in `android/src/main/java/` -/// - JavaScript: a thin `window.WebSocket` wrapper in `javascript/src/main/javascript/` -/// - Desktop / simulator: a Tyrus or `java.net.http.WebSocket` adapter -/// -/// Each implementation receives a numeric ID from the framework, opens its -/// underlying connection, and dispatches inbound events back to the Java -/// side via the static callbacks on [WebSocket] (`openReceived`, -/// `messageReceived`, `closeReceived`, `errorReceived`). -public interface WebSocketNativeImpl extends NativeInterface { - /// Sets the URL for the connection. Called before `#connect()`. - void setUrl(String url); - - /// Assigns a per-instance identifier the framework uses to route inbound - /// events back to the correct Java-side `WebSocket` instance. - void setId(int id); - - /// Returns the identifier set via `#setId(int)`. - int getId(); - - /// Sends a binary frame. Called only when `#getReadyState()` is - /// `WebSocketState#OPEN`. - void sendBytes(byte[] message); - - /// Sends a UTF-8 text frame. Called only when `#getReadyState()` is - /// `WebSocketState#OPEN`. - void sendString(String message); - - /// Initiates the closing handshake. Subsequent reads will continue to - /// fire until the server confirms the close. - void close(); - - /// Initiates the opening handshake. Returns immediately; the framework - /// expects an `openReceived` callback (or `errorReceived`) asynchronously. - void connect(); - - /// Returns the current state as a small int: - /// 0 = `CONNECTING`, 1 = `OPEN`, 2 = `CLOSING`, anything else = `CLOSED`. - /// The Java-side translates this back to a [WebSocketState]. - int getReadyState(); -} diff --git a/CodenameOne/src/com/codename1/io/websocket/package-info.java b/CodenameOne/src/com/codename1/io/websocket/package-info.java index 39ba48c31a..6fb5a06cb6 100644 --- a/CodenameOne/src/com/codename1/io/websocket/package-info.java +++ b/CodenameOne/src/com/codename1/io/websocket/package-info.java @@ -3,21 +3,28 @@ /// Promoted into Codename One core from the legacy `cn1-websockets` cn1lib. /// Application code subclasses [com.codename1.io.websocket.WebSocket] and /// overrides the four `onXxx` callbacks; the framework dispatches inbound -/// events on the EDT via a per-platform [com.codename1.io.websocket.WebSocketNativeImpl]. +/// events on the EDT through the per-platform +/// [com.codename1.io.websocket.WebSocketImpl] returned by +/// [com.codename1.impl.CodenameOneImplementation#createWebSocketImpl]. /// -/// Per-platform implementations live next to the rest of the platform port: +/// Per-platform implementations live alongside the rest of the platform +/// port and subclass `WebSocketImpl` directly -- no native interface +/// marshaling, no string-id round-trip. Suggested mapping: /// -/// - iOS: `ios/src/main/objectivec/com_codename1_io_websocket_WebSocketNativeImplImpl.{h,m}` -/// wrapping `URLSessionWebSocketTask` (iOS 13+). -/// - Android: `android/src/main/java/com/codename1/io/websocket/WebSocketNativeImplImpl.java` -/// wrapping `okhttp3.WebSocket` or `java.net.http.WebSocket` (API 33+). -/// - JavaScript: `javascript/src/main/javascript/com_codename1_io_websocket_WebSocketNativeImplImpl.js` -/// wrapping `window.WebSocket`. -/// - JavaSE simulator: `javase/src/main/java/com/codename1/io/websocket/WebSocketNativeImplImpl.java` -/// wrapping `java.net.http.WebSocket` (JDK 11+). +/// - iOS: `URLSessionWebSocketTask` (iOS 13+) wrapped by a `WebSocketImpl` +/// subclass returned from the iOS port's `createWebSocketImpl` +/// override. +/// - Android: `okhttp3.WebSocket` (or `java.net.http.WebSocket` on API +/// 33+) wrapped by a `WebSocketImpl` subclass in the Android port's +/// `createWebSocketImpl` override. +/// - JavaScript: thin wrapper over `window.WebSocket` in the JavaScript +/// port's `createWebSocketImpl` override. +/// - JavaSE simulator: `java.net.http.WebSocket` (JDK 11+) in the JavaSE +/// port's `createWebSocketImpl` override. /// -/// Each impl receives a numeric ID via `setId(int)` from the framework, opens -/// its underlying connection, and dispatches inbound events through the -/// static callbacks on [com.codename1.io.websocket.WebSocket] -/// (`openReceived`, `messageReceived`, `closeReceived`, `errorReceived`). +/// Each implementation holds a reference to the owning +/// [com.codename1.io.websocket.WebSocket] passed to it in +/// `createWebSocketImpl`, hops to the EDT when an inbound event arrives, +/// and dispatches through the parent's `onOpenReceived` / +/// `onMessageReceived` / `onCloseReceived` / `onErrorReceived` methods. package com.codename1.io.websocket; diff --git a/Ports/CLDC11/src/java/lang/Iterable.java b/Ports/CLDC11/src/java/lang/Iterable.java index cb2844f1a1..4c19f8cea0 100644 --- a/Ports/CLDC11/src/java/lang/Iterable.java +++ b/Ports/CLDC11/src/java/lang/Iterable.java @@ -34,14 +34,9 @@ public interface Iterable { /// An `Iterator` instance. Iterator iterator(); - /// Performs the given action for each element of the `Iterable` until all - /// elements have been processed or the action throws an exception. + /// Performs the given action for each element of the `Iterable`. + /// Stubbed in the CLDC11 subset; the actual implementation comes + /// from the platform's JDK at runtime. default void forEach(Consumer action) { - if (action == null) { - throw new NullPointerException(); - } - for (T t : this) { - action.accept(t); - } } } diff --git a/Ports/CLDC11/src/java/util/Collection.java b/Ports/CLDC11/src/java/util/Collection.java index 0a5c536acc..ba29f40a84 100644 --- a/Ports/CLDC11/src/java/util/Collection.java +++ b/Ports/CLDC11/src/java/util/Collection.java @@ -367,23 +367,10 @@ public interface Collection extends java.lang.Iterable { /// stored in the type of the specified array. public T[] toArray(T[] array); - /// Removes all of the elements of this collection that satisfy the given - /// predicate. Returns `true` if any elements were removed. The default - /// implementation walks the `iterator()` and calls `Iterator#remove()` - /// for matching elements; implementations whose iterator doesn't support - /// `remove` should override. + /// Removes all of the elements of this collection that satisfy the + /// given predicate. Stubbed in the CLDC11 subset; the actual + /// implementation comes from the platform's JDK at runtime. default boolean removeIf(Predicate filter) { - if (filter == null) { - throw new NullPointerException(); - } - boolean removed = false; - Iterator it = iterator(); - while (it.hasNext()) { - if (filter.test(it.next())) { - it.remove(); - removed = true; - } - } - return removed; + return false; } } diff --git a/Ports/CLDC11/src/java/util/List.java b/Ports/CLDC11/src/java/util/List.java index 855387e8df..9c6a02154a 100644 --- a/Ports/CLDC11/src/java/util/List.java +++ b/Ports/CLDC11/src/java/util/List.java @@ -434,34 +434,16 @@ public interface List extends Collection { /// in the type of the specified array. public T[] toArray(T[] array); - /// Replaces each element of this list with the result of applying the - /// operator to that element. + /// Replaces each element of this list with the result of applying + /// the operator to that element. Stubbed in the CLDC11 subset; + /// the actual implementation comes from the platform's JDK at + /// runtime. default void replaceAll(UnaryOperator operator) { - if (operator == null) { - throw new NullPointerException(); - } - ListIterator it = listIterator(); - while (it.hasNext()) { - it.set(operator.apply(it.next())); - } } /// Sorts this list according to the order induced by the specified - /// `Comparator`. All elements in this list must be **mutually - /// comparable** using the specified comparator. A `null` comparator sorts - /// elements by their natural ordering (each must implement `Comparable`). - /// - /// The default implementation extracts the list contents to an array, - /// sorts the array via `Arrays.sort`, then writes the sorted elements - /// back through a `ListIterator`. Implementations may override for - /// efficiency. + /// `Comparator`. Stubbed in the CLDC11 subset; the actual + /// implementation comes from the platform's JDK at runtime. default void sort(Comparator c) { - Object[] a = toArray(); - Arrays.sort(a, (Comparator) c); - ListIterator it = listIterator(); - for (Object e : a) { - it.next(); - it.set((E) e); - } } } diff --git a/Ports/CLDC11/src/java/util/Map.java b/Ports/CLDC11/src/java/util/Map.java index 6359a93949..3343f2f359 100644 --- a/Ports/CLDC11/src/java/util/Map.java +++ b/Ports/CLDC11/src/java/util/Map.java @@ -297,168 +297,80 @@ public static interface Entry { // ---- Java 8 default methods. ---- // - // Implementations override these as needed (e.g. for synchronized maps). - // The default implementations are written to be ParparVM-friendly: - // synchronous, no streams, no `default Optional` returns. + // Stubbed in the CLDC11 subset; the actual implementations come + // from the platform's JDK at runtime (Android JDK on Android, + // vm/JavaAPI on ParparVM, the host JDK in the JavaSE simulator). /// Returns the value to which the specified key is mapped, or - /// `defaultValue` if this map contains no mapping for the key. Equivalent - /// to: - /// ```java - /// V v = m.get(key); - /// return v != null ? v : defaultValue; - /// ``` + /// `defaultValue` if this map contains no mapping for the key. default V getOrDefault(Object key, V defaultValue) { - V v = get(key); - return v != null ? v : defaultValue; + return null; } /// If the specified key is not already associated with a value (or is /// mapped to `null`) associates it with the given value and returns /// `null`, else returns the current value. default V putIfAbsent(K key, V value) { - V v = get(key); - if (v == null) { - v = put(key, value); - } - return v; + return null; } - /// Removes the entry for the specified key only if it is currently mapped - /// to the specified value. + /// Removes the entry for the specified key only if it is currently + /// mapped to the specified value. default boolean remove(Object key, Object value) { - Object curr = get(key); - if (curr == null ? value != null : !curr.equals(value)) { - return false; - } - if (curr == null && !containsKey(key)) { - return false; - } - remove(key); - return true; + return false; } - /// Replaces the entry for the specified key only if currently mapped to - /// the specified value. + /// Replaces the entry for the specified key only if currently mapped + /// to the specified value. default boolean replace(K key, V oldValue, V newValue) { - Object curr = get(key); - if (curr == null ? oldValue != null : !curr.equals(oldValue)) { - return false; - } - if (curr == null && !containsKey(key)) { - return false; - } - put(key, newValue); - return true; + return false; } /// Replaces the entry for the specified key only if it is currently - /// mapped to some value. Returns the previous value associated with the - /// key, or `null` if there was no mapping. + /// mapped to some value. default V replace(K key, V value) { - V curr = get(key); - if (curr != null || containsKey(key)) { - curr = put(key, value); - } - return curr; + return null; } - /// Performs the given action for each entry in this map until all entries - /// have been processed or the action throws an exception. Exceptions - /// thrown by the action propagate to the caller. + /// Performs the given action for each entry in this map. default void forEach(BiConsumer action) { - if (action == null) { - throw new NullPointerException(); - } - for (Map.Entry entry : entrySet()) { - action.accept(entry.getKey(), entry.getValue()); - } } /// Replaces each entry's value with the result of invoking the given - /// function on that entry until all entries have been processed or the - /// function throws an exception. + /// function on that entry. default void replaceAll(BiFunction function) { - if (function == null) { - throw new NullPointerException(); - } - for (Map.Entry entry : entrySet()) { - entry.setValue(function.apply(entry.getKey(), entry.getValue())); - } } - /// If the specified key is not already associated with a value (or is - /// mapped to `null`), attempts to compute its value using the given - /// mapping function and enters it into this map unless `null`. + /// If the specified key is not already associated with a value (or + /// is mapped to `null`), attempts to compute its value using the + /// given mapping function and enters it into this map unless + /// `null`. default V computeIfAbsent(K key, Function mappingFunction) { - if (mappingFunction == null) { - throw new NullPointerException(); - } - V v = get(key); - if (v == null) { - V newValue = mappingFunction.apply(key); - if (newValue != null) { - put(key, newValue); - return newValue; - } - } - return v; + return null; } - /// If the value for the specified key is present and non-null, attempts to - /// compute a new mapping given the key and its current mapped value. + /// If the value for the specified key is present and non-null, + /// attempts to compute a new mapping given the key and its current + /// mapped value. default V computeIfPresent(K key, BiFunction remappingFunction) { - if (remappingFunction == null) { - throw new NullPointerException(); - } - V old = get(key); - if (old != null) { - V newValue = remappingFunction.apply(key, old); - if (newValue != null) { - put(key, newValue); - return newValue; - } - remove(key); - } return null; } - /// Attempts to compute a mapping for the specified key and its current - /// mapped value (or `null` if there is no current mapping). + /// Attempts to compute a mapping for the specified key and its + /// current mapped value (or `null` if there is no current mapping). default V compute(K key, BiFunction remappingFunction) { - if (remappingFunction == null) { - throw new NullPointerException(); - } - V old = get(key); - V newValue = remappingFunction.apply(key, old); - if (newValue == null) { - if (old != null || containsKey(key)) { - remove(key); - } - return null; - } - put(key, newValue); - return newValue; + return null; } - /// If the specified key is not already associated with a value or is - /// associated with null, associates it with the given non-null value. - /// Otherwise, replaces the associated value with the results of the given - /// remapping function, or removes if the result is `null`. + /// If the specified key is not already associated with a value or + /// is associated with `null`, associates it with the given non-null + /// value. Otherwise, replaces the associated value with the result + /// of the given remapping function, or removes if the result is + /// `null`. default V merge(K key, V value, BiFunction remappingFunction) { - if (remappingFunction == null || value == null) { - throw new NullPointerException(); - } - V old = get(key); - V newValue = old == null ? value : remappingFunction.apply(old, value); - if (newValue == null) { - remove(key); - } else { - put(key, newValue); - } - return newValue; + return null; } } diff --git a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicBoolean.java b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicBoolean.java index 817cca7b31..96c912cc84 100644 --- a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicBoolean.java +++ b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicBoolean.java @@ -15,57 +15,36 @@ */ package java.util.concurrent.atomic; -/** - * Codename One subset implementation of {@code AtomicBoolean}. Backed by a - * monitor on the receiver rather than the JDK's CAS hardware intrinsics -- - * the visible contract (happens-before, CAS semantics) is preserved. - */ +/// CLDC11 subset stub. Compile-time visible only; the actual runtime +/// implementation comes from the platform (the Android JDK on Android, +/// `vm/JavaAPI` on ParparVM, the host JDK in the JavaSE simulator). public class AtomicBoolean implements java.io.Serializable { - private volatile boolean value; public AtomicBoolean(boolean initialValue) { - value = initialValue; } public AtomicBoolean() { } public final boolean get() { - return value; + return false; } public final void set(boolean newValue) { - value = newValue; } public final void lazySet(boolean newValue) { - value = newValue; } public final boolean getAndSet(boolean newValue) { - synchronized (this) { - boolean prev = value; - value = newValue; - return prev; - } + return false; } public final boolean compareAndSet(boolean expect, boolean update) { - synchronized (this) { - if (value == expect) { - value = update; - return true; - } - return false; - } + return false; } public final boolean weakCompareAndSet(boolean expect, boolean update) { - return compareAndSet(expect, update); - } - - @Override - public String toString() { - return String.valueOf(get()); + return false; } } diff --git a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicInteger.java b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicInteger.java index a48d20c631..a20f502e6b 100644 --- a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicInteger.java +++ b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicInteger.java @@ -15,115 +15,80 @@ */ package java.util.concurrent.atomic; -/** - * Codename One subset implementation of {@code AtomicInteger}. Backed by a - * monitor on the receiver rather than the JDK's CAS hardware intrinsics -- - * the visible contract (happens-before, CAS semantics) is preserved. - */ +/// CLDC11 subset stub. Compile-time visible only; the actual runtime +/// implementation comes from the platform (the Android JDK on Android, +/// `vm/JavaAPI` on ParparVM, the host JDK in the JavaSE simulator). public class AtomicInteger extends Number implements java.io.Serializable { - private volatile int value; public AtomicInteger(int initialValue) { - value = initialValue; } public AtomicInteger() { } public final int get() { - return value; + return 0; } public final void set(int newValue) { - value = newValue; } public final void lazySet(int newValue) { - value = newValue; } public final int getAndSet(int newValue) { - synchronized (this) { - int prev = value; - value = newValue; - return prev; - } + return 0; } public final boolean compareAndSet(int expect, int update) { - synchronized (this) { - if (value == expect) { - value = update; - return true; - } - return false; - } + return false; } public final boolean weakCompareAndSet(int expect, int update) { - return compareAndSet(expect, update); + return false; } public final int getAndIncrement() { - synchronized (this) { - return value++; - } + return 0; } public final int getAndDecrement() { - synchronized (this) { - return value--; - } + return 0; } public final int getAndAdd(int delta) { - synchronized (this) { - int prev = value; - value += delta; - return prev; - } + return 0; } public final int incrementAndGet() { - synchronized (this) { - return ++value; - } + return 0; } public final int decrementAndGet() { - synchronized (this) { - return --value; - } + return 0; } public final int addAndGet(int delta) { - synchronized (this) { - return value += delta; - } - } - - @Override - public String toString() { - return Integer.toString(get()); + return 0; } @Override public int intValue() { - return get(); + return 0; } @Override public long longValue() { - return (long) get(); + return 0L; } @Override public float floatValue() { - return (float) get(); + return 0f; } @Override public double doubleValue() { - return (double) get(); + return 0.0; } } diff --git a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicLong.java b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicLong.java index 68f05df6a8..32c24cdd9b 100644 --- a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicLong.java +++ b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicLong.java @@ -15,115 +15,80 @@ */ package java.util.concurrent.atomic; -/** - * Codename One subset implementation of {@code AtomicLong}. Backed by a - * monitor on the receiver rather than the JDK's CAS hardware intrinsics -- - * the visible contract (happens-before, CAS semantics) is preserved. - */ +/// CLDC11 subset stub. Compile-time visible only; the actual runtime +/// implementation comes from the platform (the Android JDK on Android, +/// `vm/JavaAPI` on ParparVM, the host JDK in the JavaSE simulator). public class AtomicLong extends Number implements java.io.Serializable { - private volatile long value; public AtomicLong(long initialValue) { - value = initialValue; } public AtomicLong() { } public final long get() { - return value; + return 0L; } public final void set(long newValue) { - value = newValue; } public final void lazySet(long newValue) { - value = newValue; } public final long getAndSet(long newValue) { - synchronized (this) { - long prev = value; - value = newValue; - return prev; - } + return 0L; } public final boolean compareAndSet(long expect, long update) { - synchronized (this) { - if (value == expect) { - value = update; - return true; - } - return false; - } + return false; } public final boolean weakCompareAndSet(long expect, long update) { - return compareAndSet(expect, update); + return false; } public final long getAndIncrement() { - synchronized (this) { - return value++; - } + return 0L; } public final long getAndDecrement() { - synchronized (this) { - return value--; - } + return 0L; } public final long getAndAdd(long delta) { - synchronized (this) { - long prev = value; - value += delta; - return prev; - } + return 0L; } public final long incrementAndGet() { - synchronized (this) { - return ++value; - } + return 0L; } public final long decrementAndGet() { - synchronized (this) { - return --value; - } + return 0L; } public final long addAndGet(long delta) { - synchronized (this) { - return value += delta; - } - } - - @Override - public String toString() { - return Long.toString(get()); + return 0L; } @Override public int intValue() { - return (int) get(); + return 0; } @Override public long longValue() { - return get(); + return 0L; } @Override public float floatValue() { - return (float) get(); + return 0f; } @Override public double doubleValue() { - return (double) get(); + return 0.0; } } diff --git a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicReference.java b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicReference.java index bef6fd4a6f..28176c5b15 100644 --- a/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicReference.java +++ b/Ports/CLDC11/src/java/util/concurrent/atomic/AtomicReference.java @@ -15,75 +15,36 @@ */ package java.util.concurrent.atomic; -/** - * Codename One subset implementation of {@code AtomicReference}. Backed by a - * monitor rather than CAS hardware intrinsics -- the JDK contract is - * preserved (every read sees a happens-before-correct value, all - * compare-and-set semantics are honored), but throughput under high contention - * is lower than the JDK's {@code sun.misc.Unsafe}-backed version. - * - *

Mirror of {@code vm/JavaAPI/src/java/util/concurrent/atomic/AtomicReference.java}. - * The ParparVM iOS port has this class; CLDC11 (the runtime-subset feed) and - * the JavaSE simulator now have it too. Android already has the JDK's full - * implementation. TeaVM (the legacy JavaScript port) does not currently - * support {@code java.util.concurrent.atomic} -- ParparVM-based JavaScript - * builds work correctly. - */ +/// CLDC11 subset stub. Compile-time visible only; the actual runtime +/// implementation comes from the platform (the Android JDK on Android, +/// `vm/JavaAPI` on ParparVM, the host JDK in the JavaSE simulator). public class AtomicReference { - private final Object lock = new Object(); - private V ref; public AtomicReference() { } public AtomicReference(V initialValue) { - ref = initialValue; } public final boolean compareAndSet(V expect, V update) { - synchronized (lock) { - if (expect == ref) { - ref = update; - return true; - } - return false; - } + return false; } public V get() { - synchronized (lock) { - return ref; - } + return null; } public final V getAndSet(V newValue) { - synchronized (lock) { - V old = ref; - ref = newValue; - return old; - } + return null; } public final void lazySet(V newValue) { - synchronized (lock) { - ref = newValue; - } - } - - @Override - public String toString() { - synchronized (lock) { - return String.valueOf(ref); - } } public final boolean weakCompareAndSet(V expect, V update) { - return compareAndSet(expect, update); + return false; } public final void set(V newValue) { - synchronized (lock) { - ref = newValue; - } } } diff --git a/docs/developer-guide/io.asciidoc b/docs/developer-guide/io.asciidoc index 5848f11071..8c7029e501 100644 --- a/docs/developer-guide/io.asciidoc +++ b/docs/developer-guide/io.asciidoc @@ -1589,13 +1589,24 @@ if (WebSocket.isSupported()) { constructing: support requires a per-platform native implementation and platforms without one return `false`. -NOTE: The Java API lives in -`com.codename1.io.websocket` and ships in `codenameone-core`. The -per-platform native implementations (iOS / Android / JavaScript / desktop -simulator) are tracked in the separate -https://github.com/codenameone/cn1-websockets[cn1-websockets repository] -for the moment; install that cn1lib to wire up the bridge on each platform -until the per-platform impls are merged into the matching port modules. +The transport on each platform is provided by a per-port +`WebSocketImpl` subclass returned from +`CodenameOneImplementation.createWebSocketImpl(WebSocket)`. The iOS +port wraps `URLSessionWebSocketTask`, the Android port wraps +`okhttp3.WebSocket` (or `java.net.http.WebSocket` on API 33+), the +JavaScript port wraps `window.WebSocket`, and the JavaSE simulator +wraps `java.net.http.WebSocket` (JDK 11+). Until the per-platform +overrides land in the matching port modules the framework's default +`createWebSocketImpl` returns `null` -- `isSupported()` reports +`false` and apps fall back to whatever transport they used before. + +NOTE: The Java API lives in `com.codename1.io.websocket` and ships +in `codenameone-core`. The pattern matches every other platform +service (`Media`, `Storage`, `LocationManager` etc.) -- no +`NativeInterface` marshaling, no static-callback string-id +round-trips; each platform's `CodenameOneImplementation` subclass +returns a `WebSocketImpl` that talks directly to the native +WebSocket API. === Webservice wizard diff --git a/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md b/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md index 69c9f06191..4db69688f0 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md +++ b/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md @@ -459,9 +459,24 @@ The pre-existing `com.codename1.io.Oauth2` and `com.codename1.social.Login` clas Companion classes in `com.codename1.io.oidc`: `OidcConfiguration` (endpoints + supported scopes), `OidcTokens` (access / id / refresh tokens + claim accessors), `PkceChallenge`, `SystemBrowser` (the per-platform browser driver), `TokenStore` (defaults to `Preferences`), `OidcException`. -### WebSockets — `cn1-websockets` cn1lib (not in core) +### WebSockets — `com.codename1.io.websocket.WebSocket` -Codename One core does **not** ship a `WebSocket` class. For server-push, real-time chat, Socket.IO-style framing, or any client-initiated persistent connection, add the [`cn1-websockets`](https://github.com/codenameone/cn1-websockets) cn1lib. Once installed, `com.codename1.io.websocket.WebSocket` is available with the conventional `onOpen` / `onMessage(String|byte[])` / `onClose` / `onError` callbacks and a `send(String)` / `send(byte[])` write path. See `references/cn1libs.md` for installing a cn1lib. +Subclass `WebSocket` and override the four `onXxx` callbacks (`onOpen`, `onMessage(String)` / `onMessage(byte[])`, `onClose`, `onError`); they all fire on the EDT. `send(String)` / `send(byte[])` may be called from any thread. + +```java +if (WebSocket.isSupported()) { + WebSocket s = new WebSocket("wss://example.com/socket") { + @Override protected void onOpen() { send("hello"); } + @Override protected void onMessage(String m) { Log.p("recv: " + m); } + @Override protected void onMessage(byte[] m) { Log.p("recv " + m.length + " bytes"); } + @Override protected void onClose(int code, String reason) { Log.p("closed: " + reason); } + @Override protected void onError(Exception ex) { Log.e(ex); } + }; + s.connect(); +} +``` + +The Java API lives in `com.codename1.io.websocket` and ships in `codenameone-core`. The transport is provided by a per-platform `WebSocketImpl` returned from `CodenameOneImplementation.createWebSocketImpl(WebSocket)` — same pattern as `Media`, `Storage`, `LocationManager`. iOS wraps `URLSessionWebSocketTask`, Android wraps `okhttp3.WebSocket`, JavaScript wraps `window.WebSocket`, JavaSE wraps `java.net.http.WebSocket`. Until the per-platform overrides land in the matching port modules the framework default returns `null` from `createWebSocketImpl` and `WebSocket.isSupported()` is `false` — branch on that before constructing. For raw HTTP server-push (Server-Sent Events / long-poll), use `ConnectionRequest` with `readResponse(InputStream)` overridden to consume the stream incrementally — the same pattern as the authenticated-image loader above. From e78d8a0d7e60d3d4653b6b7ffae337834231d26e Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Wed, 27 May 2026 22:41:55 +0300 Subject: [PATCH 03/30] Fix CI gates: SpotBugs nulls, Vale US-English, asciidoc parse errors - SpotBugs: drop redundant null checks where getComponentStyle() / getThemeConstant() return non-null by contract (Tabs, DefaultLookAndFeel). Guard the snapshot-mode draw path against an uninitialised fromToComponents array even though the field is populated by initTransition() before paint() is ever called -- SpotBugs is flow-insensitive and complains otherwise. - Vale: US-English spellings (behaviour -> behavior, colour -> color, serialisation -> serialization, etc.) across the new doc sections. Remove a "cannot" -> "can't" and two "e.g." -> "for example". Rephrase one parenthetical to drop a stray first-person "I" that vale was flagging on a downstream line via cumulative column tracking. Drop a couple of unnecessary hyphens ("currently-selected" -> "currently selected" etc). - Asciidoctor: replace HTML entity ° with the literal degree symbol (asciidoctor doesn't recognise ° and errors out parsing the formatted-text run). - LanguageTool: add "unobfuscated" to the accept list (existing prose on master uses the word but no LT run had previously been triggered there since the term was introduced). Co-Authored-By: Claude Opus 4.7 (1M context) --- CodenameOne/src/com/codename1/ui/Tabs.java | 9 ++++++--- .../codename1/ui/animations/MorphTransition.java | 11 ++++++++++- .../com/codename1/ui/plaf/DefaultLookAndFeel.java | 10 +++++++--- docs/developer-guide/Animations.asciidoc | 4 ++-- .../Miscellaneous-Features.asciidoc | 14 +++++++------- docs/developer-guide/Native-Themes.asciidoc | 14 +++++++------- .../The-Components-Of-Codename-One.asciidoc | 6 +++--- .../appendix_goal_generate_openapi_client.adoc | 12 ++++++------ docs/developer-guide/graphics.asciidoc | 2 +- docs/developer-guide/io.asciidoc | 14 +++++++------- docs/developer-guide/languagetool-accept.txt | 1 + 11 files changed, 57 insertions(+), 40 deletions(-) diff --git a/CodenameOne/src/com/codename1/ui/Tabs.java b/CodenameOne/src/com/codename1/ui/Tabs.java index dcc2b23e43..bd46791c78 100644 --- a/CodenameOne/src/com/codename1/ui/Tabs.java +++ b/CodenameOne/src/com/codename1/ui/Tabs.java @@ -1423,11 +1423,14 @@ void paintAnimatedIndicator(Graphics g) { } int thicknessMm = getUIManager().getThemeConstant("tabsAnimatedIndicatorThicknessMm", animatedIndicatorThicknessMm); int thickness = Display.getInstance().convertToPixels(thicknessMm); - // Use TabIndicator UIID color if present; otherwise pull from the - // selected tab's foreground. + // Use TabIndicator UIID color when its fg is set; otherwise pull + // from the selected tab's foreground. `getComponentStyle(...)` + // never returns null -- it synthesises an empty Style if no + // matching UIID exists -- so a `null` check on the result would + // be redundant. int color; Style indicatorStyle = getUIManager().getComponentStyle("TabIndicator"); - if (indicatorStyle != null && indicatorStyle.getFgColor() != 0) { + if (indicatorStyle.getFgColor() != 0) { color = indicatorStyle.getFgColor(); } else { Component active = tabsContainer.getComponentAt(activeComponent); diff --git a/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java b/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java index f31a46b6ff..c7c9482b71 100644 --- a/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java +++ b/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java @@ -345,10 +345,19 @@ public void paint(Graphics g) { /// stretch via `drawImage(scaled)`. Both images already represent the /// component clipped to its own bounds at the moment of capture, so /// nothing off-viewport leaks into the morph. + /// + /// Callers must have already invoked `#initTransition()` -- the guard + /// at the top of the method protects against late-call paths + /// (`finished` flush, animation cancel) where the field has been + /// nulled out. private void paintSnapshots(Graphics g, int alpha) { + CC[] pairs = fromToComponents; + if (pairs == null) { + return; + } int oldAlpha = g.getAlpha(); try { - for (CC c : fromToComponents) { + for (CC c : pairs) { if (c == null || c.sourceImage == null || c.destImage == null) { continue; } diff --git a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java index d6bcc86ced..a79019fea7 100644 --- a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java +++ b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java @@ -2424,15 +2424,19 @@ private float modernIndicatorStrokeMm() { } private int modernIndicatorColor() { + // `getComponentStyle(...)` always returns a non-null Style + // (synthesising an empty one when no matching UIID is registered), + // so the null check on the result would be redundant. Style indicator = getUIManager().getComponentStyle("TabIndicator"); - if (indicator != null && indicator.getFgColor() != 0) { + if (indicator.getFgColor() != 0) { return indicator.getFgColor(); } // Fall back to the form's title foreground, which already tracks // accent in the modern themes. Style title = getUIManager().getComponentStyle("Title"); - if (title != null) { - return title.getFgColor(); + int titleFg = title.getFgColor(); + if (titleFg != 0) { + return titleFg; } return 0x007aff; // iOS blue as ultimate fallback } diff --git a/docs/developer-guide/Animations.asciidoc b/docs/developer-guide/Animations.asciidoc index 36f27240a7..5be49d24bf 100644 --- a/docs/developer-guide/Animations.asciidoc +++ b/docs/developer-guide/Animations.asciidoc @@ -405,9 +405,9 @@ nextForm.show(); `Image` at `initTransition()`, then the tween draws those images at the interpolated bounds rather than re-painting the live components. Off-viewport children of the source are clipped at capture time (the -image's own bounds are the clip), so they cannot leak into the morph. +image's own bounds are the clip), so they can't leak into the morph. -The default `MorphTransition` behaviour (live paint, no snapshots) is +The default `MorphTransition` behavior (live paint, no snapshots) is unchanged for back-compat. Use snapshot mode opportunistically when the live-paint output exhibits the off-viewport leak, or when the source's children produce frame-by-frame visual change you want to diff --git a/docs/developer-guide/Miscellaneous-Features.asciidoc b/docs/developer-guide/Miscellaneous-Features.asciidoc index f82779a623..daebcb7fb2 100644 --- a/docs/developer-guide/Miscellaneous-Features.asciidoc +++ b/docs/developer-guide/Miscellaneous-Features.asciidoc @@ -460,7 +460,7 @@ cn1_icon_[_].png Supply a square source image at least 432×432 pixels (the largest size emitted for Android adaptive icons); the build resizes it to every target density. The default app icon continues to be controlled by your `codenameone_settings.properties` file and is used whenever the device locale doesn't match any of the localized variants. At runtime the builders look for a `_` match first, then fall back to a bare `` match. Providing both (for example `cn1_icon_en.png` plus `cn1_icon_en_GB.png`) lets you give British users a country-specific icon while every other English locale still receives the generic English icon. -===== Android behaviour +===== Android behavior On Android the build generates locale-qualified drawable resources at every density so the platform picks the right icon automatically based on the device's current locale: @@ -471,7 +471,7 @@ No code changes are required—Android's resource framework switches icons when When you supply a region-qualified icon (such as `cn1_icon_ar_AE.png`) without a matching language-only variant, the build also emits the *default* (non-localized) icon into `drawable-/` and the matching `mipmap-*-/` directories. This barrier is required because Android's resource resolver (API 24+) walks every child of the parent locale when it can't find an exact or parent-language match, and would otherwise pick `ar-rAE` for, say, an `ar-PK` device. The barrier short-circuits that lookup so only devices whose region matches the supplied variant receive the localized icon. If you also ship a language-only file (for example `cn1_icon_ar.png`) it's used as the barrier instead, so you keep full control of the fallback icon for Arabic speakers outside AE. -===== iOS behaviour +===== iOS behavior iOS doesn't localize launcher icons natively, so Codename One wires up https://developer.apple.com/documentation/uikit/uiapplication/2806818-setalternateiconname[alternate app icons] for you: @@ -480,7 +480,7 @@ iOS doesn't localize launcher icons natively, so Codename One wires up https://d * The `CodenameOne_GLAppDelegate` is patched to call `-[UIApplication setAlternateIconName:completionHandler:]` at launch. The delegate reads `[NSLocale preferredLanguages]`, tries the full `_` key first, then falls back to the language-only key, and clears the alternate icon (reverting to the default) if no variant matches. * The injection is idempotent and runs before the `ios.afterFinishLaunching` hook, so any custom code you supply via that build hint is unaffected. -NOTE: IOS displays a system alert the first time an app switches to an alternate icon. This is platform-standard behaviour—Codename One can't suppress it. +NOTE: IOS displays a system alert the first time an app switches to an alternate icon. This is platform-standard behavior—Codename One can't suppress it. ===== Tips and troubleshooting @@ -1229,7 +1229,7 @@ To enable in a custom theme: } TabIndicator { - /* The pull-to-refresh arc shares its colour with the animated tab + /* The pull-to-refresh arc shares its color with the animated tab indicator -- both follow the brand's accent. */ color: #007aff; background-color: transparent; @@ -1238,11 +1238,11 @@ TabIndicator { } ---- -Behaviour: +Behavior: -* During the pull gesture the arc sweep grows from 0° to ~330° +* During the pull gesture the arc sweep grows from 0° to ~330° proportional to how far the user has pulled past the threshold. -* When the refresh task fires the arc rotates continuously at ~360°/sec +* When the refresh task fires the arc rotates continuously at ~360°/sec until the task completes. * All sizing is in millimetres so the indicator stays physical-size-accurate across device densities; no rasterized images involved. diff --git a/docs/developer-guide/Native-Themes.asciidoc b/docs/developer-guide/Native-Themes.asciidoc index 471fa60242..ffcad0cc41 100644 --- a/docs/developer-guide/Native-Themes.asciidoc +++ b/docs/developer-guide/Native-Themes.asciidoc @@ -7,7 +7,7 @@ ramps, and state-specific styles are all reachable from your own `theme.css` and from runtime API. The legacy iOS 7 (iOS) and Holo Light (Android) themes remain the -default so existing apps see no behaviour change. +default so existing apps see no behavior change. === Selecting a theme @@ -417,7 +417,7 @@ differently from the other. They're still safe to override; you just want to know which platform's screen the override is going to land on. -iOS-only behaviour: +iOS-only behavior: * `Toolbar`, `TitleArea`, `Title` paint over the status-bar area. iOS reserves room above for the notch / status bar; in your @@ -428,14 +428,14 @@ iOS-only behaviour: ramp + chevron). Compare against Material 3's denser list-item pattern. -Android-only behaviour: +Android-only behavior: * `Toolbar` doesn't paint over the system status bar; the native Android status bar handles that. * `Tabs` use Material 3 top tabs (flat, underline-by-color). iOS modern renders Tabs as a bottom-anchored pill group via the `tabPlacementInt` constant - that constant is intentionally only - set in the iOS theme so behaviour stays consistent on each + set in the iOS theme so behavior stays consistent on each platform. === Switching CheckBox / RadioButton glyphs @@ -501,7 +501,7 @@ top). |Distribute tabs evenly across the bar. |`@tabsAnimatedIndicatorBool` -|`true` paints a thin coloured underline below the currently-selected +|`true` paints a thin colored underline below the currently selected tab and tweens its `x` / `width` between tabs on selection change. Both modern themes set this to `true`. Off in the framework default; opt-in for legacy themes by setting it explicitly. @@ -516,8 +516,8 @@ matching Material 3's `NavigationBar` spec). |`@pullToRefreshModernBool` |`true` switches the pull-to-refresh visual from the legacy rotating-arrow + text Label stack to a thin circular arc spinner -painted directly via `Graphics.drawArc`. The arc sweep grows from 0° -to ~330° proportional to the user's pull, then spins continuously +painted directly via `Graphics.drawArc`. The arc sweep grows from 0° +to ~330° proportional to the user's pull, then spins continuously once the refresh task fires. Both modern themes set this to `true`. Color comes from the `TabIndicator` UIID's fg (consistent with the animated tab indicator), falling back to the Title fg if unset. diff --git a/docs/developer-guide/The-Components-Of-Codename-One.asciidoc b/docs/developer-guide/The-Components-Of-Codename-One.asciidoc index 02fc580bc7..96b92f2c4c 100644 --- a/docs/developer-guide/The-Components-Of-Codename-One.asciidoc +++ b/docs/developer-guide/The-Components-Of-Codename-One.asciidoc @@ -392,7 +392,7 @@ This will show the dialog on the right-hand side of the screen, which is pretty NOTE: The `InteractionDialog` can be shown at absolute or popup locations. This is inherent to its use case which is "non-blocking." When using this component you need to be aware of its location. -To make popup behaviour feel natural on touch devices you can call `setDisposeWhenPointerOutOfBounds(true)` so the dialog automatically dismisses as soon as the user taps outside the title or content area. Internally the dialog listens for pointer pressed/released events and will call `dispose()` for you when the interaction happens beyond its bounds, so you no longer need to wire that logic manually. +To make popup behavior feel natural on touch devices you can call `setDisposeWhenPointerOutOfBounds(true)` so the dialog automatically dismisses as soon as the user taps outside the title or content area. Internally the dialog listens for pointer pressed/released events and will call `dispose()` for you when the interaction happens beyond its bounds, so you no longer need to wire that logic manually. By default the dialog is placed on the form's layered pane, but you can switch between the global layered pane and form-specific layered pane using `setFormMode(boolean)`. Setting form mode to `true` keeps the dialog coupled with the showing form even when the global layered pane is used elsewhere in your app. @@ -2487,7 +2487,7 @@ To enable in a custom theme: } TabIndicator { - /* The indicator picks up its colour from this UIID's fg. If the + /* The indicator picks up its color from this UIID's fg. If the UIID isn't defined or has fgColor == 0, the indicator falls back to the currently-selected tab's fgColor. */ color: #007aff; @@ -2506,7 +2506,7 @@ Tabs tabs = new Tabs(); tabs.setAnimatedIndicator(true); ---- -The indicator tweens its `x` / `width` from the previously-selected +The indicator tweens its `x` / `width` from the previously selected tab's bounds to the new selection's bounds using a `Motion.createEaseInOutMotion` over the configured duration (200ms default, matching Material 3's spec). Rapid double-taps start the tween from the *current diff --git a/docs/developer-guide/appendix_goal_generate_openapi_client.adoc b/docs/developer-guide/appendix_goal_generate_openapi_client.adoc index d9e04495ff..43b20b4850 100644 --- a/docs/developer-guide/appendix_goal_generate_openapi_client.adoc +++ b/docs/developer-guide/appendix_goal_generate_openapi_client.adoc @@ -4,7 +4,7 @@ Generates a typed Codename One client from an OpenAPI 3.x JSON specification. Emits one `@Mapped`-annotated POJO per `components.schemas` entry and one `Api.java` per OpenAPI tag. The generated code uses only the Codename One JDK subset -- -`Rest` + `JSONWriter` + `Mappers` for transport / serialisation, no +`Rest` + `JSONWriter` + `Mappers` for transport / serialization, no `java.net.http`, no reflection. This is the build-time complement to the `Rest.fetchAsMapped` / @@ -106,16 +106,16 @@ api.getPetById(123L, "MY_TOKEN", response -> { ==== Scope (MVP) * HTTP verbs: `GET`, `POST`, `PUT`, `DELETE`, `PATCH`. -* Parameter locations: `path`, `query`. Header / cookie parameters are -silently ignored; submit them via `Rest`'s `header(...)` builder -method after-the-fact if needed. -* Request bodies: `application/json` only -- serialised via +* Parameter locations: `path`, `query`. Header and cookie parameters are +dropped during code generation; submit them via `Rest`'s `header(...)` +builder method after-the-fact if needed. +* Request bodies: `application/json` only -- serialized via `Mappers.toJson(body)` before being attached. * Response schemas: `$ref` resolution, primitives (`string` / `number` / `integer` / `boolean`), arrays, object schemas. `oneOf` / `anyOf` / `allOf` compositions collapse to `Object` -- callers cast. * Authentication: bearer token as a per-method `String bearerToken` -parameter. Other schemes (API key, basic, OAuth) are not in the MVP +parameter. Other schemes (API key, basic, OAuth) aren't in the MVP scope -- use `Rest`'s `header(...)` / `basicAuth(...)` builders or the `OidcClient` directly. diff --git a/docs/developer-guide/graphics.asciidoc b/docs/developer-guide/graphics.asciidoc index 31e5613a1e..9376998036 100644 --- a/docs/developer-guide/graphics.asciidoc +++ b/docs/developer-guide/graphics.asciidoc @@ -1398,7 +1398,7 @@ URLImage.setDefaultRequestDecorator(req -> req.addRequestHeader("Authorization", "Bearer " + token)); ---- -For per-image overrides (e.g. one endpoint needs an extra API-version +For per-image overrides (for example one endpoint needs an extra API-version header on top of the global bearer token), use the `createToStorage(placeholder, key, url, adapter, RequestDecorator)` overload. Per-instance decorators run *after* the global default so they diff --git a/docs/developer-guide/io.asciidoc b/docs/developer-guide/io.asciidoc index 8c7029e501..5e830b125c 100644 --- a/docs/developer-guide/io.asciidoc +++ b/docs/developer-guide/io.asciidoc @@ -875,7 +875,7 @@ Notice that a static version of the method is used! The callback object is an in ===== Writing JSON — `JSONWriter` -For typed DTO serialisation use the `@Mapped` annotation framework +For typed DTO serialization use the `@Mapped` annotation framework (see `<>`) plus `Mappers.toJson(...)`. For ad-hoc maps / lists where a build-time `Mapper` would be overkill, the `com.codename1.io.JSONWriter` class is the complement of `JSONParser`: @@ -908,7 +908,7 @@ String coords = JSONWriter.array() Strings are double-quoted with the standard backslash escapes for `"`, `\`, `\n`, `\r`, `\t`, `\b`, `\f`, and control chars below `0x20` are -emitted as `+\u00xx+`. The writer does not pretty-print; if you need +emitted as `+\u00xx+`. The writer doesn't pretty-print; if you need indented output, run the result through an external formatter at debug time. @@ -1390,7 +1390,7 @@ Some highlights that are easy to miss: ==== Top-level JSON arrays — `fetchAsJsonList` -When the endpoint returns a top-level JSON array (e.g. `+[{...}, {...}]+`), +When the endpoint returns a top-level JSON array (for example `+[{...}, {...}]+`), use `fetchAsJsonList` rather than `fetchAsJsonMap`. The underlying `JSONParser` wraps top-level arrays under a synthetic `"root"` key; `fetchAsJsonList` unwraps that envelope for you so the callback receives @@ -1407,9 +1407,9 @@ Rest.get("https://api.example.com/items") }); ---- -There is no separate builder for "JSON object or array, I don't know which": -if you don't know up-front, use `fetchAsJsonMap` and branch on -`data.get("root") instanceof List`. +There is no separate builder for the ambiguous "object or array" case: +when the response shape isn't known up-front, use `fetchAsJsonMap` and +branch on `data.get("root") instanceof List`. ==== Typed responses — `fetchAsMapped` and `fetchAsMappedList` @@ -1458,7 +1458,7 @@ registered for the requested class (typical cause: the `process-annotations` Mojo didn't run on the class, or the class isn't `@Mapped`-annotated), the callback completes with `null` data -- so always inspect `response.getResponseCode()` rather than `response.getResponseData()` -to differentiate "server returned an error" from "no mapper registered". +to differentiate a server error response from the missing-mapper case. The code in the kitchen sink webservice sample was updated to use this API. The result is shorter and more readable without sacrificing anything. diff --git a/docs/developer-guide/languagetool-accept.txt b/docs/developer-guide/languagetool-accept.txt index fb2bb66105..2183111821 100644 --- a/docs/developer-guide/languagetool-accept.txt +++ b/docs/developer-guide/languagetool-accept.txt @@ -282,6 +282,7 @@ untarring url intrinsics obfuscator +unobfuscated resizability movability Thaana From 6f4e8e5230101e1c4737c9e7625c15e3d1ad31ad Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Wed, 27 May 2026 23:14:12 +0300 Subject: [PATCH 04/30] Fix CI: PMD (drop FQN) + LanguageTool accept-list additions - URLImage:895 -- drop the redundant com.codename1.util.FailureCallback fully-qualified reference; the short form FailureCallback is already imported at the top of the file. PMD's UnnecessaryFullyQualifiedName rule. - LanguageTool accept-list -- add "Petstore", "Swagger", "Api", and the "tween" family ("tween", "tweens", "tweened", "tweening"). All four are technical terms LanguageTool's English dictionary doesn't recognise but that the new docs use as prose ("the indicator tweens its x / width", "the Swagger Petstore reference spec", "Each generated Api method"). Co-Authored-By: Claude Opus 4.7 (1M context) --- CodenameOne/src/com/codename1/ui/URLImage.java | 2 +- docs/developer-guide/languagetool-accept.txt | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CodenameOne/src/com/codename1/ui/URLImage.java b/CodenameOne/src/com/codename1/ui/URLImage.java index 1cb906a7c4..77dc5f8912 100644 --- a/CodenameOne/src/com/codename1/ui/URLImage.java +++ b/CodenameOne/src/com/codename1/ui/URLImage.java @@ -892,7 +892,7 @@ private void downloadDecorated(final String url, final String storageKey, if (requestDecorator != null) { requestDecorator.decorate(cr); } - cr.downloadImageToStorage(storageKey, onSuccess, new com.codename1.util.FailureCallback() { + cr.downloadImageToStorage(storageKey, onSuccess, new FailureCallback() { @Override public void onError(Object sender, Throwable err, int errorCode, String errorMessage) { if (exceptionHandler != null) { diff --git a/docs/developer-guide/languagetool-accept.txt b/docs/developer-guide/languagetool-accept.txt index 2183111821..8ee0cc7862 100644 --- a/docs/developer-guide/languagetool-accept.txt +++ b/docs/developer-guide/languagetool-accept.txt @@ -283,6 +283,13 @@ url intrinsics obfuscator unobfuscated +Petstore +Swagger +Api +tween +tweens +tweened +tweening resizability movability Thaana From 330bded6c323f518de5b0d8088e9bbe3cc13b1b0 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Wed, 27 May 2026 23:51:16 +0300 Subject: [PATCH 05/30] Fix PMD FQN violations, doc gate typo, and add Android screenshot baselines PMD: shorten redundant FQNs in RequestBuilder/URLImage/MorphTransition. Docs: replace ambiguous hyphenated "class-loading" wording flagged by LanguageTool with "classloader" in two Annotation-* chapters. Android baselines: capture MorphTransition{,Scrolled,Snapshot}Test PNGs extracted from CI logs; refresh TabsTheme_dark/light for the animated indicator visual flag. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../com/codename1/io/rest/RequestBuilder.java | 2 +- .../src/com/codename1/ui/URLImage.java | 4 ++-- .../ui/animations/MorphTransition.java | 13 +++++++------ .../Annotation-Component-Binding.asciidoc | 2 +- .../Annotation-JSON-XML-Mapping.asciidoc | 2 +- .../MorphTransitionScrolledSourceTest.png | Bin 0 -> 21410 bytes .../MorphTransitionSnapshotTest.png | Bin 0 -> 17313 bytes .../screenshots/MorphTransitionTest.png | Bin 0 -> 19422 bytes .../android/screenshots/TabsTheme_dark.png | Bin 16502 -> 16516 bytes .../android/screenshots/TabsTheme_light.png | Bin 16651 -> 16663 bytes 10 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 scripts/android/screenshots/MorphTransitionScrolledSourceTest.png create mode 100644 scripts/android/screenshots/MorphTransitionSnapshotTest.png create mode 100644 scripts/android/screenshots/MorphTransitionTest.png diff --git a/CodenameOne/src/com/codename1/io/rest/RequestBuilder.java b/CodenameOne/src/com/codename1/io/rest/RequestBuilder.java index cb2f48d499..8d30878c15 100644 --- a/CodenameOne/src/com/codename1/io/rest/RequestBuilder.java +++ b/CodenameOne/src/com/codename1/io/rest/RequestBuilder.java @@ -1363,7 +1363,7 @@ public void actionPerformed(NetworkEvent evt) { if (m == null) { out = java.util.Collections.emptyList(); } else { - out = new java.util.ArrayList(raw.size()); + out = new ArrayList(raw.size()); for (Object e : raw) { if (e instanceof Map) { Map mm = (Map) e; diff --git a/CodenameOne/src/com/codename1/ui/URLImage.java b/CodenameOne/src/com/codename1/ui/URLImage.java index 77dc5f8912..2bb4cca376 100644 --- a/CodenameOne/src/com/codename1/ui/URLImage.java +++ b/CodenameOne/src/com/codename1/ui/URLImage.java @@ -896,10 +896,10 @@ private void downloadDecorated(final String url, final String storageKey, @Override public void onError(Object sender, Throwable err, int errorCode, String errorMessage) { if (exceptionHandler != null) { - exceptionHandler.onError(URLImage.this, new java.io.IOException( + exceptionHandler.onError(URLImage.this, new IOException( "Image download failed (" + errorCode + "): " + errorMessage)); } else { - com.codename1.io.Log.e(new RuntimeException( + Log.e(new RuntimeException( "URLImage download failed (" + errorCode + "): " + errorMessage)); } } diff --git a/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java b/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java index c7c9482b71..907b8f0f38 100644 --- a/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java +++ b/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java @@ -27,6 +27,7 @@ import com.codename1.ui.Container; import com.codename1.ui.Form; import com.codename1.ui.Graphics; +import com.codename1.ui.Image; import com.codename1.ui.Label; import com.codename1.ui.geom.Dimension; @@ -381,7 +382,7 @@ private void paintSnapshots(Graphics g, int alpha) { /// Draws `img` into the `(x, y, w, h)` rectangle. Skips a scaled copy /// when the image already happens to be at the target size (cheap /// fast-path for the first and last frames of the animation). - private static void drawImageScaled(Graphics g, com.codename1.ui.Image img, int x, int y, int w, int h) { + private static void drawImageScaled(Graphics g, Image img, int x, int y, int w, int h) { if (img.getWidth() == w && img.getHeight() == h) { g.drawImage(img, x, y); } else { @@ -402,9 +403,9 @@ static class CC { /// Snapshot-mode capture of `source` at its original bounds, clipped /// to its own size. Populated in `MorphTransition#captureSnapshot` /// when `snapshotMode == true`; null on the legacy path. - com.codename1.ui.Image sourceImage; + Image sourceImage; /// Snapshot-mode capture of `dest` at its destination-form bounds. - com.codename1.ui.Image destImage; + Image destImage; public CC(Component source, Component dest, int duration) { this.source = source; @@ -444,11 +445,11 @@ private int positionRelativeToScreen(Component cmp, boolean yAxis) { /// outside `(0, 0, width, height)` -- which is exactly the /// "off-viewport children don't leak" property the legacy live-paint /// path lacked. - private static com.codename1.ui.Image captureSnapshot(Component cmp) { + private static Image captureSnapshot(Component cmp) { int w = Math.max(1, cmp.getWidth()); int h = Math.max(1, cmp.getHeight()); - com.codename1.ui.Image img = com.codename1.ui.Image.createImage(w, h, 0); - com.codename1.ui.Graphics g = img.getGraphics(); + Image img = Image.createImage(w, h, 0); + Graphics g = img.getGraphics(); // paintComponent renders the component at its current screen position // by default; offset so the top-left of `cmp` lands at (0, 0) of the // image buffer. The image's bounds clip outside-of-buffer paints. diff --git a/docs/developer-guide/Annotation-Component-Binding.asciidoc b/docs/developer-guide/Annotation-Component-Binding.asciidoc index eb7d0e481f..7d352fede4 100644 --- a/docs/developer-guide/Annotation-Component-Binding.asciidoc +++ b/docs/developer-guide/Annotation-Component-Binding.asciidoc @@ -222,7 +222,7 @@ every accepted `@Bindable` class. At app start: the binding still resolves after the pass. * On **JavaSE** `JavaSEPort#postInit` loads the bootstrap via `Class.forName("cn1app.BinderBootstrap")` -- the unobfuscated - class-loading path. + classloader path. Projects with no `@Bindable` classes produce no bootstrap; the build server probe falls through and the registry stays empty. diff --git a/docs/developer-guide/Annotation-JSON-XML-Mapping.asciidoc b/docs/developer-guide/Annotation-JSON-XML-Mapping.asciidoc index 0d12c3da48..a3c97a77f1 100644 --- a/docs/developer-guide/Annotation-JSON-XML-Mapping.asciidoc +++ b/docs/developer-guide/Annotation-JSON-XML-Mapping.asciidoc @@ -151,7 +151,7 @@ At app start: direct symbol reference stays valid after the pass. * On the **JavaSE simulator and desktop run**, `JavaSEPort#postInit` loads the bootstrap via `Class.forName("cn1app.MapperBootstrap")`. - Class-loading is the legitimate path here -- JavaSE runs unobfuscated + The classloader is the legitimate path here -- JavaSE runs unobfuscated and the same `Class.forName` pattern is used by the @Route dispatcher. Projects that ship no `@Mapped` classes produce no bootstrap, the build diff --git a/scripts/android/screenshots/MorphTransitionScrolledSourceTest.png b/scripts/android/screenshots/MorphTransitionScrolledSourceTest.png new file mode 100644 index 0000000000000000000000000000000000000000..3af95b27cedc088b93ae0d11ce9f91684f9e2814 GIT binary patch literal 21410 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 F{{Yr_qHh2I literal 0 HcmV?d00001 diff --git a/scripts/android/screenshots/TabsTheme_dark.png b/scripts/android/screenshots/TabsTheme_dark.png index bd617aada37ca4cc37dccccf85e8e13eae8a4e3a..3debad7ed963985d2ef46b42df43732549a184d0 100644 GIT binary patch literal 16516 zcmeIabx@Vx`!@O@NQZQXARr*p(xsG2gLDc?mvlEsi%3X^gf!CKYy|0)+H`j}@8a|M zo`24q^Um*mXWp4JXMWBw?7e+rv7UR~_jO(OwRVW2yfhX%89D?(Sg&OylpzQ~41yl` zpdy1$cD`izgI@^t%F-{P;(m$^@CM2LUSj^mVtfDspttkk;0&oXT**(XQXNZq^sI zfPo&A17H29Co|uonREoRVpef?NqwJ#`Aj7yHWq%{5X+53?`$=aSNJl!)SgN9nZYGXDCX z0Uf&zt|R{E?5=X(x`Bt|RpaN$wDeJi8gp{*BqG>U;3Cc%Chk6t$2)9{xMopJ zJ7}9iJ`kPE6Fkq*bUma;21p?inQXYDNzj9EnrNBh$9_RVNm3GZnOmr24;p^>e0GqI z$NeVy@FP-)jJgA%c%YF_I1TPb=yTdU2fP5>C$zd|JE-ICL<#@A>_dIwLW)TzBT+Z3 zg{$gHN%PN3GTd)@Nsk}9vm*;KntHw>vta+Fy@Exc)vjIAj7CjO4Ym9&Hz_+_A$Dw# zY=NY4Lq07(n{=_IO_l9Jij!H2JH|0 z^)5Z{q$kr4F8&}WZF+)5FpB)>5trW*EE47)!`Ry#C-cPC*tw^mR#RJt0R6K6#9bw4_1k@~Axu6+U;*A6&tcQr zzyODjkE`9C;o(?d1>ft2d_ z*jO_w?ZkXmoBCo+Ev-!T5~($bQ@=g;Lf#Wi~YEtO!_HTC#sSN1dFST72UsfLFzk z{^N&)nFy~sZ^zjNqPsiFw{HYX%RgiIz9bh$Tb1m&lX6%h2{_nFxm~`yu02ptRaF}m zw9$#;3kV8m`}2o@pPzrS)}8p%u0SLSJ|)&$jJJ@Olp4dW+zs)oU`*fKT*hME`bhZQ zHDzF6Amp>~D!6rGf*8D(nXDotB_+kOHZdBXC0STlfP6+w`txpF$2KT%eJ8DF4ULUI zcRV>6vfMsj$HPYqJ0*h5sSDcLUWQZglRbQRp;7Op>)(rmit6(=IP$Q>{*%4!=JAG< zC)-JFJl$j=^x(ZjDSr?)X=rVfXhC;~9{k%X$!$yXlP|Hf8 ztYPmTAFFEIX0D}nhP{oWeabE)a$r&80AO7v2%wX=p#aV2^x6ds;VtoAkk5AyE$cUy^A0iY) zu1O*zBO#yseC9tXXR29E#P4>;P^;E&AXiyMr9HjIgQ?yUW-M#S*1@5}f~^@{P_W)@ zZ);^E`;ln6lY-4}jIb4bh3`TS%T4;#La8Anl!r?xANDHt1r-U1$Z{TuLi=Y&u%+^~ z?q+Lvldy=#9%43xQ0Xp!vDzo?k#_DDPd&}5_Sg%W-(8J7u^4CSz=57Ud&Yhi!bq4? zX*_$fF;X9O4S(&9H`Xs|z0D_EXY*CaOKgYqY`3iJq#yqEU?|s_n(xNh^=o0yLezol z=I`3WbA*;eM~kw%7OzV9TcepU7?SpNP+s`Fl?sD`Z&?`!1mYNJ&vT#3>+gQpwG#^q zOE`tduhy%(lQaGEgIwz96#Fap&!|yiVxamPjCN0-2|M3X5Q)@3N_t`QRbgv+C*rYx zu<7;{f=@sZ+T{Kgav)ddY`tUro%_@`GxYe$?dfKmf{Eg;2y$Ks3JMBJ5OLJEgVDFT5}A{R0{hlz`NVFu-C58xpR!4~h{ zy<42Qu!nq%m|&%!#&EvKJR#xtcp@t+3qi%j#aMH9L*Ka|D8&8i{sm(i0)&Z)Iap-D zn=I^3wUPq}(92gZ4Xv&9_748k<(jPSOdAdQ_#SR3uq6bC5wk5e zjlR{mp1}Z16hl;0)cC`MR9W^`Q_Rm0CO`jI5Cl_5R=lc7NK9bX*{ZgmkpH7!13~i} z3%>ohDY3gF!v_Zo(k%OHU7}xhC2@M6_u2H z-&v?FERaT-ZfYyquDuSZTZby$)v!;oyLDd&jxt>|)8nD}`THGA zz`c2Dib2i{EMe1YK!v*h{83GqYw~ozXy&Q3hSo`m8AU7hs}o&)r;MT;haUJCIqPsG zc(B*bK~)YO9#=QjSaVKimm(M2_^y_f3wj~xT@O&%{ls>}k`KDGP%*Ilv$H>x$E#>* zG2^7GGCzc_;Wp&U?yr=85^$La1)=Pw1%RZzm}Jx33gU|O4te)WS{mD(bDu6OvCp1IHf9T~^-tXSo{iQ8Bf;!}0nZzRQS{@io=Iy?6G6 z%3an{hpXYGHb*d6v2H8eF5^03;z635MV{Ei`m<6Cym!p3@fdPJ1maI;FCZUl-N(AsCG4pYZ z!*dOdnT2Jm-eh9^+_ZacmfWG;|JflSnif`XC~m*R(ucuCohh2ZOIeJ@ETd2GMknt>wi>QZO8$g*zl zD{*n(>+|ueUid2je_U$ndlllKmOzX|cX}Bk%fE>}U%pKBN*5LumVR6@Prg{g3=e;T zijEmjTgz{5%=ygCI(n|S{y83_e5&Q}rAlOOy7U;X#GukCQnh6xrQ3Z`A$g&*VfAw} z^6waIc9v52{d)qvjWR(y-r{@k;XdnOTOn@Uw-jB^G%7Shb_`&hR@gv!R8o;G~LMYPAw&K9T9))8vL3 zhM?RJ9}JPelp~pR4o8Hm1l_t$RPAv3EZ(~N72%1Ag`+Z_}CIf!@3D>p;l!Y;fjXJd78lrx_OpVrbo=~uQftbkL_jxMzU9xJP z7X#KOJ3Db(MfPI-=14l}DDI7>1;Yhfr%!F2Z;9=P zmZxVY&Ata~4iyI{7~~ibO195d5~kD**4<_;yfys4e0g*abcdF@@=}^bR##U)M}`LZ z`XXRc34A_0{FLzhySN%%dr_kH8wBg$=caN*jW=2in4WF|m|`0nwt$wI-k?@FK|gm~ z%zlTlbMSQjRLL#fg$2RizmZ5prAde5j=qL`$0KMEWkwwm(P`3~aV;y2e4OzY5@>M8 zh9`{t1OQb<#S4+3rpp`o5BFmA6TtcR!!+7F;`{PN8@>J(>4f1wgza9Ca?qekoh?w^?}_Pr`3s)c@VPf{sYN_)-~pbW8MWp%@W6gBkKr<1DfnL&I!-Zw zrH9-uo|V|`pTqGV4qJ3kcqkx-O*SS$$sN)8FR8W&H>o6kd4KX^x*7Vv%(Ox{6-&xd zw>ahu@kh>I?*(C9n+HR}(j|K6(h{SIBx1C9M2IpHZSSEF84XMtT(mHRC$xqfJ`zu! zA%FQC&=6UKKXnh9_JHYaN)tQBzYZt*DTA_m0qdt|4S=qGZXm2bV(F ziGY(7o}{i`SX9Vi)#GryL5ZWHGV+nNy?qvuYL|*c(2c^0aks5!48FA5mqa$F+*gI#gQvWwAQ#Y{Mn2gNO_-^mj}S4c}7|DJdzee%_DA8U%!dkIiiG)JiT8 z0wn{BYGS!9yKQAXZOH&o=Kdw5qN0LH#f>y;WYy z&nRq(yT?jkUVK1^Uq8?_G#a6TMd=NnyQDWKCLJi6Ds|%mMwG%6;sATyUjU-p$i7DVHG+az^ zA|WHSwzQ=GKI7%!5O+}J-rk|yKU-)%uh4i4Ci7s`!Y0FB;>Y;J%ECfOKW;SNmj-IW zSVAp*eU*w0NK50*!Ezf1D)y13Z7MdU)dKl?XbenQNmFUejXc-T>akBMRjSKX-%4q9 zxq6)(L(GEmCOw5{wBHh=vMtjI9;l(>Q}XCPRr9%<6&R^qT-^)@=6;M%I%H^QYcB0n z$F=v46pW3VnV1AW*R6X$F!!V})FA0bl@Eo{;?H+p^x|FYh{U_iSRs$o*1hgtroqEF zv*0Fg=H$S@haxV{4+Wgo^Vl1~>kwr4a{Fz$V;f4D~MU}{pd*8OX3RSz{_Vo5T{<^KN{4Feo!^ZeWmyf8Q(u&-Z z`YnsSgoI;Tpgn1grebDi(FnFD9MQvi2m=*UQ3x~InH7hv@fU$M-is_y_gb%3msbt0 zBCYcBo=TgVCbV(1r?(g+3p*2O{?*i)c8Y$cwf~HkR$$BW#>vTPeSQYv3VR)f*7Jh6 zrR9e|d$7=E(d;;rDU02#W2k%0SEC-%nt5CrF}XmB%-BU4D!2(A$IK(F+6JZP7E%_r-~KT zrokOMOk|S+cA8om%#`)h;GF&x(TVL3x210MZk;DVSy@>gT2WNOWumU$LN@R|ki zjOb(&$8o?X6O){h1QT@f3-ReWImlbyIun^6)YR3Ddeu6^OkTZusa+u({rB%whC+!5 zm`3^o&&#&)oCDZFrT88q-^Ic$2}iMec`=g;Y;X{w>vDuG2VYru{LS1yIZ;0s;5kwD zH*rsT5BF_E*Ps47)!N!x=3DzZ*6>xZ#mdXII8Gj(&eDu_$2u&xD}u>M4L@mW>d@}z zURwIX zT2Yf!ta?Ei85zT$65X%&ApRV@;Gz z=leJW#JnEAk(quqY}E|+z3fZTWqZb~jGCTOWS#cBQc^xr-qzmU=HL@xH$ax~yrbd$qc4Qugsrw|!T^amp0Ea%M9_DUX`jya zGLOWBnM{Ap>wcLm=?QN~ zz6q8*wz6`=ZOJS4O5pM)cvkdHpP+;#PE8psNOUFLN^iUzR>8Q;^R9A0PXSA`IQZm# zvR$-)5~9L*-p}4=U}pH!D@Q7?u&`tOfDT+y6^WI*BBC$j2s+&*j+9=-lob4Vo04P0 z$kRz@AC&3bY^!S%Iw$by7!|M&!W_9&?rh0k2d7=1a}iI%97=&7%_RXtCYLT3y|aJ* zB;NHD#|>X-&i_b(MOPfv3?Gv!U`ogDA{5oJdQ|E`2&>jp zSlv|SX;&mwFjn)8eoQI_nxt+<3i*rHHmI#Y=__ih zs1vT;P@(qgkh#IfGFiiR*@~zh;wp}BJN{EBd;M#{B*MBx2B1RFI58*O*yl2ExFtx~ z#cIB7LI7x-WYYVKMq%r_ShxohZcl7Gu;J_?(9h>8bz1;nZ>i#Lm zf|JAYCsU!xGZgnBR5#Q0g1Uu#0=>*@%sTdHMwFha>ak3fO0d zhHyu6MFPxJaR_ImfOJtuIv^TA2ysV)C=LyNW`<{Zo1)* z)_Gj~>K~t7MbvobhylA*yXgvD+TF`ObQ%s%OeAZ#>|${-ooXi$b@Ce~*B~JwX#x7@ z&NSx=$oylQu?hS}RUTfvyv_-U-xvBmlyLdU*&Zj{dW)O_9^qJJO@;U*;>voZ+T|dY zp3i&1BW73q-MhdY!Rn=uTKiHKJ7RS7Lqh94+-XEMp=t@1Jxqs^p8nrbbwP9KFUg0C ze{39MJ)gR!qS?p=ARWl}bn8RH*gzn7M1-fe*Sl(3Y8;d{ z0?FWysDA`VE|J-h zwi+d=Y8_^=ODbm0MbaAQ?%i20BiHz&{6xRO1%cY@*tdV&n-}@Z6oDgdgZJVSO3QcC zKpP0nE_o&nP+~!eAmGb-9v_%`dQR53oJqvY?a4ytLt+^By_;_{vx>|G508$@)&otn z92NE#J26~NF9O}{X7=RW+==)Yw~&?DKK@MEb4$HccwGO9ABCQNQ&f?W@ojbP^3Q`^ z5kZf|WweI#9=wRAcUO&tFZ?h#?tYql>o2yLYPxYhXbn9(F&`+2Y|Sg~b-fWIFTHDX zubV?^G&VK;e8ni=#zyY-@jB6Ld0#0(XruL`KJCbt`zg~Z$0K+2C@W{iG$3z)KLm5254&e}ui*{$Xvu|hC{~V-jQCeQv4hqu{U6piHa4&rr5QCeG`i2QS(up>HB>*(Bva_fUlB`3 zQkmh~G`aCM3ZuQ0sEY+Wp${#|v5{1(v)ADB|0);xhp;q}K0te1rR^LL9JsXn8-Fsb zL4P7?WR;YJ#9)2i@N;OmpQ?G}wIC#50o=pykF~nr#)#P*q3hbmq^|rAQKPm4=5E>-mM#55L(P|s;Vo5i!3Q?N)Ub`! z1s{Z0M)M0hNFmXW4?o$^y6%}#Ox-D12qS5IFfu}fx_4I;9{yimfciM?y&agsk9qU1 zcQV<^e1iN-;MIjye?KL=-HgQf6^ht<;{Z^Vo>;zZ0fNkUePMUM5{ZZRD9faK9<+;*w9_I7+c zI=bb1xZl6Sd?qX4>f9D!hkySR0Vlpraw6RtFA;Z=cUqz@b(femYOtTcHeNF>@X*Pm z&El}^W(O4t10oUrgqfU@tfZ+K@}U>5tWg{mhS3#4g(Ipjnvj^dFm)od4f1nRmE~~3 ztEX19KC|u*ms*2SS|%m@hQEFSG2Jqqi|BE!`-pTYOkwVdFp&4{%29m{Kh2XijQ;0U zrRCKxU0vyoIY}u}3Kw=aP^rDuDP#l!ahK{4IZ5BVWtpEJ#kQux2C>;uUvl&LxMKS8 zXTS|ANc|1WKZa+vDbM5=i!0_a`n?oh0Mt@{oMB_pa3~M307y($6?42$I|4KXvR$c? zZt{jJo)77ku76*niG35DmKL?S$?OmUde|JgWllF_g__k`hPNP@XL&axKtADrFhO_x z;#&0PkPeg>!HWhxy}9*q9wO`FU0XZ5XayUSkI3n#OB5zTha}+B!LZWVuweujgMu5`&aOf|c-|ED34orgzKNeMUfZ741tMd*Gh>hUgNRJ@*U z=w9a&L0{{C5nQgZ9QS>7qI{E}(_Log|Iw%P4>QEO`cX5D>}@i>!w z0HynfQBrvrLm=MvM>c0Cn=VkHbo+2Ns#IYl#2|?U<2TIxDX(oBQ6w?E?v{8#t$Rc% zST`SoBiat~ep|n;;5)B`O8-VgqHEqk(MyMicvaR2kOTH!c;^6H=M6sN!XP}@_F(ZL zBzD(?$ew;Drc>{PbzhkKQw1^7Pw`^c(mWB2q@&v70{Y%i7cVU?`U$(od?~fU_+)P% zofID?KbNw<-p)nik4f!)iCbk^bh8~=I%xaM)r$!khs^IAKGS5m`ax7oR216_AjiXt zuaQ?)RseZ`S+F%?OG`^*Qt^>ATb@fAMVV>iftKZ|-QOxBma3h}P|c{muI`1b{b}mv z#e$M%RSkJqkI%waF{qoxwL`Cb{w|e&yWoiN!@m@o{tTg;*rkWt~ zJ~uSc;we_|x};MZ?0d2^I+HIh@eK#)B%6)i zy4TSBaY!$p$9nShmW>G9Z*g%-f4?w%YqI_d$!AKqdwMG>NY(rjKC(l1xBzfh%*zH*Dx?qxMw!7Jvo{d#XYw81^fWZ6yLdH_3F}H@pMGKNaZ<;4kJ>D#^s3Zs| z`P+h}>Qtf-pVKu-m9+wB4B>*1rA>Rz5oZ9T4v(YRyX6B!pJjg(+tY1P&_YB-Lo0H= zievT0V1lW9`5qgxxoI9w&P9b6f}~wd-@Swa-NU3Dme9SVL zQh@=@kNmDK!&zCBx(L;AXt{cr~ z6t~u4vD|MCio`g-oDflT$5(hd89I(OXuS;>6YPA*?8;XCx| zl{;s&$e-WKJQDTO$)WlACayQV0%r<4dT9mq{=-&QO6HsNf4&Qn?|Gk7MN*0)1Blik z0W+AJxj0`fuor6j39fYMI#YcS8ol`JN{snm z7e7`%Vio5WMgKOQEVB@F+MdF;V6g!1jj-Dry-9W*=m5g5MvnVgt#fHs+`!l>aWUFn$n-GoO5KGRaI5pkBg0E zR!vnk;GWhs!u7i-8Eux~N8X|rb!oYuxld{Uen*6Wf~Ilj##urOz=FJdf8XSrzL6~> zA1SFIc6RPUVRmh0r9B}>cRPS+-&BtYH(H^E*zLUfmZaj7NVd{AdQIN>lzB7?u`W@~ zwj8>rYWF`}CV#p>3y$6Kko$?{tRDzSz^6fv`=gGeTpw%p)!NDmZF9QVZ6&B*bFN3a zlarJ4ZJkGaw)+sk#7ggU0|7?$D~hmcoK}LDBZ6S)Hs(}S9T$C0rmRCd{yMU2xMS(P zfdNF#mE*kSNG2U*DrLL>>OLWa@dOMN~0M0^pr5SV+pre z@!{c{3JVjzcltK%*%;roG=qT$NaHZdbAq_|AY4VfH(p&NpxHi|n+ zb_~N0a?bCvxAt~+c9L$FgxRhXloSZiL+5M5QToQ_M*>T4b~@vfbZ@>{b8+wlMK!ZP zrmXURzfT}QhS76cnoS~4Sy?2Tn{GHf)@@zf$L>5q4@g!09gFPSD>gUXJ9oJ}fz(tz z$OrK^$~S9^H`h?NKRN!0%Z}w(Mzu*aCur5TO2K z{@MKLu}6(K^S;8BII21xPdyNI2(6RO4X8D=UPpt++Z;16?tDg6P(N7f+>DBZRL?TA zy0H^Z3{MPQFTT~%bhh|eT-??A>Nn&QctkvQrFz_icGlk3_CQin@{p@$+Sw8j3Mb_u z@@fk8PS?@ZDO&!}KwVbnDqbvU_uhDa^lkk_#Q>U&cfrfR z)%(1?7|fVP>c1q-mhq#8f@)5F|G-{cQj&1IWG1`vWKWha^b0#%fP~BM3GXF0+--_y zxMaInMn-fA37a?VdE>ch-VfB(d4b@(kW|w2s^`F{yRSDeIvUAKq-p=)AW)W}-C5Kl zY;$u;xE1uOGcDq+?=eX4oC^x*{z~fUJqO@ysL0}(tgIY?{3pxVCPH!FRuT@&CmsS9 zG+bQxl!8tYKHljbRBzv|#Au#?);$a8);?5ROTBR9(`pLGPP`B2N)p&>ao)QlKW2C#CL+wpLhWtM zXRFXaQCyn$=qS|{J!aP(@?5%N5-N)QZOrGs`)vHKMs0)b%)+KA6o?~6-RT)5`*0Q^ zpQ)|xrYnHPQt1`zVWwt=Ay*7DQ7t|+pnZ^$nfXBU4z2+Cge>j(mnbZi@Vl>^#B@VV4rmGSEOns+e0a`kX>A%dHlQG3QOCr}JlWq^Mhubg z3yXhVb>6rE;KcmO#zXKy1Oa*^tPsR8$2 z>eBu9LI1UG=6}!Af6vo@vGM(XJXF4}yCF^`; zji-Z-WEd_LQREV1BrhMl>E^1;ypQ=fd@IBxO)~%y1!unRgN>Q7(TTX~noKw)7ZF4v zmieN12%(~~QqrSAndZb|rzXFohv%2mHi?x=5)wt?7L4MTooAgjWlOd|V)rOr zd{itOr#H`|DYQ}a?4KQ9I}vHMR? z$7%rU`Arm@{F({{i{x{eQCA!AmBkXq@;M1TymtdFudcq>(r16m&!d?4tf1rqw*tRenA1@YLRQtw&q5ZKn{Y>o%>w9(3+WL8Na`HSl z>RjZ&Wn(P9%(eF;@c#m2_R>oqsP^~j)Y(G&iM6!Rs`pw^HHYau4M5jAeKqJntn6?K zyAKGYbCmg=6&n`TYT&sd;c~+Sy)Pvl9ZY~M&(F`(r7fNRB%CBnH7-k2dm%*)cu@d) z&^<69E&1VLU5A7C#B*I-Lc$2}Oj!Pie(I2U=4prqJPAq~8lQpw6A%~#+yf@ZdlNYJ zYr=uRuE8POngaO=2^JMM2^*Uy8ZhMX zTF;09n=5Eyzp|{hM%_PxU9pG^PSu4}NHR_!)YaA*PVDNsxU~w&CUfJivFWt5k5Efh z7tel)iwi2lhZ%N%&R7>rr}nzukOs2Z`&*SGu*-toxI?kyWFutMTLl5aNYnjXBO-h- z+q1W+8((*^m*yf0go|*CiDJW3e0z3}QB+Ja0TQ-nt_b(tWKVpCHW*CWtX5uL{`?|7 zZ7A1UXc6VO(|?4jW2HBKsLV)ONcfB?7VfQTOtAVV5fO4ZyKx?>*Qds$;6zpE^Ckm^ zEr1hiu4TC(BqXHyK$EoKkPtMr65R-qn^<|x%%}HQK}mhoR({o)vSsN0u`!c zzl3$uqQWGZq(lla3kwU6hQ%efJ90rc*{t}ZV?Wo)N_S!)^aOwXiU*wRh!FOTBdVF1 z8RQe%gWgcKEtf3dN%rBx2V3WnYfYf78g0wZL<}@tQ~XAWSsCHAo(mW;k$*)SO~cHY zKX=u1J5K(Ti3tI^KMN?;#L!@Y2^%nS@YeMIj-m1aX1y*sav<8gJKP9)9ddr%%La{# zG!}Dt_HYAf_Q}rcHo?8;@uIWBM+2lnXu+4JU38jpM4KCRKDf%k)! z7$OALk*X-)-FJZx%)o{7r6%`u!zm@D-q{dL6gwwp+j?|X? zI-5GLn}_EsYHCtJmxK80>25UqwB;L0Vp(iNIY^>``sPq+dAUDuRs$U!dMYGYV1GFJ zI@`?sY)4YfiAaFYSxiNMd3hqSuf9_61Eb366g4yrrUK5|Jfm}i~NyA6T zCx8F`MSyO9GCl(Tb#H+s%;6W{djQF&iM-o893Cm5VGtmr6m(FmD{2yb!Kt}(hlNFc zhSc(V2<-S7C$}-Qvny+}0+|4UfYbKh03&RvKM!_SjIl8zawoouwe3qn7` za&n|LPC-97P*_c_7{vbZZevOR_I6|+Ml$Ly4EUnXcR`1SM78&8VQ`VexM|qa7U}whxLT-L_Hwbv? z^JkiX=5cY|)FcAbgNk7x`N&H5&leA|O3LZqym>n`H$zdl!*tzd6TPwtp57jOC>>tXgCRSIy{x~NOO@T5mhp*tBkGmu-WPtPVVVphJ0#kU9;lggV&AigX}2a{P`kN)!G{k+rj1M3lFbOYc4Q^}QI7}O75KFZD2 z7x!rv{n(cr2&^L%LJp6-$L-^kXRpb5Z6su5P=Un(5p+t7jX$6%$hel%f3m{QZ@?CgqF9V$FKwo5d?y0cNtTi9*=i%@x><5Sfri z0_q^mjd@)gr`OF5?>*GIy}4Y9A*80WQ^2z(BA|Ktlq7|YR#8nYs5-uRWHPw!chpc~ zrNtm!mEfXV$5^o_6YgJr{`JWWMDVtCbhM)N)dN;t-sl&=r^0LV_uf44Cz%5u_>%|e z8IYm-JrJU|*N7}4dKv6@yl~I3{Zd=dxH9V4$F0#D5I^tw(+nK%z&CH$v&;lGEJ?}O zvI8}t)M-`=YFS2MXos_jnYrqF-Vk1U+zfIR=U&U2>giF5T)R93CP=lb8<9o>s#MR9 zxX8!UG|gVW^7GL_KGpyQ+FyZkV3%zz=H)Ci!IHC&y-_+ z)+R@a;2zU67dH_pOlsd&f8^fW-0bWHU^rnCwJwNo#5W7`Z7eE3WYVMrTXnDil2|4t zn4hV&&&w;!a~4s-SCNpGZU>e$;P)0YG|cE($xnpO%uoRTG!VJ@Tn~R-FX}pibnBB= zQgWSQv+E^SEC8(7sFO{7y~1)*414{zCIjCpuA?Dn|bcCU`t3_ zdz+z|Sx8}_Y($g&TNUqA3D)d*;B7U>aCC`!2c&X(U8C6eI*G>4py}At0r62+|?VOG$T#0!oW?cXvsrG%qFH-EbcK z{LY-&f9x~AbN<+~_so|W23YTkdp+xU?)$p0>skaWy_UwtAjNX?c#2W}g5QQK_ zZ!{FJWhW}l7yLl5e7D7L3h{-0e) zk##8M7@2b9z~-lsId8L+6m@mt%+20^P z7GaZG86p2(c2O_lTYkrcfXr*kSrdm6&hl@R6JrPY6@R0gW%8BMAQn5}P5y1s<1%gz zAv`2i*!34nm-{zNE+;_?p}%1kcnqzR{u@y^$sj-aeMGM;C^?xw{f($0AmT&P--v!z zJp3Np`fo(yon^28Ml?c-svu|hHzLJRmvPs>*U_9wH8cD7Iyq#6%=q_X88gmldi-Cf zyzI0O{jXDEk$M>Xd-QJ?>*2qlmj{TYEB<@*oKUis;NK_%giVjb{|!i>t4tU1{*f8} z^6kX^_r^7NlEXPYSc(fP+SkencZ9Q!9C7C?+>qsmE?;8r*ax0eqQ31Ky8VbBy-Pfu zoC-%mWAl-qX8(ysDghx#Maeu1z!&ocw~mG%+>T3a+E->K@sss3B9*;a4kJj$>zG9B zLPcLHD(F~J4^NdB*YPg!%=6TA&MIjLfJul~PVLsF-= zAdzO<}O*=x**!n(KY z+KEXBP~bzV&JpL>P1jJ(ltuACgPuRn4~tSwLonsr3^im=qZ?A!CUrAP$ z@k{<=<{8>ISvIMu?B3q-c;q}LsK=~ zGreAgkiLO+T7Q4c(eZxN9Rf2W%Sbmr)+ZL4$y5k&Npfgl;Gr;F*nF+#=(M!-Ws;Sg zQN^m&1doM<#qsvkqg9htUbnGgcoYC;#kg) zN6l)VQlCQk6uHWJK142#rKgFzsx|4dYOXsl_2I{htyUYiUky)$1RFE6!eVnpQc_au4iT$vbA*n7 z8hm181Rv@0Brq$B-rV~4!bnqGvB%oOFL7~sI$23c6jE4Z4`DEv_A5o{rC5nCU%oK( zukEfz_`w^73zKMMWkc+i{-FQ-nQ3l3qvpZd7Wh#5>Xb!Bu_;7^=Q=o~2jlBer*owA zTT|i}FZ!ZmVtgs;oT%3dmxD^!*^4VnQK0wljhE)-?hJn|wCo=qwpLh799*R|r56|D zLTr}5l+G_M(!lS*T2)VIXwu<3mcMGrsHv$DA=}Mkvv83j{v>J|yom}jdHJyDaxHsK zGJawHuFlrng2&#|UAf@Mbg8g^#KeTh^R=}04v~M^{lL-q9f8`yrtvf^lX2>JaGTG zzJ}LpvEF?;pM-<`qUE`%g;|d6ol2JCVn>|boA|1lZA+_zquP{()lIq-r+Gj0_>1!w z+D)E1!u=ByL^k!8{62`j1iN>CmKB%EScSWKelx9%t_pMEq&gwuZ z^y;0@mbus+;3K0x=*j`(vApM7 zVz)E=GcZ%wuj%%-4t_z#A-p=6#Cq5G*@^xs0~^}Fz(Do!UWOZzsfAIfqVP5G>({R# z@7!F*zHe8mzKukVyT8%6w{9R;c_rnduk`{PVBiz;1G5@+r(bGV^RG4d+d%~SW$>inoW=TGHzi8sYp)fD(ENCp`N1rd^psP>pITN^NJDZ?zb8~Kx@LV)yy-v=x4ep0~z)H;f8E32QkRW|a%P=#Q%<;PGpL4I?-fg+5 zsxk-{G=BDcAaZ+5^Rle;&!~^D&oDfrVSL=9YCYQ&5>G zd1Brx&-r#WB9gz#T$QRUe3QT*ugzxu?oW5j`FczwCrc6gZUq|m#q<57bBAhmH8t9S zWC2Ww_v0~|dj2&6elRjkK)Cm}ZzNE2e}4h|N`&8tA9`XoXzhO6{Q-h#XlNXEMjn3{ zNc`k`v(w-^c5_u?Jflu7{PAt$2T1f5Gm{xJ#Y_Emk3GE$g0!`@pG3F9(f3%UKW z5pg|yW+HOI3oUH^&U3L|w1>QlhuGd~YUTuoY zmG|@+SDeo7?&rfFuWJ?~-E6!}cHJ)qo2sjci|TI~bMx}JJXymXS%oOZWkGerg-nFl zwH7VFoPGQ5ofuu+&6keWe~u(euHKxc{rG{nx>^xuG)6Hr(Ayg$BKe)oT9A>EvH0VO ztf1fxo|OkC#;#zn5)nnJ(_l|Y5>07o*}}%+^Ayj^K9NJO6kgXiw>H5NK2Zy}*C%Is zCxuL`tQw13m_#fP^pb<)aVD7W>bEvl1!Rz0dsi*%U#eRIUVz28+d&mDYzJW#!~n5WdJ} zK;Cy(Rt@epGK^mhJCD2en{OVKfTRtI0#Eg4&y0)tW{Sh3qm{eDnyu;>PyjPBGTdjp zry0%^){!7Kc6R0X`P)K{VbL9g%gb0Vm|J-3gk#st_qyFW$E|UNMg@TwC$q%)PN{9i`XeovKd&0^w>T?SGIyUVjR!UP-7kL}x?Bja#(>%2aZZ4P9y zI5rL4&urmq)0)=a)%^T?Hn%?v`C1KxZ2?$To#RZsH5NtN*3P@(zwK;oy?uR=EUl~_ zXC}Z)s#Mpu`F>NqosY`0>eo4&qi(bCiXKc7$+8Wo6VAl%5XY_}-M6aZPIQ0}cdICsXl+W$~EkHfh8D+6sQxM*(#et3qN)$hf$yKI7x# z7^oe0v*+}0-l%*pe__vIUtUq$5U8U41`!~E3zDJl-%0CFPT#m6{EmyiI~Kh7CX%BX zf^c)Syk*m5*6BQA+tJa%z|8zrC>?ba$$PUwE@@y`#frr6cZXw9J#Qvh1+V7lK!<_L@4<9-0=&j+Zsf0jCac<1F*7 z2u`OrBP_HuHM!4=>LlJ=on`Aac^*!rBZ|6RK6VHRY9HM4Y`y=!yE(?ZcE5>ANr~)W zWmc~CYwzii#hh1Y)2Vg1(lK^BT}M|OoS~-^oE6&No#|beEKCwB65ysofs~Y#h87rf zs%^y#Sj%BmGjS*pNvjvwvq57q)iqU(7sPMwaoB8!KLO<3#FG?zyWl6DZr z@r)JOZp`^ZLPGu^kn)(kNK8z`#m{#UE6VwK8+cu%=PBv*`k~KW^tW$a zT577Or~B58@!nIA(OleIeksO6%@;@0Fj^ULOZexYp`qzsX-iAXVz&;)#M?DadHH8( z4>5c)GHA`;zkK0toz_xV$AaIbm}ok78A&M+vO8Ccl-+=`Hvz8p>Q%`n#nVcjBS+(rLz#IOne7OQEMWrm5x1+?=quKfur*$h!OE&j)wv4Kb zTmh4;kibAxfJ+$bM~pN^Sbpj$NCP0+cs(C?C`TtKB*gA`NZ_x*nkeXsPqtglR!f_& z-SB2nMXuYj>n3^m^onZy*l0`He`vW{$0UWqKq| zYg_A9Qd7-x`qKzv;3x{X*qMTs!EMG7thgb@ld~@wxpniho%=>Mg%_ zgEP4X2Kqx~*ZGsCn~)|P`0ax)-S6+$OkPnFT}q|f4r%>mr-kf9r<$s|es5)gi@ENR z-q93+qA(ZgmZxUm(vqS7#>&ddWVIO$WdffLJ<%U?qq&2*WrQ(dcpa(jMQ_rZv#g~Z zW1HUjdW3AD8oRZQWoPq&bJMV|c^ch!N~9zt2CGIK-y8Zm&6)8y4F9UUcQY|#q!nj*vlakw@c@fPuH?VLLOLy2q;B8;@1F)^`yEdn1hfHezB zhq7&1YE8nNC8!@kK|%NV1xzK|KkInmMa@HJwG-FHq-kks00Pm5kqT%oU+02CMNP+# zA|)j?>7_5y)7xucV1V#09IMLQ`uT%uzU6exeXyP=FPkxWdoM~AcSIn-75t2R zBvgBqBGEUQy&)QzXZYe_sk;Bwk(Hxug0}SU#*kDoWL$mZU)z2lVa3U1cM$aCgyjv-WWGni3i#(`FUOsMHG-K>r>roUE4oU^P`)@mMS! z{olTrnJ;;(0V}{)N+=ptLHxg3?KjKsb{xIQIX8p(O-cVH1R7$A2T57|?hkGk8zug? zhuv@!Bn#gzm1o^Ul?gA~yM|rDk$=D<#2N@9g0gAZy(ON#K#2wxg1i-|?4@d=S+ zBw7ujV41gAPw>z~5uQ;S{7-iJybePO`o+e_&;OK;5e496Tc?i!U%zto_4gaRfA4pA z_>ti8V`>32>!z3$TgjOE^J2=7H$`yZNjN{-TN6dg z`@`bA?tj?czii|wYMh*&G~E1Swm!#%u)4acpc#-ANG~WP$Zj(Bc3XBj_;FriSAPOe zMSaG!qv8YGF+Ue9lBoxfzA*y4mIC5&_;iTr|AakTpeqx#P{bGG|>=aO!^(ca}-W!xXAs~t z)ornVB9@wgjTnR#-q-}Nso@W!A<$Lc3ZE0D5N-t(gfqk4cbFYQ!bUD?1%(=hp1;I+ zo^z$7{4VY2gi9*#Vd~ck0!0?$@F?3Nw>7i*7D`VsYhJrQ_>4@sn%2wZ`CQ0Dy`z{m zO*L3MQ3 z>=^GPv}vlqg6qPWD_;Wu>99Nd0DMNKimbJh)yl^|V|Y3nZF^*EIdrX2^k=aQ$5UGO z^{0p`c^<4Al|_Jh_FL+DhtoVjEBW>7*U3hEf$>7E@GYLgym}j#x5#vg-|vxQ#*F9X zinRM(n=}8E30_5ssc+T1J8EO2r`x-`nxnP-*&qH4tgI8gmwV%kXOK`s68nc1;%bLt zn|+Ubs~31Ab9ifmCJQEF!4Iom^I&=4?AQ3SK4DNgV3UAX2-Y9>;9I_)^(!qcb=ymb zN$|CrsrvEb2f2a4B1RXMukSy$tJ@^+jX!Ky&PbNp-j)T0ZU3w~5#Z%bZIFX)E3k(> z`clB+EtW2--`^+!I`iI3P<$JcXMeBK6W2Jze%PyLNNT_+CN zycV^8W@YiX@MYccg@Zo3-EoIbFE%0D^6k?8_$&B=>n+EpA-AP{l?qrQLp8^YV_(<-%d*#`9f!1V+ zy#R|&EyLYl?`WRbhjTS_EVR~23N2;jwE5*v1*`nceh5iy25)R+ov)9sD8T8gOds0>uo+tN$R|!q zGacm7uyeJv=XkJ#Ed|Uf5}=Ge_Cz-~H!t4ps_54=adhP3wo$Hk;eNrH|E`zdn{NY> z+u3%(Ucb`kp*o!H9a2wnJt8b&?-H8;NkC`;zSxZTw07}TfY)W0Yza+^h z&%F!JV~cX4VXBvnn_FG;wMyjOT#lBubH4VCcv;-2Dhf$+rPYl7>L?8^?l#(mp;ac2sR+IQIvWn2D|k{AdM#S?p@8RNgEx=D6-Df@LJB&b_{ zti_ocgc7*AxwH-szq0X~#M*ssDv2}vgY{==YWx{Lqvm`}o&tQ4}q=7m)e$LfhWkJh$%kCRJ4C zgN*BcSH3b}A*1zO44JJqRK#SE4Bdikg{WgIv?83KY%N^EfoLwp&#XU!T+My?U6)e? z8V;t-=||YYUVOjpDO?@7dbcnq5Mgi@VI(`6CBlxCRQI5Az4H3&N0hs(_u`?2Wfgfj zIW49s!57f(U7|3Ix9ulG*8t)kx>+XM~Zpb< zGoZSbn9Py-n>oThj%ErX2M4dxld`bv9E_9Mq)WRi`fq%D_wC&HW>9lZHyU7s4cH@2 z#*yU@&FeSM+2+VRZ#;zV@p$UI=mjU>MC6H`soc)wn={+PC+k>Az_A!r(tgtSEB^S^ zdft9{)xh_PJgmdAXPTiP*8yck>T^ortkcI+V`q56!`&C}CT%VL)#qaPL<56+ga{f}Js+MHeK zs-s!-8h`F746Pro^tx#|=i%t9{bnY=(7GXGifCxcnx1(j0FuQ1CRx!!S`LoUZ2W<& zjXnTE$e@i4x9R-?QvcUHb^XrccZU~qb3*#o2A_E18VAt0TNh~p?k*-#aj3>-YF)9S z%6ID?&o6ao5H8PN*oW8Z0i090GZ{d?+SfVoGl_xWmqv91OxwABf7URmo@1zi5kRaB zO*dZ*9hth%nG-zKrYA7(_wf%Yg#7?iPlHvt0BS(m#ni7SuKV}c*pnSu(ufq^fRm;I zjdNpOuLGYE%!@7RUqUSbGjX*zXBLatcn(h`2W>v~LZ4sn$W4WM+<8C|0Fg{rSfC0B zz*IFfXhiN%UcThm6jHgk4cu#Ookg5mBA73a#j{KVGeZCP7dwixvV)}L18(b)J;y3{ z40&cc5GB20lEfigNM`Z^zq|K#Y2uY>@g=W%ykJXDPjzwo|=8{#LHxftWQq*Rvi41%gl8FWv zG5A4QnR^1*fsW4_gkYAYcT6OCa#650mLeOk1RQ-6zhSwX=%TUDACi) zHD&$DS=<#CaKCQ1t3U5CENE1_YRKpI!DQRZ`S4|+&|(Je(S5FeafMQ`rqN~kKF+w_ zGxhPL^Q{nA31Tm~xjSzj(JjTDh;Vo+a2ig^$bUcAk713@QM@0rLfuc;ZjF=gC{T*O z>O-&Mwzs$091l57Fsc(7)x;r!56)xdeNlV6T|Nq*Od8|)5~i@Up@7R3W-o;-on)yF}HD=yWkW;tI&;dSF7I-fA{9)K@m zcFSiF8i^HZ{~dVr-LEuYDvfkzMwFSZ;l~h6xg-i%H9_&Yqgd#^J|Ft*9Vq zF-T@$d2{CqaaYEoJv?d;-zqrzR8NFOB1jM^^b!fwr0m?>e+&$s<|pMZ?yQ8L?+Qhg z!-!%V?jC|x$N#;Bk)fr}K#2|nWoBmfW9U1ma@IQShJZ%v9`DE~C?IHVWJMo7XG4J8 zJ#N^JO5U-tbGHDQV}EO}smJS;p^@Q1dp`YeodzNxa27$@*>tsdmEz<3&tLKHeyzH} zzppO7!bOCz)_HJ2-UmE_;ZCH*<5OJFAn?HTZiONJU#U-{WX_#c-oMEqfTEn46$iCO z+zU*e!Q2GW_fkz=T=-i0_DVgYmV>ziu>YwJ%I6Gz3Y#;n}da8so~B~3}F?gXpF z7w0T6=Nobc?Fs`^fp?@0>>Q<^`3#bz&qWZtQy8o&D)2$*LX@ZGHM<8gqsCdB@4%| z#{YQ;hMZkqElP`lE||MMpttmVSEfaU6RK`(Vgf;i=|&}PJB$QGL`?lhlljtLGaVx~ z!u$sXQ31z#eeDjaNSeJRkwe6e57(CZeWJ!V8cgEAxw$+=1%jlBD0TF&wY!Zts)HMx z`R=uo(^Iht7CT$#Bk#PtJa;!TOiZYPYK`|Mx=Y{C(8tHeT~$?`nx7GceYj+uU>Kds zqgLAt=8NRZ?y`XU>;20wv0q!~Itf8j7lakrysX%-e&I3SyGd!3GlnnrNz9yz2o;9v zhaAW_EAot2bz@nk&N;M;!=9*lc9vXHQj&q?xs<64F~}>!c^?pU-5k+@3}Ao;U_Pbp zYZrY@5gB>f$;Jy@Fa%^(*1wxaXGkLZNgmqFpT-~Cdb!`W?8%;4t(p2difp$>w6{Ut zQMRmtm*+~n{8RdW&UbmQC;0NO-N-^hdxzk^5ja+{0`p)3$7JOGdyO*4P`R^Xvv1^a zU``IYr)CA_3^xTLej+ez#zn$m@pwK{2ap*7pZe)7=3XsCC{CDYOr|15<#w zCSuSvKw&P@Hx1O2)jOUckxK_Y{3=TnaE5h1$wAhZ`|{8{k7^4_5+vFrd^6lM4{6sq zVc!?#fkYvs)KmPgYbhQGMpEG&tL+N1RE5i%n;}Bob==JnOEGN(D8+8t_0mpZrSSNJdD1i7$ z%&89s?=Ezla&-Ke;0x{L<@GJdwg#TCduKQ=5m4=leKgv$7~(=uix*^9Im3=FQc0Vmz&{U`j&=ayA1?)jFnP=#?n8K z3yq3(A_2D-FLZ>S|E}g?QT;h7csx*W@Zo%qol#d?PY(u6<@3q`k~d9P1mJch;^X7> z_nTV|H}F-^PoM2|^32~T0xk7l%yj!nf?CYfG`?p?t9F~2T*!$4pyBMo!p_OzWk65f zxAuY{?(24T_qruANHoQ-kumOMDlVlb(k?SgucdHK00C;GxFNl?or@_ysFo+@K>$e` zrgCc7(X+Rr=*;o*<^EwF>yJxyF1OAz)yedUEJ7jlkIR|{4R^ntwVPQ}Pd~}N<}Y;6 za?@lPNa^=3DZ!)u!OuA7`KqI&-iNFzWl2?C_4#b<-8?PtDq-fK*{#?vuvEYlnV7e> zMJiw()|3&lRTWYISha8SmF)xgxcIAt2Iyg8mhvxF2fhW`G+q)mxE;TVZ&G*-$1>{{B8!Ou@+mu`HOhHb72u;>l z1ddn%g>h-i<}OeO_W6so0BkpZq@0Y$8iJ{-n63JXlA+FkhsVRJSS5gECztz}qqqtcyg zf*@HqI+L@2rA5kFd+hz${3Vr#J3~(oL8K!w*~9>SMR~TfP(ipn9niC8fVG1gaFo<( z&Q!-+GgN@wdVAhyUtC(*84&J;nC*dq1Ylg} zl>AxHm7!DT1bK%Nv1aQkuBrhr)HXGhfv%O~f#QKR)ZR`k)!A8rY9hy|I-pWT^uf^Z zhlAGK=*((V{J5}04c~+89A&s%f0J_9kAK>DQ}e7I@L&QMv2_5x*^Mq=gpmv5tI#P( zg69J!WWc@1y4>zTB;*|Ht`%a=aEb~}R^jYeILiX{pP z3Tklp2o}FL$hWEa`G{|F__XI{77uAx8bk%IriC~aia5=34-aL_&5Q!R>e+O39DU<| z7ufht>z&c`mp~6kkAP@oq*vCjfIwOYeC)LYu^0)SOj*j9$ z!^?0@Bu|2%2hP_9WAwgFxctkqI~}pZI@e#VIXHOyZM?~#^%t+FzD*!Ni^{_M?;4*n zFf&Qc3*P|C4coa(-mS3lOOo8Y+{c+2H$)9AcMWu^k62l4AW>QKkP)l!U@FMf*2qYJ zX>N6OGk{0e;}J*Zpyk-hoC_A+S~O^#WL{;1J2)5_@Qjf6XqIBdy3_Bj1*G`WtkX{+ zifF!isR^xCk0`gXEy$jKw8z+Y-Xu|TwyCVeOoE++OXvp$wp!^5v$z}-JP+EyPmOV` z`m(uczAX}k0lj6jN$bh_aTeZ0rLL|Hi1E)UEpwF~OwfJbw|}N`jkE$HTG{jRThAuG zC||nMWuu~aT)<}Y&z|t1*93*Y*!#7@9mu@sLHQTBu$>{WX5_?Vbt?`j^-d?gy^^8> z%w%9>yFn+1zyri27UoB8qN`|##^$9(1iul@M1J7U_EK>n_Zxi3Kzb) zepFpk(+2qFdG`~F2ucB;*?R5xc$tO0EmTmbz#McxYpVjYdG66{sTF3e!){2S&QkGl zxN}rJD~YRX%{?{)poEQsM}@Z=STzWdQT_GLhw%1y)+B5I!M@9lGWhd{s2b zDFr(mZx3T8QK#=u(d+5oeNqKqPZ(cf2n$n0M@N4GILP8mj5_@D8Ev}7$m?gvyS^Dk zP2nETVRmKvbcjekxRiturH3!wkGlge;qo==2MJdffnNHvNDV_YPqB2CeG#CSB(^Ib zS;mWId{w$ww;XQnVPB`>W_UGaOHerG7sbKup01QFmEGXDw#S5z4R<*d4VFA`QWgKv z^Utby`3>vCKyphh)da)Misw$h2GB$~u_$?wZ|-3Js7f%3DQ6LP`uQ?s^E2Xtf_%IA z^D8_8pffe=gBw{`ySqY%*bHVp_K&R2xjq0d$V(IXlwdzy4*^ z*mK8VxD$)-+r_Ve+TkBtJnZaJ(oGMeG&L74EB^71>)n`cJld<6to5FrIO7-KOV7>4 z&=?uzY?SB&G$C*Un$C=4fM@orFZV7!ANVnBr1gOIr(NxmHnpel!Ndf`hSdga_^C5o zUoiF(Ft&@!qj*4R5j{hMe^0vn&p7>Ooc^0C_y3xy^6V1sJ#KPdyco1g;4d!y zaCs2hYZGQ4lubfP-VE4!LG~*<2|wwD$pfR4fhy;DVPHx4;w+=2+zz{NXbQkYq;Gp90|I(Q|s>Ox$hc-`~m}|Ie3aZBZaTg$jPS{ z&qO@izLkBb5N--Oz92qW6Tci<&uXTnrHyAhXmqn-WqFPQT^F0v0(forXMH%+CW*8y z;Gu716;1@D&`7FYeCGfwwTH0O^+l90C%?Cvnwm`0_d>fyK=_Gn(PiwIu3z6= z9(PoiECbgs3h-_A<;z>j&W6q3oj1Vu?DX#th&kM_v~_fp-zf)!mTRf^&Lensb{0iQ zYHn$X&AN}*1$Nb}N-YLBA8vZ<&dYgEH9jv}B{n)CHgqwBPi$3eUBDj=XgD4~o(2O< zWOLbjst*!t3^(F(&adBe<9XR1H9CFIBp@qD`CW#3a z9c48&|Jhk>UIBqN;9y2?c(gx~$7(dXs(^<6@DotDuNzqgSfVPUm-c*7)vTq(SH0E> zs@QFtMFEz%=e__t38sU%_5?373i7=lh>5uhR<%nkWX{RR#H6gPjm4wE1KtPt0n_G@ zPq~QiZ1^Kh<%t|Q=tfRQM|Y3aC5<2OcR5ML4d~!fQ20v95kBt|F+4|m;cCDRJP^un z-v$9Ql3$>IIN+~ct(Xp`s?2kGP_xGQ!k2bM-UT;XpCnOlbRqTNukIm&AxBYDQ zliZyyBJ{$=31JC#*6hsGs8YkCa5OKn=!pdam?+d~%cnOnn*6m$%=;c!_w6;J^<1t0 zRi~nNQBl#zN8sB(IARq^cWy#{b__;2OE{=Ejx}98@S%&_fQot39qk39~d$!^c0D8bx zhmMGZ2toHIwDNLJNEAF>_}fdm*U9|;;Jpc#YKy!4(wv;m@INsJ8ltP9={f~RVwZ|X*lkY zW2k=jWPSh;sR$6__04Y)-n(xvT`_>95LKRay5W=rUT3%;D8M1KWaFhflv-2kn2)F| z=nA>zCh8KgC=~wG%W>9pcgF#;#-qBJvtKqa{X-;$$)13BHEtQLtXvQ;FE8L5Q|s%= zA%f%|zxnJA{YJ|FG<5&!8TbblcN!EP-ch+Tqgu!ToIy~rYp+ShOr`ZahFtG-);C9f z$4z92F%mnO4@MXmNe*}nEMPS7AH7RdufORd$+#L5Qj3+%V657+W*@Hbg1D_`Qypen z#8KG|W?jxNo}(&|ZPATnNTC*k>&Ij%D7(&tlTE0-ZUXxRe#yMq+bY5%Bn_x8v^#gX z==#;&-O@dp6;&(p*z5WtP*AFNVPhk>i}G8<>m>fPByj=%ISC(T;}~t5?MJ}E*3@V=w?96aB*=lym;}3PjSl2i(Fno;j1-M zBhy<20|4DqxlO^RvQ=w;RvETS%B-10LxW{5rwN7wbh zm|VyW*>$4O%+Z4*Qv?NsVmV!pKFI8*yI2{&ZVJ>=4cDf+GyJW|sd37yx{G-`RyDAE z4UCN+IO8~L13&G~shWmH@7meXQAf8*)|XW~r`$R5KGtlnq<-Z$njwIUaydDf7;D7( zoL#{lzxH(Rg$HWy{2gw@&UAOyjmQ3zIn_; zRhEr#g52-o;sPY2#r2X)ab@SuvJdr#C1ZfzbiZn{*WbF90E^C>!oxjkNC08EOF=2#+QNuwex}wQC#$p+1JXA$n@U}o z;PILpEoVupW00p3aZ0?Nmy+t~g8KXVz)(fDme(i>VS_AnZNEz8`bYKEZ0!Sx&E(kB ze<2~^o6&06x1eD4`ky~{4Y!BWrD$?hzO-6luCm^{J;9O_TZ(OWo0!5q5t1T%WWg#! zDPmp!=3E@Snld__!nP1mHa@M*6U{=>r?Ozvctv>sIu0ewf&T};Fw!2ao2i}-}_iD?;M#IMLh*wTu+*^wb>%*#c zvXzwC-;t9Au69)x;K+}ocJyMrH?O9qJ^?TB+&71Mw|h(#^IMx-dBZ$uIKcH*Y<

BzPRffr;#V-IWfL(3A761`g~K;CHgH7vPr)UZ1cSFGPUk-SqJhuaUmSp8cNCYXKHX01bZ)`mL_4EVf0)-P@hR z=l4dB)|LQV{NdGfd$>iPmzx_^E`Z((hiPoQII4ee#J;!TO3Y!-8GucK0Rc^j*M1dC z_}YaJX!D$fDvul^Hxg?U4Q@w|*xV;=L8+7x7Gh?`*1O)5yRg&J0mVimYXe50YGyZ86qqlqkE0= z)~Lj&5hJKZV7!2>|GlxX`AL!%>DAFQa~5CVVO5r6i;sB%FlhMyi#V{|}wMjK!eEKpH_hrMtV4loCNeIwS<7yE{a>ySp1?!~P~d z=NsSn#yDfVXPh5rygv>v0v2#guGooxZa{y=m8_J(-l=vc2x4 zZR786g-x>Kj*ExIIh(U9tI%>>m}t5>{c0YIENy;h2X$?-u?nGX0U2d*|Lhqb@0lgU z@Nnduo^i=lMYiI&@VPI97V#nzI}!E)`TZ(*FKLxu9s!xpbnKDY5FRp39!Yn(`3%XR z+e6A0k*r9@k2&c?BIA6i??<~_2UH=1ha^s7MBIU`==ojX#5vs#O-SgrLwTneIEiil zF=EVW?W?~dUVlc5plA2bw|iNT^W#`+2||3rz2lkpQC#UihU{=jvtLl~h;U*EN|16~|Zi*6d&vg6^Q^UKvyz6h6N^@utRUCgKic32#{Q5T{yiE}$ zyniF=+jX7L_#4ru-SnqS|3-@)Pa;Jh?U4iJ4vh-j4iZ zE!w|V{#5RxIN^T`Y4ws&{of(`(ueW?J=&gR@D0h|>setpbqxJC^viCC=)XfsETTme z{Tt=Qf$PNEzek_B4Q(O)dvsZMx!C+BqJ^fSrD7t9t zg+D69_LP!(e%J_kUEYsagn9&D`;Edf5habJSY2iqI#UX=K60p}>Zcd}{HZ9$e}Col zuhl_qM}Hh$g!dl#y$)K>-(TM#(gW2#<8~&2}))*Znqn}rS{a2sN>|?a;_s9Z5^%>_b(Z}^(q`MQv zF+M4YiJz2A!Go~ZmOnGwEbAA^gp>I_ z2%x2not#oDCb@~9a5C@eTZPdqdirqEv|Z1^G~swSjKtmjSMK3-HK9_|4FNP%?LzTP zyWxAwY+IVdL~42!bwVzLxblXb{yFMGx2N*J>B0Vh+Afku+Q%pEV_(RKj#!#ayF{bdxIVWY`Bi ze5b{xaSL^;$p=zi(!gKvuwawbJAd&JJQ_u~vRpI0oE~4)(B>dsH-dAlP6CU>s44JX}>(# z^tyl%lM8u<#Kz)H&CF!xNXTa6LTv52)ErcgAUz{16zK=jbM-zrgQ}WDN~zKYaKALA|}b zw)Xb#Y6MwXA2xY=heSn*24dnX_Ro{C=`_5OlEQ@28&b%A_uJp;yuW?fM$`7_j8Rhm zE*OWR?fZ8OCgr@(yMwYRIQ;%7n3R;_$Pe0tDIsAN7>1ATm4v=KO|iJz+34$<+PV$b z=A$E9EHeHl@x={-#$#2oq_8^IA8i<495x4+gVQ#s`1sV8@6x1eQn?vue>&TpAms zcQ_z;WSRalZv6J8N|8ojbCs21%^;!fEe`b08Rb88Qn8FjmuDH`B?^aVJqG@tQUe0? zmOlGQ9V7V`Ocs5Bbzn%!%Jv^O33W$3?ZANsk_E$zn7w0sy!ID&iGDC&5 zeGP+_&ZfEYcGcynyrF;oAqrVkVO32~NpRZixRmvU(hnq@PCc6&+`$~{@)nWHcc>+2b*lZjVUQ@XBSqp z`r9jXrpE){rjUXkQuFhx8|->7j_*!FP=6B7$B0U&)Wdky`injB*RTCyyBt}2cA695#wRTF8!S66vM8ov_(h!@&ltH|<|ix5=_RbTqtX$c7mY9G7m>PL`pyt{)h_9viHTF5KY$AHST)bS(cWEKsZ zD5RL)2LrM#sg_v0yM-XMhvXf<&A9AgbjfGeV$ds3&nFu!S8s*9z=bm^Oj!<@86e+19ou#5|_qS&3J?32B4Wi+K>gt+w$tRhIpdEg_xE@^*^iy4~7ZeM}wOP&!kz_A6YP6W8nJZ^irkt7&SJtH=-;4bj z=H%sx*t2k~z+!By6CW8l3f)qrxhM>CM;!K~rhN>8uj>UWE7PYYP+8LsN9HmI7Y(yEDBoJ~PE4ds#8{^JZYa{vUmRv z@{f0zx)S2z=0<{b@3d(0#s^U*s&m_CV!wRJwDlFbNl+0N7f-#sGb}4~p+ChzSEy0> zJv{t~P3NV={vV27cxOjPx>)FAB2Lqiw$9e$W4pvF=aWM9(VP?bVyQ)ZTWL{1hZw9$ z->Ya+Xs55PSaR;a1!Z)-yw zFPQZG5sG0xnNKI&#Is&+Go0mt^U@op=3Ryi%`NaFY2dkEY&{jewuQHPo!wSYXjEGU zR#Z3wKt}>15dA=@=(=Cp^z-I-ZDDni`6Rtfd?uc9HS7G*VML+92q-jE-ec&>1uEFh zHfqJCPHM5GzR}Uqp2@fDKI9~BZp#I|x=j0l=Aw49xMS`Rf*tkMbl%`m|5zb!X9Ikx zsqI{CI&(pbF(oD@SN^GN61#H)EMZ}fxSYduO7A`^fy{o&r|`$-+siUW5a>zMvAs_-L0IzLiO2f0QNBBfe(rsPge)w9u z{=_+f-|9tETK1E<%%lBDr4q;E$I3sn-ssoG#NciW+>tlml_{?tkB-&ZEYx98?j9Fu z7gVWKacF+yG%7j1#KtVP21&B5jIP<-QBWyY<~`px14BdQC0=L7ypqol0hrjR1>@J}j zxp|=zr-Q8L01q3H9mu_hhl{^;*b1|E|1uU3}Q%Jva zD~U_6>DD3StxuBK9kc1=wYJ-oOmVYbPw zJ{~3Tn!z0lgAl_hqb1Mi{M~V1`97k394aI>q&I}!?=$1B&+ad_GUSAe4S_#UYybay z$uCvMpW2MrXGu&i$v94=7j-x?aVVPZSiS1LLkiwMvx@*xK>x>8c`A$mpqm;gyqtnC97DyfD=`3NHnftFgI!&i*<8S3YdfX@H?Lw%Byq_4#O zJY{7ize7Mkcl(2K4{K4ZulQ zsW=`HvTAiqpKjV6F5G&~Pqt^F&QzEOZuBR$&i$5=*346nGmnl8jhQLD@7Byz z@4UuVjERY{+dL3NMnMrFA;bQ`P14mxr)Ok@qB&cZx2}kb&s1~Y`MWCxevOR{_!#_f zwI!onQc{v}tn7Dx|8Tvk{MpVlQVu;m$;|8ht8_%yi9Y-SXhY^H$`eql0D+pBeE$GcJPg*HQ8sJEmdW1$-#%02Yz*S_KW3u6|y3 za8=h-*Pol>0PTKhTvcRQc6PS@sjjB&(UAVnqFnjnRHEmO=;7gKhapMJvAv5v#k&!V zSl?uVnkUFRM<}Y9=AD;+vjE(hA@?!A^KSdAx|z0($U=iRSt!4QPs_N)B&H+$`zrG!N)0L+r`z6wGydjZY+r0P6&4xF5_f_f-9Bl2(V=LGln|Q` z9>~SJdX>@Vme}l2OrP*))ixn5nPlaU}lu`CN?fEh++dCki=`VZFrlCy<@O(X69bb zp!O^cQ9^o^-Qt8KS@_%KAUpPnPmr$%mFZX+fsBl_x!rDs=wccoyvZA>NJk0wTbt0t z2Br5w$An)=RP)+TwF@tv;CUYLp^;DR8-H=p0XTGm(8nBue( z1T#*k8y`oshEKrYI1{C$y1ehyUW3~vvev=4b!bRIhy_p$KGuptP14sc`+uCCys#IW zO!5QG;PN8rpJRl*PA1=|k2-oQp95<)Z}M9Dz<2bRAlA0kbV8Cj&Qj3EDJ@$T19V|L znCSN|`vm^W_eG_}YWXk?e$K7Os(3U-@t+}DIy(LH87Gvc=IH20sGc*r%ewlhT}2w@ z58w9of_HQ9lAwiJ{D4qVg5~Yi_&^;MNn0ZNhw1_K)&ATiMjxc*FvIr zIrY$;97tK-*vV(#KN&Bm{VnTe2YT1n+MBAGVi;KDe6N;uLm$&&HZ-Uf>zLi1BsDM+ zAT&4*5aI?u>(~u3jbJ%-662=Fz9EhuxHh-^MqTG{S=9DsKs+c2)IEocI5Ryx-zG12 zW*O!!BOYYXF>JlDTyR-hqN1gx-*F^86Y^cSVOuE}mX1!2%|A9`pr>60FP0nOnO*TL zpMr7lFEcGBf28bAFTnC{6v+aMbsNy%XlZ$7#4~65uxgFDncClzRSyUqZ|ZX?HZvV4 zV|q)R8gW!uXR^&O+GagJMXJm(7i*P%5s$L~If8IV8M6$w)b zAFd;5>YOj;u3xj!fN8VMw^whn`(S79`gCioR5T-ANx_}CgVOtGN&S~ ziU%Wkd@@%#6yf1mZN`M(@srwDQF9M)dsdTgzDm zcLa+756_!ri}efNyS=$$O-ea!lU>I zBQ74E_gA@30Zt^*RPo;KjKqNgXg zdH6&*VWOu%KO^pGzM-INW#Eg%5L1zDPn@AFxi?Q5VM!xrDM|86lN8nX+f|SrPkPg!GT z?;+{Pjz6o*o>LQ=WT)<>^}OEsg3i(x-T2l+=evaxYH$#!D=O}qg?G1qj<;x#5;)auQY3OTcXpk89e|un)X5dz*_Z(cp10S8jvoAk?ePzyYD!^Ga zz;^ZC)E4 z5NI{KR)x!yccO1Qh~#f6nQ64O4$C@d`0v$6us4R?e0xyHVQG9lYF zzVmut7GP3?9ujxtwq37nY~*{>lQ}rq4NupFc|o$W(ruNQJI$0iokwKpVKkv){urxW zZJpD^7CySgj*t$03>6a-rlL7(T#-U6wt;w5+X`LtuT8*aA$<7~!+udd9Ihu+qdE>B z>@M0kC@Ob4twk}@0tKf8Hko~7sUWO-$;H9ZntLnUI?^ee<@{5lgjrW-`GQ8GvDErD z=!2cHl5Xr%B~+e#RX`oD{c6t&l3QHLoH|7K;+?NnirADU_y7lXYj^$Yy;h?;OE>df z1QxbpmN+)|nWZlv*O*|OuC8MW?o{yTtOck=u+`IawC=0;!apLU032nHo^$zre?MOE zUi932oZY;`wxg?y`uTGLj#4{zPEN7yk?ebN;tQRFkQj$$j~*=p-D*g6b(^C&yALQN zL9$8kvHDA7ZeCuA(~W+|I&3UTe9*)EN|*V@Y5Qvx_Ba&TU{On_9i1QgO|Z8Z}pAV`Cy=XRHl2HMR7c+}vD)Zn^$Oftvuk)w7lNOfMhEbiQ^*u6NnbcO)Hr zxG5Xc6=ClQ`=n8vD!4R0q%@g?;EVA6L%^eF4be0~%ULg+#s>4~&UeN;k23OgYZPLM zUNNbRy*c_l?eJnMf2AEDc&;4T@m`dX@%&nYKVvoz&fVG)yP$WaF`CGlppL3|t|C|d z{{5T%F!(UcQNBc{u`Yr4(xZ{@;F7gb5MyOegPa1#y1-dTBL2jD^SWo0tZIF{Ii;?= z;Ez$Xw=29uGHj#&_*@nKF`7zvn2qgzD3b{+Sn0NWHm-EyM7f7cIFXQY@dd2xEj9UZ z`dd4N36V+7^fW_GV!1T_u!*0V9Ns97;Mo_dUwZhlMfb{1mpxBlw|>?@vU6DP#^u|I zj3hY|n~)F!2+q}^jP^k9&XC$~#O~*NehZE6JM&5lmmGgT^oELx3IVQF6H>l8uz7Rd z4(6Lg(!|f9OgFBCq$CTo2Rva2&*;GoG6!4)I^daN7^u)at{)E%b4W@_`HNBeg@$4j zK4a0hu|ZQ+B~*5BkpPp&sj>IE3nIY9qKw`+<|O)W^#sy3i;of|V-OLM>@E)kUB~kL z%*W@P8u>d@W$4=hXj*Dc;(bI&7>s(pn`Me&!N1 z9N2O9hA@Zy6+0DDLUgnrfWHV(R}>i%O;+3OPO*CZ!-eihq@F*nhz}k-KxJpZIDR|T z@P|Er+);_R<*G)^Qpbx3n`BZCa$5V-%zJdYqWd{E84DK|H@31=MA8r)X1&;zK_hWw zm$pD8WXUM(+d%Z|_wSBlTm}RPq!K1&=;KF<_M0iYSf=-w627sDyT&muJsCJ?mEYvfGVpQ#yu+Kd}R!!=4(`_#Nm?M(Aap#oa-$PZPWGd z&wy3fc9q5~p4vkYmtM8q>3KibL>$l&K+9JbD-q`Gq}Z(Jl$~qn&5LNa-$qukvlaTd zD~QkT3ez7kHA{w=Yb;L*L;Hq1@W(fd)Zl>Csn$MpHGVwx|JMu9K!JEVl9RV`5YFnA z*!n9ceB{sShsU9A+ zqB1gAAhoYm18S#j^U7|n$qUWQ%*@uo;Z5+xzCxwc*C+AkSI4+lPlO}8qtaecN4Io# z5?jqyh)3*v^1!Y3^t!Jz+!iy);HaYu{vd$NegX91X;%;$#bhx74sTpX&2 z2}6a&tjc=oTURmUNb>U_pI4MJGP2+t_-A_y*haq?;d8={(@}OwDnEgmmVIL9hW8{K zmqEUDc9RIwyX_MGhlBtX5HaE8{IB(E-~GVrmQQV)ufO~p8;k7WAy8qufCVI?^PPXB zO40RNZvXKVa36r=hGk>-S(LEj4-SdAs(jN`>vXM3iiTx2A4uN8>J52Ppn z?kn3Z?wQVaZWhL^N5+FGVF?Lpd{eVo0d^Q5lRpOhZwDc+umpGjcpHm#Rszlk3rOG# zuwcYbe>^?8W(X$@E7E?^w~3A6h6$hpI;ML7&~vWO#wwH{b&Aaz(_=PCdHLWJZMTHP z#FepaEg6p} zpLh7`%8KpnA}JF^e8LuyR=v0O^4(;SZg6PmkJk{z)s4Zx97Qxh;$=owdiwgIVezc1 zutj*fSxnc}Mgbd;1+~T&%_9Nc=NLXt5VE7wkq|Rju)!TFDj)=4A~V}Af!7J?!bbRk zM{XI>i>jm%FE+RrY4c%X=nL$8L`bK}HR1BbY(5=0U?l-?kjGZk7Y;GE!q*tuRscj-Wo3t zZnMwK$~sbW@IuDq52As}#p!ZeWe$HRj&l9y>_JWL~+SKJ5{u!{-^U zzTb{%!M$eeG$Jnrytg>P6gC(mY#eIRq`5vQ&wg+A`_2tZN;AP=G`~G0u4~;DzITP- zn_{5u$yxXjwkwiV-_pal+g>64^?7^u$5}*(e9rAz+GfS2(@RXx$c)vx-c>ZH2!Ef$ z($l4*n{MSW29AHEI83o&Y^=uTLvHTwy7X2O-88R(}2J zS$w+Op57p+M!_iik`+`X8i2zE>s&;^VqI%4R#8z&;Bj~X)MG!<;D@42U(N4G8GWhe zksL2=`_8M5N+f9+vYBL?K`R9fWoXi5&;C+N%<5)fDYa_EIk*;jJvu@0bS{;w!eu(P z@-w{I&u^s^U3#}rFsddYz-7Yc0W_2^>eWyzzW)jG_3&=Ja+MrdRJD6ol*~eK$BpA% zZL@mzt^EEG$|b)Hyw8W@<0!aY5pQI1aIRshMOr9Oh1s~2nL3Y!;l7*T(Pg~6g+g=c zYeoc0ARPj>+So?ul>i3^!eQTbT_Y)c9vR}c7!lj9(%=z1ny*$`>&94IpHBB1sn}cn z7I^#WXhlXTst=TF2qF_;)cs{_rte44pS1dWx*U}IBAq=eU@a;bcWjU9>)Ld`0elAk z0gCZq#Mkob-eYf8YiG#!sDv?lb}z;9YmO284T(@j@QBqkC)c9)JJXiNf1s8QsxXCt z1r7bCvkFJ()!OcsR{Z-pkc~W*a~}%jE1{)DQ3S)S7Xk)LagTtdW>GdR^xJ5&C=DAM z)KY$L(NW5k4GzrCZnNhcDJLiWp?qBWR#LJBfb^P+!)A2A^muwUwC(eINm{Im|MG#o zZf}D?QU4{pdM}W=mFMt#`{2*b*dI&M<}BlbAfU z8GGz;qYx@%Oz-E|&sexh2CV(d78^j26KP$0i^6q? zNFY-rqlw8+?pskkbMsF?yv_vj)s)W?<#X$q@b?9inHjkZSXfw}6Jn8}JdH{wEUZ`x zQU(TwsW=v9xCYbLmD$4_8lW5i|A=Uk2&jZ+7&J6AmUCweK=gH(i%cFM&dJUOwCdW8 z|H8ZM-{XU{lwjI|=e)hW&CbpJ`+TYtz)9a^A6+MrVkE|B$t8_p@+ibK8VwR0W{Y+C z)F{_)m76AJ*(vhbE{;!wKQFPvY`R{lHJ_eci+)K?4hL|zy=Um3TcLxb)tC26?V!;E z;5}+?Zag4bmXwsda&+XryX>TmWl1_E|5JZK#uqYF!Va3!r>NLh%F9(r)t(O6dU60) z{DY4lcy;BP9Yg<}6u80e9HPY~+GnJ$JM_fFkbMht+yA^eWDB^kOmzC)ds){!V)gAC z=QTzM)3|m;*`2%2I0U(PQJ5KB|7ijJgvaH6_eOKo(s+R?{{T(2q(WxEO7?^4$^H2z z2L}0F3{Qur(xUR~tFqIRaqI6doV+g&7FFwHnZADLE$*`gJeMa+3}&(1z6Rt=3V)hL z1UiO}ue{ypz<%<+PMZ)ED{XfZvcBnx9d?~S=2ZTZX&(d^Ym^MP*}6QnPDSS3!#QS) z+g+d8V#j0-4U*v6MOY+*h})vWums38TVou%dsl4I@$0TbH+!|GA)h|^S61=>0}%wJ zyf7x)y0h4Q-r)JeRYn3t1j^?TBcGa3e;f5KU&f+Ur`|%XgX$feQ++|lXrxJd0;5RK zViNOFH*k zJffZ#4lnJ@eF_0(6%%w9-t=*%r7a)tU=FM8pjoc9b(%nTfaH7S`J|Zweir>jN7vV2 z_KQ)sE#X3>U(@QV>tT~q&8ts7WUd}>_e5%F`X~}}no^Prdm}c_R&#t5kuc_JKNgRorD@V=2 z@s>(1MZl>80;t7 zoH-@|z0<@jwdX$dp6-1Y=Nub8UJA7u$3FbYU|D%52%s?l*a>nCpEE1~_FPm{)Ro6F z#4qha^-rIm_a0GAUEPPvRKclQi)v5zh@J8K3Z18MzTdaJGk%M%lt1udf9) zh%Iw-Pgc7lP@qDcasr^)xILT%^{I8Z6#?xbSyxWK4`R;?q`7hlmwRTmM%8I6>`{AA zTk8TjK!j}*`vQ<5+3RD=At)_^1Vcgsjm&0Q69`NE+OB__TmZRf==kwfo*U`u{8DDv zm6wz93p6qdjPEnkoTerR%tw)xxuV}SgTwKST zFQ0rPCN3#2XFl^7%{DQ-Uwh!e2LpknJ(pq4fSRB9`NRa{`}`wSBU6o1%=Dg5FMP$Q zhi+mh#l&XX{&S(~ubTC?>tg2DE)?d+BT#W^FHEgyhx4CHTVHfo zC6VlZKlEP{6aV)<{qKGHFY3YdCdMFtN96{;-N zp_W6^2^v-*K)88AQ2C~J)IHs2v00P{Nc9Rbw-jMMKB5~O@>j3)AkeA;2G5^0MF5cH z5=D!v?didMwnvnJK?EvqWu*)0K zd zzwqz9jr_?mFRDRAJ;T&~m&;*xyuew_< z)DVx)&D(ANG6KkizWH#SIsOqoerT6Yg#BD(!|!IhQHm?GVZ>NQMMPOrUJ)sCOfW41 zzgnp1Uym4VO=snf*yE7#hw}@2;*gS(#Gy9S+!tZx(RrcyW|sn zYijt$erS_sOMUGEmcA0>c?}r532P8GaXve|@#d1C3$OkAVW$;y;$Tvn=`-e?r6RXx#OfQ8@Rxu3l_gtDmloI$KY(I5<1T@C(%Ss=(@`2pomg2=M8@W_RZHu_o6t-v2Fv zTu7YY@`X;^H`*8@TH{|AmWvGc@1O6U{&+^iq104pm&MSNOg3+b;DUHsAz0h*vwGsg zX(GX^zNm9+I7rd>S-#n2*RRkx;zijExs%cGGRMjG?DNCVJ~;K&`+v{H8Dm(c%0_LJ zB@zDhK9-4Ry1Dk6ZLf8HnR|?V9WPXraK1h)zyxez+`iF3q&4T_ZuR;oO?#$ce^N#4 zd)uGS1Zp-*V0Nx#By^-4hOzh8TV*~?66n-$qh>Q-p&dsOPro=I|L5W7`{Ctol6yxD z@Nge7TTIq{EEKQQC}W0e#mM8-T}n=rsavQ=m{%HR$hTFLS>LS+Tix|tI{CUBEVP21 zB%4=<1M>oIIs==l^ywfEfb0+eycjSfM9@IbxcCC`1_HckI!Hc5LvSUv*ry+_uC8F# zMH*(?+X*MS=mT$nYd?V!=A6 zc;WfVsVUAFEc=*~ZKiHK4`Jy4*A5Y^J~uqw+xW~Xzt6A6>u0L1a=H6EJ5eCp zts^Se=cW)aie6iR^vc*{yb%h93Dh;G+828`5%Tv3$x)~VfZH`(*q(-%pwSmsc z1w1j2fQkZg$h*khm+-+w$ajK8^Xa@wu8I|KhvPn5;Ky~}m?MT>0j>4xMs-Dn7~DH; z=@NT)dDr8Cl}5EzqVNN~14XfcQ}*H9Avi7B<)|+mc^dFq|pN%xyhJ#FEG(u__*+ zkn2oFL}YsSh8Y6`W6DL3VjxvGDp&;P73sKeFMqcYn0LUOz_#L~Y*>VF zb~!k6^HjAcdBh4>uT9T&h-?;nXUd&Rs(~K|pII3h3J3}WmslzFKHF@1Q<{^D%Ry`5 z2AC?*AR@5B_xA9rsXXK_0p`|F|2JrrIF%DF*F@TA$s@2uX{b@tC0WRW#AGm~JyX{k z72-ZI4@mP)h__I{q>*Ck>=~x9>l-BW^0;i})%C^(28dX8&bF0oY2ap7X^J!XV2%j& zC>-PQaXftl%I8ULP=1dgCva`to5koBv<$9=%6WZUM@B|st(k!vQs=p5HrNG%1d%*H z^Vfgq69P&FmWRMPpT!3-FTPinx1hXl)ZkGrR>6*;m+9y`iU+q!*!#|i18iv^7YdGI zO5Pp|*cYf?1=}^6(syvRmoL2-z7g z*sL39>uI80Hx{}K3O!3%Kt2MtXtjnlLNKir_1(eFgbxM=2!@TAbV;FaCzSfv*4AFK z2v=YC%}ha%^+Meb_W8*{`8zm2S+P49+n+*MC85e_m!QG>mIOS#_qAwKtNp#KLT=PS56KZP^AGO3yTQ=a8n<0~ zRBWO=+s7@9<`V_T1h5A5loyV^CSLMiJzmxJFXpP+Sk9J`fsGVFvo6+IAn&;XwFVTh zUx!I#U|o_tCqlZx@db?{xV}K(Vr}i3AzAH?RJv|-e{SkKC?47MNBFtkQ3=)7d;u@m zTz9{(2$-mdfVLzObs)HQI(e2CYPRSdj3Ug|k)9#SZaAc;rlGO2@iS=(Hkk%oUtP)S z<>SIV=HN2jz>sY8a&0GHnTKpz7>GD5`R=#zt#m#BL1K?=nTCUHAI!V-BlL|JdOR*J zdy9>P&A|KZwCfWu?_z7)(oid$>C-Haw{duBC!8$k^Dv%Ow+(EMD{=2+`r6D6E;!vA z$#UTcZG%nAcVEDzXR;RflA#ttUAZpsa?QhP`gx%y4jl3+)PxJHtgJwW+V4(p_xSUc zHgYa*ZmoA*Z0+p2>acf@=flmQvZ9!qjlNXh;gRZveX<}xT;*Pyq2gtB- zp$;UoRjz_RSX;U_2 z^1Z!vflA)Q)UPnta{19Rz;?6%i=^#VZO{wSAU%5Y2<(oN;GeZO*Ohn{(+kAY$h9@R zdlB}>yKLowG~FF?rN7j{BS{$<|F7BE;)}I(&BF4TZ6kfq<45=?jrhysS7n3Ly#vLFf|iMHL|kP6&eFJs%^1 zPxij0`G6mAwu<6!p@M$mEpUKn`&L5vG5B(Q{3#HEUO*C}!pe?GdvgxzSQiK#M{-ak zd5P%MqG+1}^76b(gvL&?y~<8utA>L``Itt&y=M8e#)VFm_)Z0G^OL~WPoH78%zs-T zd(V#aTUStXG;}GmrR)c;HVEXEOR|-{963dcLKQ@SFwS?;RQW!(N>MZ(ET8B4 zZ7Xm1aN{viq5(66$JT?tDW_9uUW>_dfX~W!l234iJblDSB9UbDnZ5tm@aJabA0-_? z@WkxffvhGdA(+ZxD<3#4LO0+aJzGpw5cd^U!VXO}12;Bx=Evjqgpk8{4{lOvX#X9N zohKRfpAmmvI1QS>Q~oCGC^btU9PoSkqDeTT|AyCu-S6KaWkNS7{uy$^jhH>*@8du1 zM|m0w9k!AG7u`De&ex4})q zf338NF#d`7&#b2)hY9HYd$lpY)TkR{Q3X!NM%mYxvB7KJzw}ezNus~rTvxpMeFDLUzKDE(O5^Q}DddSs^*pFSRNe~yF|)TQ#ZbUw!o$ymm|MXG zlqS&OcX*0n5^XX0d+c~jDhll(6-1nHI96}bUvxErslyV_#J&aEWmZwf?|jhv=T~mZ z_zgqm&=;6nk~Z(;*X%w2{Z&-HWJ*wJFOeLLbLP((I!&N=gO_(h13}BWAj}iS-~kEw zT%$98`nC^Sysi1jLmD7}1eKW$J+F5;8{b3PDy9?=w^`pMfINNb5gP8zXdxl$sHJuf z7&#;3)4l{wzn~zAw28Exlz^-Sv^3_jDdfC}rW%rD%_m!6VbJzCA zg(Jhm*4w?Neoi&^TeL73t0Dd2NCYZsS$I>b&@NvQ8Kh@w`oT9}MLF8yqH!;R&3FJF znw^{FsE~QtRdd$Z42u;sa~f~?dxUkIbTCzFe4L_7$;5PZI_Gksx6P%C09~JLg=B`r zVLNMHo^;M*jjAF7e-f&D+}_@{yvafqb5iG48&VoFUXht9d0erhA!bDFzEJmsi9#p! z-3hLrMtl9u#VX8W>)24nLZg9-ntJ)N3+uR0v-0yJP0g8)b4V70s)(qk8hWHyzb>?e zn%wFF9pNC8$yDLA*r9S;wJXxQ_@NAr3X3aDBD?^mEO#0h9wvc8-p&NI1u<6d1*zUs zg>yur(cB2zR|B1mvQl#5*_J=obTO_SUkDIzh~1ZarKPo3rWHL{HysAMM}VrTYtp`C zcKd0Ffk)N4zoAf6RFp5!;*qh`DXyJieD+T~BKVRpk40|{!Ld-7SXzcl#?W>(%F4;9 zRn3)VWw-2E_4M}sz4N?rJl`ciLqlI$-i41a8`INEbq?Tr^M(X=b&s5*j3O@nYV`Qj zSD(>FQd+WQkFOFF2j`J38=G>zB95%AEaBAoYy%!l^FA;z&@&?gYkRZ+JxKKXPMuuJ zn>HV0jBg1ED13Z;qsMufcJPbu{-RR7q=tj?Eb{aXP5o*w_LsLtvWtq#-+|?(cY5v8 zK=#bDBZ92CC7phIq7a!)sg%ExO>n0_;skb!4sA}RWlX22>7=KpKO-VSh2Bd@c$Jox zw(K1p9UY!rh`)WyPpg{eyG=^!cz?^IsH6l3;q30|TgKj8{Mp{X#3b-q3}{9<5p+C+ zs552ci$AvUdsuGQ4PeqMKTMK3KAe}=rT!Ae}cZp&OB!^F)yQBl3g z-q zy9O_Q3*dHNuDU%xx0umCN^euY9HH2qtydD5%h2HXJYV!AJUkp_=XGbzSWr+ z^q7v4nv{-imE6OPaR!u&tKAS79OQj~oTi+k=y#tyKk*oM>ke{~mLFOflt&}veNW>K zS)Wa-NXN5dnwpwc&rfVzviM!XHT@_xF8zP|(ylCLQkfvDcV>v=^B7^1zHv|5IaVw9koimy;&wYn z+jbgL3nYUOksd8g#Pr}~;TX;F4+k!a@YXAxyPcF)~6-+pRV8XQH0tX3}6dSGzf_qg1&N00=7xR7cZ zm33_DabNyu7=LSL%_>grV5SyBmP|0n$+jUzj&Io(+e=tD;rc5C*&6k?w>%Q0O`>tX zK|8)`9H7(s$YywKtX}+?XM5}p5<36TB?!A_8(8x=yNXk^Rbec>5fch*@p7^R)4hCUMnLAdYDfO-in@yhY0`y-a9Oe zVZAqzE+tzkyZ`rxj4WzS-F-J_-n__%?D?&p>!hNrjQv+;W^?CeUu#lQQr=gd{{DVz zJ3CQzb$sXrJwGudpZUdb_O$j1bh)*WB41-?T4p&$SZZW)o?{hG9hTS$gYCU3TV4J1 zD=Vwz?_b0T-2)D|U^ybX8ntLxBfD5|VCQ>oUhdWE0u&tV3#ccS0Tq&*D5}4^G&P%p z4mXD=uhJeBBI(d>Fogd7E9zH&63Z~ZJGJgwxV^fup`bM%_t=cy6QXM;yWtm`eU|=rK%0+I3@GY({EJv z(>J>0NE@l*va+!qUFO#h7iP({jqlBrSPk^b#|yHs2%BD63HJ5wpk;cA9=#5ejy-d} zdZ&3&`{k(&SZS$7=zWcL$9vfgJUcY6?FA#2&jm!~SIB~?j#-+s2a?kd#L1Q?aC+8` z*f=;CMoT2)7#U!&-cV_1%7tg<{ub4;z^b1L8R?P!bsoXyR5so|G9tGAPE3xAUuSLH z1k@zcm{_&tfK_R^pvq^J9scu+c0qYe`LqQcc-{6#$1fqFfO8V;ert0{F{7-O2_&RP zg4Ed&g_AT}9f%w?$nhcz=ZGOa$0~G3r&CJMRL2o;9e877W4rC~>LwSTtu3qbkMj+# zX&*+6xZOvQJLHm@uEU5{nQBqo@k5VN!UG2M$-)kvtha6c?4i|4(mw3kWU21g>{l(t zLp1*~C($LreRnN`J}&^5DbarL*-Fw(lGHYq|D}_hJRKb3-w-{J|DTfa(8HWZ10yBz zn%3i_sYNb#R@@;yg)B5yR<_9a!}T1kg?YEZ3{8iJAXmEHkM!-XY;s}(k0F7JY1Ki2 zS#zG)NXdVK}TqF5qYcRY>m}IHKj-JbgGV9n8nIWcQj4Lp}n$lwCZ>U-AfK{ zjXNzpHy7SKnVg&)6y#0Ya8pAgqji@9IqDvF;}Xv%AwTmru&xhpuh>RS54~=6KYykN zN!>5aC*ZXfaniSEg+W%Y781D3slhttbD$;Oc}Uq-MB^Jydl?ORH`iyoy3y0+W_Z^T zvAopO)F^mdWIWEI_hsCxLzH3p9fR^mYP^h$vIae>*;E1~5hMoE5>S1``8wYGEwnCLnB=*EP+R$8uLH(RVm1p7xZ)GPAONk0?FB?G-n$ zvT|ivv(2oRw|H&p;;n)4;)N`tAi>>}hJ@I=toV!l1*IxdI`PvT)J$93<5QYUQ>+e| zZ)78hY_?C4Fvz??R7&EuS6t%desM!@6Sh4Ta?F4oU#UhZO)LnPJ5c}!%{F?FT^uZ^ z#di!0$hps@Hstfs^J}@AMmkXLH6Yl4^-yHEqkBBDb8ma(eM=}V!vb6}!g8({c9tu$ zKVKX2Q0|n`^{YvAp+QT}Gqvp{X*fs{%ofrI2 z-TzLqq;xhiYS*w+%O&};WX#w7{I1sOKUwdFr_pGeR^ax?1q5A$g?`nimNu8yJvr(% zj!*um=KNuvo0=jxS$7T5b=UcG^bnsKxZL1A3C`P_O$>E&uD{l-py#}=5MCN%06|i{ zVihl}z<7Gp6y=p|XlN+PUHel%6~*MI8#@d~91?gg-v0d}A@**-cOIjn`uO=hqKz(; zPrYeyK0_JCr`e^OY;9?w7`S>U%oxJ_K{84r{)x?4F^=;?+W!!b=@}Ur1{<3ah@ED; zFVz9e4xM5vw!h)D+Zo2mRm-FGXXwMlB@JKwMa9j-LrzPJBBNQ)W3y(v`Iz6_8Q1iR z^#|HOilF!x$&%^fU%?Tp4c9-E2eaP@3tjDMj`lX65*e_oPl4Y zznw04-XjFtyLnj7d6zfli-6as&{K-r($ZRFyr6TnM>69un0RR#EI@`e+C{1tz8w7G z0+Jx3qM}N5+KD}OxNwTg4?{oSo&0&gmCNunVG^M?O%4;WDJQy!^6*8kuciQ+>p;`-4n7RUWwT~1i={>?^y&Yx2V`ye>DXKX6A2A z?bBj(g@WUVGW!5Lf`|VJel8}z2x_04#1DV^w5U+8u<~dG*KHbWG~_=3BCg4K5eQQZ<7mH=|K4yE++xVANo00G!h#~X zpu>`mLDq23=~nX#l6TL~ECAdC^|hla?~|4{!ee%KOFIX{XDrbUrpv8=ID!BNG1OsO zVC=_`CIAbZ!&A!O!Hgl&T=JDjY@jAAo06+0+yDBcp7#?(LZa6+0s?TL=zr{XjJUM46c`lr zPEwNf6Km7xD7LCA8yUtm8+Wc9*57KV_}7q(c9YEo^H*d z0`%>h6BOiMA-MRx+cfytK468>_uJH_hGc{BUMI5h9&F zdy0VgdZ)7CDNxMaJ_{pk_04(IqdzMv(20*6IJj}y=jcLthHXJ z4h;*FuhcJp4m<7ceLJD~O|Veso&J8^0l*mLZ|4MgUOoc&#T!v5UnBYD{YF;d_oyfq zScf0C!@X60;f}k|3sM2s!1nohXT0X;^~mucnZ$&A{n(L(MY}=7{fAB9?wT^1Hd7bF zT{znJO_N$-`r+Dy?#8up_u$|&`<+p-OvxBM3q!xMQ+82tsilpB2rzkTHFf)QH6L55 zil^s4FHyaEWiUQ#h51arF6G7Mhf<`5o38~rB+IXh;iP3Hn_E64+T1R#x%Mq&Iw(os zxFbsUoo+NUJ$A#;Gc%)Y_`!lIj6wQZnhWGb7{*PSOJxBw7uUd9Lz-N&-cH3{mEBeF zum#quQ1ME}pXDWe6q0gs9S*4Oo`nZ8Kl2uH^$~g#ShTIq5v5j@7V%B_jpRP~oV+@L z5o9&P$zeKjVTWms`3ISrGFblnx_P6txG-+jG-e*0QoXai?EMbaLkOfrd?KO^CtW%z zsWOv!V#a>is`~@OS^vt+N_Ve! z=AH4cjHy!d7WEZh31N}4SxeD;)Nl~vVYvj3FfmE<{TQ$&MzRMMZMBY=eRD%laha|$ zpPrvz>B#orGB8{1f5s;y?9K*-%yI-ncZWmHVu5yJxK9Aajx$@)L6h*Ui-@3rXT9j7 zLxn?IX~LRk4tJ!u&II85$K#@Rj@Y+aKAO}O7JOe{C+%@?urw!4u_p%`phFAZZ?Eme(Y8JMU`#pIwcWA^Kd{s=b*6CgA2%&V3#5L?eVUY&sM^t zH>m|J69Xv$?%f&V9n_uOtCP*y9D~R>C3RK83i|@BGOXcEN9o%?f}x>k zV+&poG#sz)SICf0&r$K2h=`~SYHx3z>XI<%!4r0McyC&>9OS&Bq7;i46T{jF8;Lb1ZuFYDh{})cZrslHe>8=j+J!OjF)*ksnMVyf z=}Nt?MtwXAE8VD>6{|cr1r}icEkC}$wcQDvH*Vy9-a^P_E*PWi%OPrg;8kv>o()U)|fdsR4%h=^p}p<&IXj zl&Wf~uuZGg3TbuDhkw}^B&X6MnuZ!Nk^p4Zmi%)DC(DgnFSUg%rzO~FgZqok@D=Hz zHtZR2Bl*JRxD^{~^>aG8TM@f@8s}WaOv$2RRae3~i<@u?1~yL4r!E&{^6}%7wF;53 zG=H$)IF|eICIp)3Z@FR&mRi0fuD;D3J|#(%TZ}uX#NDZI6>wn|ARWq4pZG8=LG}D} za|qqz_GY||_DX~3@U$a5MX0f%UZGIujrxZMf?ZHrf>^xRJ!U>x zYvobU;Vl+H42OVl|C2E-U^QGKs5taUvlRAbf_aj*ri^wV@ zH-4zNxR`s}R$Bi$qa)(zWY`cS@uG?f|FAHQ;gOM}?KQgcLIv%*RlG^H-=3f{#pkqR zPC>!@R$H5R{ll)eZ%oB_hw%uGor3|rQt}VXJ3h9_!ILovFfG*KWXNiGczJgg^}}$E zppxF)G!f0MRG;0|33XF&X&0^7eR#<45ucBj?rCIEZ^J)tsyw_04aJC=)twWL_9xkM% zMZCPc{EP?>gOXB2U0uCtyd5c1YQsJ7{)BPH)_KTqEV%-6q4 zt*++LC^IP-vCxBZCZicNaRIgDXDhG~_nr#>;`*3Stmv?}uWu+Gl&q zR{yj_KzQ#QhB+E4Q185a85CtEC$#nwklY>?GX?DVMcpx_?+$d{pt^a;=tB|*EZ*;o zjg0)Cth9e@2Av3d7>Ht@7t*R7j8nMX>vZZQ{fxbGL_34@06d7cT$x(BHJ$!tQxKtR zvon|bs*cEM%b5*g_Eh#}_I}4@wrcGvUs-TXQ2xvP&KaLY`V18>7z?14;F`zDJT9`x znkrvFiZ)n3HRY`qs&Tf*=#4+Oj}(woAHf%*wK)#f1BrAn!73>=_Qwx`b&m^+;{7M% zg}N9g8*aIH9e49tm9K=gW@#5&$@fP4H&!)-_xQ;iotg@~uPc=tY?K=5hcOP4@lB`F zA2r-AdoZ)EzPeruco?cbIcS0FF3s+v#EA3RrdK4T|JGQt?o)|X5mI)VC*3^T&ZwtR z($uY6Y{o-bGUn}t-xzhPgE@BG=}up=I?<^0<6?D0_&8ABxp7$`75VBx5{cixe=mY9 zk`wbg{_ZTqXW?QK0n<8^?Z8y;(tX4D&q+Dl4;_@0hXQ)`3ck_3$|#J`WG0J4qr&7V zsB;-C(u`OB*45n-g09vG3mUZrpE2+>H^-y%);VT9)m+nyt}l%9t_z2 zqN1X~Gip411ogMfo}vjIJ$ixv1t{=8@j|_uxCw;}3K~kwPdo|WY7Wk$%Ef3GxH@veBxi+z}H{KjMbC(%iRLerRmWChzVXnK~K7;rYYEIu|czKX>qCbvdD@o6ki~eOh^ab z(9m!Rcmm{EY#@e5<4H~)VSPGj6HTLpWNXwX8ut7a*-y^v3G@t;Aczc?@vW*VZo}n* zvB_9T=55^SQfq*E$*$V&R3+KhuU|Lk84d(Lo!+B5A41Szg^ao5cwX8{J`G_qB01C~ z2-6Y*k-O&Wekf?1(C(5e7ibZTG+d)VMFta=pc36OW0Sz3s=x33hO*YP<0ute@OKxk z{r!r~_Myt`F}j%IN7f`Qx>Um(XOqDy|6wIo7?E(**CkF3hvT<21|mt^c8{992IMR9 z2+YRwLoMABn@4*Q2i{Uz?=~4G@+y=44=n)V9I9WnAI%@)?{BdQ;oYSDn}dBsF>kbjcgP3-{GLd8teWBgV;G}wXQxpJ6Et|yemx|o{UQR9`B!q3c(meai02Kx6 zbMbKEcS3s4q@`u#^UYLFw}(g!duU;^3l2OHHZ$Y-`W6QH$2Ly*&%Lo;$u0dJV1WQ3 z+DHiq@Amd~d^WRREnhMfX~I+Z{rDXAL7_tM^y#_DR5}l#lhf81dGvG4rY4uPOXpeE zy2l}J4KeU0Rf<}M>hX$fPoA8TjN+yYkir|Ra4mFaEHZ!Aa(Z@QCD?K%<*>A>K`JKZ zU-j%1P5eUpZ>FvLreGd|k*v-W5lRv6>Phm;TP5Ndk0%d*oZe$o7~k#-sPW}@49{7K zUHV{x$S?RibT~7t*l($ZJFS#M`2K=sI(>3UPU-$gIyx;%}<~>@b ze02+glt^WP_Uehhzd*A>ios(rOjGKMt5bmbpeeGADwCsu&dyHHdbdaM2?@)iTWs7; z+wA^mq`qDV0*cc*jhdB379Fzhsh&rd7YT`eqH=Y!TJ9dpy z0V3_#CMYbZt$b$!XWwJ*+CDx$o)+=YT?kt5zaa&Ey4N6N#>T2vIc~A`!|pHua`rB4 zxO{j^ZFl+Wk_QO*L{XjuQL4)-pU~D}yqJ5nP9hYMFT@BVu0}ZZ7Ai`utr-LKS8C|y zE{+!}4`=#6{GKTygcjRQ)Z#g9coVOgWs%OInMFu;~Ox`chtPJADL&K#Zg&Im$f$_ zAY)>mLb|SJ9RBDeq1R{IIk(I^zP^aPiH#6w^2c*IJSF7(jR85HUa}bVC5HgCm2Nr5 zdz>xlet$m+*bXhNBo^awX+Zr!oeiRf)2BZs4{xZ;J`ZVawc5k`cn?-OFqN54;Hs*s z9_tRaNyWaUh+LfEDP0;Xf`eY1c474o+!{22f32{JU*5Rrd9R(+$Kl2k@Wu3jq-edCSrjL<|QW<@fIW`oLDR@ zET03sThCv=s9bsV`D^U<5rahGbCiRx1nK`~_NeJuSw$#N`tNM=sVIN$fDrci+r>$; z)~*g#WJhf47mj@5j_BFpGX!_Sp3V{VIHcs~F)(jr7Z(+=cVwvqJfjR7IJ@ULLV#Sd zzg(I)ieF9mblCYtDx3$H#uYQS28c|t#N!V-XlR7oLZpHa=w7r%4^SgO{SD>&m2Q)Tg}3bZQdRa-TeG~7MF3fXj&B%WDHVoW!kY@F8Rl8HOQMw zTge+1m`e(vvQtWMKguJ6QVlNJB`agfS;Yq;H1v0z$!5=70*x#LhrlIH0$N@=7+@J28;B{s#BMdMyj3w>&VST5p|sZVWMO@*C~debY30Ye zJE6nx(n=9MW9AbO^plrXx7*0jG$@uqW3hLt6r}rbom~q&O(=KbOUFeI^{UfN#^Ofx z{-gEXuo#D;zBBiN{d34O@X#c4hB#?2I&1Cr9U)6`_OJy{Ny)scqRHZ%Jk$gT3i~J`aB_wSIy~J{ zf||;<*z`;dGmDaXLw7sGXjNQ415(lEvQt6p=0exk&ySLvTzKhxR^V5;gu$AiI{>Q? z#K*UmVzV`z`GD%Q8XJT6_p4n83MYQP+<*1gY}>}^`jh}_YMvLEn3>Zml_P8j417I_ zWEP}Dh7jHL>AkG9S5OX%WDIMsJ*iUZuFv>Zp}{F9-45%!dH+qdV#w1uj9*Xhx9i{3 zk1DUCD=QTe?gao;es^NjH(2+9ZFj~40(h|f&zSj8XAde^n(rlLks#$xeHZn3o9{C={ zRoLnW>-x6w^KaCocmPWQ4*|^7y3_6?07XLkjfFL-6L8TWW9P1V1_%#4qm=P14?BJ} zAl}e9e^Od9-k&|pR~;*E@}B#i%l6sldFSg}0SO6-=6jz2J%EGm$j@(G-xA;ED?s?XUz>WD4;)y_A zAu2BZ@GiD~J=yXXrHF)S{bFGOm|cJcpMc=Wi<_+?fx#QpwE6@?GTY-?(o{Q5)mUkF z_;fRLwfwxs1_yhniKH<=<3oc0Gbd+za{W!w)c}Lz)v;m0$wTg<&2-#)+i&jz`m+5K z&fYq@-NT(ySB^^k<%U-=wm%m@&pFyMN-|UZxQ7*_j3S|)U+KA;*__Z~yGQpcq|%ZS z>$NkMw;+T>TTVQx$IzP)nCke#na}GRhZ$@f?s~4>w3payGE_iHt71RgeO-InuLHZ* zy`Uj64vlO#m{)6Dva!Cu&^nC-$(h%oTY&E#faPk^QvsKK{`8CteFFmoadB}-XhU`i zxdwJ?PN!2R&!0sZBgx`0@8F34oFc`@^oLv0AT0JHv(-WaCCuXoy+7-& zn{Tn_>#IKiUMYCva>9=wJw29bYYa7=lki~@S}d=+t_TOZ>o({>E=_sGoWN`SKPW$ifnFi2YCF}O^NyFFk z8%F^ow1dFob56&jTby$X!GOtlL|6VlQRCyfTA-`r3woZduyKY^Vh$t*%?i)@`Zug> ztkxUzZ!WLrebds&v!s)$1m`DG-QDbVrXPvBh3j|Y>81m2__dXB03H*C_423$)ytQ3 ze{-ZZWFL5ZPK$d4(5A4q|Jn|iA)B-5#1Qk9?t)ucbzO`I^UfOV9It61MxZ|FZ1R8Y;}kSqn4-N zI|5e$!;%6nCD{Xn$B;gw+m23L{iSIm{D82@10+)n&oS-+a6E9iTB z;RF{c;r~Zi& zLn%iWjuwzm4)46LKre?42&Ho)!^V&w*rLQABgNLu5f4JU0&Up>pq=x;b(o zq5FkdZa%)&nOsbGcmx|Drhx_}AttT5z|GCqWoA<-0Lu}k=!(|3hF+eKYj-+8w#t9h zF~y&fcAb1(QOtxO3(d-A-NedNjq*Q!3%oeM*6@rDSL^G`F4wyjY&&<%tz(wufdIR- zCOCF3CIrCXo}qHGz71LLLoHVj6>S5b_ZEKp_H0+s4&un25Q^*9h9DqV4gfOYunLQ5 z3d%PKwdea{p~}H2cnto4GlLed8)3_V1DO0y*Vu*(^q_sH4Tu!1weA=M=(a-t%`(=q z&1pOaq}N|(HB=;w0Hi7Cpj3#iplmz|@b!HVu0BRX@fD>I9-~zO!~~w>_-XHni|eyn z=mvvWNKgL71Mgh-!S-R)OsTm334_zyD_dd#XGGBV69eFaR;?h^QoAPoYyNa~KN+9| z4DNa|Bq9uOXa>~L@npI%rA5eRK3-n_w>5e@F}5$lo*Sx z-<~}jI2_Ei0iEvJNmgbi9E5v!i=|qqji58~+C^ZacowM=9}Y;cUZs{UGnih6?` zf%DmJX4x$0@ape7EVPV|`A5l)o}ZtCw0b0G%sFYrs>bc-Ve@Ek2t&eM?J={9G%-!!Y~xE{8YkGWe_}%AeFd5;bCti_hn7g~X);IkYyMm5Twrom!N~4t+Krtt0_>bN^Zh5uRv20`V z`axKlDI;C9URkbwGNX~FUO}v_3kxkTwxr1Kl8o&-K4GF-EbeXV(jG5Yig4}oxVpvp z5fW9qTRU~KHuClJ)Jt2NFLBk})jg`WC6c(VOrp3Xj4_$7K6NrCRlk1tTNnY0DlUvx zI5vhp%8=Ty>#Nla-NWZ+2RFs^Y&230c}E7+-C9YrhF+CE$K`LF`aD*SJy`KxIeciG zzcU;l6^N5-bUA6rQ|+rM;Y~jK#DZCTyrs!y73YCbTd^PcaIcc@h9z+W8J`Tq!lNE+ z8K>9H{-W6;qT9LcI36|j=Y!hUtAkt=KoF{ud}5T{XKmc6Tph`1$uML{sQ9j8mrKD{ zbo1@j#t{dXfr!Vh?BRJU%%%wa?Cb8-VdbWY^b7*p4L`}wi2iw`pXWSLg&nUsS!Kr? zWW+!8ZI>IW-B(kmkh)%^<*A%-mL!as_q31(m>bUBc6dzRsx9t7KA87%yR#=i=cvBs!WSrU1IRIK>kk6lZkmCT1A3^dK8zSc5U14@0s#Sm zQ-Lka3*lS)`=hfsrJ<_GO4k~|xZ}DCl0nwDe{HT#5s)z+mcl)k6N>ZK19FcVa|4U8 zmx6a_Qc_ZR>h;fu6io|uh)$1$K;7F_X*<|~00&(lASerR7m^(D1Oxg|nwSf2UMFmI z1ZV(!gH}o}KFTHY=ET@znJT3v!!zBT#c5@${ZXbFSW&au87!zDW>-^F1DII^88BPq zvs!bjl?+;k2Ktt>?ap&uKa(RZ2NI_4oa`E#A(YDrBg_%k&jZ6=Z?)R9On4RN!`-^#P zs3}$7N8hTj3Z2KLhDodJ95g(#%Nn=&$2rmIU*)Aue*dEZ8ud!HB_t4Uvetvl{o0A8-HjJcARzp8($=W2 z1z*KdRwG%%&o_9K0TJ?5d)sH`PDso&JTwzqn3$N5GVHjvwwj#z^<%K@1?V{Qy7!{q zQ~lP;c@F4QK!>)Bw~Lu31Jxz;38)m2z_RlN`Kv$l!*Ne!;5@SPiP7U7j|EQ=cHO0V<#ax4osm4de=O85jTA31X zhCoqtAT|}}xcYVYwFYh5Eg7!f#J={iXKfSY> zs;$z~rB(D=)(YP7rk{jf=a`LAtL`^5ASn@SY;2$sUBBr^(7Oqp2D8!a5gci z%*&74agW{c^B&wdYM%d5GPfmse==W)T()#e5xK~cLLb5p0)j&x8)9G-i{s)8zbJ@w ztVH+a;fh=ca3yg^jzh(2y ztb&jukjPE|Xk#Im7n%O*A*OYaL(|E|08rtozBl;D?7aFqKQHlp;wiN!sCtU5CP*Ll z{f+0tWCZ4hhA=^|IRfrZP%*v{7H|iAn@6k0^+_C~Zp$`KuJV1$Du+ia5_+*y>w$XF zq4?*SV(o^0u(Jk&1a4eWEaw^+7R-B!_2-;H%-5T{UU-lLzqt9HV71Zv?wx}}`N9F$ zNP|~yF6y|2dW4mcEb=$EpR;Ny9zhC};$0VkUx51KDI+5zc#ki^4iMBAH)rD@mIcCO zk{|X3l@Qn zP(KM8h6IKRfqFtA&DD>;l7orh#}B}?iy9drbSI=Ra9in%gc-`tyh63>8`wf%psQ~loy75@Ke zXaC!#|3 Date: Thu, 28 May 2026 00:18:30 +0300 Subject: [PATCH 06/30] PMD OneDeclarationPerLine + LanguageTool tweens fix Split combined int declarations in Tabs.java and reword "tweens its" in the Tabs animated-indicator chapter to "animates its" so it no longer trips MORFOLOGIK_RULE_EN_US. Co-Authored-By: Claude Opus 4.7 (1M context) --- CodenameOne/src/com/codename1/ui/Tabs.java | 9 ++++++--- .../The-Components-Of-Codename-One.asciidoc | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CodenameOne/src/com/codename1/ui/Tabs.java b/CodenameOne/src/com/codename1/ui/Tabs.java index bd46791c78..db88706f69 100644 --- a/CodenameOne/src/com/codename1/ui/Tabs.java +++ b/CodenameOne/src/com/codename1/ui/Tabs.java @@ -148,9 +148,11 @@ public class Tabs extends Container { private int animatedIndicatorThicknessMm = 1; // 1mm-tall underline private Motion indicatorAnimMotion; // Tab bounds at the start of the indicator animation. - private int indicatorFromX, indicatorFromW; + private int indicatorFromX; + private int indicatorFromW; // Tab bounds at the end of the indicator animation. - private int indicatorToX, indicatorToW; + private int indicatorToX; + private int indicatorToW; /// Creates an empty `TabbedPane` with a default /// tab placement of `Component.TOP`. @@ -1410,7 +1412,8 @@ void paintAnimatedIndicator(Graphics g) { if (!animatedIndicator || tabsContainer.getComponentCount() == 0) { return; } - int x, w; + int x; + int w; if (indicatorAnimMotion != null) { int v = indicatorAnimMotion.getValue(); // 0..100 x = indicatorFromX + ((indicatorToX - indicatorFromX) * v / 100); diff --git a/docs/developer-guide/The-Components-Of-Codename-One.asciidoc b/docs/developer-guide/The-Components-Of-Codename-One.asciidoc index 96b92f2c4c..5513a389c4 100644 --- a/docs/developer-guide/The-Components-Of-Codename-One.asciidoc +++ b/docs/developer-guide/The-Components-Of-Codename-One.asciidoc @@ -2506,12 +2506,12 @@ Tabs tabs = new Tabs(); tabs.setAnimatedIndicator(true); ---- -The indicator tweens its `x` / `width` from the previously selected +The indicator animates its `x` / `width` from the previously selected tab's bounds to the new selection's bounds using a `Motion.createEaseInOutMotion` over the configured duration (200ms default, matching Material 3's -spec). Rapid double-taps start the tween from the *current +spec). Rapid double-taps start the animation from the *current interpolated position* rather than from a stale baseline, so the -animation chains cleanly. +indicator chains cleanly. [[mediamanager-section]] === MediaManager & MediaPlayer From 374abde250fcfec271c064fa175e0809c5cba42c Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 00:46:11 +0300 Subject: [PATCH 07/30] PMD ControlStatementBraces fix in JSONWriter.unwrap Brace the two type-test branches that returned without curly braces. Co-Authored-By: Claude Opus 4.7 (1M context) --- CodenameOne/src/com/codename1/io/JSONWriter.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CodenameOne/src/com/codename1/io/JSONWriter.java b/CodenameOne/src/com/codename1/io/JSONWriter.java index 821fdde458..074039afb0 100644 --- a/CodenameOne/src/com/codename1/io/JSONWriter.java +++ b/CodenameOne/src/com/codename1/io/JSONWriter.java @@ -131,8 +131,12 @@ public ArrayBuilder add(Object value) { /// Lets builders embed each other transparently: `object().put("xs", /// array().add(1).add(2))` stores the *list*, not the builder wrapper. private static Object unwrap(Object value) { - if (value instanceof ObjectBuilder) return ((ObjectBuilder) value).map; - if (value instanceof ArrayBuilder) return ((ArrayBuilder) value).list; + if (value instanceof ObjectBuilder) { + return ((ObjectBuilder) value).map; + } + if (value instanceof ArrayBuilder) { + return ((ArrayBuilder) value).list; + } return value; } From 985a7008b4c0da0f5608ab7cede58eecbd9d7384 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 01:14:56 +0300 Subject: [PATCH 08/30] PMD ControlStatementBraces: brace inline bodies in JSONWriter Wrap the single-statement bodies of two if checks and one for loop that PMD flagged in writeJson and writeString. Co-Authored-By: Claude Opus 4.7 (1M context) --- CodenameOne/src/com/codename1/io/JSONWriter.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/CodenameOne/src/com/codename1/io/JSONWriter.java b/CodenameOne/src/com/codename1/io/JSONWriter.java index 074039afb0..bfc3e5516d 100644 --- a/CodenameOne/src/com/codename1/io/JSONWriter.java +++ b/CodenameOne/src/com/codename1/io/JSONWriter.java @@ -154,7 +154,9 @@ private static void writeJson(Object o, StringBuilder sb) { sb.append('{'); boolean first = true; for (Map.Entry e : m.entrySet()) { - if (!first) sb.append(','); + if (!first) { + sb.append(','); + } first = false; writeString(String.valueOf(e.getKey()), sb); sb.append(':'); @@ -167,7 +169,9 @@ private static void writeJson(Object o, StringBuilder sb) { sb.append('['); boolean first = true; for (Object e : (List) o) { - if (!first) sb.append(','); + if (!first) { + sb.append(','); + } first = false; writeJson(e, sb); } @@ -202,7 +206,9 @@ private static void writeString(String s, StringBuilder sb) { if (c < 0x20) { sb.append("\\u"); String hex = Integer.toHexString(c); - for (int p = hex.length(); p < 4; p++) sb.append('0'); + for (int p = hex.length(); p < 4; p++) { + sb.append('0'); + } sb.append(hex); } else { sb.append(c); From c2b2582b5b708a304b43c9cc19c8eb9f82a0472e Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 01:43:46 +0300 Subject: [PATCH 09/30] PMD ControlStatementBraces: brace MorphTransition.paintMorph skip check Wrap the early-continue body where MorphTransition skips zero-area morph entries; satisfies PMD ControlStatementBraces. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/com/codename1/ui/animations/MorphTransition.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java b/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java index 907b8f0f38..0bd45ba25d 100644 --- a/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java +++ b/CodenameOne/src/com/codename1/ui/animations/MorphTransition.java @@ -366,7 +366,9 @@ private void paintSnapshots(Graphics g, int alpha) { int y = c.yMotion.getValue(); int w = c.wMotion.getValue(); int h = c.hMotion.getValue(); - if (w <= 0 || h <= 0) continue; + if (w <= 0 || h <= 0) { + continue; + } // Source fades out g.setAlpha(255 - alpha); drawImageScaled(g, c.sourceImage, x, y, w, h); From 6c23af3b3a38b4c74d60505716474d91ae175406 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 02:12:04 +0300 Subject: [PATCH 10/30] PMD ControlStatementBraces: brace inline returns in DefaultLookAndFeel Wrap the inline `if (f > 0) return f;` bodies in modernIndicatorDiameterMm and modernIndicatorStrokeMm so they pass PMD ControlStatementBraces. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/com/codename1/ui/plaf/DefaultLookAndFeel.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java index a79019fea7..0c25b5a9c3 100644 --- a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java +++ b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java @@ -2409,7 +2409,9 @@ private float modernIndicatorDiameterMm() { String s = getUIManager().getThemeConstant("pullToRefreshIndicatorDiameterMm", null); if (s != null) { float f = Util.toFloatValue(s); - if (f > 0) return f; + if (f > 0) { + return f; + } } return 8f; } @@ -2418,7 +2420,9 @@ private float modernIndicatorStrokeMm() { String s = getUIManager().getThemeConstant("pullToRefreshIndicatorStrokeMm", null); if (s != null) { float f = Util.toFloatValue(s); - if (f > 0) return f; + if (f > 0) { + return f; + } } return 0.6f; } From 377e3dab7fdd2c7e930a38a4584821c757d95ac9 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 02:40:25 +0300 Subject: [PATCH 11/30] PMD UnusedFormalParameter: drop unused host arg from modernSpinnerRepaintAnimation The Form host parameter was never read inside the Animation closure -- the repaint runs against `cmp` directly. Drop the parameter and the call site arg. Co-Authored-By: Claude Opus 4.7 (1M context) --- CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java index 0c25b5a9c3..1e86bdbd8e 100644 --- a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java +++ b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java @@ -2374,7 +2374,7 @@ public void drawModernPullToRefresh(Graphics g, Component cmp, boolean taskExecu // after one paint pass. Form f = cmp.getComponentForm(); if (f != null) { - f.registerAnimated(modernSpinnerRepaintAnimation(cmp, f)); + f.registerAnimated(modernSpinnerRepaintAnimation(cmp)); } } else { modernSpinStartTime = 0L; @@ -2451,7 +2451,7 @@ private int modernIndicatorColor() { /// registered once and stops itself when `taskExecuted` flips back to /// false (the pull-to-refresh container repaints from elsewhere when /// the task finishes). - private Animation modernSpinnerRepaintAnimation(final Component cmp, final Form host) { + private Animation modernSpinnerRepaintAnimation(final Component cmp) { return new Animation() { @Override public boolean animate() { From 42de94fb2fa26c5166db761d2538ac1998d667f8 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 03:08:24 +0300 Subject: [PATCH 12/30] Checkstyle LeftCurly: expand JSONWriter one-line method bodies Break the inline `{ return ... }` bodies in ObjectBuilder/ArrayBuilder across multiple lines so they satisfy the LeftCurlyCheck rule. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/com/codename1/io/JSONWriter.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/CodenameOne/src/com/codename1/io/JSONWriter.java b/CodenameOne/src/com/codename1/io/JSONWriter.java index bfc3e5516d..d01de29f3e 100644 --- a/CodenameOne/src/com/codename1/io/JSONWriter.java +++ b/CodenameOne/src/com/codename1/io/JSONWriter.java @@ -99,12 +99,18 @@ public ObjectBuilder put(String key, Object value) { return this; } - public Map toMap() { return map; } + public Map toMap() { + return map; + } - public String toJson() { return JSONWriter.toJson(map); } + public String toJson() { + return JSONWriter.toJson(map); + } @Override - public String toString() { return toJson(); } + public String toString() { + return toJson(); + } } /// Fluent builder for `[ ..., ..., ... ]`. @@ -118,12 +124,18 @@ public ArrayBuilder add(Object value) { return this; } - public List toList() { return list; } + public List toList() { + return list; + } - public String toJson() { return JSONWriter.toJson(list); } + public String toJson() { + return JSONWriter.toJson(list); + } @Override - public String toString() { return toJson(); } + public String toString() { + return toJson(); + } } // ---- internal encoding ---- From c37c76c1408224f22240c50376956150af542485 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 04:00:06 +0300 Subject: [PATCH 13/30] Add MorphTransition iOS goldens (regular + metal) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Baselines captured from the green Test iOS UI build scripts run on this branch (artifacts ios-ui-tests / ios-ui-tests-metal). The screenshots show the expected source → destination interpolation across six animation frames. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../MorphTransitionScrolledSourceTest.png | Bin 0 -> 177057 bytes .../MorphTransitionSnapshotTest.png | Bin 0 -> 170890 bytes .../screenshots-metal/MorphTransitionTest.png | Bin 0 -> 174829 bytes .../MorphTransitionScrolledSourceTest.png | Bin 0 -> 189767 bytes .../MorphTransitionSnapshotTest.png | Bin 0 -> 177443 bytes .../ios/screenshots/MorphTransitionTest.png | Bin 0 -> 183319 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 scripts/ios/screenshots-metal/MorphTransitionScrolledSourceTest.png create mode 100644 scripts/ios/screenshots-metal/MorphTransitionSnapshotTest.png create mode 100644 scripts/ios/screenshots-metal/MorphTransitionTest.png create mode 100644 scripts/ios/screenshots/MorphTransitionScrolledSourceTest.png create mode 100644 scripts/ios/screenshots/MorphTransitionSnapshotTest.png create mode 100644 scripts/ios/screenshots/MorphTransitionTest.png diff --git a/scripts/ios/screenshots-metal/MorphTransitionScrolledSourceTest.png b/scripts/ios/screenshots-metal/MorphTransitionScrolledSourceTest.png new file mode 100644 index 0000000000000000000000000000000000000000..d311c56d2a403d83bc26cdcd808cbf2dfe6b5fe4 GIT binary patch literal 177057 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�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 literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots-metal/MorphTransitionSnapshotTest.png b/scripts/ios/screenshots-metal/MorphTransitionSnapshotTest.png new file mode 100644 index 0000000000000000000000000000000000000000..ee5068c443e6dcafa1a7eabe70e9999cc6613c1c GIT binary patch literal 170890 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 literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots-metal/MorphTransitionTest.png b/scripts/ios/screenshots-metal/MorphTransitionTest.png new file mode 100644 index 0000000000000000000000000000000000000000..df9fb06fa3fc2e1963bc40fa1a83465a1e99dd5c GIT binary patch literal 174829 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 literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots/MorphTransitionScrolledSourceTest.png b/scripts/ios/screenshots/MorphTransitionScrolledSourceTest.png new file mode 100644 index 0000000000000000000000000000000000000000..bdad68403a56b1290fbcbfc4376665519f27c723 GIT binary patch literal 189767 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 B6 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

)e@BaBtK`gps2!P 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 LJGSO*@jCk_mK;e% literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots/MorphTransitionTest.png b/scripts/ios/screenshots/MorphTransitionTest.png new file mode 100644 index 0000000000000000000000000000000000000000..3d7b5490bd52f31ab45d8f7e84b84d5166b2780d GIT binary patch literal 183319 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 K-^)&V-1 Date: Thu, 28 May 2026 04:57:41 +0300 Subject: [PATCH 14/30] Reuse build-port cache key in input-validation (avoid hash divergence) The Input validation gesture suite was failing on cache-miss every run because its src_hash differs from build-port's even on the same SHA. Mirror the workaround already in scripts-ios.yml by reusing needs.build-port.outputs.cn1_built_cache_key instead of recomputing the hash here. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/input-validation.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/input-validation.yml b/.github/workflows/input-validation.yml index c929ac50df..f3e0ab9a12 100644 --- a/.github/workflows/input-validation.yml +++ b/.github/workflows/input-validation.yml @@ -127,6 +127,12 @@ jobs: restore-keys: | cn1-binaries-${{ runner.os }}- + # Use the exact key build-port saved against (published as a job + # output). Recomputing the src_hash on this runner has been + # observed to produce a different value than build-port on the + # same SHA -- and even when the algorithm is identical, any new + # source path added to the hash here has to land in three + # places at once or the keys diverge. - name: Restore built CN1 + iOS port artifacts uses: actions/cache/restore@v4 with: @@ -134,7 +140,7 @@ jobs: ~/.m2/repository/com/codenameone Themes Ports/iOSPort/nativeSources - key: cn1-built-${{ runner.os }}-${{ steps.src_hash.outputs.hash }} + key: ${{ needs.build-port.outputs.cn1_built_cache_key }} fail-on-cache-miss: true - name: Install XcodeGen From f7cc3e7fb0759d5874ef7e014b54910dd2d71375 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 07:33:23 +0300 Subject: [PATCH 15/30] Revert WebSocket-in-core: no port has a native impl yet The com.codename1.io.websocket package landed without iOS, Android, JavaSE, or JavaScript port implementations -- isSupported() returned false everywhere, leaving callers stranded. Drop the public API (WebSocket, WebSocketImpl, WebSocketState), the framework factory hooks (CodenameOneImplementation.createWebSocketImpl, Util's delegate), and the developer-guide + initializr skill sections that documented the half-wired contract. The existing cn1-websockets cn1lib remains the supported transport until a fully-ported in-core replacement is ready. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../impl/CodenameOneImplementation.java | 30 --- CodenameOne/src/com/codename1/io/Util.java | 15 -- .../com/codename1/io/websocket/WebSocket.java | 210 ------------------ .../codename1/io/websocket/WebSocketImpl.java | 63 ------ .../io/websocket/WebSocketState.java | 36 --- .../codename1/io/websocket/package-info.java | 30 --- docs/developer-guide/io.asciidoc | 59 ----- .../skill/references/java-api-subset.md | 19 -- 8 files changed, 462 deletions(-) delete mode 100644 CodenameOne/src/com/codename1/io/websocket/WebSocket.java delete mode 100644 CodenameOne/src/com/codename1/io/websocket/WebSocketImpl.java delete mode 100644 CodenameOne/src/com/codename1/io/websocket/WebSocketState.java delete mode 100644 CodenameOne/src/com/codename1/io/websocket/package-info.java diff --git a/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java b/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java index 27a8134788..ff48623f7d 100644 --- a/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java +++ b/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java @@ -4826,36 +4826,6 @@ public void run() { } } - /// Builds the per-platform WebSocket implementation that backs the public - /// [com.codename1.io.websocket.WebSocket] class. Each port overrides this - /// to return a subclass of - /// [com.codename1.io.websocket.WebSocketImpl] wrapping the platform-native - /// WebSocket API (URLSessionWebSocketTask on iOS, OkHttp on Android, - /// `window.WebSocket` on JavaScript, `java.net.http.WebSocket` on - /// JavaSE 11+). - /// - /// The default implementation here returns `null` -- meaning the platform - /// does not ship a WebSocket implementation. Application code branches - /// on [com.codename1.io.websocket.WebSocket#isSupported()] before - /// constructing a `WebSocket`. - /// - /// #### Parameters - /// - /// - `parent`: the public [com.codename1.io.websocket.WebSocket] - /// instance that the new impl is bound to. The platform implementation - /// typically holds a reference so it can dispatch inbound events to - /// `parent` via the public callbacks (`onOpenReceived`, - /// `onMessageReceived`, `onCloseReceived`, `onErrorReceived`). - /// - /// #### Returns - /// - /// a per-instance `WebSocketImpl`, or `null` if the platform does not - /// support WebSockets - public com.codename1.io.websocket.WebSocketImpl createWebSocketImpl( - com.codename1.io.websocket.WebSocket parent) { - return null; - } - /// Creates a soft/weak reference to an object that allows it to be collected /// yet caches it. This method is in the porting layer since CLDC only includes /// weak references while some platforms include nothing at all and some include diff --git a/CodenameOne/src/com/codename1/io/Util.java b/CodenameOne/src/com/codename1/io/Util.java index 1e5522f7c9..57ef8eb8ed 100644 --- a/CodenameOne/src/com/codename1/io/Util.java +++ b/CodenameOne/src/com/codename1/io/Util.java @@ -1818,21 +1818,6 @@ public static void secureRandomBytes(byte[] out) { cryptoImpl().secureRandomBytes(out); } - /// Builds the per-platform WebSocket implementation for `parent` by - /// delegating to - /// [com.codename1.impl.CodenameOneImplementation#createWebSocketImpl]. - /// Returns `null` when the platform does not ship a WebSocket - /// implementation. Used by - /// [com.codename1.io.websocket.WebSocket] (which lives in a sibling - /// package and cannot reach the package-private impl accessor). - public static com.codename1.io.websocket.WebSocketImpl createWebSocketImpl( - com.codename1.io.websocket.WebSocket parent) { - if (implInstance == null) { - return null; - } - return implInstance.createWebSocketImpl(parent); - } - /// AES encryption. See /// [com.codename1.impl.CodenameOneImplementation#aesEncrypt] for the /// parameter contract. Used by [com.codename1.security.Cipher]. diff --git a/CodenameOne/src/com/codename1/io/websocket/WebSocket.java b/CodenameOne/src/com/codename1/io/websocket/WebSocket.java deleted file mode 100644 index 1a85c0245a..0000000000 --- a/CodenameOne/src/com/codename1/io/websocket/WebSocket.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Codename One designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details. - * - * Originally written by Steve Hannah for the cn1-websockets cn1lib, MIT - * licensed. Moved into Codename One core with a contributor-grant retained. - */ -package com.codename1.io.websocket; - -import com.codename1.io.Util; -import com.codename1.ui.Display; - -import java.io.IOException; - -/// Client-side WebSocket connection following RFC 6455. Subclass and -/// override the four `onXxx` callbacks, then call `#connect()` to open -/// the handshake. -/// -/// ```java -/// WebSocket socket = new WebSocket("wss://example.com/socket") { -/// @Override protected void onOpen() { send("hello"); } -/// @Override protected void onMessage(String message) { Log.p("recv: " + message); } -/// @Override protected void onMessage(byte[] message) { Log.p("recv " + message.length + " bytes"); } -/// @Override protected void onClose(int statusCode, String reason) { Log.p("closed: " + reason); } -/// @Override protected void onError(Exception ex) { Log.e(ex); } -/// }; -/// socket.connect(); -/// ``` -/// -/// All five `onXxx` callbacks fire on the Codename One EDT, so they may -/// touch UI directly. `send(...)` may be called from any thread. -/// -/// Check `#isSupported()` before constructing -- the underlying -/// transport is provided by the per-platform port through -/// [com.codename1.impl.CodenameOneImplementation#createWebSocketImpl]. -/// Platforms that don't ship a WebSocket implementation return `false` -/// from `isSupported()` and `new WebSocket(...)` produces a non-functional -/// instance. -public abstract class WebSocket { - private final WebSocketImpl impl; - private final String url; - private Thread socketThread; - private boolean connecting; - - /// Failure surfaced by the underlying transport. Carries the - /// platform-specific error code so callers can branch on - /// "connection refused" vs "TLS error" vs "protocol violation" - /// when the platform exposes that detail. - public static class WebSocketException extends IOException { - private final int code; - - public WebSocketException(String message, int code) { - super(message); - this.code = code; - } - - public int getCode() { - return code; - } - } - - /// Returns `true` when the current platform ships a WebSocket - /// implementation. Always check before constructing -- on platforms - /// without one, the constructor returns a non-functional instance. - public static boolean isSupported() { - try { - WebSocketImpl probe = Util.createWebSocketImpl(null); - return probe != null; - } catch (Throwable t) { - return false; - } - } - - public WebSocket(String url) { - this.url = url; - this.impl = Util.createWebSocketImpl(this); - } - - /// Called on the EDT when the opening handshake has succeeded. - protected abstract void onOpen(); - - /// Called on the EDT when the connection has closed (either side). - /// `statusCode` is the WebSocket close code (RFC 6455 section 7.4). - protected abstract void onClose(int statusCode, String reason); - - /// Called on the EDT when a text frame arrives. - protected abstract void onMessage(String message); - - /// Called on the EDT when a binary frame arrives. - protected abstract void onMessage(byte[] message); - - /// Called on the EDT when the transport raises an error. The - /// exception is usually a [WebSocketException]. - protected abstract void onError(Exception ex); - - /// Sends a text frame. If the connection isn't open the call is - /// routed through `#onError` rather than throwing. - public void send(String message) { - if (impl != null && getReadyState() == WebSocketState.OPEN) { - impl.sendString(message); - } else { - onError(new IOException( - "Attempt to send message while socket is not open: " + getReadyState())); - } - } - - /// Sends a binary frame. Same error-routing contract as - /// `#send(String)`. - public void send(byte[] message) { - if (impl != null && getReadyState() == WebSocketState.OPEN) { - impl.sendBytes(message); - } else { - onError(new IOException( - "Attempt to send message while socket is not open: " + getReadyState())); - } - } - - /// Initiates the closing handshake. The `#onClose` callback fires - /// once the peer acknowledges. Calling `close()` on an - /// already-closed socket is a no-op. - public void close() { - if (impl != null && getReadyState() != WebSocketState.CLOSED) { - impl.close(); - } - } - - /// Initiates the opening handshake. May be called from the EDT (in - /// which case the actual `setUrl` + `connect` happens on a - /// dedicated worker thread to avoid blocking the UI). Subsequent - /// state transitions are dispatched back via the `onXxx` callbacks. - public void connect() { - if (connecting || getReadyState() != WebSocketState.CLOSED || impl == null) { - return; - } - if (Display.getInstance().isEdt()) { - socketThread = Display.getInstance().startThread(new Runnable() { - @Override - public void run() { - connect(); - } - }, "WebSocket"); - socketThread.start(); - } else { - connecting = true; - try { - impl.setUrl(url); - impl.connect(); - } finally { - connecting = false; - } - } - } - - /// Returns the current state of the socket. See [WebSocketState]. - public WebSocketState getReadyState() { - if (impl == null) { - return connecting ? WebSocketState.CONNECTING : WebSocketState.CLOSED; - } - int state = impl.getReadyState(); - switch (state) { - case 0: return WebSocketState.CONNECTING; - case 1: return WebSocketState.OPEN; - case 2: return WebSocketState.CLOSING; - default: return WebSocketState.CLOSED; - } - } - - // ---- Inbound-event entry points called by the per-platform - // ---- WebSocketImpl. The platform impl must dispatch on the EDT - // ---- before calling these so application code never has to. - - /// Routed from [WebSocketImpl] when the underlying transport finishes - /// the opening handshake. - public void onOpenReceived() { - connecting = false; - onOpen(); - } - - /// Routed from [WebSocketImpl] when a text frame arrives. - public void onMessageReceived(String message) { - connecting = false; - onMessage(message); - } - - /// Routed from [WebSocketImpl] when a binary frame arrives. - public void onMessageReceived(byte[] message) { - onMessage(message); - } - - /// Routed from [WebSocketImpl] when the connection has closed. - public void onCloseReceived(int statusCode, String reason) { - onClose(statusCode, reason); - } - - /// Routed from [WebSocketImpl] when the transport raises an error. - public void onErrorReceived(String message, int code) { - onError(new WebSocketException(message == null ? "" : message, code)); - } -} diff --git a/CodenameOne/src/com/codename1/io/websocket/WebSocketImpl.java b/CodenameOne/src/com/codename1/io/websocket/WebSocketImpl.java deleted file mode 100644 index 93f033ed80..0000000000 --- a/CodenameOne/src/com/codename1/io/websocket/WebSocketImpl.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Codename One designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details. - */ -package com.codename1.io.websocket; - -/// Per-platform WebSocket implementation backing the public [WebSocket] -/// class. Each port supplies a concrete subclass through -/// [com.codename1.impl.CodenameOneImplementation#createWebSocketImpl]; -/// application code never instantiates this directly. -/// -/// The contract mirrors a small subset of [WebSocket]'s public surface -/// expressed against the lifecycle of one connection. The implementation -/// is responsible for: -/// -/// - Establishing and tearing down the underlying transport (URLSession -/// on iOS, OkHttp on Android, `window.WebSocket` on JavaScript, -/// `java.net.http.WebSocket` on JavaSE). -/// - Dispatching inbound events back to the owning [WebSocket] via its -/// protected callbacks. Implementations should hop to the EDT before -/// calling those callbacks so application code never has to. -/// -/// Method names match the legacy `cn1-websockets` cn1lib so existing -/// platform implementations can be ported with minimal churn. -public abstract class WebSocketImpl { - - /// Sets the URL for the connection. Called before [#connect()]. - public abstract void setUrl(String url); - - /// Sends a UTF-8 text frame. Only called when [#getReadyState()] returns - /// `1` ([WebSocketState#OPEN]). - public abstract void sendString(String message); - - /// Sends a binary frame. Same gating as [#sendString(String)]. - public abstract void sendBytes(byte[] message); - - /// Initiates the closing handshake. Subsequent reads continue to fire - /// until the peer confirms; the impl is expected to dispatch - /// `onClose` via the owning [WebSocket] when the handshake completes. - public abstract void close(); - - /// Initiates the opening handshake. Returns immediately; the impl - /// must dispatch `onOpen` (or `onError`) asynchronously through the - /// owning [WebSocket]. - public abstract void connect(); - - /// Returns the current state as a small int that maps to - /// [WebSocketState]: - /// `0` = `CONNECTING`, `1` = `OPEN`, `2` = `CLOSING`, anything else = - /// `CLOSED`. - public abstract int getReadyState(); -} diff --git a/CodenameOne/src/com/codename1/io/websocket/WebSocketState.java b/CodenameOne/src/com/codename1/io/websocket/WebSocketState.java deleted file mode 100644 index 66f1d61f13..0000000000 --- a/CodenameOne/src/com/codename1/io/websocket/WebSocketState.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Codename One designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details. - * - * Originally written by Steve Hannah for the cn1-websockets cn1lib, MIT - * licensed. Moved into Codename One core with a contributor-grant retained. - */ -package com.codename1.io.websocket; - -/// Connection lifecycle state of a [WebSocket]. Mirrors the WebSocket -/// protocol state machine from RFC 6455. -public enum WebSocketState { - /// An opening handshake is being performed (RFC 6455 section 4). - CONNECTING, - - /// The connection is established and usable (the opening handshake - /// has succeeded). - OPEN, - - /// A closing handshake is being performed (RFC 6455 section 7). - CLOSING, - - /// The connection is closed. - CLOSED -} diff --git a/CodenameOne/src/com/codename1/io/websocket/package-info.java b/CodenameOne/src/com/codename1/io/websocket/package-info.java deleted file mode 100644 index 6fb5a06cb6..0000000000 --- a/CodenameOne/src/com/codename1/io/websocket/package-info.java +++ /dev/null @@ -1,30 +0,0 @@ -/// Client-side WebSocket support. -/// -/// Promoted into Codename One core from the legacy `cn1-websockets` cn1lib. -/// Application code subclasses [com.codename1.io.websocket.WebSocket] and -/// overrides the four `onXxx` callbacks; the framework dispatches inbound -/// events on the EDT through the per-platform -/// [com.codename1.io.websocket.WebSocketImpl] returned by -/// [com.codename1.impl.CodenameOneImplementation#createWebSocketImpl]. -/// -/// Per-platform implementations live alongside the rest of the platform -/// port and subclass `WebSocketImpl` directly -- no native interface -/// marshaling, no string-id round-trip. Suggested mapping: -/// -/// - iOS: `URLSessionWebSocketTask` (iOS 13+) wrapped by a `WebSocketImpl` -/// subclass returned from the iOS port's `createWebSocketImpl` -/// override. -/// - Android: `okhttp3.WebSocket` (or `java.net.http.WebSocket` on API -/// 33+) wrapped by a `WebSocketImpl` subclass in the Android port's -/// `createWebSocketImpl` override. -/// - JavaScript: thin wrapper over `window.WebSocket` in the JavaScript -/// port's `createWebSocketImpl` override. -/// - JavaSE simulator: `java.net.http.WebSocket` (JDK 11+) in the JavaSE -/// port's `createWebSocketImpl` override. -/// -/// Each implementation holds a reference to the owning -/// [com.codename1.io.websocket.WebSocket] passed to it in -/// `createWebSocketImpl`, hops to the EDT when an inbound event arrives, -/// and dispatches through the parent's `onOpenReceived` / -/// `onMessageReceived` / `onCloseReceived` / `onErrorReceived` methods. -package com.codename1.io.websocket; diff --git a/docs/developer-guide/io.asciidoc b/docs/developer-guide/io.asciidoc index 5e830b125c..94958e3ab1 100644 --- a/docs/developer-guide/io.asciidoc +++ b/docs/developer-guide/io.asciidoc @@ -1550,65 +1550,6 @@ if(result.getResponseData() != null) { ---- -=== WebSockets - -For server-push, real-time chat, multiplayer game sync, Socket.IO-style -framing, or any client-initiated persistent connection, use -`com.codename1.io.websocket.WebSocket`. Subclass it and override the -four `onXxx` callbacks; the framework dispatches inbound events on -the EDT so the callbacks can touch UI directly. - -[source,java] ----- -WebSocket socket = new WebSocket("wss://example.com/socket") { - @Override protected void onOpen() { - send("hello"); - } - @Override protected void onMessage(String message) { - Log.p("recv: " + message); - } - @Override protected void onMessage(byte[] message) { - Log.p("recv " + message.length + " bytes"); - } - @Override protected void onClose(int statusCode, String reason) { - Log.p("closed: " + reason); - } - @Override protected void onError(Exception ex) { - Log.e(ex); - } -}; -if (WebSocket.isSupported()) { - socket.connect(); -} ----- - -`send(String)` / `send(byte[])` may be called from any thread. -`getReadyState()` returns one of `WebSocketState.CONNECTING`, -`WebSocketState.OPEN`, `WebSocketState.CLOSING`, or -`WebSocketState.CLOSED`. Always check `WebSocket.isSupported()` before -constructing: support requires a per-platform native implementation -and platforms without one return `false`. - -The transport on each platform is provided by a per-port -`WebSocketImpl` subclass returned from -`CodenameOneImplementation.createWebSocketImpl(WebSocket)`. The iOS -port wraps `URLSessionWebSocketTask`, the Android port wraps -`okhttp3.WebSocket` (or `java.net.http.WebSocket` on API 33+), the -JavaScript port wraps `window.WebSocket`, and the JavaSE simulator -wraps `java.net.http.WebSocket` (JDK 11+). Until the per-platform -overrides land in the matching port modules the framework's default -`createWebSocketImpl` returns `null` -- `isSupported()` reports -`false` and apps fall back to whatever transport they used before. - -NOTE: The Java API lives in `com.codename1.io.websocket` and ships -in `codenameone-core`. The pattern matches every other platform -service (`Media`, `Storage`, `LocationManager` etc.) -- no -`NativeInterface` marshaling, no static-callback string-id -round-trips; each platform's `CodenameOneImplementation` subclass -returns a `WebSocketImpl` that talks directly to the native -WebSocket API. - - === Webservice wizard The Webservice Wizard can be invoked directly from the plugin. It generates stubs for the client side that allow performing simple method invocations on the server. It also generates a servlet that can be installed on any servlet container to intercept client side calls. diff --git a/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md b/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md index 4db69688f0..32f91c4587 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md +++ b/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md @@ -459,25 +459,6 @@ The pre-existing `com.codename1.io.Oauth2` and `com.codename1.social.Login` clas Companion classes in `com.codename1.io.oidc`: `OidcConfiguration` (endpoints + supported scopes), `OidcTokens` (access / id / refresh tokens + claim accessors), `PkceChallenge`, `SystemBrowser` (the per-platform browser driver), `TokenStore` (defaults to `Preferences`), `OidcException`. -### WebSockets — `com.codename1.io.websocket.WebSocket` - -Subclass `WebSocket` and override the four `onXxx` callbacks (`onOpen`, `onMessage(String)` / `onMessage(byte[])`, `onClose`, `onError`); they all fire on the EDT. `send(String)` / `send(byte[])` may be called from any thread. - -```java -if (WebSocket.isSupported()) { - WebSocket s = new WebSocket("wss://example.com/socket") { - @Override protected void onOpen() { send("hello"); } - @Override protected void onMessage(String m) { Log.p("recv: " + m); } - @Override protected void onMessage(byte[] m) { Log.p("recv " + m.length + " bytes"); } - @Override protected void onClose(int code, String reason) { Log.p("closed: " + reason); } - @Override protected void onError(Exception ex) { Log.e(ex); } - }; - s.connect(); -} -``` - -The Java API lives in `com.codename1.io.websocket` and ships in `codenameone-core`. The transport is provided by a per-platform `WebSocketImpl` returned from `CodenameOneImplementation.createWebSocketImpl(WebSocket)` — same pattern as `Media`, `Storage`, `LocationManager`. iOS wraps `URLSessionWebSocketTask`, Android wraps `okhttp3.WebSocket`, JavaScript wraps `window.WebSocket`, JavaSE wraps `java.net.http.WebSocket`. Until the per-platform overrides land in the matching port modules the framework default returns `null` from `createWebSocketImpl` and `WebSocket.isSupported()` is `false` — branch on that before constructing. - For raw HTTP server-push (Server-Sent Events / long-poll), use `ConnectionRequest` with `readResponse(InputStream)` overridden to consume the stream incrementally — the same pattern as the authenticated-image loader above. ### TLS, redirects, gzip From 382135f7e59e4e1dc861fb2e3c0bb7e9ea4861b4 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 17:00:50 +0300 Subject: [PATCH 16/30] Drop Flutter refs; AnimationTime for spinner; new Tabs/Pull-to-refresh tests; trim skill - Strip the "guess from Flutter" alias rationale on Component.setPullToRefresh and the Flutter "hot reload" comparison in the build-and-run skill ref. - DefaultLookAndFeel.modernSpinStartTime now reads AnimationTime.now() so screenshot tests can drive the rotation deterministically. - Add TabsAnimatedIndicatorScreenshotTest and PullToRefreshSpinnerScreenshotTest under scripts/hellocodenameone -- both extend AbstractAnimationScreenshotTest so the 2x3 grid harness produces a baseline image of each animation phase. - Compress the Tabs animated-indicator and modern pull-to-refresh sections in ui-components.md to a single short paragraph; the LLM doesn't need the per-constant table when both features are on by default in the modern themes. Same trim for MorphTransition.snapshotMode. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/com/codename1/ui/Component.java | 8 +- .../codename1/ui/plaf/DefaultLookAndFeel.java | 5 +- .../PullToRefreshSpinnerScreenshotTest.java | 82 +++++++++++++++++++ .../TabsAnimatedIndicatorScreenshotTest.java | 59 +++++++++++++ .../skill/references/build-and-run.md | 2 +- .../skill/references/ui-components.md | 47 ++--------- 6 files changed, 153 insertions(+), 50 deletions(-) create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/PullToRefreshSpinnerScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/TabsAnimatedIndicatorScreenshotTest.java diff --git a/CodenameOne/src/com/codename1/ui/Component.java b/CodenameOne/src/com/codename1/ui/Component.java index e7198daf26..ea2d3d407b 100644 --- a/CodenameOne/src/com/codename1/ui/Component.java +++ b/CodenameOne/src/com/codename1/ui/Component.java @@ -5265,11 +5265,9 @@ public void addPullToRefresh(Runnable task) { this.refreshTask = task; } - /// Alias for `#addPullToRefresh(Runnable)`. Provided because the natural - /// guess from Flutter (`RefreshIndicator`), React Native - /// (`refreshControl`) and SwiftUI (`refreshable`) is `setPullToRefresh`, - /// not `addPullToRefresh`. Both names point at the same single-task - /// slot -- a second call replaces the previously-registered runnable. + /// Alias for `#addPullToRefresh(Runnable)` -- both names point at the + /// same single-task slot, and a second call replaces the + /// previously-registered runnable. /// /// #### Parameters /// diff --git a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java index 1e86bdbd8e..3002fc4f2d 100644 --- a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java +++ b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java @@ -48,6 +48,7 @@ import com.codename1.ui.TextSelection.Span; import com.codename1.ui.TextSelection.Spans; import com.codename1.ui.animations.Animation; +import com.codename1.ui.animations.AnimationTime; import com.codename1.ui.events.FocusListener; import com.codename1.ui.geom.Dimension; import com.codename1.ui.geom.GeneralPath; @@ -2365,9 +2366,9 @@ public void drawModernPullToRefresh(Graphics g, Component cmp, boolean taskExecu if (taskExecuted) { // Continuous spin: rotate the arc by ~360 deg/sec. if (modernSpinStartTime == 0L) { - modernSpinStartTime = System.currentTimeMillis(); + modernSpinStartTime = AnimationTime.now(); } - long elapsed = System.currentTimeMillis() - modernSpinStartTime; + long elapsed = AnimationTime.now() - modernSpinStartTime; startAngle = (int) ((elapsed / 2L) % 360L); sweep = 280; // Schedule the next frame -- without this the spinner freezes diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/PullToRefreshSpinnerScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/PullToRefreshSpinnerScreenshotTest.java new file mode 100644 index 0000000000..f67b2d68a9 --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/PullToRefreshSpinnerScreenshotTest.java @@ -0,0 +1,82 @@ +package com.codenameone.examples.hellocodenameone.tests; + +import com.codename1.ui.Container; +import com.codename1.ui.Form; +import com.codename1.ui.Graphics; +import com.codename1.ui.Image; +import com.codename1.ui.Label; +import com.codename1.ui.layouts.BorderLayout; +import com.codename1.ui.layouts.BoxLayout; +import com.codename1.ui.plaf.Style; + +/// Captures the modern pull-to-refresh arc spinner across six frames during +/// its continuous-spin phase. `modernSpinStartTime` reads +/// [com.codename1.ui.animations.AnimationTime] (which the harness advances +/// per frame), so each cell renders the arc at a different rotation angle. +public class PullToRefreshSpinnerScreenshotTest extends AbstractAnimationScreenshotTest { + private Form host; + private Container scrollHost; + + @Override + protected int getAnimationDurationMillis() { + // One full ~360 deg/sec sweep = 2000ms (startAngle ticks elapsed/2). + return 2000; + } + + @Override + protected void prepareCapture(int frameWidth, int frameHeight) { + super.prepareCapture(frameWidth, frameHeight); + + host = new Form("PullToRefresh", new BorderLayout()); + host.setWidth(frameWidth); + host.setHeight(frameHeight); + host.setVisible(true); + Style cps = host.getContentPane().getAllStyles(); + cps.setBgColor(0xf0f4f8); + cps.setBgTransparency(255); + + scrollHost = new Container(BoxLayout.y()); + scrollHost.setScrollableY(true); + scrollHost.addPullToRefresh(new Runnable() { + @Override + public void run() { + // never invoked by the test + } + }); + for (int i = 0; i < 12; i++) { + scrollHost.add(new Label("Row " + i)); + } + host.add(BorderLayout.CENTER, scrollHost); + host.layoutContainer(); + + // Pin the container in the "task running" state so the painter + // draws the continuous-spin arc. scrollY is shifted negative by + // the pull-to-refresh height so the indicator centre lands inside + // the visible viewport. + scrollHost.putClientProperty("$pullToRelease", "updating"); + } + + @Override + protected void renderFrame(Graphics g, int width, int height, double progress, int frameIndex) { + // Render the host form into an offscreen image so the form's own + // background paints first; then overlay the pull-to-refresh painter + // via the standard paintPullToRefresh() entry point so we exercise + // the exact code path the simulator and devices hit at runtime. + Image frame = Image.createImage(width, height, 0xfff0f4f8); + Graphics fg = frame.getGraphics(); + host.paintComponent(fg, true); + // Force-render the indicator on top -- paintComponent will skip the + // pull painter when scrollY >= 0, but the spinner state is what we + // want to capture. + scrollHost.getUIManager().getLookAndFeel().drawPullToRefresh(fg, scrollHost, true); + g.drawImage(frame, 0, 0); + frame.dispose(); + } + + @Override + protected void finishCapture() { + host = null; + scrollHost = null; + super.finishCapture(); + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/TabsAnimatedIndicatorScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/TabsAnimatedIndicatorScreenshotTest.java new file mode 100644 index 0000000000..b9cd83af3f --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/TabsAnimatedIndicatorScreenshotTest.java @@ -0,0 +1,59 @@ +package com.codenameone.examples.hellocodenameone.tests; + +import com.codename1.ui.Button; +import com.codename1.ui.Form; +import com.codename1.ui.Graphics; +import com.codename1.ui.Tabs; +import com.codename1.ui.layouts.BorderLayout; +import com.codename1.ui.plaf.Style; + +/// Walks the animated tabs indicator from tab 0 to tab 2 across six frames so +/// the under-line slide is captured deterministically. Reads +/// [com.codename1.ui.animations.AnimationTime] (set per-frame by the harness) +/// to interpolate `indicatorFromX/W -> indicatorToX/W` via the Motion the +/// Tabs class started in `prepareCapture`. +public class TabsAnimatedIndicatorScreenshotTest extends AbstractAnimationScreenshotTest { + private Form host; + private Tabs tabs; + + @Override + protected int getAnimationDurationMillis() { + return 200; + } + + @Override + protected void prepareCapture(int frameWidth, int frameHeight) { + super.prepareCapture(frameWidth, frameHeight); + host = new Form("Tabs Indicator", new BorderLayout()); + host.setWidth(frameWidth); + host.setHeight(frameHeight); + host.setVisible(true); + Style cps = host.getContentPane().getAllStyles(); + cps.setBgColor(0xf0f4f8); + cps.setBgTransparency(255); + + tabs = new Tabs(); + tabs.setAnimatedIndicator(true); + tabs.addTab("Home", new Button("Home content")); + tabs.addTab("Search", new Button("Search content")); + tabs.addTab("Profile", new Button("Profile content")); + host.add(BorderLayout.CENTER, tabs); + host.layoutContainer(); + + // Kick off the indicator slide -- the Motion this starts reads + // AnimationTime which the harness advances per frame. + tabs.setSelectedIndex(2, false); + } + + @Override + protected void renderFrame(Graphics g, int width, int height, double progress, int frameIndex) { + host.paintComponent(g, true); + } + + @Override + protected void finishCapture() { + host = null; + tabs = null; + super.finishCapture(); + } +} diff --git a/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md b/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md index 8992ae3daf..9fe3199d9c 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md +++ b/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md @@ -98,7 +98,7 @@ Behind the scenes: - **Java reload (mode 2)** is driven by the standard JVM HotSwap protocol (`-agentlib:jdwp=...,redefinitions=true`) plus [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) for the deeper redefinitions (added/removed methods, new classes). The IDE compiles the `.java` to a `.class` and JDWP-pushes it; the simulator notices via a system property and re-clones the form. - The watcher only sees files written by the IDE — running `mvn compile` from a separate shell doesn't trigger reload because the IDE's incremental compiler is what writes the `.class` to `target/classes/`. -Comparing to Flutter / React Native: this is closer to Flutter's "hot restart" semantics (mode 2 above) than to Flutter's true "hot reload" (which preserves *all* in-memory state across the patch). Method-body edits feel instantaneous; structural edits cost a form rebuild. +Method-body edits feel instantaneous; structural edits cost a form rebuild but no JVM restart. ## Tests in CI/CD diff --git a/scripts/initializr/common/src/main/resources/skill/references/ui-components.md b/scripts/initializr/common/src/main/resources/skill/references/ui-components.md index 4d48717b7b..fe26d44a7f 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/ui-components.md +++ b/scripts/initializr/common/src/main/resources/skill/references/ui-components.md @@ -456,56 +456,19 @@ In most CN1 codebases the **default transition** is set globally via theme const `CommonTransitions` exposes slide / fade / cover / uncover / dialog / empty transitions. `MorphTransition.create(durationMs).morph(sourceCmp, targetCmp)` animates a specific source component into a specific destination component across forms — great for "tap a card to expand it into the full screen". -#### `MorphTransition.snapshotMode(boolean)` — for sources inside scrolling parents +#### `MorphTransition.snapshotMode(boolean)` -By default `MorphTransition` paints both endpoints by re-rendering the live source / destination components every frame at the interpolated bounds. That works for sources that are fully visible. It produces visible artifacts when: - -- The source is inside a scrolling parent and has children that extend past the source's bounds (the layered-pane copy used during the morph doesn't carry the original parent's clip, so off-viewport children leak into the morph). -- The source has dynamic content (a video frame, a `BrowserComponent`, a custom painter) that you want frozen visually during the morph. - -`snapshotMode(true)` captures each `(source, dest)` as a clipped `Image` at `initTransition()` and tweens those images at the interpolated bounds. The image's own bounds are the clip, so off-viewport children cannot leak. +Opt into snapshot-mode when the live-paint morph leaks off-viewport children (source inside a scrolling parent) or renders dynamic content (video, `BrowserComponent`): ```java -MorphTransition morph = MorphTransition.create(300) - .snapshotMode(true) - .morph("card"); +MorphTransition morph = MorphTransition.create(300).snapshotMode(true).morph("card"); nextForm.setTransitionInAnimator(morph); nextForm.show(); ``` -The default (live-paint) path is unchanged for back-compat. Opt into snapshot mode only when the live path exhibits a visible artifact — it adds a one-time per-morphed-component `Image` allocation at init. - -#### Tabs animated indicator — Material 3 / iOS 26 NavigationBar - -`Tabs` ships an opt-in sliding underline indicator (off in framework default; on by default in the modern iOS / Android native themes). When enabled, selection changes tween the indicator's x/width from the previously-selected tab's bounds to the new selection's bounds with `Motion.createEaseInOutMotion`. - -```java -Tabs tabs = new Tabs(); -tabs.setAnimatedIndicator(true); // or set tabsAnimatedIndicatorBool: true in theme -``` - -Theme constants: - -| Constant | Purpose | -| --- | --- | -| `tabsAnimatedIndicatorBool` | Enable / disable. Default `false` in framework, `true` in iOS Modern + Android Material themes. | -| `tabsAnimatedIndicatorDurationInt` | Tween duration in ms, default `200`. | -| `tabsAnimatedIndicatorThicknessMm` | Underline thickness in mm, default `1`. | -| `TabIndicator { color: ... }` UIID | Indicator colour. Falls back to the selected tab's fg when no `TabIndicator` UIID is defined. | - -#### Modern pull-to-refresh - -The legacy `addPullToRefresh` paint is a rotating-arrow + text Label stack. The **modern path** (opt-in via `pullToRefreshModernBool` theme constant; on by default in the modern themes) replaces that with a thin circular arc spinner painted directly via `Graphics.drawArc`: the arc sweep grows 0°→330° proportional to the user's pull, then spins continuously while the refresh task runs. - -Theme constants: - -| Constant | Purpose | -| --- | --- | -| `pullToRefreshModernBool` | Enable the arc-spinner path. | -| `pullToRefreshIndicatorDiameterMm` | Outer diameter, default `8`mm. | -| `pullToRefreshIndicatorStrokeMm` | Stroke thickness, default `0.6`mm. | +#### Tabs animated indicator and modern pull-to-refresh -Color follows the `TabIndicator` UIID (shared with the animated tab indicator) so brand accent stays consistent. +`Tabs` has a sliding underline indicator and `addPullToRefresh` has an arc-spinner — both on by default in the modern iOS / Android themes, so apps inherit them with no extra setup. Override via `Tabs.setAnimatedIndicator(boolean)` or the `tabsAnimatedIndicatorBool` / `pullToRefreshModernBool` theme constants when needed. ### Ongoing per-component animation: `Component.animate()` + `registerAnimated` From ecf306815bf130f36f83b005bff127368a0b2f50 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 18:11:26 +0300 Subject: [PATCH 17/30] OpenAPI redesign phase 1: drop old codegen, add new annotation surface - Remove OpenApiCodegen.java, GenerateOpenApiClientMojo.java, OpenApiCodegenTest.java and the matching developer-guide appendix. - Add com.codename1.annotations.rest.{RestClient, GET, POST, PUT, DELETE, PATCH, Path, Query, Header, Body} -- the contract the new cn1:generate-openapi mojo emits onto each interface method. - Add com.codename1.io.rest.RestClients -- the runtime registry the generated cn1app.RestClientBootstrap fills in; each interface's static of(baseUrl) factory routes through it so the generated impl class never appears in project source. - New appendix_goal_generate_openapi.adoc describes the redesign; skill references point at cn1:generate-openapi instead of the removed generate-openapi-client goal. Build-time processor + mojo + records-support follow in subsequent phases on this branch. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../com/codename1/annotations/rest/Body.java | 18 + .../codename1/annotations/rest/DELETE.java | 16 + .../com/codename1/annotations/rest/GET.java | 19 + .../codename1/annotations/rest/Header.java | 19 + .../com/codename1/annotations/rest/PATCH.java | 16 + .../com/codename1/annotations/rest/POST.java | 16 + .../com/codename1/annotations/rest/PUT.java | 16 + .../com/codename1/annotations/rest/Path.java | 18 + .../com/codename1/annotations/rest/Query.java | 18 + .../annotations/rest/RestClient.java | 31 + .../com/codename1/io/rest/RestClients.java | 61 ++ .../developer-guide/Maven-Appendix-Goals.adoc | 2 +- .../appendix_goal_generate_openapi.adoc | 127 ++++ ...appendix_goal_generate_openapi_client.adoc | 124 ---- .../maven/GenerateOpenApiClientMojo.java | 158 ----- .../com/codename1/maven/OpenApiCodegen.java | 665 ------------------ .../codename1/maven/OpenApiCodegenTest.java | 191 ----- .../skill/references/build-and-run.md | 15 +- .../skill/references/java-api-subset.md | 2 +- 19 files changed, 384 insertions(+), 1148 deletions(-) create mode 100644 CodenameOne/src/com/codename1/annotations/rest/Body.java create mode 100644 CodenameOne/src/com/codename1/annotations/rest/DELETE.java create mode 100644 CodenameOne/src/com/codename1/annotations/rest/GET.java create mode 100644 CodenameOne/src/com/codename1/annotations/rest/Header.java create mode 100644 CodenameOne/src/com/codename1/annotations/rest/PATCH.java create mode 100644 CodenameOne/src/com/codename1/annotations/rest/POST.java create mode 100644 CodenameOne/src/com/codename1/annotations/rest/PUT.java create mode 100644 CodenameOne/src/com/codename1/annotations/rest/Path.java create mode 100644 CodenameOne/src/com/codename1/annotations/rest/Query.java create mode 100644 CodenameOne/src/com/codename1/annotations/rest/RestClient.java create mode 100644 CodenameOne/src/com/codename1/io/rest/RestClients.java create mode 100644 docs/developer-guide/appendix_goal_generate_openapi.adoc delete mode 100644 docs/developer-guide/appendix_goal_generate_openapi_client.adoc delete mode 100644 maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiClientMojo.java delete mode 100644 maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/OpenApiCodegen.java delete mode 100644 maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/OpenApiCodegenTest.java diff --git a/CodenameOne/src/com/codename1/annotations/rest/Body.java b/CodenameOne/src/com/codename1/annotations/rest/Body.java new file mode 100644 index 0000000000..8514a4011f --- /dev/null +++ b/CodenameOne/src/com/codename1/annotations/rest/Body.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.annotations.rest; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/// Marks an interface method parameter as the request body. The +/// processor serialises the argument via `Mappers.toJson(...)` and +/// attaches it with `Content-Type: application/json`. At most one +/// `@Body`-annotated parameter is allowed per method. +@Retention(RetentionPolicy.CLASS) +@Target(ElementType.PARAMETER) +public @interface Body { +} diff --git a/CodenameOne/src/com/codename1/annotations/rest/DELETE.java b/CodenameOne/src/com/codename1/annotations/rest/DELETE.java new file mode 100644 index 0000000000..147b92fe82 --- /dev/null +++ b/CodenameOne/src/com/codename1/annotations/rest/DELETE.java @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.annotations.rest; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/// HTTP `DELETE` request. See [GET] for path semantics. +@Retention(RetentionPolicy.CLASS) +@Target(ElementType.METHOD) +public @interface DELETE { + String value(); +} diff --git a/CodenameOne/src/com/codename1/annotations/rest/GET.java b/CodenameOne/src/com/codename1/annotations/rest/GET.java new file mode 100644 index 0000000000..a20bc71d6e --- /dev/null +++ b/CodenameOne/src/com/codename1/annotations/rest/GET.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.annotations.rest; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/// HTTP `GET` request. The value is the URL path relative to the +/// `baseUrl` passed to `Api.of(baseUrl)`. Path placeholders such +/// as `/pet/{petId}` are substituted from method parameters annotated +/// with [Path]. +@Retention(RetentionPolicy.CLASS) +@Target(ElementType.METHOD) +public @interface GET { + String value(); +} diff --git a/CodenameOne/src/com/codename1/annotations/rest/Header.java b/CodenameOne/src/com/codename1/annotations/rest/Header.java new file mode 100644 index 0000000000..ec82859d79 --- /dev/null +++ b/CodenameOne/src/com/codename1/annotations/rest/Header.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.annotations.rest; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/// Binds an interface method parameter to an HTTP request header. +/// `null` argument values skip the header. `Authorization` is the +/// usual carrier for the bearer token argument emitted by +/// `cn1:generate-openapi`. +@Retention(RetentionPolicy.CLASS) +@Target(ElementType.PARAMETER) +public @interface Header { + String value(); +} diff --git a/CodenameOne/src/com/codename1/annotations/rest/PATCH.java b/CodenameOne/src/com/codename1/annotations/rest/PATCH.java new file mode 100644 index 0000000000..5601b49057 --- /dev/null +++ b/CodenameOne/src/com/codename1/annotations/rest/PATCH.java @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.annotations.rest; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/// HTTP `PATCH` request. See [GET] for path semantics. +@Retention(RetentionPolicy.CLASS) +@Target(ElementType.METHOD) +public @interface PATCH { + String value(); +} diff --git a/CodenameOne/src/com/codename1/annotations/rest/POST.java b/CodenameOne/src/com/codename1/annotations/rest/POST.java new file mode 100644 index 0000000000..7388f31587 --- /dev/null +++ b/CodenameOne/src/com/codename1/annotations/rest/POST.java @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.annotations.rest; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/// HTTP `POST` request. See [GET] for path semantics. +@Retention(RetentionPolicy.CLASS) +@Target(ElementType.METHOD) +public @interface POST { + String value(); +} diff --git a/CodenameOne/src/com/codename1/annotations/rest/PUT.java b/CodenameOne/src/com/codename1/annotations/rest/PUT.java new file mode 100644 index 0000000000..d86e87766a --- /dev/null +++ b/CodenameOne/src/com/codename1/annotations/rest/PUT.java @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.annotations.rest; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/// HTTP `PUT` request. See [GET] for path semantics. +@Retention(RetentionPolicy.CLASS) +@Target(ElementType.METHOD) +public @interface PUT { + String value(); +} diff --git a/CodenameOne/src/com/codename1/annotations/rest/Path.java b/CodenameOne/src/com/codename1/annotations/rest/Path.java new file mode 100644 index 0000000000..363ee2d17e --- /dev/null +++ b/CodenameOne/src/com/codename1/annotations/rest/Path.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.annotations.rest; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/// Binds an interface method parameter to a `{name}` placeholder in +/// the URL path declared on the verb annotation. The parameter value +/// is URL-encoded before substitution. +@Retention(RetentionPolicy.CLASS) +@Target(ElementType.PARAMETER) +public @interface Path { + String value(); +} diff --git a/CodenameOne/src/com/codename1/annotations/rest/Query.java b/CodenameOne/src/com/codename1/annotations/rest/Query.java new file mode 100644 index 0000000000..a5ea6925ec --- /dev/null +++ b/CodenameOne/src/com/codename1/annotations/rest/Query.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.annotations.rest; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/// Binds an interface method parameter to a URL query-string entry. +/// `null` arguments are skipped; collections are appended as repeated +/// `name=value` pairs. +@Retention(RetentionPolicy.CLASS) +@Target(ElementType.PARAMETER) +public @interface Query { + String value(); +} diff --git a/CodenameOne/src/com/codename1/annotations/rest/RestClient.java b/CodenameOne/src/com/codename1/annotations/rest/RestClient.java new file mode 100644 index 0000000000..ae5ad90126 --- /dev/null +++ b/CodenameOne/src/com/codename1/annotations/rest/RestClient.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + */ +package com.codename1.annotations.rest; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/// Marks an interface as a REST client that the build-time +/// annotation processor wires up to a generated network implementation. +/// Companion HTTP-verb annotations ([GET], [POST], [PUT], [DELETE], +/// [PATCH]) on each method carry the path; parameter annotations +/// ([Path], [Query], [Header], [Body]) describe how each argument is +/// attached to the request. +/// +/// The processor emits a `ApiImpl` class in generated-sources and +/// registers it with [com.codename1.io.rest.RestClients] so the +/// interface's `static T of(String baseUrl)` factory can return an +/// instance without the project source referencing the impl directly. +@Retention(RetentionPolicy.CLASS) +@Target(ElementType.TYPE) +public @interface RestClient { +} diff --git a/CodenameOne/src/com/codename1/io/rest/RestClients.java b/CodenameOne/src/com/codename1/io/rest/RestClients.java new file mode 100644 index 0000000000..e98bee874c --- /dev/null +++ b/CodenameOne/src/com/codename1/io/rest/RestClients.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + */ +package com.codename1.io.rest; + +import java.util.HashMap; +import java.util.Map; + +/// Runtime registry that wires `@RestClient`-annotated interfaces to +/// the build-time-generated implementations. The generated +/// `cn1app.RestClientBootstrap` calls [#register(Class, Factory)] +/// for every API interface in the project; user code reaches them +/// via the `static of(String baseUrl)` factory that +/// `cn1:generate-openapi` puts on each interface, and that factory +/// in turn calls [#create(Class, String)] here. +public final class RestClients { + + private static final Map, Factory> REGISTRY = new HashMap, Factory>(); + + private RestClients() { + } + + /// Registers a factory for an `@RestClient`-annotated interface. + /// Called from the generated `cn1app.RestClientBootstrap` so the + /// REST plumbing is set up before the first `.of(baseUrl)` + /// call. + public static void register(Class apiType, Factory factory) { + if (apiType == null || factory == null) { + return; + } + REGISTRY.put(apiType, factory); + } + + /// Returns a freshly-built client for the requested API. Called by + /// the `static of(String baseUrl)` factory emitted on every + /// generated `@RestClient` interface. + @SuppressWarnings("unchecked") + public static T create(Class apiType, String baseUrl) { + Factory factory = (Factory) REGISTRY.get(apiType); + if (factory == null) { + throw new IllegalStateException( + "No RestClient impl registered for " + apiType.getName() + + " -- did cn1:process-annotations run?"); + } + return factory.create(baseUrl); + } + + /// Factory the generated bootstrap registers per API interface. + /// Modeled as a single-method interface (no + /// `java.util.function.Function`) so CLDC-targeted builds remain + /// happy. + public interface Factory { + T create(String baseUrl); + } +} diff --git a/docs/developer-guide/Maven-Appendix-Goals.adoc b/docs/developer-guide/Maven-Appendix-Goals.adoc index f3632add41..7492d8f995 100644 --- a/docs/developer-guide/Maven-Appendix-Goals.adoc +++ b/docs/developer-guide/Maven-Appendix-Goals.adoc @@ -23,7 +23,7 @@ include::appendix_goal_generate_gui_sources.adoc[] include::appendix_goal_generate_native_interfaces.adoc[] -include::appendix_goal_generate_openapi_client.adoc[] +include::appendix_goal_generate_openapi.adoc[] include::appendix_goal_guibuilder.adoc[] diff --git a/docs/developer-guide/appendix_goal_generate_openapi.adoc b/docs/developer-guide/appendix_goal_generate_openapi.adoc new file mode 100644 index 0000000000..1ba9234543 --- /dev/null +++ b/docs/developer-guide/appendix_goal_generate_openapi.adoc @@ -0,0 +1,127 @@ +=== Generate OpenAPI client (`generate-openapi`) + +Generates a typed Codename One client from an OpenAPI 3.x JSON +specification. Writes one `@Mapped` record (Java 17+) or class (Java +8 target) per `components.schemas` entry and one +`@RestClient`-annotated interface per OpenAPI tag. The generated +files land in `common/src/main/java` so the project owns the +contract; the matching networking implementation is emitted into +`common/target/generated-sources` by the build-time annotation +processor so the project source stays clean. + +The mojo is paired with the existing `process-annotations` pipeline: +identical schemas across operations collapse to one record/class, and +operationIds become interface methods that resolve at runtime via a +`com.codename1.io.rest.RestClients` registry populated by the generated +bootstrap class (the same splice pattern as `@Mapped` mappers). + +==== Usage example + +[source, bash] +---- +mvn -pl common cn1:generate-openapi petstore.json com.example.petstore +---- + +Positional arguments: + +[cols="1,3", options="header"] +|=== +| Argument | Description + +| Specification path or URL +| `petstore.json` (local file) or `https://petstore3.swagger.io/api/v3/openapi.json`. +YAML is not supported -- convert with `yq` upstream. + +| Base package +| Java package the generated sources are written under. Records / classes +go under `.model`; the `@RestClient` interfaces go under +``. +|=== + +==== Generated output + +For the Swagger Petstore reference spec the goal emits, under +`common/src/main/java`: + +[listing] +---- +com/example/petstore/ + PetApi.java // @RestClient interface, methods addPet, updatePet, + // findPetsByStatus, getPetById, deletePet, ... + StoreApi.java // @RestClient interface, methods getInventory, + // placeOrder, getOrderById, deleteOrder + UserApi.java // @RestClient interface +com/example/petstore/model/ + Pet.java // @Mapped record (Java 17+) or class (Java 8) + Order.java + User.java + Category.java + Tag.java +---- + +Each `@RestClient` interface method is annotated with the HTTP verb +and path; parameters are annotated `@Path` / `@Query` / `@Header` / +`@Body` so the processor knows how to assemble the `Rest` call. The +emitted method shape: + +[source, java] +---- +@RestClient +public interface PetApi { + + @GET("/pet/{petId}") + void getPetById(@Path("petId") Long petId, + @Header("Authorization") String bearerToken, + OnComplete> callback); + + @POST("/pet") + void addPet(@Body Pet body, + @Header("Authorization") String bearerToken, + OnComplete> callback); + + static PetApi of(String baseUrl) { + return com.codename1.io.rest.RestClients.create(PetApi.class, baseUrl); + } +} +---- + +Call sites use the static factory: + +[source, java] +---- +PetApi api = PetApi.of("https://petstore3.swagger.io/api/v3"); +api.getPetById(123L, "MY_TOKEN", response -> { + if (response.getResponseCode() == 200) { + Pet pet = response.getResponseData(); + renderPet(pet); + } +}); +---- + +The `ApiImpl` class that actually performs the HTTP call lives +in `target/generated-sources` -- the project source never references +it directly. The build server probes the project zip for the +generated `cn1app.RestClientBootstrap` and splices the registry +wiring in, mirroring the existing `cn1app.MapperBootstrap` pattern. + +==== Scope (MVP) + +* HTTP verbs: `GET`, `POST`, `PUT`, `DELETE`, `PATCH`. +* Parameter locations: `path`, `query`, `header`. `cookie` parameters +are dropped during code generation -- attach them via the `Rest` +builder if needed. +* Request bodies: `application/json` only -- serialized via +`Mappers.toJson(body)` before being attached. +* Response schemas: `$ref` resolution, primitives (`string` / +`number` / `integer` / `boolean`), arrays, object schemas. +`oneOf` / `anyOf` / `allOf` collapse to `Object` -- callers cast. +* Schema unification: two `components.schemas` entries with identical +property shapes collapse to a single record/class to avoid an +explosion of duplicates. +* Authentication: bearer token is exposed as a `@Header("Authorization") +String bearerToken` parameter on every operation. Other schemes (API +key, basic, OAuth) aren't in MVP scope -- use the `Rest` header +builder or the `OidcClient` directly. + +Multipart upload (`multipart/form-data`), richer composition modelling, +and async / pagination wrappers are tracked as follow-ups. diff --git a/docs/developer-guide/appendix_goal_generate_openapi_client.adoc b/docs/developer-guide/appendix_goal_generate_openapi_client.adoc deleted file mode 100644 index 43b20b4850..0000000000 --- a/docs/developer-guide/appendix_goal_generate_openapi_client.adoc +++ /dev/null @@ -1,124 +0,0 @@ -=== Generate OpenAPI client (`generate-openapi-client`) - -Generates a typed Codename One client from an OpenAPI 3.x JSON -specification. Emits one `@Mapped`-annotated POJO per -`components.schemas` entry and one `Api.java` per OpenAPI tag. -The generated code uses only the Codename One JDK subset -- -`Rest` + `JSONWriter` + `Mappers` for transport / serialization, no -`java.net.http`, no reflection. - -This is the build-time complement to the `Rest.fetchAsMapped` / -`Rest.fetchAsMappedList` runtime APIs. Run it once at -`generate-sources` time; the output is regular Java that the standard -compiler picks up and the generated files are added to the project's -compile-source-roots automatically. - -==== Usage example - -Add an execution to the Maven plugin block in your `common/pom.xml`: - -[source, xml] ----- - - com.codenameone - codenameone-maven-plugin - - - generate-openapi-client - generate-sources - generate-openapi-client - - https://petstore3.swagger.io/api/v3/openapi.json - com.example.petstore - - - - ----- - -Configuration: - -[cols="2,4,1", options="header"] -|=== -| Property | Description | Required - -| `openapiSpec` -| URL or local file path of the OpenAPI 3.x JSON document. YAML is -not supported -- convert with `yq` or an online tool upstream. -| Yes - -| `basePackage` -| Base Java package for the generated client. Api classes go under -``; schemas under `.model`. -| Yes - -| `outputDirectory` -| Where the generated sources land. Defaults to -`${project.build.directory}/generated-sources/openapi`. The directory -is added to the project's compile-source-roots automatically so the -generated code is picked up by the compiler in the same build. -| No - -| `overwrite` -| `true` to regenerate every file, `false` to skip files that haven't -changed. Default `true`. -| No -|=== - -==== Generated output - -For the Swagger Petstore reference spec (`/pet`, `/store`, `/user` -endpoints), the goal emits: - -[listing] ----- -target/generated-sources/openapi/ - com/example/petstore/ - PetApi.java // addPet, updatePet, findPetsByStatus, getPetById, deletePet, ... - StoreApi.java // getInventory, placeOrder, getOrderById, deleteOrder - UserApi.java // createUser, loginUser, logoutUser, getUserByName, updateUser, ... - com/example/petstore/model/ - Pet.java // @Mapped POJO with id / name / category / photoUrls / tags / status - Order.java - User.java - Category.java - Tag.java - ApiResponse.java ----- - -Each generated Api method has a uniform shape: path parameters first, -then required query parameters, then the optional request body, then a -`String bearerToken` (or `null` to skip the `Authorization` header), -then an `OnComplete>` callback. Method body is a single -chained `Rest.(url)...fetchAsMapped(Type.class, callback)` call. - -[source,java] ----- -PetApi api = new PetApi("https://petstore3.swagger.io/api/v3"); -api.getPetById(123L, "MY_TOKEN", response -> { - if (response.getResponseCode() == 200) { - Pet pet = response.getResponseData(); - renderPet(pet); - } -}); ----- - -==== Scope (MVP) - -* HTTP verbs: `GET`, `POST`, `PUT`, `DELETE`, `PATCH`. -* Parameter locations: `path`, `query`. Header and cookie parameters are -dropped during code generation; submit them via `Rest`'s `header(...)` -builder method after-the-fact if needed. -* Request bodies: `application/json` only -- serialized via -`Mappers.toJson(body)` before being attached. -* Response schemas: `$ref` resolution, primitives (`string` / `number` -/ `integer` / `boolean`), arrays, object schemas. `oneOf` / `anyOf` / -`allOf` compositions collapse to `Object` -- callers cast. -* Authentication: bearer token as a per-method `String bearerToken` -parameter. Other schemes (API key, basic, OAuth) aren't in the MVP -scope -- use `Rest`'s `header(...)` / `basicAuth(...)` builders or the -`OidcClient` directly. - -Multipart upload (`multipart/form-data`), header / cookie parameter -locations, richer composition modelling, and async / pagination -wrappers are tracked as follow-ups. diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiClientMojo.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiClientMojo.java deleted file mode 100644 index feae102f4a..0000000000 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiClientMojo.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Codename One designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details. - */ -package com.codename1.maven; - -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.LifecyclePhase; -import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.plugins.annotations.ResolutionScope; - -/** - * Generates a typed CN1-subset-clean REST client from an OpenAPI 3.x - * specification. Emits one {@code Api.java} class per OpenAPI tag, each - * with one method per operation. Generated code uses {@code Rest}, - * {@code JSONWriter}, and (once merged from the {@code pojo-annotation-frameworks} - * branch) {@code @Mapped} DTOs -- never {@code java.net.http} or anything - * else outside the CN1 JDK subset. - * - *

Usage

- * - *
{@code
- * 
- *     com.codenameone
- *     codenameone-maven-plugin
- *     
- *         
- *             generate-openapi-client
- *             generate-openapi-client
- *             
- *                 https://server.example.com/api/openapi.json
- *                 com.example.api
- *                 ${project.build.directory}/generated-sources/openapi
- *             
- *         
- *     
- * 
- * }
- * - *

Status: SCAFFOLD ONLY

- * - * The mojo is wired into the plugin but the underlying generator is not yet - * implemented. The intended design is: - * - *
    - *
  1. Resolve the spec via {@code ConnectionRequest}-style URL fetch (or - * read from local file when the configured value is a path).
  2. - *
  3. Parse the OpenAPI JSON using the framework's own {@code JSONParser}.
  4. - *
  5. For each {@code tag} in the spec, emit a {@code Api.java} class - * under {@code } in {@code outputDirectory}.
  6. - *
  7. For each {@code operation} on a tag, emit a method with parameters - * mapped from {@code parameters} + {@code requestBody}.
  8. - *
  9. Use {@code Rest.(url) - * .queryParam(...).header(...).body(JSONWriter.toJson(...)) - * .fetchAsJsonMap(callback)} (or {@code fetchAsJsonList}, or - * {@code fetchAsMapped} once the binding framework lands) as the - * per-method body.
  10. - *
  11. For each {@code components/schemas} entry, emit a POJO under - * {@code .model} annotated with {@code @Mapped} + - * {@code @JsonProperty} fields (after the binding framework merge). - * Pre-merge: emit plain POJOs with hand-rolled {@code fromJson(Map)} - * static methods.
  12. - *
  13. Add the {@code outputDirectory} to the project's compile source - * roots so generated code is picked up by the compiler.
  14. - *
- * - *

Subset-compliance notes for the generator

- * - *
    - *
  • Generated method bodies use only the CN1 JDK subset -- no - * {@code java.net.http}, no {@code Optional}, no {@code Stream} - * beyond what {@code java-runtime} ships.
  • - *
  • Date/time fields use {@code com.codename1.l10n.SimpleDateFormat} - * for parse/format, not {@code java.text.SimpleDateFormat} (partial) - * or {@code java.time.format.DateTimeFormatter} (also partial).
  • - *
  • {@code File} upload / {@code multipart/form-data} request bodies - * use {@code MultipartRequest} from CN1 core.
  • - *
  • Authentication is parameterised: the generator emits methods that - * take an optional {@code String bearerToken} parameter and attach it - * as an {@code Authorization} header. OAuth flows are out of scope - * (use {@code OidcClient} directly).
  • - *
- * - *

Why this is a separate mojo, not a build extension

- * - * The mojo runs once at {@code generate-sources}; the output is regular - * Java that the standard compiler picks up. There is no need for a build - * extension because the generated code has no runtime support beyond - * what already ships in {@code codenameone-core}. - */ -@Mojo(name = "generate-openapi-client", - defaultPhase = LifecyclePhase.GENERATE_SOURCES, - requiresDependencyResolution = ResolutionScope.COMPILE, - threadSafe = true) -public class GenerateOpenApiClientMojo extends AbstractCN1Mojo { - - /// URL or local file path of the OpenAPI 3.x spec (JSON). - @Parameter(property = "cn1.openapi.spec", required = true) - private String openapiSpec; - - /// Base package for the generated client classes (e.g. - /// `com.example.api`). The Api classes go directly under this package; - /// schemas under `.model`. - @Parameter(property = "cn1.openapi.basePackage", required = true) - private String basePackage; - - /// Output directory for generated Java sources. Added to the project's - /// compile-source-roots so the generated files are picked up by the - /// compiler. - @Parameter(property = "cn1.openapi.outputDirectory", - defaultValue = "${project.build.directory}/generated-sources/openapi") - private java.io.File outputDirectory; - - /// When `true`, regenerate every file even if it exists. Default is to - /// skip files that haven't changed (by content hash) so the user can - /// edit generated code locally if they wish. - @Parameter(property = "cn1.openapi.overwrite", defaultValue = "true") - private boolean overwrite; - - @Override - protected void executeImpl() throws MojoExecutionException, MojoFailureException { - if (!outputDirectory.exists() && !outputDirectory.mkdirs()) { - throw new MojoExecutionException("Could not create output directory: " + outputDirectory); - } - java.util.Map spec; - try { - getLog().info("Loading OpenAPI spec from " + openapiSpec); - spec = OpenApiCodegen.loadSpec(openapiSpec); - } catch (Exception e) { - throw new MojoExecutionException( - "Failed to load OpenAPI spec from " + openapiSpec + ": " + e.getMessage(), e); - } - if (spec == null || spec.isEmpty()) { - throw new MojoExecutionException( - "OpenAPI spec parsed as empty/null. Is " + openapiSpec + " valid JSON?"); - } - try { - new OpenApiCodegen(outputDirectory, basePackage, getLog(), spec).generate(); - } catch (java.io.IOException e) { - throw new MojoExecutionException( - "OpenAPI codegen failed: " + e.getMessage(), e); - } - project.addCompileSourceRoot(outputDirectory.getAbsolutePath()); - } -} diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/OpenApiCodegen.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/OpenApiCodegen.java deleted file mode 100644 index 1a76888c8b..0000000000 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/OpenApiCodegen.java +++ /dev/null @@ -1,665 +0,0 @@ -/* - * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Codename One designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details. - */ -package com.codename1.maven; - -import com.codename1.io.JSONParser; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.UnsupportedEncodingException; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.TreeMap; - -/** - * Build-time OpenAPI 3.x -> Codename One Java client generator. - * - *

Input

- * - * An OpenAPI 3.x JSON document. YAML is not supported (avoid pulling SnakeYAML - * into the plugin's classpath); convert with {@code yq} or an online tool - * upstream. The spec may live at an {@code http://} / {@code https://} URL or - * on the local filesystem. - * - *

Output

- * - * Generated under the configured output directory: - * - *
    - *
  • {@code /model/.java} -- one POJO per - * {@code components.schemas} entry, annotated with {@code @Mapped} and - * {@code @JsonProperty} on each field. The generated POJOs work directly - * with {@code Rest.fetchAsMapped(...)} on the runtime side.
  • - *
  • {@code /Api.java} -- one Api class per OpenAPI tag, - * with one public method per operation tagged with that tag.
  • - *
- * - *

Method shape

- * - * Each generated method takes the path parameters first, then required query - * parameters, then the optional request body, then a {@code String bearerToken} - * (or {@code null} to skip the {@code Authorization} header), then an - * {@code OnComplete>} callback. The body is a single chained - * call to {@code Rest.(url)...fetchAsMapped(Type.class, callback)}. - * - *
{@code
- * // From the Petstore spec:
- * public void getPetById(long petId, String bearerToken, OnComplete> cb) {
- *     Rest.get(baseUrl + "/pet/" + petId)
- *         .acceptJson()
- *         .header("Authorization", bearerToken == null ? null : "Bearer " + bearerToken)
- *         .fetchAsMapped(Pet.class, cb);
- * }
- * }
- * - *

Scope (MVP)

- * - *
    - *
  • HTTP verbs: GET, POST, PUT, DELETE, PATCH.
  • - *
  • Parameter locations: path, query.
  • - *
  • Request bodies: {@code application/json} -> serialised via - * {@code Mappers.toJson(body)} before being passed to {@code Rest#body}.
  • - *
  • Schemas: plain object types with {@code properties}; {@code $ref} - * resolution; {@code array}/{@code integer}/{@code number}/{@code string}/ - * {@code boolean} primitives. {@code oneOf}/{@code anyOf}/{@code allOf} - * are flattened to {@code Object} (caller-cast) -- a richer follow-up - * can specialise these.
  • - *
  • Response types: the first JSON success response (2xx) wins; everything - * else gets a {@code Map} fallback.
  • - *
- * - * Header parameters, multipart upload, cookie params, file upload, security - * schemes beyond bearer-token, oneOf/anyOf are out of scope for this MVP and - * documented as deferred in {@code IMPROVEMENT_PLAN.md}. - */ -final class OpenApiCodegen { - - private final File outputDir; - private final String basePackage; - private final org.apache.maven.plugin.logging.Log log; - private final Map spec; - private final String modelPackage; - private final Map schemas; - - /** Tag -> list of operations associated with that tag. */ - private final Map> opsByTag = new TreeMap>(); - - OpenApiCodegen(File outputDir, String basePackage, - org.apache.maven.plugin.logging.Log log, Map spec) { - this.outputDir = outputDir; - this.basePackage = basePackage; - this.modelPackage = basePackage + ".model"; - this.log = log; - this.spec = spec; - Object components = spec.get("components"); - Object schemasObj = components instanceof Map ? ((Map) components).get("schemas") : null; - @SuppressWarnings("unchecked") - Map s = schemasObj instanceof Map ? (Map) schemasObj : Collections.emptyMap(); - this.schemas = s; - } - - /** Public entry point: parses spec into operations, then emits files. */ - void generate() throws IOException { - // Index every operation by tag. - Object pathsObj = spec.get("paths"); - if (!(pathsObj instanceof Map)) { - log.warn("OpenAPI spec has no `paths` -- nothing to generate."); - return; - } - @SuppressWarnings("unchecked") - Map paths = (Map) pathsObj; - for (Map.Entry e : paths.entrySet()) { - String path = e.getKey(); - if (!(e.getValue() instanceof Map)) continue; - @SuppressWarnings("unchecked") - Map pathItem = (Map) e.getValue(); - for (String verb : new String[]{"get", "post", "put", "delete", "patch"}) { - Object opObj = pathItem.get(verb); - if (!(opObj instanceof Map)) continue; - @SuppressWarnings("unchecked") - Map op = (Map) opObj; - OperationInfo info = buildOperation(verb, path, op, pathItem); - String tag = primaryTag(op); - List list = opsByTag.get(tag); - if (list == null) { - list = new ArrayList(); - opsByTag.put(tag, list); - } - list.add(info); - } - } - - // Emit models for every schema (whether referenced by an op or not). - File modelDir = new File(outputDir, modelPackage.replace('.', '/')); - modelDir.mkdirs(); - for (Map.Entry e : schemas.entrySet()) { - if (!(e.getValue() instanceof Map)) continue; - @SuppressWarnings("unchecked") - Map schema = (Map) e.getValue(); - emitModel(modelDir, e.getKey(), schema); - } - - // Emit one Api class per tag. - File apiDir = new File(outputDir, basePackage.replace('.', '/')); - apiDir.mkdirs(); - for (Map.Entry> e : opsByTag.entrySet()) { - emitApi(apiDir, e.getKey(), e.getValue()); - } - - log.info("Generated " + schemas.size() + " models and " - + opsByTag.size() + " Api classes under " + outputDir); - } - - // ---- parser / model ---- - - static final class OperationInfo { - final String verb; - final String path; - final String operationId; - final String summary; - final List pathParams = new ArrayList(); - final List queryParams = new ArrayList(); - boolean hasRequestBody; - String requestBodyType; // Java type, or "Map" for unrefed JSON - String responseType; // Java type, or "Map" for unrefed JSON - boolean responseIsList; - OperationInfo(String verb, String path) { this.verb = verb; this.path = path; this.operationId = null; this.summary = null; } - OperationInfo(String verb, String path, String operationId, String summary) { - this.verb = verb; this.path = path; this.operationId = operationId; this.summary = summary; - } - } - - static final class ParamInfo { - final String name; - final String javaType; - final boolean required; - ParamInfo(String name, String javaType, boolean required) { - this.name = name; this.javaType = javaType; this.required = required; - } - } - - private OperationInfo buildOperation(String verb, String path, - Map op, Map pathItem) { - String operationId = (String) op.get("operationId"); - if (operationId == null) { - operationId = synthesizeOperationId(verb, path); - } - String summary = (String) op.get("summary"); - OperationInfo info = new OperationInfo(verb, path, sanitizeIdentifier(operationId), summary); - - // Parameters: union of path-level params and operation-level params. - List combined = new ArrayList(); - Object pp = pathItem.get("parameters"); - if (pp instanceof List) combined.addAll((List) pp); - Object op2 = op.get("parameters"); - if (op2 instanceof List) combined.addAll((List) op2); - for (Object pObj : combined) { - if (!(pObj instanceof Map)) continue; - @SuppressWarnings("unchecked") - Map p = (Map) pObj; - Object resolved = resolveRef(p); - @SuppressWarnings("unchecked") - Map pr = (Map) resolved; - String in = (String) pr.get("in"); - String pname = (String) pr.get("name"); - boolean required = Boolean.TRUE.equals(pr.get("required")); - String javaType = paramTypeJava(pr); - ParamInfo pi = new ParamInfo(sanitizeIdentifier(pname), javaType, required); - if ("path".equals(in)) { - info.pathParams.add(pi); - } else if ("query".equals(in)) { - info.queryParams.add(pi); - } - // header / cookie params silently ignored in MVP - } - - // Request body: only application/json. If present, set the type. - Object rb = op.get("requestBody"); - if (rb instanceof Map) { - @SuppressWarnings("unchecked") - Map body = (Map) rb; - Object content = body.get("content"); - if (content instanceof Map) { - @SuppressWarnings("unchecked") - Map cmap = (Map) content; - Object jsonEntry = cmap.get("application/json"); - if (jsonEntry instanceof Map) { - @SuppressWarnings("unchecked") - Map je = (Map) jsonEntry; - Object schema = je.get("schema"); - info.hasRequestBody = true; - info.requestBodyType = schemaToJavaType(schema, /*listIsArrayList*/ true); - } - } - } - - // Response: pick the first 2xx with application/json. - Object responses = op.get("responses"); - info.responseType = "java.util.Map"; - if (responses instanceof Map) { - @SuppressWarnings("unchecked") - Map r = (Map) responses; - for (Map.Entry re : r.entrySet()) { - String code = re.getKey(); - if (code != null && code.startsWith("2") && re.getValue() instanceof Map) { - @SuppressWarnings("unchecked") - Map resp = (Map) re.getValue(); - Object content = resp.get("content"); - if (content instanceof Map) { - @SuppressWarnings("unchecked") - Map cmap = (Map) content; - Object jsonEntry = cmap.get("application/json"); - if (jsonEntry instanceof Map) { - @SuppressWarnings("unchecked") - Map je = (Map) jsonEntry; - Object schema = je.get("schema"); - if (schema instanceof Map) { - @SuppressWarnings("unchecked") - Map sm = (Map) schema; - if ("array".equals(sm.get("type"))) { - info.responseIsList = true; - info.responseType = schemaToJavaType(sm.get("items"), false); - } else { - info.responseType = schemaToJavaType(schema, false); - } - break; - } - } - } - } - } - } - return info; - } - - /// Resolves {@code $ref} pointers within the spec to their target object. - /// Only {@code #/components/...} refs are supported; external refs are - /// returned as-is and produce a {@code Map} typing fallback. - private Object resolveRef(Map maybeRef) { - Object ref = maybeRef.get("$ref"); - if (!(ref instanceof String)) return maybeRef; - String r = (String) ref; - if (!r.startsWith("#/")) return maybeRef; - String[] parts = r.substring(2).split("/"); - Object cur = spec; - for (String p : parts) { - if (cur instanceof Map) { - cur = ((Map) cur).get(p); - } else { - return maybeRef; - } - } - return cur instanceof Map ? cur : maybeRef; - } - - private String paramTypeJava(Map param) { - Object schema = param.get("schema"); - if (schema instanceof Map) return schemaToJavaType(schema, false); - return "String"; - } - - /// Maps an OpenAPI schema node to a Java type name suitable for use in - /// generated source. Composition keywords (allOf/oneOf/anyOf) collapse to - /// {@code Object} -- callers can cast. Unknown types become {@code String}. - @SuppressWarnings("unchecked") - String schemaToJavaType(Object schemaObj, boolean listIsArrayList) { - if (schemaObj == null) return "Object"; - if (!(schemaObj instanceof Map)) return "Object"; - Map schema = (Map) schemaObj; - // $ref short-circuit: resolve to a class name under modelPackage. - Object ref = schema.get("$ref"); - if (ref instanceof String) { - String r = (String) ref; - int slash = r.lastIndexOf('/'); - if (slash >= 0 && r.startsWith("#/components/schemas/")) { - String name = r.substring(slash + 1); - return modelPackage + "." + sanitizeClassName(name); - } - return "Object"; - } - Object type = schema.get("type"); - if (type instanceof String) { - String t = (String) type; - if ("integer".equals(t)) { - Object fmt = schema.get("format"); - if ("int64".equals(fmt)) return "long"; - return "int"; - } - if ("number".equals(t)) { - Object fmt = schema.get("format"); - if ("float".equals(fmt)) return "float"; - return "double"; - } - if ("boolean".equals(t)) return "boolean"; - if ("string".equals(t)) return "String"; - if ("array".equals(t)) { - String element = schemaToJavaType(schema.get("items"), false); - return "java.util.List<" + boxIfPrimitive(element) + ">"; - } - // "object" fallthrough to Map - return "java.util.Map"; - } - // Composition keywords: collapse to Object. - if (schema.containsKey("allOf") || schema.containsKey("oneOf") || schema.containsKey("anyOf")) { - return "Object"; - } - return "java.util.Map"; - } - - private String primaryTag(Map op) { - Object tags = op.get("tags"); - if (tags instanceof List && !((List) tags).isEmpty()) { - Object first = ((List) tags).get(0); - if (first instanceof String) return sanitizeClassName((String) first); - } - return "Default"; - } - - // ---- emit ---- - - private void emitModel(File dir, String name, Map schema) throws IOException { - String className = sanitizeClassName(name); - StringBuilder sb = new StringBuilder(); - sb.append("/* Generated by cn1:generate-openapi-client. DO NOT EDIT. */\n"); - sb.append("package ").append(modelPackage).append(";\n\n"); - sb.append("import com.codename1.annotations.JsonProperty;\n"); - sb.append("import com.codename1.annotations.Mapped;\n\n"); - sb.append("@Mapped\n"); - sb.append("public class ").append(className).append(" {\n"); - - Object propsObj = schema.get("properties"); - if (propsObj instanceof Map) { - @SuppressWarnings("unchecked") - Map props = (Map) propsObj; - for (Map.Entry e : props.entrySet()) { - String propName = e.getKey(); - String javaType = schemaToJavaType(e.getValue(), false); - String javaName = sanitizeIdentifier(propName); - sb.append(" @JsonProperty(\"").append(escapeJavaString(propName)).append("\")\n"); - sb.append(" public ").append(javaType).append(" ").append(javaName).append(";\n"); - } - } - - sb.append("}\n"); - writeFile(new File(dir, className + ".java"), sb.toString()); - } - - private void emitApi(File dir, String tag, List ops) throws IOException { - String className = sanitizeClassName(tag) + "Api"; - StringBuilder sb = new StringBuilder(); - sb.append("/* Generated by cn1:generate-openapi-client. DO NOT EDIT. */\n"); - sb.append("package ").append(basePackage).append(";\n\n"); - sb.append("import com.codename1.io.JSONWriter;\n"); - sb.append("import com.codename1.io.rest.Rest;\n"); - sb.append("import com.codename1.io.rest.RequestBuilder;\n"); - sb.append("import com.codename1.io.rest.Response;\n"); - sb.append("import com.codename1.util.OnComplete;\n\n"); - sb.append("public class ").append(className).append(" {\n"); - sb.append(" private final String baseUrl;\n\n"); - sb.append(" public ").append(className).append("(String baseUrl) {\n"); - sb.append(" this.baseUrl = stripTrailing(baseUrl);\n"); - sb.append(" }\n\n"); - - for (OperationInfo op : ops) { - emitOperationMethod(sb, op); - } - - // Footer helper. - sb.append(" private static String stripTrailing(String s) {\n"); - sb.append(" if (s == null) return \"\";\n"); - sb.append(" while (s.endsWith(\"/\")) { s = s.substring(0, s.length() - 1); }\n"); - sb.append(" return s;\n"); - sb.append(" }\n"); - sb.append("}\n"); - writeFile(new File(dir, className + ".java"), sb.toString()); - } - - private void emitOperationMethod(StringBuilder sb, OperationInfo op) { - String javaResponseType = op.responseIsList - ? "java.util.List<" + boxIfPrimitive(op.responseType) + ">" - : op.responseType; - - sb.append(" /// ").append(op.summary == null ? op.operationId : op.summary).append("\n"); - sb.append(" /// HTTP ").append(op.verb.toUpperCase(Locale.ROOT)).append(" ").append(op.path).append("\n"); - sb.append(" public void ").append(op.operationId).append("("); - boolean first = true; - for (ParamInfo p : op.pathParams) { - if (!first) sb.append(", "); - sb.append(p.javaType).append(" ").append(p.name); - first = false; - } - for (ParamInfo p : op.queryParams) { - if (!first) sb.append(", "); - sb.append(p.javaType).append(" ").append(p.name); - first = false; - } - if (op.hasRequestBody) { - if (!first) sb.append(", "); - sb.append(op.requestBodyType).append(" body"); - first = false; - } - if (!first) sb.append(", "); - sb.append("String bearerToken, OnComplete> callback) {\n"); - - // Build URL: substitute path params, then append query string. - sb.append(" String url = baseUrl + \"").append(interpolatePath(op.path, op.pathParams)).append("\";\n"); - sb.append(" RequestBuilder rb = Rest.").append(op.verb.toLowerCase(Locale.ROOT)).append("(url).acceptJson();\n"); - for (ParamInfo p : op.queryParams) { - sb.append(" if (").append(p.name).append(" != null) rb = rb.queryParam(\"") - .append(escapeJavaString(p.name)).append("\", String.valueOf(").append(p.name).append("));\n"); - } - sb.append(" if (bearerToken != null) rb = rb.header(\"Authorization\", \"Bearer \" + bearerToken);\n"); - if (op.hasRequestBody) { - sb.append(" rb = rb.header(\"Content-Type\", \"application/json\").jsonContent().body(\n"); - sb.append(" com.codename1.mapping.Mappers.toJson(body));\n"); - } - - // Fetch by shape. A response type is "mapped" (typed POJO) only - // when it resolves to a generated model class under modelPackage; - // primitive / Map / List responses go through the - // untyped fetchAsJsonMap / fetchAsJsonList path and the caller - // does its own un-marshaling. - boolean responseIsModel = op.responseType.startsWith(modelPackage + "."); - if (op.responseIsList) { - if (responseIsModel) { - sb.append(" rb.fetchAsMappedList(").append(op.responseType).append(".class, callback);\n"); - } else { - sb.append(" rb.fetchAsJsonList((OnComplete) callback);\n"); - } - } else if (responseIsModel) { - sb.append(" rb.fetchAsMapped(").append(op.responseType).append(".class, callback);\n"); - } else { - sb.append(" rb.fetchAsJsonMap((OnComplete) callback);\n"); - } - sb.append(" }\n\n"); - } - - private String interpolatePath(String path, List pathParams) { - // Replace {name} with a Java string-concat segment. - String out = path; - for (ParamInfo p : pathParams) { - String placeholder = "{" + originalNameFor(p.name, path) + "}"; - int idx = out.indexOf(placeholder); - if (idx < 0) continue; - String before = out.substring(0, idx); - String after = out.substring(idx + placeholder.length()); - out = before + "\" + " + p.name + " + \"" + after; - } - return out; - } - - /// Looks for the original (un-sanitized) parameter name in the path - /// placeholders. Path placeholders use the OpenAPI declared name which - /// is preserved verbatim; sanitizeIdentifier may have transformed the - /// Java identifier. - private String originalNameFor(String sanitizedName, String path) { - // Quick path: most OpenAPI parameter names are already Java-identifier-safe. - if (path.contains("{" + sanitizedName + "}")) return sanitizedName; - // Otherwise scan placeholders and pick the one whose sanitized form matches. - int i = 0; - while ((i = path.indexOf('{', i)) >= 0) { - int end = path.indexOf('}', i); - if (end < 0) break; - String inner = path.substring(i + 1, end); - if (sanitizeIdentifier(inner).equals(sanitizedName)) return inner; - i = end + 1; - } - return sanitizedName; - } - - // ---- name sanitization ---- - - /// Strips characters that would make a name invalid as a Java identifier, - /// upper-cases the first letter to match Java class-name convention. - static String sanitizeClassName(String s) { - StringBuilder sb = new StringBuilder(); - boolean upper = true; - for (int i = 0; i < s.length(); i++) { - char c = s.charAt(i); - if (c == '_' || c == '-' || c == ' ' || c == '.') { upper = true; continue; } - if (!Character.isJavaIdentifierPart(c)) continue; - if (sb.length() == 0 && !Character.isJavaIdentifierStart(c)) { - sb.append('_'); - } - sb.append(upper ? Character.toUpperCase(c) : c); - upper = false; - } - if (sb.length() == 0) return "Anonymous"; - return sb.toString(); - } - - static String sanitizeIdentifier(String s) { - StringBuilder sb = new StringBuilder(); - boolean upperNext = false; - for (int i = 0; i < s.length(); i++) { - char c = s.charAt(i); - if (c == '_' || c == '-' || c == ' ' || c == '.') { upperNext = true; continue; } - if (!Character.isJavaIdentifierPart(c)) continue; - if (sb.length() == 0 && !Character.isJavaIdentifierStart(c)) { - sb.append('_'); - } - sb.append(upperNext ? Character.toUpperCase(c) : c); - upperNext = false; - } - if (sb.length() == 0) return "anonymous"; - // Lowercase the first char (camelCase for methods/fields). - sb.setCharAt(0, Character.toLowerCase(sb.charAt(0))); - // Reserved-word collision: append underscore. - String word = sb.toString(); - if (isJavaReservedWord(word)) return word + "_"; - return word; - } - - private static boolean isJavaReservedWord(String s) { - return s.equals("abstract") || s.equals("assert") || s.equals("boolean") || s.equals("break") - || s.equals("byte") || s.equals("case") || s.equals("catch") || s.equals("char") - || s.equals("class") || s.equals("const") || s.equals("continue") || s.equals("default") - || s.equals("do") || s.equals("double") || s.equals("else") || s.equals("enum") - || s.equals("extends") || s.equals("final") || s.equals("finally") || s.equals("float") - || s.equals("for") || s.equals("goto") || s.equals("if") || s.equals("implements") - || s.equals("import") || s.equals("instanceof") || s.equals("int") || s.equals("interface") - || s.equals("long") || s.equals("native") || s.equals("new") || s.equals("null") - || s.equals("package") || s.equals("private") || s.equals("protected") || s.equals("public") - || s.equals("return") || s.equals("short") || s.equals("static") || s.equals("strictfp") - || s.equals("super") || s.equals("switch") || s.equals("synchronized") || s.equals("this") - || s.equals("throw") || s.equals("throws") || s.equals("transient") || s.equals("true") - || s.equals("false") || s.equals("try") || s.equals("void") || s.equals("volatile") - || s.equals("while") || s.equals("record"); - } - - private static String synthesizeOperationId(String verb, String path) { - StringBuilder sb = new StringBuilder(verb); - boolean upper = true; - for (int i = 0; i < path.length(); i++) { - char c = path.charAt(i); - if (c == '/' || c == '{' || c == '}' || c == '-' || c == '_') { upper = true; continue; } - if (!Character.isJavaIdentifierPart(c)) continue; - sb.append(upper ? Character.toUpperCase(c) : c); - upper = false; - } - return sb.toString(); - } - - /// Java requires reference types for type parameters (`List` is - /// illegal). Box primitive type names. - static String boxIfPrimitive(String type) { - if (type == null) return "Object"; - if (type.equals("int")) return "Integer"; - if (type.equals("long")) return "Long"; - if (type.equals("double")) return "Double"; - if (type.equals("float")) return "Float"; - if (type.equals("boolean")) return "Boolean"; - if (type.equals("byte")) return "Byte"; - if (type.equals("short")) return "Short"; - if (type.equals("char")) return "Character"; - return type; - } - - private static String escapeJavaString(String s) { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < s.length(); i++) { - char c = s.charAt(i); - if (c == '"' || c == '\\') sb.append('\\'); - sb.append(c); - } - return sb.toString(); - } - - private void writeFile(File f, String content) throws IOException { - FileOutputStream out = new FileOutputStream(f); - try { - out.write(content.getBytes(StandardCharsets.UTF_8)); - } finally { - out.close(); - } - } - - // ---- spec loading helpers (also used by the mojo) ---- - - /// Loads an OpenAPI spec from `specLocation`, which is either a URL - /// (http / https) or a local file path. Returns the parsed JSON - /// document as a Map. - static Map loadSpec(String specLocation) throws IOException { - Reader reader; - if (specLocation.startsWith("http://") || specLocation.startsWith("https://")) { - URL url = new URL(specLocation); - InputStream is = url.openStream(); - reader = new InputStreamReader(is, StandardCharsets.UTF_8); - } else { - File f = new File(specLocation); - if (!f.exists()) { - throw new IOException("OpenAPI spec not found: " + specLocation); - } - reader = Files.newBufferedReader(f.toPath(), StandardCharsets.UTF_8); - } - try { - return new JSONParser().parseJSON(reader); - } finally { - reader.close(); - } - } -} diff --git a/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/OpenApiCodegenTest.java b/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/OpenApiCodegenTest.java deleted file mode 100644 index ea9f0af9bd..0000000000 --- a/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/OpenApiCodegenTest.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.codename1.maven; - -import org.apache.maven.plugin.logging.SystemStreamLog; -import org.junit.jupiter.api.Test; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.Map; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertTrue; - -/** - * End-to-end coverage of {@link OpenApiCodegen} against a small inline OpenAPI - * spec resembling a Petstore-style API. The test asserts the generator emits - * the expected file set and that key marker strings (annotations, method - * signatures, return types) appear in the output. - * - *

This is an integration test in spirit -- not a pure unit test of - * sanitizer methods -- but it doesn't reach the network so it stays - * deterministic and runs in <100ms. - */ -class OpenApiCodegenTest { - - private static final String INLINE_SPEC = - "{" - + "\"openapi\":\"3.0.0\"," - + "\"info\":{\"title\":\"t\",\"version\":\"1.0\"}," - + "\"paths\":{" - + " \"/pet/{petId}\":{" - + " \"get\":{\"tags\":[\"pet\"],\"operationId\":\"getPetById\"," - + " \"parameters\":[{\"name\":\"petId\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"integer\",\"format\":\"int64\"}}]," - + " \"responses\":{\"200\":{\"description\":\"ok\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Pet\"}}}}}" - + " }," - + " \"delete\":{\"tags\":[\"pet\"],\"operationId\":\"deletePet\"," - + " \"parameters\":[{\"name\":\"petId\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"integer\",\"format\":\"int64\"}}]," - + " \"responses\":{\"200\":{\"description\":\"ok\"}}" - + " }" - + " }," - + " \"/pet\":{" - + " \"post\":{\"tags\":[\"pet\"],\"operationId\":\"addPet\"," - + " \"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Pet\"}}}}," - + " \"responses\":{\"200\":{\"description\":\"ok\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Pet\"}}}}}" - + " }" - + " }," - + " \"/pet/findByStatus\":{" - + " \"get\":{\"tags\":[\"pet\"],\"operationId\":\"findPetsByStatus\"," - + " \"parameters\":[{\"name\":\"status\",\"in\":\"query\",\"schema\":{\"type\":\"string\"}}]," - + " \"responses\":{\"200\":{\"description\":\"ok\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Pet\"}}}}}}" - + " }" - + " }" - + "}," - + "\"components\":{\"schemas\":{" - + " \"Pet\":{\"type\":\"object\",\"properties\":{" - + " \"id\":{\"type\":\"integer\",\"format\":\"int64\"}," - + " \"name\":{\"type\":\"string\"}," - + " \"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}" - + " }}," - + " \"Tag\":{\"type\":\"object\",\"properties\":{" - + " \"id\":{\"type\":\"integer\",\"format\":\"int64\"}," - + " \"name\":{\"type\":\"string\"}" - + " }}" - + "}}}"; - - @Test - void emitsExpectedFiles() throws Exception { - File specFile = File.createTempFile("openapi-spec-", ".json"); - try (FileOutputStream out = new FileOutputStream(specFile)) { - out.write(INLINE_SPEC.getBytes(StandardCharsets.UTF_8)); - } - - File outDir = Files.createTempDirectory("cn1-openapi-codegen").toFile(); - try { - Map spec = OpenApiCodegen.loadSpec(specFile.getAbsolutePath()); - assertNotNull(spec, "spec parses to non-null Map"); - new OpenApiCodegen(outDir, "com.example.api", new SystemStreamLog(), spec).generate(); - - // Models - File petModel = new File(outDir, "com/example/api/model/Pet.java"); - File tagModel = new File(outDir, "com/example/api/model/Tag.java"); - assertTrue(petModel.exists(), "Pet model emitted"); - assertTrue(tagModel.exists(), "Tag model emitted"); - - String petContent = new String(Files.readAllBytes(petModel.toPath()), StandardCharsets.UTF_8); - assertTrue(petContent.contains("@Mapped"), "Pet POJO carries @Mapped"); - assertTrue(petContent.contains("@JsonProperty(\"id\")"), "Pet#id has @JsonProperty(\"id\")"); - assertTrue(petContent.contains("public long id"), "Pet#id is a long (int64)"); - assertTrue(petContent.contains("public String name"), - "Pet#name is a String. got:\n" + petContent); - assertTrue(petContent.contains("java.util.List"), - "Pet#tags is a List. got:\n" + petContent); - - // Api class - File petApi = new File(outDir, "com/example/api/PetApi.java"); - assertTrue(petApi.exists(), "PetApi emitted"); - String petApiContent = new String(Files.readAllBytes(petApi.toPath()), StandardCharsets.UTF_8); - assertTrue(petApiContent.contains("public void getPetById(long petId,"), - "getPetById takes long petId. got:\n" + petApiContent); - assertTrue(petApiContent.contains("Rest.get(url)"), - "GET endpoint generates Rest.get. got:\n" + petApiContent); - assertTrue(petApiContent.contains(".fetchAsMapped(com.example.api.model.Pet.class,"), - "getPetById returns mapped Pet. got:\n" + petApiContent); - assertTrue(petApiContent.contains("public void deletePet(long petId,"), - "deletePet emitted. got:\n" + petApiContent); - assertTrue(petApiContent.contains("Rest.delete(url)"), - "DELETE endpoint generates Rest.delete. got:\n" + petApiContent); - assertTrue(petApiContent.contains("public void addPet(com.example.api.model.Pet body,"), - "addPet body is typed Pet. got:\n" + petApiContent); - assertTrue(petApiContent.contains("Rest.post(url)"), - "POST endpoint generates Rest.post. got:\n" + petApiContent); - assertTrue(petApiContent.contains(".fetchAsMappedList(com.example.api.model.Pet.class,"), - "findPetsByStatus returns mapped list. got:\n" + petApiContent); - assertTrue(petApiContent.contains("if (status != null) rb = rb.queryParam(\"status\","), - "Optional query param wired as queryParam. got:\n" + petApiContent); - assertTrue(petApiContent.contains("if (bearerToken != null)"), - "Bearer token plumbing present. got:\n" + petApiContent); - assertTrue(petApiContent.contains("baseUrl + \"/pet/\" + petId + \"\""), - "Path param interpolated into URL. got:\n" + petApiContent); - } finally { - // Cleanup - specFile.delete(); - } - } - - /// If a saved Swagger Petstore spec is on disk at `/tmp/petstore.json`, - /// drive the generator end-to-end. The test asserts the generator - /// produces the expected Api classes (PetApi, StoreApi, UserApi) and - /// the expected model count -- catching real-world spec patterns - /// (operationId fallbacks, multi-tag operations, $ref-in-array - /// schemas) that the inline-spec test doesn't exercise. - /// - /// Skipped when the file isn't present so the test suite stays - /// hermetic. - @Test - void generatesPetstoreClient() throws Exception { - File petstoreSpec = new File("/tmp/petstore.json"); - if (!petstoreSpec.exists()) { - System.out.println("petstore.json not present; skipping. " - + "To run: curl -sS https://petstore3.swagger.io/api/v3/openapi.json > /tmp/petstore.json"); - return; - } - File outDir = Files.createTempDirectory("cn1-openapi-petstore").toFile(); - Map spec = OpenApiCodegen.loadSpec(petstoreSpec.getAbsolutePath()); - new OpenApiCodegen(outDir, "com.petstore.api", new SystemStreamLog(), spec).generate(); - - File petApi = new File(outDir, "com/petstore/api/PetApi.java"); - File storeApi = new File(outDir, "com/petstore/api/StoreApi.java"); - File userApi = new File(outDir, "com/petstore/api/UserApi.java"); - assertTrue(petApi.exists(), "PetApi emitted from real Petstore spec"); - assertTrue(storeApi.exists(), "StoreApi emitted"); - assertTrue(userApi.exists(), "UserApi emitted"); - - File petModel = new File(outDir, "com/petstore/api/model/Pet.java"); - File orderModel = new File(outDir, "com/petstore/api/model/Order.java"); - File userModel = new File(outDir, "com/petstore/api/model/User.java"); - assertTrue(petModel.exists(), "Pet model emitted"); - assertTrue(orderModel.exists(), "Order model emitted"); - assertTrue(userModel.exists(), "User model emitted"); - - String petContent = new String(Files.readAllBytes(petModel.toPath()), StandardCharsets.UTF_8); - assertTrue(petContent.contains("public long id"), "Pet#id is long (int64). got:\n" + petContent); - assertTrue(petContent.contains("public java.util.List photoUrls"), - "Pet#photoUrls is List. got:\n" + petContent); - - String petApiContent = new String(Files.readAllBytes(petApi.toPath()), StandardCharsets.UTF_8); - // The Petstore has findPetsByStatus returning a List; verify list path. - assertTrue(petApiContent.contains("fetchAsMappedList(com.petstore.api.model.Pet.class"), - "findPetsByStatus uses fetchAsMappedList. PetApi content:\n" + petApiContent); - } - - @Test - void sanitizesIdentifiers() { - assertEquals("getPetById", OpenApiCodegen.sanitizeIdentifier("getPetById")); - assertEquals("xRateLimit", OpenApiCodegen.sanitizeIdentifier("X-Rate-Limit")); - assertEquals("class_", OpenApiCodegen.sanitizeIdentifier("class")); - assertEquals("_123foo", OpenApiCodegen.sanitizeIdentifier("123foo")); - } - - @Test - void sanitizesClassNames() { - assertEquals("Pet", OpenApiCodegen.sanitizeClassName("pet")); - assertEquals("OrderItem", OpenApiCodegen.sanitizeClassName("order_item")); - assertEquals("HttpClient", OpenApiCodegen.sanitizeClassName("http-client")); - } -} diff --git a/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md b/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md index 9fe3199d9c..c1fccc28b6 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md +++ b/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md @@ -53,14 +53,13 @@ mvn -pl common compile # (one per platform under android/, ios/, javase/, javascript/). mvn -pl common cn1:generate-native-interfaces -# Generate a typed REST client from an OpenAPI 3.x spec. Emits @Mapped POJOs -# under common/target/generated-sources/openapi//model/ and one -# Api.java per OpenAPI tag. Hooks into the generate-sources phase when -# wired as an execution in common/pom.xml (see references/java-api-subset.md -# "Typed responses"). -mvn -pl common cn1:generate-openapi-client \ - -Dcn1.openapi.spec=https://petstore3.swagger.io/api/v3/openapi.json \ - -Dcn1.openapi.basePackage=com.example.petstore +# Generate a typed REST client from an OpenAPI 3.x spec. Writes +# `@Mapped` records (Java 17+) or classes (Java 8) per schema plus one +# `@RestClient`-annotated interface per OpenAPI tag into common/src/main/java +# at . The annotation processors run during the next compile +# and emit the wire impls into common/target/generated-sources -- the +# project source stays clean. +mvn -pl common cn1:generate-openapi petstore.json com.example.petstore # --- Cloud builds (need a Codename One account; some need Enterprise tier) --- diff --git a/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md b/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md index 32f91c4587..f897d20523 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md +++ b/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md @@ -361,7 +361,7 @@ Rest.get(baseUrl + "/albums") If no `Mapper` is registered for `Class` (typical cause: the class isn't `@Mapped`, or the `process-annotations` Mojo didn't run), the callback completes with `null` data and a normal response code — inspect `response.getResponseCode()` to differentiate "server error" from "no mapper registered". -For **bulk REST clients** (an existing OpenAPI 3.x spec, dozens of endpoints), use the `cn1:generate-openapi-client` Maven goal — it emits one `Api.java` per OpenAPI tag plus `@Mapped` POJOs for every schema. See `references/build-and-run.md` and the developer guide's Maven goals appendix. +For **bulk REST clients** (an existing OpenAPI 3.x spec, dozens of endpoints), use the `cn1:generate-openapi` Maven goal — it emits `@Mapped` records / classes per schema and one `@RestClient`-annotated interface per OpenAPI tag into `common/src/main/java`. The annotation processors run on the next compile and write the wire impls into generated-sources, so the implementation isn't part of the project source. Call sites instantiate via the generated `Api.of(baseUrl)` static factory. ### Writing JSON — `JSONWriter` From d1358bc5f47df873afb6f6f49ab829a1f211f0fe Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 18:46:46 +0300 Subject: [PATCH 18/30] OpenAPI redesign phase 4: Java records support for @Mapped AnnotatedClass.isRecord() reads the ACC_RECORD bit from the class file's access flags (inlined constant for ASM-version safety). MappingAnnotationProcessor: - For records, skip the concrete-class / public-no-arg-ctor checks and walk non-public component fields (record components are private final but carry component names). - Reject Property / ListProperty components on records -- they imply mutation and records are immutable. - emit* helpers thread `isRecord` so reads go through `o.name()` accessors and writes target local variables `_name` instead of `o.name` field assignment. - For records, `fromMap` and `readXml` declare per-component locals with kind-appropriate defaults, populate them, and return via the canonical constructor `new T(_a, _b, ...)` in bytecode declaration order (= canonical-ctor parameter order). RecordMappingTest exercises a Pet record end-to-end on JDK 17; skipped on JDK 8. POJO regression tests remain green. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../maven/annotations/AnnotatedClass.java | 7 + .../MappingAnnotationProcessor.java | 357 ++++++++++++------ .../maven/processors/RecordMappingTest.java | 176 +++++++++ 3 files changed, 435 insertions(+), 105 deletions(-) create mode 100644 maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/RecordMappingTest.java diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/AnnotatedClass.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/AnnotatedClass.java index 7bdcc253c3..c3503759da 100644 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/AnnotatedClass.java +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/AnnotatedClass.java @@ -90,6 +90,13 @@ public final class AnnotatedClass { public boolean isPublic() { return (access & Opcodes.ACC_PUBLIC) != 0; } public boolean isSynthetic() { return (access & Opcodes.ACC_SYNTHETIC) != 0; } + /// `true` when the class file's `ACC_RECORD` flag is set (Java 16+ record). + /// Inlined as a constant so this code keeps compiling against ASM versions + /// that predate `Opcodes.ACC_RECORD`. + public boolean isRecord() { return (access & ACC_RECORD) != 0; } + + private static final int ACC_RECORD = 0x10000; + /// Class-level annotations, keyed by JVM descriptor. public Map getClassAnnotations() { return annotations; } diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java index 3e056c4afa..9e596d1b7b 100644 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java @@ -98,12 +98,13 @@ public void start(ProcessorContext ctx) throws ProcessingException { public void processClass(AnnotatedClass cls, ProcessorContext ctx) throws ProcessingException { if (cls.isSynthetic()) return; if (cls.getClassAnnotation(MAPPED_DESC) == null) return; - if (cls.isAbstract() || cls.isInterface()) { + boolean isRecord = cls.isRecord(); + if (!isRecord && (cls.isAbstract() || cls.isInterface())) { ctx.error(cls, "@Mapped requires a concrete class; " + cls.getBinaryName() + " is abstract or an interface"); return; } - if (!hasPublicNoArgConstructor(cls)) { + if (!isRecord && !hasPublicNoArgConstructor(cls)) { ctx.error(cls, "@Mapped class " + cls.getBinaryName() + " must declare a public no-arg constructor for fromJson / fromXml"); return; @@ -117,6 +118,7 @@ public void processClass(AnnotatedClass cls, ProcessorContext ctx) throws Proces mc.mapperBinaryName = (mc.packageName.length() == 0) ? mc.mapperSimpleName : mc.packageName + "." + mc.mapperSimpleName; + mc.isRecord = isRecord; AnnotationValues xmlRoot = cls.getClassAnnotation(XML_ROOT_DESC); if (xmlRoot != null) { @@ -129,13 +131,24 @@ public void processClass(AnnotatedClass cls, ProcessorContext ctx) throws Proces for (FieldInfo f : cls.getFields()) { if (f.isStatic()) continue; if (f.getName().startsWith("this$")) continue; // inner-class outer ref - if (!f.isPublic()) { - // Skip silently. JavaBeans-style accessors are a v2 enhancement. + if (!isRecord && !f.isPublic()) { + // POJO requires public fields; records have private final + // component fields and we walk them all (the accessor + // methods carry the same names). continue; } MappedField mf = new MappedField(); mf.name = f.getName(); mf.kind = PropertyTypeKind.of(f); + if (isRecord) { + if (mf.kind.kind == PropertyTypeKind.Kind.PROPERTY + || mf.kind.kind == PropertyTypeKind.Kind.LIST_PROPERTY) { + ctx.error(cls, "@Mapped record " + mc.binaryName + + " cannot use Property / ListProperty for component " + + mf.name + " -- records are immutable"); + continue; + } + } mf.jsonName = mf.name; mf.xmlName = mf.name; mf.xmlAttribute = false; @@ -210,6 +223,64 @@ public void finish(ProcessorContext ctx) throws ProcessingException { // Source generation // --------------------------------------------------------------- + /// Returns the Java expression that reads the field's current value + /// from the runtime instance `o`. POJOs use direct field access + /// (`o.name`); records use the synthesised accessor (`o.name()`). + private static String readExpr(MappedField f, boolean isRecord) { + return isRecord ? "o." + f.name + "()" : "o." + f.name; + } + + /// Returns the Java assignment target used to store a deserialised + /// value. POJOs write the field directly (`o.name`); records can't + /// mutate after construction, so we accumulate in a local of the + /// form `_name` and later pass them to the canonical constructor. + private static String writeTarget(MappedField f, boolean isRecord) { + return isRecord ? "_" + f.name : "o." + f.name; + } + + /// The literal Java initializer for a freshly-declared local of the + /// given kind -- used when seeding the per-component locals that + /// feed a record's canonical constructor. + private static String defaultLiteral(PropertyTypeKind k) { + switch (k.kind) { + case INT: case SHORT: case BYTE: case CHAR: return "0"; + case LONG: return "0L"; + case DOUBLE: return "0.0"; + case FLOAT: return "0.0f"; + case BOOLEAN: return "false"; + default: return "null"; + } + } + + /// The Java type literal used to declare a local variable carrying + /// the field's value (records-only: the locals are later fed to the + /// canonical constructor in declaration order). + private static String fieldType(MappedField f) { + switch (f.kind.kind) { + case STRING: return "String"; + case INT: return "int"; + case LONG: return "long"; + case SHORT: return "short"; + case BYTE: return "byte"; + case CHAR: return "char"; + case DOUBLE: return "double"; + case FLOAT: return "float"; + case BOOLEAN: return "boolean"; + case DATE: return "java.util.Date"; + case BYTE_ARRAY: return "byte[]"; + case REFERENCE: return f.kind.binaryName; + case LIST: return "java.util.List<" + f.kind.elementBinaryName + ">"; + // PROPERTY / LIST_PROPERTY are rejected upstream for records; + // include a safe fallback so the helper can't NPE if it's ever + // reached from a non-record path. + case PROPERTY: + case LIST_PROPERTY: + return f.kind.binaryName; + default: + return "Object"; + } + } + private static String generateMapperSource(MappedClass mc) { StringBuilder sb = new StringBuilder(2048); if (mc.packageName.length() > 0) { @@ -241,27 +312,48 @@ private static String generateMapperSource(MappedClass mc) { sb.append(" return \"").append(escape(mc.xmlRootName)).append("\";\n"); sb.append(" }\n\n"); - // toMap() + boolean isRecord = mc.isRecord; + + // toMap() -- reads are identical in shape regardless of record-ness; + // `readExpr` picks between `o.name` (POJO) and `o.name()` (record). sb.append(" public java.util.Map toMap(").append(mc.binaryName).append(" o) {\n"); sb.append(" java.util.LinkedHashMap m = new java.util.LinkedHashMap();\n"); sb.append(" if (o == null) return m;\n"); for (MappedField f : mc.fields) { if (!f.includeInJson) continue; - emitFieldToMap(sb, f); + emitFieldToMap(sb, f, isRecord); } sb.append(" return m;\n"); sb.append(" }\n\n"); - // fromMap() + // fromMap() -- POJO mutates an instance in-place; record accumulates + // per-component locals and feeds them to the canonical constructor. sb.append(" public ").append(mc.binaryName) .append(" fromMap(java.util.Map m) {\n"); - sb.append(" ").append(mc.binaryName).append(" o = new ").append(mc.binaryName).append("();\n"); - sb.append(" if (m == null) return o;\n"); - for (MappedField f : mc.fields) { - if (!f.includeInJson) continue; - emitFieldFromMap(sb, f); + if (isRecord) { + for (MappedField f : mc.fields) { + sb.append(" ").append(fieldType(f)).append(" _") + .append(f.name).append(" = ").append(defaultLiteral(f.kind)).append(";\n"); + } + sb.append(" if (m == null) return "); + appendRecordCtorCall(sb, mc); + sb.append(";\n"); + for (MappedField f : mc.fields) { + if (!f.includeInJson) continue; + emitFieldFromMap(sb, f, true); + } + sb.append(" return "); + appendRecordCtorCall(sb, mc); + sb.append(";\n"); + } else { + sb.append(" ").append(mc.binaryName).append(" o = new ").append(mc.binaryName).append("();\n"); + sb.append(" if (m == null) return o;\n"); + for (MappedField f : mc.fields) { + if (!f.includeInJson) continue; + emitFieldFromMap(sb, f, false); + } + sb.append(" return o;\n"); } - sb.append(" return o;\n"); sb.append(" }\n\n"); // writeXml() @@ -270,20 +362,37 @@ private static String generateMapperSource(MappedClass mc) { sb.append(" if (o == null) return;\n"); for (MappedField f : mc.fields) { if (!f.includeInXml) continue; - emitFieldToXml(sb, f); + emitFieldToXml(sb, f, isRecord); } sb.append(" }\n\n"); - // readXml() + // readXml() -- same fork as fromMap. sb.append(" public ").append(mc.binaryName) .append(" readXml(com.codename1.xml.Element root) {\n"); - sb.append(" ").append(mc.binaryName).append(" o = new ").append(mc.binaryName).append("();\n"); - sb.append(" if (root == null) return o;\n"); - for (MappedField f : mc.fields) { - if (!f.includeInXml) continue; - emitFieldFromXml(sb, f); + if (isRecord) { + for (MappedField f : mc.fields) { + sb.append(" ").append(fieldType(f)).append(" _") + .append(f.name).append(" = ").append(defaultLiteral(f.kind)).append(";\n"); + } + sb.append(" if (root == null) return "); + appendRecordCtorCall(sb, mc); + sb.append(";\n"); + for (MappedField f : mc.fields) { + if (!f.includeInXml) continue; + emitFieldFromXml(sb, f, true); + } + sb.append(" return "); + appendRecordCtorCall(sb, mc); + sb.append(";\n"); + } else { + sb.append(" ").append(mc.binaryName).append(" o = new ").append(mc.binaryName).append("();\n"); + sb.append(" if (root == null) return o;\n"); + for (MappedField f : mc.fields) { + if (!f.includeInXml) continue; + emitFieldFromXml(sb, f, false); + } + sb.append(" return o;\n"); } - sb.append(" return o;\n"); sb.append(" }\n\n"); // textOf helper -- inlined per-mapper to keep each generated class @@ -303,6 +412,22 @@ private static String generateMapperSource(MappedClass mc) { return sb.toString(); } + /// Appends `new pkg.Type(_a, _b, ...)` to `sb`, where the args are the + /// per-component locals declared at the top of a record `fromMap` / + /// `readXml`. Order tracks `mc.fields` which is the class-file + /// declaration order, identical to the canonical constructor's + /// parameter order. + private static void appendRecordCtorCall(StringBuilder sb, MappedClass mc) { + sb.append("new ").append(mc.binaryName).append("("); + boolean first = true; + for (MappedField f : mc.fields) { + if (!first) sb.append(", "); + sb.append("_").append(f.name); + first = false; + } + sb.append(")"); + } + private static String generateBootstrapSource(Iterable classes) { StringBuilder sb = new StringBuilder(1024); sb.append("package ").append(BOOTSTRAP_PACKAGE).append(";\n\n"); @@ -333,31 +458,32 @@ private static String packageOf(String binary) { // toMap field-emit helpers // --------------------------------------------------------------- - private static void emitFieldToMap(StringBuilder sb, MappedField f) { + private static void emitFieldToMap(StringBuilder sb, MappedField f, boolean isRecord) { String key = "\"" + escape(f.jsonName) + "\""; + String read = readExpr(f, isRecord); switch (f.kind.kind) { case STRING: case INT: case LONG: case SHORT: case BYTE: case CHAR: case DOUBLE: case FLOAT: case BOOLEAN: - sb.append(" m.put(").append(key).append(", o.").append(f.name).append(");\n"); + sb.append(" m.put(").append(key).append(", ").append(read).append(");\n"); return; case DATE: - sb.append(" m.put(").append(key).append(", o.").append(f.name) - .append(" == null ? null : Long.valueOf(o.").append(f.name).append(".getTime()));\n"); + sb.append(" m.put(").append(key).append(", ").append(read) + .append(" == null ? null : Long.valueOf(").append(read).append(".getTime()));\n"); return; case BYTE_ARRAY: - sb.append(" m.put(").append(key).append(", o.").append(f.name) - .append(" == null ? null : com.codename1.util.Base64.encode(o.").append(f.name).append("));\n"); + sb.append(" m.put(").append(key).append(", ").append(read) + .append(" == null ? null : com.codename1.util.Base64.encode(").append(read).append("));\n"); return; case PROPERTY: - sb.append(" m.put(").append(key).append(", o.").append(f.name).append(".get());\n"); + sb.append(" m.put(").append(key).append(", ").append(read).append(".get());\n"); return; case LIST: case LIST_PROPERTY: sb.append(" {\n"); sb.append(" java.util.ArrayList _l = new java.util.ArrayList();\n"); if (f.kind.kind == PropertyTypeKind.Kind.LIST) { - sb.append(" java.util.List _src = o.").append(f.name).append(";\n"); + sb.append(" java.util.List _src = ").append(read).append(";\n"); } else { - sb.append(" java.util.List _src = o.").append(f.name).append(".asList();\n"); + sb.append(" java.util.List _src = ").append(read).append(".asList();\n"); } sb.append(" if (_src != null) {\n"); sb.append(" for (Object _e : _src) {\n"); @@ -376,7 +502,7 @@ private static void emitFieldToMap(StringBuilder sb, MappedField f) { return; case REFERENCE: sb.append(" {\n"); - sb.append(" Object _v = o.").append(f.name).append(";\n"); + sb.append(" Object _v = ").append(read).append(";\n"); sb.append(" if (_v == null) { m.put(").append(key).append(", null); }\n"); sb.append(" else {\n"); sb.append(" com.codename1.mapping.Mapper _nm = com.codename1.mapping.Mappers.get(").append(f.kind.binaryName).append(".class);\n"); @@ -393,73 +519,78 @@ private static void emitFieldToMap(StringBuilder sb, MappedField f) { // fromMap field-emit helpers // --------------------------------------------------------------- - private static void emitFieldFromMap(StringBuilder sb, MappedField f) { + private static void emitFieldFromMap(StringBuilder sb, MappedField f, boolean isRecord) { String key = "\"" + escape(f.jsonName) + "\""; + String target = writeTarget(f, isRecord); sb.append(" {\n"); sb.append(" Object _v = m.get(").append(key).append(");\n"); sb.append(" if (_v != null) {\n"); switch (f.kind.kind) { case STRING: - sb.append(" o.").append(f.name).append(" = _v.toString();\n"); + sb.append(" ").append(target).append(" = _v.toString();\n"); break; case INT: - sb.append(" o.").append(f.name).append(" = ((Number) _v).intValue();\n"); + sb.append(" ").append(target).append(" = ((Number) _v).intValue();\n"); break; case LONG: - sb.append(" o.").append(f.name).append(" = ((Number) _v).longValue();\n"); + sb.append(" ").append(target).append(" = ((Number) _v).longValue();\n"); break; case SHORT: - sb.append(" o.").append(f.name).append(" = ((Number) _v).shortValue();\n"); + sb.append(" ").append(target).append(" = ((Number) _v).shortValue();\n"); break; case BYTE: - sb.append(" o.").append(f.name).append(" = ((Number) _v).byteValue();\n"); + sb.append(" ").append(target).append(" = ((Number) _v).byteValue();\n"); break; case CHAR: - sb.append(" o.").append(f.name).append(" = _v.toString().length() == 0 ? '\\0' : _v.toString().charAt(0);\n"); + sb.append(" ").append(target).append(" = _v.toString().length() == 0 ? '\\0' : _v.toString().charAt(0);\n"); break; case DOUBLE: - sb.append(" o.").append(f.name).append(" = ((Number) _v).doubleValue();\n"); + sb.append(" ").append(target).append(" = ((Number) _v).doubleValue();\n"); break; case FLOAT: - sb.append(" o.").append(f.name).append(" = ((Number) _v).floatValue();\n"); + sb.append(" ").append(target).append(" = ((Number) _v).floatValue();\n"); break; case BOOLEAN: - sb.append(" o.").append(f.name).append(" = (_v instanceof Boolean) ? ((Boolean) _v).booleanValue() : Boolean.parseBoolean(_v.toString());\n"); + sb.append(" ").append(target).append(" = (_v instanceof Boolean) ? ((Boolean) _v).booleanValue() : Boolean.parseBoolean(_v.toString());\n"); break; case DATE: - sb.append(" o.").append(f.name).append(" = new java.util.Date(((Number) _v).longValue());\n"); + sb.append(" ").append(target).append(" = new java.util.Date(((Number) _v).longValue());\n"); break; case BYTE_ARRAY: - sb.append(" o.").append(f.name).append(" = com.codename1.util.Base64.decode(_v.toString().getBytes());\n"); + sb.append(" ").append(target).append(" = com.codename1.util.Base64.decode(_v.toString().getBytes());\n"); break; case PROPERTY: - emitPropertySetFromJsonValue(sb, f); + emitPropertySetFromJsonValue(sb, f, isRecord); break; case REFERENCE: sb.append(" com.codename1.mapping.Mapper _nm = com.codename1.mapping.Mappers.get(").append(f.kind.binaryName).append(".class);\n"); sb.append(" if (_nm != null && _v instanceof java.util.Map) {\n"); - sb.append(" o.").append(f.name).append(" = (").append(f.kind.binaryName).append(") _nm.fromMap((java.util.Map) _v);\n"); + sb.append(" ").append(target).append(" = (").append(f.kind.binaryName).append(") _nm.fromMap((java.util.Map) _v);\n"); sb.append(" }\n"); break; case LIST: case LIST_PROPERTY: + // LIST_PROPERTY mutates o.field.clear()/add(...) -- safe for + // POJO path only (records reject LIST_PROPERTY upstream). For + // a record's LIST we materialize a local _l and assign it to + // the per-component local that later feeds the canonical ctor. sb.append(" if (_v instanceof java.util.List) {\n"); if (isScalarBinary(f.kind.elementBinaryName)) { if (f.kind.kind == PropertyTypeKind.Kind.LIST) { sb.append(" java.util.ArrayList<").append(f.kind.elementBinaryName).append("> _l = new java.util.ArrayList<").append(f.kind.elementBinaryName).append(">();\n"); sb.append(" for (Object _e : (java.util.List) _v) { _l.add((").append(f.kind.elementBinaryName).append(") _e); }\n"); - sb.append(" o.").append(f.name).append(" = _l;\n"); + sb.append(" ").append(target).append(" = _l;\n"); } else { - sb.append(" o.").append(f.name).append(".clear();\n"); - sb.append(" for (Object _e : (java.util.List) _v) { o.").append(f.name).append(".add((").append(f.kind.elementBinaryName).append(") _e); }\n"); + sb.append(" ").append(readExpr(f, isRecord)).append(".clear();\n"); + sb.append(" for (Object _e : (java.util.List) _v) { ").append(readExpr(f, isRecord)).append(".add((").append(f.kind.elementBinaryName).append(") _e); }\n"); } } else if ("java.util.Date".equals(f.kind.elementBinaryName)) { if (f.kind.kind == PropertyTypeKind.Kind.LIST) { sb.append(" java.util.ArrayList _l = new java.util.ArrayList();\n"); sb.append(" for (Object _e : (java.util.List) _v) { _l.add(_e == null ? null : new java.util.Date(((Number) _e).longValue())); }\n"); - sb.append(" o.").append(f.name).append(" = _l;\n"); + sb.append(" ").append(target).append(" = _l;\n"); } else { - sb.append(" o.").append(f.name).append(".clear();\n"); - sb.append(" for (Object _e : (java.util.List) _v) { o.").append(f.name).append(".add(_e == null ? null : new java.util.Date(((Number) _e).longValue())); }\n"); + sb.append(" ").append(readExpr(f, isRecord)).append(".clear();\n"); + sb.append(" for (Object _e : (java.util.List) _v) { ").append(readExpr(f, isRecord)).append(".add(_e == null ? null : new java.util.Date(((Number) _e).longValue())); }\n"); } } else { sb.append(" com.codename1.mapping.Mapper _nm = com.codename1.mapping.Mappers.get(").append(f.kind.elementBinaryName).append(".class);\n"); @@ -468,11 +599,11 @@ private static void emitFieldFromMap(StringBuilder sb, MappedField f) { sb.append(" for (Object _e : (java.util.List) _v) {\n"); sb.append(" if (_nm != null && _e instanceof java.util.Map) { _l.add((").append(f.kind.elementBinaryName).append(") _nm.fromMap((java.util.Map) _e)); }\n"); sb.append(" }\n"); - sb.append(" o.").append(f.name).append(" = _l;\n"); + sb.append(" ").append(target).append(" = _l;\n"); } else { - sb.append(" o.").append(f.name).append(".clear();\n"); + sb.append(" ").append(readExpr(f, isRecord)).append(".clear();\n"); sb.append(" for (Object _e : (java.util.List) _v) {\n"); - sb.append(" if (_nm != null && _e instanceof java.util.Map) { o.").append(f.name).append(".add((").append(f.kind.elementBinaryName).append(") _nm.fromMap((java.util.Map) _e)); }\n"); + sb.append(" if (_nm != null && _e instanceof java.util.Map) { ").append(readExpr(f, isRecord)).append(".add((").append(f.kind.elementBinaryName).append(") _nm.fromMap((java.util.Map) _e)); }\n"); sb.append(" }\n"); } } @@ -485,27 +616,31 @@ private static void emitFieldFromMap(StringBuilder sb, MappedField f) { sb.append(" }\n"); } - private static void emitPropertySetFromJsonValue(StringBuilder sb, MappedField f) { + private static void emitPropertySetFromJsonValue(StringBuilder sb, MappedField f, boolean isRecord) { + // PROPERTY fields are rejected upstream for records; read through + // `readExpr` anyway so the helper is safe if it ever runs in the + // record path. + String prop = readExpr(f, isRecord); String elem = f.kind.elementBinaryName; if ("java.lang.String".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(_v.toString());\n"); + sb.append(" ").append(prop).append(".set(_v.toString());\n"); } else if ("java.lang.Integer".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(Integer.valueOf(((Number) _v).intValue()));\n"); + sb.append(" ").append(prop).append(".set(Integer.valueOf(((Number) _v).intValue()));\n"); } else if ("java.lang.Long".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(Long.valueOf(((Number) _v).longValue()));\n"); + sb.append(" ").append(prop).append(".set(Long.valueOf(((Number) _v).longValue()));\n"); } else if ("java.lang.Double".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(Double.valueOf(((Number) _v).doubleValue()));\n"); + sb.append(" ").append(prop).append(".set(Double.valueOf(((Number) _v).doubleValue()));\n"); } else if ("java.lang.Float".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(Float.valueOf(((Number) _v).floatValue()));\n"); + sb.append(" ").append(prop).append(".set(Float.valueOf(((Number) _v).floatValue()));\n"); } else if ("java.lang.Boolean".equals(elem)) { - sb.append(" o.").append(f.name).append(".set((_v instanceof Boolean) ? (Boolean) _v : Boolean.valueOf(_v.toString()));\n"); + sb.append(" ").append(prop).append(".set((_v instanceof Boolean) ? (Boolean) _v : Boolean.valueOf(_v.toString()));\n"); } else if ("java.util.Date".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(new java.util.Date(((Number) _v).longValue()));\n"); + sb.append(" ").append(prop).append(".set(new java.util.Date(((Number) _v).longValue()));\n"); } else { // Nested Property where T is another mapped type. sb.append(" com.codename1.mapping.Mapper _nm = com.codename1.mapping.Mappers.get(").append(elem).append(".class);\n"); sb.append(" if (_nm != null && _v instanceof java.util.Map) {\n"); - sb.append(" o.").append(f.name).append(".set((").append(elem).append(") _nm.fromMap((java.util.Map) _v));\n"); + sb.append(" ").append(prop).append(".set((").append(elem).append(") _nm.fromMap((java.util.Map) _v));\n"); sb.append(" }\n"); } } @@ -514,11 +649,12 @@ private static void emitPropertySetFromJsonValue(StringBuilder sb, MappedField f // XML helpers // --------------------------------------------------------------- - private static void emitFieldToXml(StringBuilder sb, MappedField f) { + private static void emitFieldToXml(StringBuilder sb, MappedField f, boolean isRecord) { + String read = readExpr(f, isRecord); if (f.xmlAttribute) { sb.append(" {\n"); sb.append(" String _s = "); - emitScalarToString(sb, f); + emitScalarToString(sb, f, isRecord); sb.append(";\n"); sb.append(" if (_s != null) root.setAttribute(\"").append(escape(f.xmlName)).append("\", _s);\n"); sb.append(" }\n"); @@ -530,7 +666,7 @@ private static void emitFieldToXml(StringBuilder sb, MappedField f) { case PROPERTY: sb.append(" {\n"); sb.append(" String _s = "); - emitScalarToString(sb, f); + emitScalarToString(sb, f, isRecord); sb.append(";\n"); sb.append(" if (_s != null) {\n"); sb.append(" com.codename1.xml.Element _e = new com.codename1.xml.Element(\"").append(escape(f.xmlName)).append("\");\n"); @@ -541,11 +677,11 @@ private static void emitFieldToXml(StringBuilder sb, MappedField f) { sb.append(" }\n"); return; case REFERENCE: - sb.append(" if (o.").append(f.name).append(" != null) {\n"); + sb.append(" if (").append(read).append(" != null) {\n"); sb.append(" com.codename1.mapping.Mapper _nm = com.codename1.mapping.Mappers.get(").append(f.kind.binaryName).append(".class);\n"); sb.append(" if (_nm != null) {\n"); sb.append(" com.codename1.xml.Element _e = new com.codename1.xml.Element(\"").append(escape(f.xmlName)).append("\");\n"); - sb.append(" _nm.writeXml(o.").append(f.name).append(", _e);\n"); + sb.append(" _nm.writeXml(").append(read).append(", _e);\n"); sb.append(" root.addChild(_e);\n"); sb.append(" }\n"); sb.append(" }\n"); @@ -553,9 +689,9 @@ private static void emitFieldToXml(StringBuilder sb, MappedField f) { case LIST: case LIST_PROPERTY: sb.append(" {\n"); if (f.kind.kind == PropertyTypeKind.Kind.LIST) { - sb.append(" java.util.List _src = o.").append(f.name).append(";\n"); + sb.append(" java.util.List _src = ").append(read).append(";\n"); } else { - sb.append(" java.util.List _src = o.").append(f.name).append(".asList();\n"); + sb.append(" java.util.List _src = ").append(read).append(".asList();\n"); } sb.append(" if (_src != null) {\n"); sb.append(" for (Object _e : _src) {\n"); @@ -582,12 +718,13 @@ private static void emitFieldToXml(StringBuilder sb, MappedField f) { } } - private static void emitFieldFromXml(StringBuilder sb, MappedField f) { + private static void emitFieldFromXml(StringBuilder sb, MappedField f, boolean isRecord) { + String target = writeTarget(f, isRecord); if (f.xmlAttribute) { sb.append(" {\n"); sb.append(" String _s = root.getAttribute(\"").append(escape(f.xmlName)).append("\");\n"); sb.append(" if (_s != null) {\n"); - emitScalarFromString(sb, f, "_s"); + emitScalarFromString(sb, f, "_s", isRecord); sb.append(" }\n"); sb.append(" }\n"); return; @@ -601,13 +738,14 @@ private static void emitFieldFromXml(StringBuilder sb, MappedField f) { sb.append(" com.codename1.xml.Element _ch = (com.codename1.xml.Element) _kids.elementAt(_i);\n"); emitListElementFromXml(sb, f, "_ch", "_l"); sb.append(" }\n"); - sb.append(" o.").append(f.name).append(" = _l;\n"); + sb.append(" ").append(target).append(" = _l;\n"); break; case LIST_PROPERTY: - sb.append(" o.").append(f.name).append(".clear();\n"); + // Rejected upstream for records; always reads `o.name`. + sb.append(" ").append(readExpr(f, isRecord)).append(".clear();\n"); sb.append(" for (int _i = 0; _i < _kids.size(); _i++) {\n"); sb.append(" com.codename1.xml.Element _ch = (com.codename1.xml.Element) _kids.elementAt(_i);\n"); - emitListElementFromXml(sb, f, "_ch", "o." + f.name); + emitListElementFromXml(sb, f, "_ch", readExpr(f, isRecord)); sb.append(" }\n"); break; default: @@ -615,11 +753,11 @@ private static void emitFieldFromXml(StringBuilder sb, MappedField f) { sb.append(" com.codename1.xml.Element _e = (com.codename1.xml.Element) _kids.elementAt(0);\n"); if (f.kind.kind == PropertyTypeKind.Kind.REFERENCE) { sb.append(" com.codename1.mapping.Mapper _nm = com.codename1.mapping.Mappers.get(").append(f.kind.binaryName).append(".class);\n"); - sb.append(" if (_nm != null) o.").append(f.name).append(" = (").append(f.kind.binaryName).append(") _nm.readXml(_e);\n"); + sb.append(" if (_nm != null) ").append(target).append(" = (").append(f.kind.binaryName).append(") _nm.readXml(_e);\n"); } else { sb.append(" String _s = textOf(_e);\n"); sb.append(" if (_s != null) {\n"); - emitScalarFromString(sb, f, "_s"); + emitScalarFromString(sb, f, "_s", isRecord); sb.append(" }\n"); } sb.append(" }\n"); @@ -658,24 +796,25 @@ private static void emitListElementFromXml(StringBuilder sb, MappedField f, Stri } } - private static void emitScalarToString(StringBuilder sb, MappedField f) { + private static void emitScalarToString(StringBuilder sb, MappedField f, boolean isRecord) { + String read = readExpr(f, isRecord); switch (f.kind.kind) { case STRING: - sb.append("o.").append(f.name); break; + sb.append(read); break; case INT: case LONG: case SHORT: case BYTE: case CHAR: case DOUBLE: case FLOAT: case BOOLEAN: - sb.append("String.valueOf(o.").append(f.name).append(")"); break; + sb.append("String.valueOf(").append(read).append(")"); break; case DATE: - sb.append("o.").append(f.name).append(" == null ? null : String.valueOf(o.").append(f.name).append(".getTime())"); break; + sb.append(read).append(" == null ? null : String.valueOf(").append(read).append(".getTime())"); break; case BYTE_ARRAY: - sb.append("o.").append(f.name).append(" == null ? null : com.codename1.util.Base64.encode(o.").append(f.name).append(")"); break; + sb.append(read).append(" == null ? null : com.codename1.util.Base64.encode(").append(read).append(")"); break; case PROPERTY: - sb.append("o.").append(f.name).append(".get() == null ? null : "); + sb.append(read).append(".get() == null ? null : "); String elem = f.kind.elementBinaryName; if ("java.util.Date".equals(elem)) { - sb.append("String.valueOf(((java.util.Date) o.").append(f.name).append(".get()).getTime())"); + sb.append("String.valueOf(((java.util.Date) ").append(read).append(".get()).getTime())"); } else { - sb.append("String.valueOf(o.").append(f.name).append(".get())"); + sb.append("String.valueOf(").append(read).append(".get())"); } break; default: @@ -683,48 +822,52 @@ private static void emitScalarToString(StringBuilder sb, MappedField f) { } } - private static void emitScalarFromString(StringBuilder sb, MappedField f, String src) { + private static void emitScalarFromString(StringBuilder sb, MappedField f, String src, boolean isRecord) { + String target = writeTarget(f, isRecord); + // PROPERTY is rejected for records, but `read` keeps the helper safe + // if it ever reaches the record path. + String read = readExpr(f, isRecord); switch (f.kind.kind) { case STRING: - sb.append(" o.").append(f.name).append(" = ").append(src).append(";\n"); break; + sb.append(" ").append(target).append(" = ").append(src).append(";\n"); break; case INT: - sb.append(" o.").append(f.name).append(" = Integer.parseInt(").append(src).append(");\n"); break; + sb.append(" ").append(target).append(" = Integer.parseInt(").append(src).append(");\n"); break; case LONG: - sb.append(" o.").append(f.name).append(" = Long.parseLong(").append(src).append(");\n"); break; + sb.append(" ").append(target).append(" = Long.parseLong(").append(src).append(");\n"); break; case SHORT: - sb.append(" o.").append(f.name).append(" = Short.parseShort(").append(src).append(");\n"); break; + sb.append(" ").append(target).append(" = Short.parseShort(").append(src).append(");\n"); break; case BYTE: - sb.append(" o.").append(f.name).append(" = Byte.parseByte(").append(src).append(");\n"); break; + sb.append(" ").append(target).append(" = Byte.parseByte(").append(src).append(");\n"); break; case CHAR: - sb.append(" o.").append(f.name).append(" = ").append(src).append(".length() == 0 ? '\\0' : ").append(src).append(".charAt(0);\n"); break; + sb.append(" ").append(target).append(" = ").append(src).append(".length() == 0 ? '\\0' : ").append(src).append(".charAt(0);\n"); break; case DOUBLE: - sb.append(" o.").append(f.name).append(" = Double.parseDouble(").append(src).append(");\n"); break; + sb.append(" ").append(target).append(" = Double.parseDouble(").append(src).append(");\n"); break; case FLOAT: - sb.append(" o.").append(f.name).append(" = Float.parseFloat(").append(src).append(");\n"); break; + sb.append(" ").append(target).append(" = Float.parseFloat(").append(src).append(");\n"); break; case BOOLEAN: - sb.append(" o.").append(f.name).append(" = Boolean.parseBoolean(").append(src).append(");\n"); break; + sb.append(" ").append(target).append(" = Boolean.parseBoolean(").append(src).append(");\n"); break; case DATE: - sb.append(" o.").append(f.name).append(" = new java.util.Date(Long.parseLong(").append(src).append("));\n"); break; + sb.append(" ").append(target).append(" = new java.util.Date(Long.parseLong(").append(src).append("));\n"); break; case BYTE_ARRAY: - sb.append(" o.").append(f.name).append(" = com.codename1.util.Base64.decode(").append(src).append(".getBytes());\n"); break; + sb.append(" ").append(target).append(" = com.codename1.util.Base64.decode(").append(src).append(".getBytes());\n"); break; case PROPERTY: { String elem = f.kind.elementBinaryName; if ("java.lang.String".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(").append(src).append(");\n"); + sb.append(" ").append(read).append(".set(").append(src).append(");\n"); } else if ("java.lang.Integer".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(Integer.valueOf(").append(src).append("));\n"); + sb.append(" ").append(read).append(".set(Integer.valueOf(").append(src).append("));\n"); } else if ("java.lang.Long".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(Long.valueOf(").append(src).append("));\n"); + sb.append(" ").append(read).append(".set(Long.valueOf(").append(src).append("));\n"); } else if ("java.lang.Double".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(Double.valueOf(").append(src).append("));\n"); + sb.append(" ").append(read).append(".set(Double.valueOf(").append(src).append("));\n"); } else if ("java.lang.Float".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(Float.valueOf(").append(src).append("));\n"); + sb.append(" ").append(read).append(".set(Float.valueOf(").append(src).append("));\n"); } else if ("java.lang.Boolean".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(Boolean.valueOf(").append(src).append("));\n"); + sb.append(" ").append(read).append(".set(Boolean.valueOf(").append(src).append("));\n"); } else if ("java.util.Date".equals(elem)) { - sb.append(" o.").append(f.name).append(".set(new java.util.Date(Long.parseLong(").append(src).append(")));\n"); + sb.append(" ").append(read).append(".set(new java.util.Date(Long.parseLong(").append(src).append(")));\n"); } else { - sb.append(" o.").append(f.name).append(".set((").append(elem).append(") ").append(src).append(");\n"); + sb.append(" ").append(read).append(".set((").append(elem).append(") ").append(src).append(");\n"); } break; } @@ -800,6 +943,10 @@ static final class MappedClass { String mapperBinaryName; String mapperSimpleName; String xmlRootName; + /// `true` for Java 17+ records. Drives accessor-style reads + /// (`o.name()` vs `o.name`) and canonical-constructor writes + /// (`new T(_a, _b, ...)` vs `o.a = ...; o.b = ...`). + boolean isRecord; final List fields = new ArrayList(); } diff --git a/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/RecordMappingTest.java b/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/RecordMappingTest.java new file mode 100644 index 0000000000..b4d3f41d10 --- /dev/null +++ b/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/RecordMappingTest.java @@ -0,0 +1,176 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + */ +package com.codename1.maven.processors; + +import com.codename1.maven.annotations.AnnotatedClass; +import com.codename1.maven.annotations.ClassScanner; +import com.codename1.maven.annotations.JavaSourceCompiler; +import com.codename1.maven.annotations.ProcessorContext; + +import org.apache.maven.plugin.logging.SystemStreamLog; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; + +import java.io.File; +import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeTrue; + +/// Records support for `MappingAnnotationProcessor`. Compiles a tiny +/// `record Pet(String name, int age) {}` annotated `@Mapped`, runs the +/// processor, then exercises the generated mapper through a child +/// classloader (we can't refer to the generated class directly because +/// it doesn't exist until the processor runs). +/// +/// Records are a Java 16+ feature; on older JVMs the source-compile step +/// can't be invoked at all, so the test is skipped via JUnit Assume. +public class RecordMappingTest { + + @Rule + public TemporaryFolder tmp = new TemporaryFolder(); + + @Test + public void recordRoundTripsThroughGeneratedMapper() throws Exception { + assumeTrue("records require Java 16+", javaSpecAtLeast(16)); + + File classes = tmp.newFolder("classes"); + JavaSourceCompiler.compile( + JavaSourceCompiler.singleSource("com.example.Pet", + "package com.example;\n" + + "import com.codename1.annotations.Mapped;\n" + + "@Mapped\n" + + "public record Pet(String name, int age) {}\n"), + classes, + Arrays.asList(testClassesDir())); + + // Run the processor and capture the generated mapper source so we + // can assert on its shape (accessor reads + canonical ctor call). + ProcessorContext ctx = runProcessor(classes); + assertTrue("processor reported errors: " + ctx.getErrors(), !ctx.hasErrors()); + + File mapperClass = new File(classes, "com/example/PetCn1Mapper.class"); + assertTrue("generated mapper class should exist", mapperClass.exists()); + + // Direct source-shape inspection: re-run the source-emit path + // against the same scanned MappedClass so we can grep the literal + // text. This is the contract the task asks us to lock in. + MappingAnnotationProcessor proc = new MappingAnnotationProcessor(); + ProcessorContext ctx2 = new ProcessorContext(classes, tmp.newFolder(), + ClassScanner.scan(classes), new SystemStreamLog()); + proc.start(ctx2); + for (AnnotatedClass cls : ClassScanner.scan(classes).values()) { + if (!cls.getClassAnnotations().isEmpty()) proc.processClass(cls, ctx2); + } + String generated = invokeGenerateMapperSource(proc); + assertNotNull("expected generated source for Pet record", generated); + assertTrue("fromMap should construct via canonical ctor: " + generated, + generated.contains("new com.example.Pet(_name, _age)")); + assertTrue("toMap should read via record accessor o.name(): " + generated, + generated.contains("o.name()")); + assertTrue("toMap should read via record accessor o.age(): " + generated, + generated.contains("o.age()")); + + // End-to-end: load the generated mapper and round-trip a Pet. + try (URLClassLoader cl = childLoader(classes)) { + Class petCls = cl.loadClass("com.example.Pet"); + Class mapperCls = cl.loadClass("com.example.PetCn1Mapper"); + Object mapper = mapperCls.newInstance(); + + // Construct a Pet via the canonical constructor. + Object pet = petCls.getConstructor(String.class, int.class) + .newInstance("Fido", 4); + + Method toMap = mapperCls.getMethod("toMap", petCls); + @SuppressWarnings("unchecked") + Map json = (Map) toMap.invoke(mapper, pet); + assertEquals("Fido", json.get("name")); + assertEquals(Integer.valueOf(4), json.get("age")); + + Map in = new LinkedHashMap(); + in.put("name", "Rex"); + in.put("age", Integer.valueOf(7)); + Method fromMap = mapperCls.getMethod("fromMap", Map.class); + Object restored = fromMap.invoke(mapper, in); + assertNotNull(restored); + // Read back via the synthesised record accessors. + assertEquals("Rex", petCls.getMethod("name").invoke(restored)); + assertEquals(7, ((Integer) petCls.getMethod("age").invoke(restored)).intValue()); + } + } + + // --------------------------------------------------------------- + // Helpers + // --------------------------------------------------------------- + + /// Pulls the package-private `generateMapperSource(MappedClass)` out + /// of `MappingAnnotationProcessor` via reflection so the test can + /// grep the emitted source text. We do this so the assertion is + /// against the source the processor would compile, not against the + /// resulting `.class` bytecode (where field/method calls are harder + /// to spot). + private static String invokeGenerateMapperSource(MappingAnnotationProcessor proc) throws Exception { + // Walk the proc's accepted map -- there is exactly one entry for + // this test (com.example.Pet). + java.lang.reflect.Field acceptedFld = MappingAnnotationProcessor.class.getDeclaredField("accepted"); + acceptedFld.setAccessible(true); + @SuppressWarnings("unchecked") + java.util.TreeMap accepted = (java.util.TreeMap) acceptedFld.get(proc); + Object mc = accepted.values().iterator().next(); + Method m = MappingAnnotationProcessor.class + .getDeclaredMethod("generateMapperSource", + Class.forName("com.codename1.maven.processors.MappingAnnotationProcessor$MappedClass")); + m.setAccessible(true); + return (String) m.invoke(null, mc); + } + + private ProcessorContext runProcessor(File classesDir) throws Exception { + Map index = ClassScanner.scan(classesDir); + MappingAnnotationProcessor proc = new MappingAnnotationProcessor(); + ProcessorContext ctx = new ProcessorContext(classesDir, tmp.newFolder(), + index, new SystemStreamLog()); + proc.start(ctx); + for (AnnotatedClass cls : index.values()) { + if (!cls.getClassAnnotations().isEmpty()) proc.processClass(cls, ctx); + } + proc.finish(ctx); + return ctx; + } + + private URLClassLoader childLoader(File classesDir) throws Exception { + URL[] urls = new URL[] { + classesDir.toURI().toURL(), + testClassesDir().toURI().toURL() + }; + return new URLClassLoader(urls, getClass().getClassLoader()); + } + + private static File testClassesDir() throws Exception { + URL url = RecordMappingTest.class.getProtectionDomain() + .getCodeSource().getLocation(); + return new File(url.toURI()); + } + + private static boolean javaSpecAtLeast(int target) { + String spec = System.getProperty("java.specification.version", ""); + try { + // Java 9+ reports a major-only spec like "17"; Java 8 reports "1.8". + if (spec.startsWith("1.")) { + return Integer.parseInt(spec.substring(2)) >= target; + } + return Integer.parseInt(spec) >= target; + } catch (NumberFormatException nfe) { + return false; + } + } +} From 5307354656780036ca52d4ca3c4f4f2ce19b96f9 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 19:07:26 +0300 Subject: [PATCH 19/30] OpenAPI redesign phases 2 + 3: REST-client processor + generate-openapi mojo RestClientAnnotationProcessor (sibling to MappingAnnotationProcessor): - Scans `@RestClient`-annotated interfaces. - Per method, reads the one HTTP-verb annotation (@GET/@POST/@PUT/ @DELETE/@PATCH) plus the parameter-level @Path/@Query/@Header/@Body annotations now exposed by ClassScanner. - Resolves the response payload type from the trailing `OnComplete>` generic signature -- `List` routes through `fetchAsMappedList`, `String` through `fetchAsString`, everything else through `fetchAsMapped(T.class, ...)`. - Emits `ApiImpl` (final class implementing the user interface) plus a sibling `cn1app.RestClientBootstrap` that registers each impl with `RestClients` -- the build-server splice pattern `MapperBootstrap` already uses applies here unchanged. GenerateOpenApiMojo (`cn1:generate-openapi`): - Inputs `-Dcn1.openapi.spec=` and `-Dcn1.openapi.basePackage=`. Optional outputDirectory / overwrite knobs. - Detects `maven.compiler.release` / `target`. >= 17 emits Java records, otherwise classes. The `@Mapped` processor already handles both shapes. - Schema unification: identical property shapes collapse to a single record/class. - Per OpenAPI tag emits one `@RestClient`-annotated interface under with a static `of(String baseUrl)` factory that delegates to `RestClients.create(...)`. Supporting changes: - ClassScanner / MethodInfo now capture per-parameter annotations and the method's generic signature. - META-INF service registration adds the new processor. - skill ref + appendix updated to the actual mojo flag form. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../appendix_goal_generate_openapi.adoc | 32 +- .../codename1/maven/GenerateOpenApiMojo.java | 849 ++++++++++++++++++ .../maven/annotations/ClassScanner.java | 20 +- .../maven/annotations/MethodInfo.java | 39 +- .../RestClientAnnotationProcessor.java | 752 ++++++++++++++++ ...ame1.maven.annotations.AnnotationProcessor | 1 + .../maven/GenerateOpenApiMojoTest.java | 175 ++++ .../RestClientAnnotationProcessorTest.java | 212 +++++ .../skill/references/build-and-run.md | 4 +- 9 files changed, 2072 insertions(+), 12 deletions(-) create mode 100644 maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiMojo.java create mode 100644 maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java create mode 100644 maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/GenerateOpenApiMojoTest.java create mode 100644 maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/RestClientAnnotationProcessorTest.java diff --git a/docs/developer-guide/appendix_goal_generate_openapi.adoc b/docs/developer-guide/appendix_goal_generate_openapi.adoc index 1ba9234543..f76c1c2e28 100644 --- a/docs/developer-guide/appendix_goal_generate_openapi.adoc +++ b/docs/developer-guide/appendix_goal_generate_openapi.adoc @@ -19,23 +19,32 @@ bootstrap class (the same splice pattern as `@Mapped` mappers). [source, bash] ---- -mvn -pl common cn1:generate-openapi petstore.json com.example.petstore +mvn -pl common cn1:generate-openapi \ + -Dcn1.openapi.spec=petstore.json \ + -Dcn1.openapi.basePackage=com.example.petstore ---- -Positional arguments: +Configuration: [cols="1,3", options="header"] |=== -| Argument | Description +| Property | Description -| Specification path or URL +| `-Dcn1.openapi.spec=` | `petstore.json` (local file) or `https://petstore3.swagger.io/api/v3/openapi.json`. YAML is not supported -- convert with `yq` upstream. -| Base package +| `-Dcn1.openapi.basePackage=` | Java package the generated sources are written under. Records / classes go under `.model`; the `@RestClient` interfaces go under ``. + +| `-Dcn1.openapi.outputDirectory=` (optional) +| Defaults to `${project.basedir}/src/main/java`. + +| `-Dcn1.openapi.overwrite=false` (optional) +| Defaults to `true`. Set to `false` to preserve user edits to existing +files (only missing files are written). |=== ==== Generated output @@ -72,19 +81,24 @@ public interface PetApi { @GET("/pet/{petId}") void getPetById(@Path("petId") Long petId, @Header("Authorization") String bearerToken, - OnComplete> callback); + OnComplete> callback); @POST("/pet") - void addPet(@Body Pet body, + void addPet(@Body com.example.petstore.model.Pet body, @Header("Authorization") String bearerToken, - OnComplete> callback); + OnComplete> callback); static PetApi of(String baseUrl) { - return com.codename1.io.rest.RestClients.create(PetApi.class, baseUrl); + return RestClients.create(PetApi.class, baseUrl); } } ---- +Model types are emitted as fully-qualified names (the API interface +lives in `` and models under `.model`) so +the generator never needs to bookkeep imports or worry about +collisions between an API class name and a same-named model. + Call sites use the static factory: [source, java] diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiMojo.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiMojo.java new file mode 100644 index 0000000000..209e4db8b3 --- /dev/null +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiMojo.java @@ -0,0 +1,849 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Codename One through http://www.codenameone.com/ if you + * need additional information or have any questions. + */ +package com.codename1.maven; + +import com.codename1.io.JSONParser; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; +import org.apache.maven.project.MavenProject; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; + +/// Generates user-edited Codename One REST client sources from an +/// OpenAPI 3.x JSON specification. +/// +/// Invocation: +/// +/// ``` +/// mvn cn1:generate-openapi -Dcn1.openapi.spec=petstore.json \ +/// -Dcn1.openapi.basePackage=com.example.petstore +/// ``` +/// +/// (You can also pass the two as positional arguments after the goal name -- +/// when present they are read off `pluginContext` / system properties -- +/// see the developer-guide appendix for the user-facing form.) +/// +/// Outputs: +/// +/// - `.model.` -- one `@Mapped` record (Java 17+ target) +/// or class (Java 8 target) per `components.schemas` entry, with +/// `@JsonProperty` carrying the original spec name when sanitization +/// renames a Java identifier. +/// - `.Api` -- one `@RestClient`-annotated interface per +/// OpenAPI tag, with one method per operation. Each method's parameters +/// come in the order: path params, query params, header params, body, +/// bearer-token header, OnComplete callback. A `static of(String +/// baseUrl)` factory wires the interface to the runtime registry. +/// +/// Identical schemas (same property name + Java type list, same order) +/// collapse onto a single record/class to avoid an explosion of duplicates. +@Mojo(name = "generate-openapi", + defaultPhase = LifecyclePhase.NONE, + requiresProject = true, + threadSafe = true) +public class GenerateOpenApiMojo extends AbstractMojo { + + @Parameter(defaultValue = "${project}", readonly = true) + private MavenProject project; + + /// Path or URL to the OpenAPI JSON spec. YAML is not supported -- use + /// `yq` upstream. Override via `-Dcn1.openapi.spec=...`. + @Parameter(property = "cn1.openapi.spec") + private String spec; + + /// Java base package the generated sources are emitted under. Override + /// via `-Dcn1.openapi.basePackage=...`. + @Parameter(property = "cn1.openapi.basePackage") + private String basePackage; + + /// Output directory for the generated sources. Defaults to + /// `${project.basedir}/src/main/java` because the emitted code is + /// user-edited (records / classes / @RestClient interfaces live in the + /// project's source tree, not under `target/generated-sources`). + @Parameter(property = "cn1.openapi.outputDirectory", + defaultValue = "${project.basedir}/src/main/java") + private File outputDirectory; + + /// When `true` (default) existing files at the destination are + /// overwritten. Pass `-Dcn1.openapi.overwrite=false` to keep your + /// hand-edits and only emit missing files. + @Parameter(property = "cn1.openapi.overwrite", defaultValue = "true") + private boolean overwrite; + + /// First positional argument fallback. Maven CLI doesn't expose + /// positional goal arguments directly so we accept the spec / package + /// via system properties (`-Dcn1.openapi.spec=...`, + /// `-Dcn1.openapi.basePackage=...`) or via inline `` configuration + /// in the POM. Documented alternatively in the developer guide. + @Override + public void execute() throws MojoExecutionException, MojoFailureException { + String effectiveSpec = effectiveSpec(); + String effectivePackage = effectiveBasePackage(); + if (effectiveSpec == null || effectiveSpec.length() == 0) { + throw new MojoFailureException( + "No OpenAPI spec supplied. Pass -Dcn1.openapi.spec= " + + "or configure in the plugin block."); + } + if (effectivePackage == null || effectivePackage.length() == 0) { + throw new MojoFailureException( + "No base package supplied. Pass -Dcn1.openapi.basePackage= " + + "or configure in the plugin block."); + } + + if (effectiveSpec.endsWith(".yaml") || effectiveSpec.endsWith(".yml")) { + throw new MojoFailureException( + "OpenAPI YAML is not supported. Convert with `yq -o json " + effectiveSpec + + " > spec.json` and re-run the goal against the JSON output."); + } + + Map document; + try { + document = loadSpec(effectiveSpec); + } catch (IOException ioe) { + throw new MojoFailureException("Could not load OpenAPI spec at " + + effectiveSpec + ": " + ioe.getMessage(), ioe); + } + + int target = detectJavaTarget(); + boolean emitRecords = target >= 17; + getLog().info("cn1:generate-openapi target=" + target + " emitRecords=" + emitRecords + + " basePackage=" + effectivePackage); + + Generator gen = new Generator(document, effectivePackage, outputDirectory, overwrite, + emitRecords, getLog()); + try { + gen.run(); + } catch (IOException ioe) { + throw new MojoExecutionException("Failed to write generated sources: " + + ioe.getMessage(), ioe); + } + } + + private String effectiveSpec() { + if (spec != null && spec.length() > 0) return spec; + return System.getProperty("cn1.openapi.spec"); + } + + private String effectiveBasePackage() { + if (basePackage != null && basePackage.length() > 0) return basePackage; + return System.getProperty("cn1.openapi.basePackage"); + } + + private int detectJavaTarget() { + // Prefer maven.compiler.release if present, otherwise maven.compiler.target. + String release = null, targetProp = null; + if (project != null && project.getProperties() != null) { + release = project.getProperties().getProperty("maven.compiler.release"); + targetProp = project.getProperties().getProperty("maven.compiler.target"); + } + if (release == null) release = System.getProperty("maven.compiler.release"); + if (targetProp == null) targetProp = System.getProperty("maven.compiler.target"); + return parseJavaVersion(release != null ? release : targetProp); + } + + /// Parses a `maven.compiler.target` style version. Returns `8` for + /// `1.8` or null inputs so callers default to the classic POJO path. + static int parseJavaVersion(String s) { + if (s == null) return 8; + s = s.trim(); + if (s.length() == 0) return 8; + if (s.startsWith("1.")) s = s.substring(2); + // Strip qualifiers like "17-LTS" / "21-ea". + int i = 0; + while (i < s.length() && Character.isDigit(s.charAt(i))) i++; + if (i == 0) return 8; + try { + return Integer.parseInt(s.substring(0, i)); + } catch (NumberFormatException e) { + return 8; + } + } + + /// Loads the spec document. Supports `http://`, `https://`, and local + /// file paths. JSON only -- YAML is rejected by `execute`. + static Map loadSpec(String specLocation) throws IOException { + Reader reader; + if (specLocation.startsWith("http://") || specLocation.startsWith("https://")) { + URL url = new URL(specLocation); + InputStream is = url.openStream(); + reader = new InputStreamReader(is, StandardCharsets.UTF_8); + } else { + File f = new File(specLocation); + if (!f.exists()) { + throw new IOException("OpenAPI spec not found: " + specLocation); + } + reader = Files.newBufferedReader(f.toPath(), StandardCharsets.UTF_8); + } + try { + return new JSONParser().parseJSON(reader); + } finally { + reader.close(); + } + } + + // ---------------------------------------------------------------- + // Generator + // ---------------------------------------------------------------- + + /// Stateful generator -- parses the spec, accumulates schema + API + /// models, then writes the output files. Package-private for direct + /// unit testing without spinning up a Maven session. + static final class Generator { + private final Map spec; + private final String basePackage; + private final String modelPackage; + private final File outputDir; + private final boolean overwrite; + private final boolean emitRecords; + private final org.apache.maven.plugin.logging.Log log; + private final Map schemas; + /// Tag -> list of operations. + private final TreeMap> opsByTag = new TreeMap>(); + /// Schema name -> SchemaInfo accumulator. + private final LinkedHashMap schemaByName = new LinkedHashMap(); + /// Shape-hash -> canonical SchemaInfo so identical shapes collapse. + private final LinkedHashMap shapeIndex = new LinkedHashMap(); + /// Schema name -> canonical schema name (post-unification). + private final Map nameAliases = new LinkedHashMap(); + + Generator(Map spec, String basePackage, File outputDir, boolean overwrite, + boolean emitRecords, org.apache.maven.plugin.logging.Log log) { + this.spec = spec; + this.basePackage = basePackage; + this.modelPackage = basePackage + ".model"; + this.outputDir = outputDir; + this.overwrite = overwrite; + this.emitRecords = emitRecords; + this.log = log; + Object components = spec.get("components"); + Object schemasObj = components instanceof Map ? ((Map) components).get("schemas") : null; + @SuppressWarnings("unchecked") + Map s = schemasObj instanceof Map ? (Map) schemasObj + : Collections.emptyMap(); + this.schemas = s; + } + + void run() throws IOException { + // Build per-schema info up front so the unification map is ready + // before any operation references a schema by name. + for (Map.Entry e : schemas.entrySet()) { + if (!(e.getValue() instanceof Map)) continue; + @SuppressWarnings("unchecked") + Map schema = (Map) e.getValue(); + SchemaInfo info = buildSchemaInfo(e.getKey(), schema); + if (info == null) continue; + schemaByName.put(e.getKey(), info); + } + unifyShapes(); + + // Build operations now that schema names are stable. + Object pathsObj = spec.get("paths"); + if (pathsObj instanceof Map) { + @SuppressWarnings("unchecked") + Map paths = (Map) pathsObj; + for (Map.Entry e : paths.entrySet()) { + String path = e.getKey(); + if (!(e.getValue() instanceof Map)) continue; + @SuppressWarnings("unchecked") + Map pathItem = (Map) e.getValue(); + for (String verb : new String[]{"get", "post", "put", "delete", "patch"}) { + Object opObj = pathItem.get(verb); + if (!(opObj instanceof Map)) continue; + @SuppressWarnings("unchecked") + Map op = (Map) opObj; + OperationInfo info = buildOperation(verb, path, op, pathItem); + String tag = primaryTag(op); + List list = opsByTag.get(tag); + if (list == null) { + list = new ArrayList(); + opsByTag.put(tag, list); + } + list.add(info); + } + } + } else { + log.warn("OpenAPI spec has no `paths` -- no @RestClient interfaces will be generated."); + } + + // Emit models. + File modelDir = new File(outputDir, modelPackage.replace('.', '/')); + ensureDir(modelDir); + // Iterate canonical schemas only (unification dropped duplicates). + Set emittedCanonical = new HashSet(); + for (SchemaInfo info : schemaByName.values()) { + if (!info.isCanonical) continue; + if (!emittedCanonical.add(info.javaName)) continue; + emitModel(modelDir, info); + } + + // Emit @RestClient interfaces -- one per tag. + File apiDir = new File(outputDir, basePackage.replace('.', '/')); + ensureDir(apiDir); + for (Map.Entry> e : opsByTag.entrySet()) { + emitApi(apiDir, e.getKey(), e.getValue()); + } + + log.info("Generated " + emittedCanonical.size() + " model(s) and " + + opsByTag.size() + " @RestClient interface(s) under " + outputDir); + } + + // ---------------------------------------------------------------- + // Schema -> SchemaInfo + // ---------------------------------------------------------------- + + private SchemaInfo buildSchemaInfo(String name, Map schema) { + SchemaInfo s = new SchemaInfo(); + s.specName = name; + s.javaName = sanitizeClassName(name); + s.isCanonical = true; + Object propsObj = schema.get("properties"); + if (propsObj instanceof Map) { + @SuppressWarnings("unchecked") + Map props = (Map) propsObj; + for (Map.Entry e : props.entrySet()) { + PropInfo p = new PropInfo(); + p.specName = e.getKey(); + p.javaName = sanitizeIdentifier(e.getKey()); + p.javaType = schemaToJavaType(e.getValue()); + s.props.add(p); + } + } + return s; + } + + /// Compute a shape hash per schema -- two schemas with the same + /// `(propName, javaType)` list in the same order collapse to a single + /// emitted record/class. We keep the first-encountered name and alias + /// the duplicates to it. + private void unifyShapes() { + for (Map.Entry e : schemaByName.entrySet()) { + SchemaInfo info = e.getValue(); + String shape = shapeOf(info); + SchemaInfo prior = shapeIndex.get(shape); + if (prior == null) { + shapeIndex.put(shape, info); + nameAliases.put(info.specName, info.javaName); + } else { + info.isCanonical = false; + info.javaName = prior.javaName; + nameAliases.put(info.specName, prior.javaName); + } + } + } + + private static String shapeOf(SchemaInfo s) { + StringBuilder sb = new StringBuilder(); + for (PropInfo p : s.props) { + sb.append(p.specName).append(':').append(p.javaType).append(';'); + } + return sb.toString(); + } + + // ---------------------------------------------------------------- + // Operation parsing + // ---------------------------------------------------------------- + + private OperationInfo buildOperation(String verb, String path, + Map op, Map pathItem) { + String operationId = (String) op.get("operationId"); + if (operationId == null) operationId = synthesizeOperationId(verb, path); + OperationInfo info = new OperationInfo(); + info.verb = verb; + info.path = path; + info.methodName = sanitizeIdentifier(operationId); + info.summary = (String) op.get("summary"); + + // Parameters: combine path-level + operation-level. + List combined = new ArrayList(); + Object pp = pathItem.get("parameters"); + if (pp instanceof List) combined.addAll((List) pp); + Object op2 = op.get("parameters"); + if (op2 instanceof List) combined.addAll((List) op2); + for (Object pObj : combined) { + if (!(pObj instanceof Map)) continue; + @SuppressWarnings("unchecked") + Map p = (Map) pObj; + Object resolved = resolveRef(p); + @SuppressWarnings("unchecked") + Map pr = (Map) resolved; + String in = (String) pr.get("in"); + String pname = (String) pr.get("name"); + if (pname == null) continue; + ParamInfo pi = new ParamInfo(); + pi.specName = pname; + pi.javaName = sanitizeIdentifier(pname); + pi.javaType = paramTypeJava(pr); + if ("path".equals(in)) { + info.pathParams.add(pi); + } else if ("query".equals(in)) { + info.queryParams.add(pi); + } else if ("header".equals(in)) { + if (!"Authorization".equalsIgnoreCase(pname)) { + info.headerParams.add(pi); + } + // The Authorization header is exposed uniformly via the + // trailing `bearerToken` argument -- skip the duplicate. + } + // cookie params: silently dropped per docs. + } + + // Request body (application/json only). + Object rb = op.get("requestBody"); + if (rb instanceof Map) { + @SuppressWarnings("unchecked") + Map body = (Map) rb; + Object content = body.get("content"); + if (content instanceof Map) { + @SuppressWarnings("unchecked") + Map cmap = (Map) content; + Object jsonEntry = cmap.get("application/json"); + if (jsonEntry instanceof Map) { + @SuppressWarnings("unchecked") + Map je = (Map) jsonEntry; + Object schema = je.get("schema"); + info.hasBody = true; + info.bodyJavaType = boxIfPrimitive(schemaToJavaType(schema)); + } + } + } + + // Response: pick the first 2xx response with application/json. + Object responses = op.get("responses"); + info.responseJavaType = "String"; // default -- treat as raw String body. + info.responseIsString = true; + if (responses instanceof Map) { + @SuppressWarnings("unchecked") + Map r = (Map) responses; + for (Map.Entry re : r.entrySet()) { + String code = re.getKey(); + if (code != null && code.startsWith("2") && re.getValue() instanceof Map) { + @SuppressWarnings("unchecked") + Map resp = (Map) re.getValue(); + Object content = resp.get("content"); + if (content instanceof Map) { + @SuppressWarnings("unchecked") + Map cmap = (Map) content; + Object jsonEntry = cmap.get("application/json"); + if (jsonEntry instanceof Map) { + @SuppressWarnings("unchecked") + Map je = (Map) jsonEntry; + Object schema = je.get("schema"); + if (schema instanceof Map) { + @SuppressWarnings("unchecked") + Map sm = (Map) schema; + if ("array".equals(sm.get("type"))) { + String elem = schemaToJavaType(sm.get("items")); + info.responseJavaType = "java.util.List<" + boxIfPrimitive(elem) + ">"; + } else { + info.responseJavaType = schemaToJavaType(schema); + } + info.responseIsString = "String".equals(info.responseJavaType); + break; + } + } + } + } + } + } + return info; + } + + private Object resolveRef(Map maybeRef) { + Object ref = maybeRef.get("$ref"); + if (!(ref instanceof String)) return maybeRef; + String r = (String) ref; + if (!r.startsWith("#/")) return maybeRef; + String[] parts = r.substring(2).split("/"); + Object cur = spec; + for (String p : parts) { + if (cur instanceof Map) cur = ((Map) cur).get(p); + else return maybeRef; + } + return cur instanceof Map ? cur : maybeRef; + } + + private String paramTypeJava(Map param) { + Object schema = param.get("schema"); + if (schema instanceof Map) return schemaToJavaType(schema); + return "String"; + } + + /// Maps an OpenAPI schema node to a Java type string. Object schemas + /// without a `$ref` collapse to `java.util.Map`. + @SuppressWarnings("unchecked") + String schemaToJavaType(Object schemaObj) { + if (!(schemaObj instanceof Map)) return "Object"; + Map schema = (Map) schemaObj; + Object ref = schema.get("$ref"); + if (ref instanceof String) { + String r = (String) ref; + int slash = r.lastIndexOf('/'); + if (slash >= 0 && r.startsWith("#/components/schemas/")) { + String specName = r.substring(slash + 1); + String alias = nameAliases.get(specName); + String name = alias != null ? alias : sanitizeClassName(specName); + return modelPackage + "." + name; + } + return "Object"; + } + Object type = schema.get("type"); + if (type instanceof String) { + String t = (String) type; + if ("integer".equals(t)) { + Object fmt = schema.get("format"); + if ("int64".equals(fmt)) return "Long"; + return "Integer"; + } + if ("number".equals(t)) { + Object fmt = schema.get("format"); + if ("float".equals(fmt)) return "Float"; + return "Double"; + } + if ("boolean".equals(t)) return "Boolean"; + if ("string".equals(t)) return "String"; + if ("array".equals(t)) { + String element = schemaToJavaType(schema.get("items")); + return "java.util.List<" + boxIfPrimitive(element) + ">"; + } + } + if (schema.containsKey("allOf") || schema.containsKey("oneOf") || schema.containsKey("anyOf")) { + return "Object"; + } + return "java.util.Map"; + } + + private String primaryTag(Map op) { + Object tags = op.get("tags"); + if (tags instanceof List && !((List) tags).isEmpty()) { + Object first = ((List) tags).get(0); + if (first instanceof String) return sanitizeClassName((String) first); + } + return "Default"; + } + + // ---------------------------------------------------------------- + // Source emit + // ---------------------------------------------------------------- + + private void emitModel(File dir, SchemaInfo info) throws IOException { + File f = new File(dir, info.javaName + ".java"); + if (f.exists() && !overwrite) { + log.debug("skip existing " + f); + return; + } + StringBuilder sb = new StringBuilder(1024); + sb.append("// Generated by cn1:generate-openapi.\n"); + sb.append("package ").append(modelPackage).append(";\n\n"); + sb.append("import com.codename1.annotations.JsonProperty;\n"); + sb.append("import com.codename1.annotations.Mapped;\n\n"); + if (emitRecords) { + sb.append("@Mapped\n"); + sb.append("public record ").append(info.javaName).append("("); + for (int i = 0; i < info.props.size(); i++) { + PropInfo p = info.props.get(i); + if (i > 0) sb.append(", "); + sb.append("@JsonProperty(\"").append(escapeJava(p.specName)).append("\") ") + .append(boxIfPrimitive(p.javaType)).append(' ').append(p.javaName); + } + sb.append(") {}\n"); + } else { + sb.append("@Mapped\n"); + sb.append("public class ").append(info.javaName).append(" {\n"); + for (PropInfo p : info.props) { + sb.append(" @JsonProperty(\"").append(escapeJava(p.specName)).append("\")\n"); + sb.append(" public ").append(p.javaType).append(' ') + .append(p.javaName).append(";\n"); + } + sb.append(" public ").append(info.javaName).append("() {}\n"); + sb.append("}\n"); + } + writeFile(f, sb.toString()); + } + + private void emitApi(File dir, String tag, List ops) throws IOException { + String className = tag.endsWith("Api") ? tag : tag + "Api"; + File f = new File(dir, className + ".java"); + if (f.exists() && !overwrite) { + log.debug("skip existing " + f); + return; + } + StringBuilder sb = new StringBuilder(2048); + sb.append("// Generated by cn1:generate-openapi.\n"); + sb.append("package ").append(basePackage).append(";\n\n"); + sb.append("import com.codename1.annotations.rest.Body;\n"); + sb.append("import com.codename1.annotations.rest.DELETE;\n"); + sb.append("import com.codename1.annotations.rest.GET;\n"); + sb.append("import com.codename1.annotations.rest.Header;\n"); + sb.append("import com.codename1.annotations.rest.PATCH;\n"); + sb.append("import com.codename1.annotations.rest.POST;\n"); + sb.append("import com.codename1.annotations.rest.PUT;\n"); + sb.append("import com.codename1.annotations.rest.Path;\n"); + sb.append("import com.codename1.annotations.rest.Query;\n"); + sb.append("import com.codename1.annotations.rest.RestClient;\n"); + sb.append("import com.codename1.io.rest.Response;\n"); + sb.append("import com.codename1.io.rest.RestClients;\n"); + sb.append("import com.codename1.util.OnComplete;\n\n"); + sb.append("@RestClient\n"); + sb.append("public interface ").append(className).append(" {\n\n"); + Set usedNames = new LinkedHashSet(); + for (OperationInfo op : ops) { + emitOperationMethod(sb, op, usedNames); + } + sb.append(" static ").append(className).append(" of(String baseUrl) {\n"); + sb.append(" return RestClients.create(").append(className).append(".class, baseUrl);\n"); + sb.append(" }\n"); + sb.append("}\n"); + writeFile(f, sb.toString()); + } + + private void emitOperationMethod(StringBuilder sb, OperationInfo op, Set usedNames) { + if (op.summary != null && op.summary.length() > 0) { + sb.append(" /// ").append(escapeAdoc(op.summary)).append("\n"); + } + // Verb annotation. + sb.append(" @").append(verbAnnotation(op.verb)).append("(\"") + .append(escapeJava(op.path)).append("\")\n"); + String methodName = uniqueName(op.methodName, usedNames); + sb.append(" void ").append(methodName).append("("); + boolean first = true; + for (ParamInfo p : op.pathParams) { + if (!first) sb.append(", "); + sb.append("@Path(\"").append(escapeJava(p.specName)).append("\") ") + .append(boxIfPrimitive(p.javaType)).append(' ').append(p.javaName); + first = false; + } + for (ParamInfo p : op.queryParams) { + if (!first) sb.append(", "); + sb.append("@Query(\"").append(escapeJava(p.specName)).append("\") ") + .append(boxIfPrimitive(p.javaType)).append(' ').append(p.javaName); + first = false; + } + for (ParamInfo p : op.headerParams) { + if (!first) sb.append(", "); + sb.append("@Header(\"").append(escapeJava(p.specName)).append("\") ") + .append(boxIfPrimitive(p.javaType)).append(' ').append(p.javaName); + first = false; + } + if (op.hasBody) { + if (!first) sb.append(", "); + sb.append("@Body ").append(op.bodyJavaType).append(" body"); + first = false; + } + // Bearer token last before callback. + if (!first) sb.append(", "); + sb.append("@Header(\"Authorization\") String bearerToken"); + first = false; + sb.append(", OnComplete> callback);\n\n"); + } + + private static String uniqueName(String base, Set used) { + if (used.add(base)) return base; + int n = 2; + while (!used.add(base + n)) n++; + return base + n; + } + + private static String verbAnnotation(String verb) { + return verb.toUpperCase(Locale.ROOT); + } + + // ---------------------------------------------------------------- + // Helpers shared with the old codegen + // ---------------------------------------------------------------- + + private static String boxIfPrimitive(String type) { + if (type == null) return "Object"; + if (type.equals("int")) return "Integer"; + if (type.equals("long")) return "Long"; + if (type.equals("double")) return "Double"; + if (type.equals("float")) return "Float"; + if (type.equals("boolean")) return "Boolean"; + if (type.equals("byte")) return "Byte"; + if (type.equals("short")) return "Short"; + if (type.equals("char")) return "Character"; + return type; + } + + private static String escapeJava(String s) { + if (s == null) return ""; + StringBuilder sb = new StringBuilder(s.length() + 4); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c == '"' || c == '\\') sb.append('\\'); + sb.append(c); + } + return sb.toString(); + } + + private static String escapeAdoc(String s) { + return s.replace("\n", " ").replace("\r", " "); + } + + private static void ensureDir(File f) throws IOException { + if (!f.exists() && !f.mkdirs()) { + throw new IOException("Could not create " + f); + } + } + + private static void writeFile(File f, String content) throws IOException { + FileOutputStream out = new FileOutputStream(f); + try { + out.write(content.getBytes(StandardCharsets.UTF_8)); + } finally { + out.close(); + } + } + } + + // ---------------------------------------------------------------- + // Static helpers + // ---------------------------------------------------------------- + + /// Strips characters that would make a name invalid as a Java identifier, + /// upper-cases the first letter to match Java class-name convention. + static String sanitizeClassName(String s) { + if (s == null) return "Anonymous"; + StringBuilder sb = new StringBuilder(); + boolean upper = true; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c == '_' || c == '-' || c == ' ' || c == '.') { upper = true; continue; } + if (!Character.isJavaIdentifierPart(c)) continue; + if (sb.length() == 0 && !Character.isJavaIdentifierStart(c)) sb.append('_'); + sb.append(upper ? Character.toUpperCase(c) : c); + upper = false; + } + if (sb.length() == 0) return "Anonymous"; + return sb.toString(); + } + + static String sanitizeIdentifier(String s) { + if (s == null) return "anonymous"; + StringBuilder sb = new StringBuilder(); + boolean upperNext = false; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c == '_' || c == '-' || c == ' ' || c == '.') { upperNext = true; continue; } + if (!Character.isJavaIdentifierPart(c)) continue; + if (sb.length() == 0 && !Character.isJavaIdentifierStart(c)) sb.append('_'); + sb.append(upperNext ? Character.toUpperCase(c) : c); + upperNext = false; + } + if (sb.length() == 0) return "anonymous"; + sb.setCharAt(0, Character.toLowerCase(sb.charAt(0))); + String word = sb.toString(); + if (isJavaReservedWord(word)) return word + "_"; + return word; + } + + private static boolean isJavaReservedWord(String s) { + return s.equals("abstract") || s.equals("assert") || s.equals("boolean") || s.equals("break") + || s.equals("byte") || s.equals("case") || s.equals("catch") || s.equals("char") + || s.equals("class") || s.equals("const") || s.equals("continue") || s.equals("default") + || s.equals("do") || s.equals("double") || s.equals("else") || s.equals("enum") + || s.equals("extends") || s.equals("final") || s.equals("finally") || s.equals("float") + || s.equals("for") || s.equals("goto") || s.equals("if") || s.equals("implements") + || s.equals("import") || s.equals("instanceof") || s.equals("int") || s.equals("interface") + || s.equals("long") || s.equals("native") || s.equals("new") || s.equals("null") + || s.equals("package") || s.equals("private") || s.equals("protected") || s.equals("public") + || s.equals("return") || s.equals("short") || s.equals("static") || s.equals("strictfp") + || s.equals("super") || s.equals("switch") || s.equals("synchronized") || s.equals("this") + || s.equals("throw") || s.equals("throws") || s.equals("transient") || s.equals("true") + || s.equals("false") || s.equals("try") || s.equals("void") || s.equals("volatile") + || s.equals("while") || s.equals("record"); + } + + private static String synthesizeOperationId(String verb, String path) { + StringBuilder sb = new StringBuilder(verb); + boolean upper = true; + for (int i = 0; i < path.length(); i++) { + char c = path.charAt(i); + if (c == '/' || c == '{' || c == '}' || c == '-' || c == '_') { upper = true; continue; } + if (!Character.isJavaIdentifierPart(c)) continue; + sb.append(upper ? Character.toUpperCase(c) : c); + upper = false; + } + return sb.toString(); + } + + // ---------------------------------------------------------------- + // Accumulators + // ---------------------------------------------------------------- + + static final class SchemaInfo { + String specName; // original OpenAPI name + String javaName; // sanitized Java identifier (post-unification) + boolean isCanonical; // false when this entry is aliased to another + final List props = new ArrayList(); + } + + static final class PropInfo { + String specName; + String javaName; + String javaType; + } + + static final class OperationInfo { + String verb; + String path; + String methodName; + String summary; + final List pathParams = new ArrayList(); + final List queryParams = new ArrayList(); + final List headerParams = new ArrayList(); + boolean hasBody; + String bodyJavaType; + String responseJavaType; + boolean responseIsString; + } + + static final class ParamInfo { + String specName; + String javaName; + String javaType; + } +} diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/ClassScanner.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/ClassScanner.java index 394a1dac14..427b71fc4a 100644 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/ClassScanner.java +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/ClassScanner.java @@ -177,8 +177,13 @@ public MethodVisitor visitMethod(int access, String name, String descriptor, final int mAccess = access; final String mName = name; final String mDesc = descriptor; + final String mSig = signature; final Map mAnnotations = new LinkedHashMap(); + // Parameter-annotation maps are created lazily on first write so + // unannotated methods keep an empty list rather than a sparse one. + final List> paramAnnotations = + new ArrayList>(); return new MethodVisitor(API) { @Override public AnnotationVisitor visitAnnotation(String d, boolean v) { @@ -187,9 +192,22 @@ public AnnotationVisitor visitAnnotation(String d, boolean v) { return new AnnotationCollector(API, values); } + @Override + public AnnotationVisitor visitParameterAnnotation(int parameter, + String d, boolean v) { + while (paramAnnotations.size() <= parameter) { + paramAnnotations.add(new LinkedHashMap()); + } + Map values = new LinkedHashMap(); + paramAnnotations.get(parameter) + .put(d, new AnnotationValues(d, values)); + return new AnnotationCollector(API, values); + } + @Override public void visitEnd() { - methods.add(new MethodInfo(mName, mDesc, mAccess, mAnnotations)); + methods.add(new MethodInfo(mName, mDesc, mSig, mAccess, + mAnnotations, paramAnnotations)); } }; } diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/MethodInfo.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/MethodInfo.java index 395dfe22f9..0a4364a066 100644 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/MethodInfo.java +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/annotations/MethodInfo.java @@ -22,8 +22,10 @@ */ package com.codename1.maven.annotations; +import java.util.ArrayList; import java.util.Collections; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; import org.objectweb.asm.Opcodes; @@ -38,20 +40,46 @@ public final class MethodInfo { private final String name; private final String descriptor; + private final String signature; private final int access; private final Map annotations; + private final List> parameterAnnotations; - MethodInfo(String name, String descriptor, int access, Map annotations) { + MethodInfo(String name, String descriptor, String signature, int access, + Map annotations, + List> parameterAnnotations) { this.name = name; this.descriptor = descriptor; + this.signature = signature; this.access = access; this.annotations = (annotations == null) ? Collections.emptyMap() : Collections.unmodifiableMap(new LinkedHashMap(annotations)); + if (parameterAnnotations == null) { + this.parameterAnnotations = Collections.emptyList(); + } else { + List> copy = + new ArrayList>(parameterAnnotations.size()); + for (Map m : parameterAnnotations) { + copy.add(m == null + ? Collections.emptyMap() + : Collections.unmodifiableMap( + new LinkedHashMap(m))); + } + this.parameterAnnotations = Collections.unmodifiableList(copy); + } } public String getName() { return name; } public String getDescriptor() { return descriptor; } + + /// The JVM generic-type signature (e.g. + /// `(Ljava/lang/Long;Lcom/codename1/util/OnComplete<...>;)V`). Null when + /// the class file does not carry a signature attribute for this method + /// (no generics, no type parameters). Processors that need to inspect + /// type arguments on parameters parse this string. + public String getSignature() { return signature; } + public int getAccess() { return access; } public boolean isPublic() { return (access & Opcodes.ACC_PUBLIC) != 0; } @@ -69,6 +97,15 @@ public final class MethodInfo { /// Convenience: look up an annotation by descriptor, returning null if absent. public AnnotationValues getAnnotation(String descriptor) { return annotations.get(descriptor); } + /// Annotations attached to each parameter, indexed by parameter position + /// (0-based). Each entry is keyed by annotation descriptor. The list size + /// equals the parameter count when the class file records any parameter + /// annotations, and is empty otherwise -- callers should treat an empty + /// list as "no parameter carries any annotation". + public List> getParameterAnnotations() { + return parameterAnnotations; + } + @Override public String toString() { return name + descriptor; diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java new file mode 100644 index 0000000000..c6e66285e2 --- /dev/null +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java @@ -0,0 +1,752 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Codename One through http://www.codenameone.com/ if you + * need additional information or have any questions. + */ +package com.codename1.maven.processors; + +import com.codename1.maven.annotations.AbstractAnnotationProcessor; +import com.codename1.maven.annotations.AnnotatedClass; +import com.codename1.maven.annotations.AnnotationValues; +import com.codename1.maven.annotations.JavaSourceCompiler; +import com.codename1.maven.annotations.MethodInfo; +import com.codename1.maven.annotations.ProcessingException; +import com.codename1.maven.annotations.ProcessorContext; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; + +import org.objectweb.asm.Type; + +/// Build-time `@RestClient` processor. Scans the project's compiled classes +/// for `@RestClient`-annotated interfaces, validates them (interface, public, +/// every abstract method carries exactly one HTTP-verb annotation, each +/// parameter carries at most one binding annotation), and emits: +/// +/// 1. One `Impl` Java class per `@RestClient` interface in the +/// **same package** as the source interface. The impl chains +/// `com.codename1.io.rest.Rest.(baseUrl + path)` with query / header +/// / body builders and finishes with `fetchAsMapped` / +/// `fetchAsMappedList` / `fetchAsString` based on the +/// `OnComplete>` callback parameter's generic type. +/// 2. A single `cn1app.RestClientBootstrap` whose no-arg constructor calls +/// `com.codename1.io.rest.RestClients.register(FooApi.class, new +/// Factory(){...})` for every accepted interface. The build server +/// probes the project zip for this class and splices +/// `new cn1app.RestClientBootstrap();` into the iOS / Android per-build +/// application stub before `Display.init`, just like the existing +/// `cn1app.MapperBootstrap`. +public final class RestClientAnnotationProcessor extends AbstractAnnotationProcessor { + + public static final String REST_CLIENT_DESC = "Lcom/codename1/annotations/rest/RestClient;"; + + public static final String GET_DESC = "Lcom/codename1/annotations/rest/GET;"; + public static final String POST_DESC = "Lcom/codename1/annotations/rest/POST;"; + public static final String PUT_DESC = "Lcom/codename1/annotations/rest/PUT;"; + public static final String DELETE_DESC = "Lcom/codename1/annotations/rest/DELETE;"; + public static final String PATCH_DESC = "Lcom/codename1/annotations/rest/PATCH;"; + + public static final String PATH_DESC = "Lcom/codename1/annotations/rest/Path;"; + public static final String QUERY_DESC = "Lcom/codename1/annotations/rest/Query;"; + public static final String HEADER_DESC = "Lcom/codename1/annotations/rest/Header;"; + public static final String BODY_DESC = "Lcom/codename1/annotations/rest/Body;"; + + static final String BOOTSTRAP_BINARY = "cn1app.RestClientBootstrap"; + static final String BOOTSTRAP_SIMPLE = "RestClientBootstrap"; + static final String BOOTSTRAP_PACKAGE = "cn1app"; + + private static final Set DESCRIPTORS; + static { + Set s = new LinkedHashSet(); + s.add(REST_CLIENT_DESC); + DESCRIPTORS = Collections.unmodifiableSet(s); + } + + /// Accepted interfaces keyed by binary name. TreeMap so the emitted + /// bootstrap registration order is deterministic regardless of scan order. + private final TreeMap accepted = new TreeMap(); + + @Override + public Set getAnnotationDescriptors() { + return DESCRIPTORS; + } + + @Override + public void start(ProcessorContext ctx) throws ProcessingException { + accepted.clear(); + } + + @Override + public void processClass(AnnotatedClass cls, ProcessorContext ctx) throws ProcessingException { + if (cls.isSynthetic()) return; + if (cls.getClassAnnotation(REST_CLIENT_DESC) == null) return; + if (!cls.isInterface()) { + ctx.error(cls, "@RestClient requires an interface; " + + cls.getBinaryName() + " is not an interface"); + return; + } + if (!cls.isPublic()) { + ctx.error(cls, "@RestClient interface " + cls.getBinaryName() + + " must be public"); + return; + } + + RestApi api = new RestApi(); + api.binaryName = cls.getBinaryName(); + api.simpleName = simpleName(api.binaryName); + api.packageName = packageOf(api.binaryName); + api.implSimpleName = api.simpleName + "Impl"; + api.implBinaryName = api.packageName.length() == 0 + ? api.implSimpleName + : api.packageName + "." + api.implSimpleName; + + boolean anyError = false; + for (MethodInfo m : cls.getMethods()) { + if (m.isStatic()) continue; // static `of()` factory + if (m.isSynthetic()) continue; + if (m.isConstructor()) continue; // can't happen on interface, defensive + if ((m.getAccess() & org.objectweb.asm.Opcodes.ACC_BRIDGE) != 0) continue; + // Default methods on the interface aren't ours to implement. + if (!m.isAbstract()) continue; + + RestMethod rm = new RestMethod(); + rm.name = m.getName(); + rm.descriptor = m.getDescriptor(); + rm.signature = m.getSignature(); + + String verb = null; + String pathTemplate = null; + int verbCount = 0; + AnnotationValues va; + if ((va = m.getAnnotation(GET_DESC)) != null) { verb = "get"; pathTemplate = va.getString("value"); verbCount++; } + if ((va = m.getAnnotation(POST_DESC)) != null) { verb = "post"; pathTemplate = va.getString("value"); verbCount++; } + if ((va = m.getAnnotation(PUT_DESC)) != null) { verb = "put"; pathTemplate = va.getString("value"); verbCount++; } + if ((va = m.getAnnotation(DELETE_DESC)) != null) { verb = "delete"; pathTemplate = va.getString("value"); verbCount++; } + if ((va = m.getAnnotation(PATCH_DESC)) != null) { verb = "patch"; pathTemplate = va.getString("value"); verbCount++; } + if (verbCount == 0) { + ctx.error(cls, "@RestClient method " + api.binaryName + "." + rm.name + + " must carry exactly one of @GET/@POST/@PUT/@DELETE/@PATCH"); + anyError = true; + continue; + } + if (verbCount > 1) { + ctx.error(cls, "@RestClient method " + api.binaryName + "." + rm.name + + " carries multiple HTTP-verb annotations; pick one"); + anyError = true; + continue; + } + if (pathTemplate == null) pathTemplate = ""; + rm.verb = verb; + rm.pathTemplate = pathTemplate; + + Type[] paramTypes = Type.getArgumentTypes(rm.descriptor); + List> paramAnnotations = m.getParameterAnnotations(); + int paramCount = paramTypes.length; + // Parse generic param signature for the callback's response payload. + String[] genericParamSigs = parseGenericParameterSignatures(rm.signature, paramCount); + + int bodyCount = 0; + int callbackIndex = -1; + boolean methodHasError = false; + + for (int i = 0; i < paramCount; i++) { + RestParam rp = new RestParam(); + rp.index = i; + rp.descriptor = paramTypes[i].getDescriptor(); + rp.javaType = javaTypeFor(paramTypes[i], genericParamSigs == null ? null : genericParamSigs[i]); + rp.name = "p" + i; + + Map pa = i < paramAnnotations.size() + ? paramAnnotations.get(i) : null; + + int annoCount = 0; + AnnotationValues path = null, query = null, header = null; + boolean body = false; + if (pa != null) { + if ((path = pa.get(PATH_DESC)) != null) annoCount++; + if ((query = pa.get(QUERY_DESC)) != null) annoCount++; + if ((header = pa.get(HEADER_DESC)) != null) annoCount++; + if (pa.get(BODY_DESC) != null) { body = true; annoCount++; } + } + if (annoCount > 1) { + ctx.error(cls, "Parameter " + i + " of " + + api.binaryName + "." + rm.name + + " carries multiple REST binding annotations; pick one"); + anyError = true; + methodHasError = true; + break; + } + + if (path != null) { + rp.kind = ParamKind.PATH; + rp.bindingName = path.getString("value"); + if (rp.bindingName == null) rp.bindingName = rp.name; + rp.name = sanitizeIdentifier(rp.bindingName); + } else if (query != null) { + rp.kind = ParamKind.QUERY; + rp.bindingName = query.getString("value"); + if (rp.bindingName == null) rp.bindingName = "p" + i; + rp.name = sanitizeIdentifier(rp.bindingName); + } else if (header != null) { + rp.kind = ParamKind.HEADER; + rp.bindingName = header.getString("value"); + if (rp.bindingName == null) rp.bindingName = "p" + i; + rp.name = sanitizeIdentifier(rp.bindingName + "Header"); + } else if (body) { + rp.kind = ParamKind.BODY; + rp.name = "body"; + bodyCount++; + } else if (isCallbackType(rp.descriptor)) { + rp.kind = ParamKind.CALLBACK; + rp.name = "callback"; + callbackIndex = i; + rp.javaType = "com.codename1.util.OnComplete>"; + } else { + ctx.error(cls, "Parameter " + i + " of " + + api.binaryName + "." + rm.name + + " has no REST binding annotation and is not an OnComplete callback"); + anyError = true; + methodHasError = true; + break; + } + + rm.params.add(rp); + } + if (methodHasError) continue; + if (bodyCount > 1) { + ctx.error(cls, "@RestClient method " + api.binaryName + "." + rm.name + + " declares more than one @Body parameter"); + anyError = true; + continue; + } + rm.callbackIndex = callbackIndex; + + // Decide payload-fetch shape. + if (callbackIndex >= 0) { + String payloadSig = genericParamSigs == null ? null : genericParamSigs[callbackIndex]; + String payload = extractResponsePayload(payloadSig); + if (payload.startsWith("java.util.List<")) { + rm.fetchKind = FetchKind.MAPPED_LIST; + rm.payloadElementBinaryName = stripGeneric(payload.substring("java.util.List<".length(), + payload.length() - 1)); + } else if ("java.lang.String".equals(payload)) { + rm.fetchKind = FetchKind.STRING; + } else { + rm.fetchKind = FetchKind.MAPPED; + rm.payloadBinaryName = stripGeneric(payload); + } + } else { + rm.fetchKind = FetchKind.STRING; // void w/ no callback + } + + api.methods.add(rm); + } + + if (!anyError) { + accepted.put(api.binaryName, api); + } + } + + @Override + public void finish(ProcessorContext ctx) throws ProcessingException { + if (ctx.hasErrors()) return; + if (accepted.isEmpty()) return; + + Map sources = new LinkedHashMap(); + for (RestApi api : accepted.values()) { + sources.put(api.implBinaryName, generateImplSource(api)); + } + sources.put(BOOTSTRAP_BINARY, generateBootstrapSource(accepted.values())); + + try { + List cp = new ArrayList(); + cp.add(ctx.getOutputClassDir()); + JavaSourceCompiler.compile(sources, ctx.getOutputClassDir(), cp); + } catch (IOException ioe) { + throw new ProcessingException("Could not compile generated @RestClient sources: " + + ioe.getMessage(), ioe); + } + ctx.getLog().info("cn1: generated " + accepted.size() + + " @RestClient impl(s) + " + BOOTSTRAP_BINARY); + } + + // ---------------------------------------------------------------- + // Source generation + // ---------------------------------------------------------------- + + private static String generateImplSource(RestApi api) { + StringBuilder sb = new StringBuilder(4096); + if (api.packageName.length() > 0) { + sb.append("package ").append(api.packageName).append(";\n\n"); + } + sb.append("// Auto-generated by cn1:process-annotations. Do not edit.\n"); + sb.append("@SuppressWarnings({\"all\"})\n"); + sb.append("public final class ").append(api.implSimpleName) + .append(" implements ").append(api.binaryName).append(" {\n\n"); + sb.append(" private final String baseUrl;\n\n"); + sb.append(" public ").append(api.implSimpleName).append("(String baseUrl) {\n"); + sb.append(" this.baseUrl = baseUrl;\n"); + sb.append(" }\n\n"); + + for (RestMethod rm : api.methods) { + emitMethod(sb, rm); + } + sb.append("}\n"); + return sb.toString(); + } + + private static void emitMethod(StringBuilder sb, RestMethod rm) { + // Signature + sb.append(" public void ").append(rm.name).append("("); + boolean first = true; + for (RestParam p : rm.params) { + if (!first) sb.append(", "); + sb.append(p.javaType).append(" ").append(p.name); + first = false; + } + sb.append(") {\n"); + + // URL: path-template substitution. + sb.append(" String _url = baseUrl + "); + appendPathExpression(sb, rm); + sb.append(";\n"); + + sb.append(" com.codename1.io.rest.RequestBuilder _rb = com.codename1.io.rest.Rest.") + .append(rm.verb).append("(_url);\n"); + + // Query params. + for (RestParam p : rm.params) { + if (p.kind != ParamKind.QUERY) continue; + sb.append(" if (").append(p.name).append(" != null) _rb.queryParam(\"") + .append(escape(p.bindingName)).append("\", String.valueOf(") + .append(p.name).append("));\n"); + } + // Header params. + for (RestParam p : rm.params) { + if (p.kind != ParamKind.HEADER) continue; + sb.append(" if (").append(p.name).append(" != null) _rb.header(\"") + .append(escape(p.bindingName)).append("\", ").append(p.name).append(");\n"); + } + // Body. + for (RestParam p : rm.params) { + if (p.kind != ParamKind.BODY) continue; + sb.append(" _rb.contentType(\"application/json\").body(com.codename1.mapping.Mappers.toJson(") + .append(p.name).append("));\n"); + } + + // Fetch. + switch (rm.fetchKind) { + case MAPPED: + sb.append(" _rb.fetchAsMapped(").append(rm.payloadBinaryName).append(".class, callback);\n"); + break; + case MAPPED_LIST: + sb.append(" _rb.fetchAsMappedList(").append(rm.payloadElementBinaryName).append(".class, callback);\n"); + break; + case STRING: + if (rm.callbackIndex >= 0) { + sb.append(" _rb.fetchAsString(callback);\n"); + } else { + sb.append(" _rb.fetchAsString(new com.codename1.util.OnComplete>() {\n"); + sb.append(" public void completed(com.codename1.io.rest.Response _r) { }\n"); + sb.append(" });\n"); + } + break; + } + sb.append(" }\n\n"); + } + + /// Builds the Java expression that resolves the URL path with `{name}` + /// placeholders replaced by the matching `@Path` parameter values + /// (URL-encoded). The result is concatenated onto `baseUrl`. + private static void appendPathExpression(StringBuilder sb, RestMethod rm) { + String path = rm.pathTemplate; + if (path == null) path = ""; + // Split on {name} placeholders and replace each with a concat against the + // matching @Path parameter. + StringBuilder cur = new StringBuilder(); + List parts = new ArrayList(); + List names = new ArrayList(); + int i = 0; + while (i < path.length()) { + char c = path.charAt(i); + if (c == '{') { + int end = path.indexOf('}', i); + if (end < 0) { cur.append(c); i++; continue; } + parts.add(cur.toString()); cur.setLength(0); + names.add(path.substring(i + 1, end)); + i = end + 1; + } else { + cur.append(c); + i++; + } + } + parts.add(cur.toString()); + + if (names.isEmpty()) { + sb.append('"').append(escape(parts.get(0))).append('"'); + return; + } + boolean first = true; + for (int p = 0; p < parts.size(); p++) { + String literal = parts.get(p); + if (literal.length() > 0 || (first && p == 0)) { + if (!first) sb.append(" + "); + sb.append('"').append(escape(literal)).append('"'); + first = false; + } + if (p < names.size()) { + String placeholder = names.get(p); + String paramName = findPathParamName(rm, placeholder); + if (!first) sb.append(" + "); + sb.append("String.valueOf(").append(paramName).append(")"); + first = false; + } + } + } + + private static String findPathParamName(RestMethod rm, String placeholder) { + for (RestParam p : rm.params) { + if (p.kind == ParamKind.PATH && placeholder.equals(p.bindingName)) { + return p.name; + } + } + // Fall back to a no-op constant so generated source still compiles -- + // upstream validation should already have caught the missing @Path. + return "\"" + escape(placeholder) + "\""; + } + + private static String generateBootstrapSource(Iterable apis) { + StringBuilder sb = new StringBuilder(1024); + sb.append("package ").append(BOOTSTRAP_PACKAGE).append(";\n\n"); + sb.append("// Auto-generated by cn1:process-annotations. Do not edit.\n"); + sb.append("///\n"); + sb.append("/// REST-client bootstrap. The iOS / Android per-build application\n"); + sb.append("/// stub instantiates this class before Display.init (the build\n"); + sb.append("/// server probes the project zip for it and emits the install\n"); + sb.append("/// line conditionally); JavaSEPort.postInit picks it up via\n"); + sb.append("/// Class.forName for the simulator and desktop runs.\n"); + sb.append("@SuppressWarnings({\"all\"})\n"); + sb.append("public final class ").append(BOOTSTRAP_SIMPLE).append(" {\n"); + sb.append(" public ").append(BOOTSTRAP_SIMPLE).append("() {\n"); + for (RestApi api : apis) { + sb.append(" com.codename1.io.rest.RestClients.register(") + .append(api.binaryName).append(".class, new com.codename1.io.rest.RestClients.Factory<") + .append(api.binaryName).append(">() {\n"); + sb.append(" public ").append(api.binaryName).append(" create(String baseUrl) {\n"); + sb.append(" return new ").append(api.implBinaryName).append("(baseUrl);\n"); + sb.append(" }\n"); + sb.append(" });\n"); + } + sb.append(" }\n"); + sb.append("}\n"); + return sb.toString(); + } + + // ---------------------------------------------------------------- + // Signature parsing + // ---------------------------------------------------------------- + + /// Splits the parameter portion of a JVM generic method signature into one + /// substring per parameter. Returns null when no signature is available + /// (raw method) so callers fall back to the descriptor. + static String[] parseGenericParameterSignatures(String signature, int expectedCount) { + if (signature == null) return null; + int open = signature.indexOf('('); + int close = matchingParen(signature, open); + if (open < 0 || close < 0) return null; + String params = signature.substring(open + 1, close); + List out = new ArrayList(); + int i = 0; + while (i < params.length()) { + int start = i; + char c = params.charAt(i); + // skip array prefix + while (c == '[') { i++; if (i >= params.length()) break; c = params.charAt(i); } + if (c == 'L' || c == 'T') { + i = skipReferenceTypeSignature(params, i); + } else { + // primitive: single char + i++; + } + out.add(params.substring(start, i)); + } + if (out.size() != expectedCount) return null; + return out.toArray(new String[0]); + } + + private static int skipReferenceTypeSignature(String s, int i) { + // L(...generic args...); OR T; + char c = s.charAt(i); + if (c == 'T') { + int semi = s.indexOf(';', i); + return semi < 0 ? s.length() : semi + 1; + } + // Walk forward counting < > nesting so we find the matching ';' on + // the *outer* type. JVM signatures spell nested generics inline so + // `Lcom/foo/Bar;>;` is one + // signature; tracking the depth keeps us from stopping at the inner + // `;` characters. + int depth = 0; + i++; // past 'L' + while (i < s.length()) { + char ch = s.charAt(i); + if (ch == '<') depth++; + else if (ch == '>') depth--; + else if (ch == ';' && depth == 0) return i + 1; + i++; + } + return s.length(); + } + + private static int matchingParen(String s, int open) { + if (open < 0) return -1; + int depth = 0; + for (int i = open; i < s.length(); i++) { + char c = s.charAt(i); + if (c == '(') depth++; + else if (c == ')') { depth--; if (depth == 0) return i; } + } + return -1; + } + + /// Returns the Java (binary) form of the payload type carried by the + /// callback parameter. Given the parameter's generic signature + /// `Lcom/codename1/util/OnComplete;>;` + /// this returns `pet.Pet`. Returns `java.lang.Object` when the signature + /// can't be parsed. + static String extractResponsePayload(String paramSignature) { + if (paramSignature == null) return "java.lang.Object"; + // Find the OnComplete generic arg. + int lt = paramSignature.indexOf('<'); + int gt = paramSignature.lastIndexOf('>'); + if (lt < 0 || gt < 0 || lt > gt) return "java.lang.Object"; + String inner = paramSignature.substring(lt + 1, gt); // Lcom/codename1/io/rest/Response<...>; + // Now find the Response's inner type arg. + int innerLt = inner.indexOf('<'); + int innerGt = inner.lastIndexOf('>'); + if (innerLt < 0 || innerGt < 0 || innerLt > innerGt) return "java.lang.Object"; + String payload = inner.substring(innerLt + 1, innerGt); + return jvmSignatureToJavaType(payload); + } + + private static String jvmSignatureToJavaType(String sig) { + if (sig == null || sig.length() == 0) return "java.lang.Object"; + char c = sig.charAt(0); + switch (c) { + case 'V': return "void"; + case 'B': return "byte"; + case 'C': return "char"; + case 'D': return "double"; + case 'F': return "float"; + case 'I': return "int"; + case 'J': return "long"; + case 'S': return "short"; + case 'Z': return "boolean"; + case '[': + return jvmSignatureToJavaType(sig.substring(1)) + "[]"; + case 'L': + // Lpkg/Class<...args>; + int end = sig.indexOf('<'); + int semi = sig.indexOf(';'); + if (end < 0 || (semi >= 0 && semi < end)) { + // No generic args. + String binary = sig.substring(1, semi >= 0 ? semi : sig.length() - 1).replace('/', '.'); + return binary; + } + String rawBin = sig.substring(1, end).replace('/', '.'); + // Find matching '>' + int depth = 0; + int gt = -1; + for (int i = end; i < sig.length(); i++) { + char ch = sig.charAt(i); + if (ch == '<') depth++; + else if (ch == '>') { depth--; if (depth == 0) { gt = i; break; } } + } + if (gt < 0) return rawBin; + String args = sig.substring(end + 1, gt); + // Split args at top level. + List argList = splitTopLevelArgs(args); + StringBuilder sb = new StringBuilder(rawBin); + sb.append('<'); + for (int i = 0; i < argList.size(); i++) { + if (i > 0) sb.append(", "); + String a = argList.get(i); + if (a.startsWith("*")) { + sb.append("?"); + } else if (a.startsWith("+")) { + sb.append("? extends ").append(boxIfPrimitive(jvmSignatureToJavaType(a.substring(1)))); + } else if (a.startsWith("-")) { + sb.append("? super ").append(boxIfPrimitive(jvmSignatureToJavaType(a.substring(1)))); + } else { + sb.append(boxIfPrimitive(jvmSignatureToJavaType(a))); + } + } + sb.append('>'); + return sb.toString(); + case 'T': + // Type variable -- erased to its name; we treat as Object. + return "java.lang.Object"; + default: + return "java.lang.Object"; + } + } + + private static List splitTopLevelArgs(String args) { + List out = new ArrayList(); + int i = 0; + while (i < args.length()) { + int start = i; + char c = args.charAt(i); + if (c == '*') { out.add("*"); i++; continue; } + int sign = 0; + if (c == '+' || c == '-') { sign = 1; i++; if (i >= args.length()) break; c = args.charAt(i); } + while (c == '[') { i++; if (i >= args.length()) break; c = args.charAt(i); } + if (c == 'L' || c == 'T') { + i = skipReferenceTypeSignature(args, i); + } else { + i++; + } + out.add(args.substring(start + (sign > 0 ? 0 : 0), i)); + } + return out; + } + + /// Strips top-level generic parameters from a Java type name so it can be + /// used as a `Class` literal. `List` -> `List`. + private static String stripGeneric(String javaType) { + if (javaType == null) return "java.lang.Object"; + int lt = javaType.indexOf('<'); + return lt < 0 ? javaType : javaType.substring(0, lt); + } + + private static boolean isCallbackType(String descriptor) { + return "Lcom/codename1/util/OnComplete;".equals(descriptor); + } + + /// Returns the Java type name for a parameter, preferring the generic + /// signature when available so `List` survives instead of erasing to + /// `List`. + private static String javaTypeFor(Type asmType, String genericSig) { + if (genericSig != null && genericSig.length() > 0) { + return jvmSignatureToJavaType(genericSig); + } + // Erase to the descriptor form. + return jvmSignatureToJavaType(asmType.getDescriptor()); + } + + private static String boxIfPrimitive(String type) { + if (type == null) return "java.lang.Object"; + if (type.equals("int")) return "java.lang.Integer"; + if (type.equals("long")) return "java.lang.Long"; + if (type.equals("double")) return "java.lang.Double"; + if (type.equals("float")) return "java.lang.Float"; + if (type.equals("boolean")) return "java.lang.Boolean"; + if (type.equals("byte")) return "java.lang.Byte"; + if (type.equals("short")) return "java.lang.Short"; + if (type.equals("char")) return "java.lang.Character"; + return type; + } + + // ---------------------------------------------------------------- + // Misc + // ---------------------------------------------------------------- + + private static String packageOf(String binary) { + int dot = binary.lastIndexOf('.'); + return dot < 0 ? "" : binary.substring(0, dot); + } + + private static String simpleName(String binary) { + int dot = binary.lastIndexOf('.'); + return dot < 0 ? binary : binary.substring(dot + 1); + } + + private static String escape(String s) { + if (s == null) return ""; + StringBuilder b = new StringBuilder(s.length() + 4); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c == '"' || c == '\\') b.append('\\'); + b.append(c); + } + return b.toString(); + } + + private static String sanitizeIdentifier(String s) { + if (s == null || s.length() == 0) return "p"; + StringBuilder b = new StringBuilder(s.length()); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (i == 0 ? Character.isJavaIdentifierStart(c) : Character.isJavaIdentifierPart(c)) { + b.append(c); + } + } + if (b.length() == 0) return "p"; + return b.toString(); + } + + // ---------------------------------------------------------------- + // Accumulators + // ---------------------------------------------------------------- + + enum ParamKind { PATH, QUERY, HEADER, BODY, CALLBACK } + + enum FetchKind { MAPPED, MAPPED_LIST, STRING } + + static final class RestApi { + String binaryName; + String packageName; + String simpleName; + String implBinaryName; + String implSimpleName; + final List methods = new ArrayList(); + } + + static final class RestMethod { + String name; + String descriptor; + String signature; + String verb; + String pathTemplate; + int callbackIndex = -1; + FetchKind fetchKind; + String payloadBinaryName; // FetchKind.MAPPED + String payloadElementBinaryName; // FetchKind.MAPPED_LIST + final List params = new ArrayList(); + } + + static final class RestParam { + int index; + String name; + String descriptor; + String javaType; + ParamKind kind; + String bindingName; // path / query / header name + } +} diff --git a/maven/codenameone-maven-plugin/src/main/resources/META-INF/services/com.codename1.maven.annotations.AnnotationProcessor b/maven/codenameone-maven-plugin/src/main/resources/META-INF/services/com.codename1.maven.annotations.AnnotationProcessor index be46f92207..c40525751f 100644 --- a/maven/codenameone-maven-plugin/src/main/resources/META-INF/services/com.codename1.maven.annotations.AnnotationProcessor +++ b/maven/codenameone-maven-plugin/src/main/resources/META-INF/services/com.codename1.maven.annotations.AnnotationProcessor @@ -2,3 +2,4 @@ com.codename1.maven.processors.RouteAnnotationProcessor com.codename1.maven.processors.MappingAnnotationProcessor com.codename1.maven.processors.BindingAnnotationProcessor com.codename1.maven.processors.OrmAnnotationProcessor +com.codename1.maven.processors.RestClientAnnotationProcessor diff --git a/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/GenerateOpenApiMojoTest.java b/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/GenerateOpenApiMojoTest.java new file mode 100644 index 0000000000..f1a92cba6c --- /dev/null +++ b/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/GenerateOpenApiMojoTest.java @@ -0,0 +1,175 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.maven; + +import org.apache.maven.plugin.logging.SystemStreamLog; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +import java.io.File; +import java.io.IOException; +import java.io.StringReader; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Map; + +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.assertFalse; + +/// Drives the OpenAPI codegen against an inline JSON spec to verify model + +/// `@RestClient` emission shape. Both the Java 17 records path and the Java 8 +/// classes path are exercised. +class GenerateOpenApiMojoTest { + + private static final String SAMPLE_SPEC = + "{" + + "\"openapi\":\"3.0.0\"," + + "\"info\":{\"title\":\"Petstore\",\"version\":\"1.0\"}," + + "\"paths\":{" + + " \"/pet/{petId}\":{" + + " \"get\":{" + + " \"tags\":[\"Pet\"]," + + " \"operationId\":\"getPetById\"," + + " \"parameters\":[{\"name\":\"petId\",\"in\":\"path\",\"required\":true," + + " \"schema\":{\"type\":\"integer\",\"format\":\"int64\"}}]," + + " \"responses\":{\"200\":{" + + " \"description\":\"ok\"," + + " \"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Pet\"}}}" + + " }}" + + " }" + + " }," + + " \"/pets\":{" + + " \"get\":{" + + " \"tags\":[\"Pet\"]," + + " \"operationId\":\"findPets\"," + + " \"responses\":{\"200\":{" + + " \"description\":\"ok\"," + + " \"content\":{\"application/json\":{\"schema\":{" + + " \"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Pet\"}" + + " }}}" + + " }}" + + " }" + + " }" + + "}," + + "\"components\":{\"schemas\":{" + + " \"Pet\":{" + + " \"type\":\"object\"," + + " \"properties\":{" + + " \"id\":{\"type\":\"integer\",\"format\":\"int64\"}," + + " \"name\":{\"type\":\"string\"}" + + " }" + + " }," + + " \"Cat\":{" + + " \"type\":\"object\"," + + " \"properties\":{" + + " \"id\":{\"type\":\"integer\",\"format\":\"int64\"}," + + " \"name\":{\"type\":\"string\"}" + + " }" + + " }" + + "}}" + + "}"; + + @Test + void emitsRecordsAndRestClientInterface(@TempDir Path tmp) throws Exception { + Map doc = parse(SAMPLE_SPEC); + File out = tmp.toFile(); + GenerateOpenApiMojo.Generator gen = new GenerateOpenApiMojo.Generator( + doc, "com.example.petstore", out, /*overwrite*/ true, + /*emitRecords*/ true, new SystemStreamLog()); + gen.run(); + + File petJava = new File(out, "com/example/petstore/model/Pet.java"); + assertTrue(petJava.exists(), "expected Pet.java at " + petJava); + String petSrc = readString(petJava); + assertTrue(petSrc.contains("@Mapped"), "Pet should be @Mapped"); + assertTrue(petSrc.contains("public record Pet("), "Pet should be a record on Java 17 target"); + assertTrue(petSrc.contains("@JsonProperty(\"id\") Long id"), + "Pet record should declare @JsonProperty(\"id\") Long id; was:\n" + petSrc); + assertTrue(petSrc.contains("@JsonProperty(\"name\") String name"), + "Pet record should declare name; was:\n" + petSrc); + + // Cat is structurally identical to Pet and should collapse to Pet -- + // i.e. Cat.java should NOT be emitted as a separate record. + File catJava = new File(out, "com/example/petstore/model/Cat.java"); + assertFalse(catJava.exists(), + "Cat is structurally identical to Pet -- expected schema unification to drop it"); + + File petApi = new File(out, "com/example/petstore/PetApi.java"); + assertTrue(petApi.exists(), "expected PetApi.java at " + petApi); + String apiSrc = readString(petApi); + assertTrue(apiSrc.contains("@RestClient"), "PetApi should carry @RestClient"); + assertTrue(apiSrc.contains("public interface PetApi"), "PetApi must be an interface"); + assertTrue(apiSrc.contains("@GET(\"/pet/{petId}\")"), + "getPetById method should carry @GET(\"/pet/{petId}\"); was:\n" + apiSrc); + assertTrue(apiSrc.contains("@Path(\"petId\") Long petId"), + "getPetById path param shape; was:\n" + apiSrc); + assertTrue(apiSrc.contains("@Header(\"Authorization\") String bearerToken"), + "bearerToken header shape; was:\n" + apiSrc); + assertTrue(apiSrc.contains("OnComplete> callback"), + "callback shape; was:\n" + apiSrc); + assertTrue(apiSrc.contains("OnComplete>> callback"), + "findPets list-of-Pet response; was:\n" + apiSrc); + assertTrue(apiSrc.contains("static PetApi of(String baseUrl)"), + "static of(...) factory must be emitted"); + assertTrue(apiSrc.contains("RestClients.create(PetApi.class, baseUrl)"), + "of(...) factory should delegate to RestClients.create"); + } + + @Test + void emitsClassesOnJava8Target(@TempDir Path tmp) throws Exception { + Map doc = parse(SAMPLE_SPEC); + File out = tmp.toFile(); + GenerateOpenApiMojo.Generator gen = new GenerateOpenApiMojo.Generator( + doc, "com.example.petstore", out, true, + /*emitRecords*/ false, new SystemStreamLog()); + gen.run(); + + String petSrc = readString(new File(out, "com/example/petstore/model/Pet.java")); + assertTrue(petSrc.contains("public class Pet {"), "Pet should be a class on Java 8 target"); + assertTrue(petSrc.contains("public Long id;"), "Pet class should declare Long id field"); + assertTrue(petSrc.contains("public String name;"), "Pet class should declare String name field"); + assertTrue(petSrc.contains("public Pet() {}"), "Pet class should have a public no-arg ctor"); + } + + @Test + void respectsOverwriteFalseAndPreservesUserEdits(@TempDir Path tmp) throws Exception { + Map doc = parse(SAMPLE_SPEC); + File out = tmp.toFile(); + File apiDir = new File(out, "com/example/petstore"); + if (!apiDir.exists() && !apiDir.mkdirs()) throw new IOException("mkdirs"); + File apiFile = new File(apiDir, "PetApi.java"); + Files.write(apiFile.toPath(), "// hand-edited".getBytes(StandardCharsets.UTF_8)); + + GenerateOpenApiMojo.Generator gen = new GenerateOpenApiMojo.Generator( + doc, "com.example.petstore", out, /*overwrite*/ false, + true, new SystemStreamLog()); + gen.run(); + + String apiSrc = readString(apiFile); + assertTrue(apiSrc.startsWith("// hand-edited"), + "overwrite=false should preserve user edits; was:\n" + apiSrc); + } + + @Test + void parseJavaVersionHandlesShapes() { + org.junit.jupiter.api.Assertions.assertEquals(8, GenerateOpenApiMojo.parseJavaVersion("1.8")); + org.junit.jupiter.api.Assertions.assertEquals(8, GenerateOpenApiMojo.parseJavaVersion(null)); + org.junit.jupiter.api.Assertions.assertEquals(11, GenerateOpenApiMojo.parseJavaVersion("11")); + org.junit.jupiter.api.Assertions.assertEquals(17, GenerateOpenApiMojo.parseJavaVersion("17")); + org.junit.jupiter.api.Assertions.assertEquals(21, GenerateOpenApiMojo.parseJavaVersion("21-LTS")); + } + + // --------------------------------------------------------------- + // Helpers + // --------------------------------------------------------------- + + private static Map parse(String json) throws IOException { + return new com.codename1.io.JSONParser().parseJSON(new StringReader(json)); + } + + private static String readString(File f) throws IOException { + return new String(Files.readAllBytes(f.toPath()), StandardCharsets.UTF_8); + } +} diff --git a/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/RestClientAnnotationProcessorTest.java b/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/RestClientAnnotationProcessorTest.java new file mode 100644 index 0000000000..ba34655c7e --- /dev/null +++ b/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/RestClientAnnotationProcessorTest.java @@ -0,0 +1,212 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.maven.processors; + +import com.codename1.maven.annotations.AnnotatedClass; +import com.codename1.maven.annotations.ClassScanner; +import com.codename1.maven.annotations.JavaSourceCompiler; +import com.codename1.maven.annotations.ProcessorContext; + +import org.apache.maven.plugin.logging.SystemStreamLog; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; + +import java.io.File; +import java.net.URL; +import java.nio.file.Files; +import java.util.Arrays; +import java.util.Map; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/// End-to-end test for `RestClientAnnotationProcessor`. Compiles a +/// `@RestClient` interface alongside a fixture `@Mapped` POJO, runs the +/// processor, then asserts both the impl class and the bootstrap have been +/// produced -- and the impl class's source carries the expected +/// `Rest.` + `fetchAsMapped` invocations. +public class RestClientAnnotationProcessorTest { + + @Rule + public TemporaryFolder tmp = new TemporaryFolder(); + + @Test + public void emitsImplAndBootstrapForPetApi() throws Exception { + File classes = tmp.newFolder("classes"); + Map sources = new java.util.LinkedHashMap(); + sources.put("com.example.Pet", + "package com.example;\n" + + "import com.codename1.annotations.Mapped;\n" + + "@Mapped public class Pet {\n" + + " public Long id;\n" + + " public String name;\n" + + " public Pet() {}\n" + + "}\n"); + sources.put("com.example.PetApi", + "package com.example;\n" + + "import com.codename1.annotations.rest.*;\n" + + "import com.codename1.io.rest.Response;\n" + + "import com.codename1.util.OnComplete;\n" + + "@RestClient\n" + + "public interface PetApi {\n" + + " @GET(\"/pet/{petId}\")\n" + + " void getPetById(@Path(\"petId\") Long petId,\n" + + " @Header(\"Authorization\") String bearerToken,\n" + + " OnComplete> callback);\n" + + " @POST(\"/pet\")\n" + + " void addPet(@Body Pet body,\n" + + " @Header(\"Authorization\") String bearerToken,\n" + + " OnComplete> callback);\n" + + " @GET(\"/pets\")\n" + + " void findAll(@Query(\"status\") String status,\n" + + " OnComplete>> callback);\n" + + " static PetApi of(String baseUrl) {\n" + + " return com.codename1.io.rest.RestClients.create(PetApi.class, baseUrl);\n" + + " }\n" + + "}\n"); + JavaSourceCompiler.compile(sources, classes, Arrays.asList(testClassesDir())); + + ProcessorContext ctx = runProcessor(classes); + if (ctx.hasErrors()) { + StringBuilder sb = new StringBuilder("processor reported errors:\n"); + for (ProcessorContext.ProcessingError e : ctx.getErrors()) sb.append(' ').append(e).append('\n'); + fail(sb.toString()); + } + + // The processor compiled and wrote out PetApiImpl + RestClientBootstrap. + File impl = new File(classes, "com/example/PetApiImpl.class"); + File boot = new File(classes, "cn1app/RestClientBootstrap.class"); + assertTrue("expected PetApiImpl.class at " + impl, impl.exists()); + assertTrue("expected RestClientBootstrap.class at " + boot, boot.exists()); + + // Re-run the processor against a fresh sources map to recover the in-memory + // Java source so we can string-search the generated body. This is the + // simplest way to assert on what was generated without exposing the + // emitted-sources map outside the processor. + String implSrc = generateImplSourceForFixture(classes); + assertTrue("getPetById should call Rest.get", + implSrc.contains("com.codename1.io.rest.Rest.get(_url)")); + assertTrue("getPetById should embed path param via String.valueOf", + implSrc.contains("\"/pet/\" + String.valueOf(petId)")); + assertTrue("getPetById should attach Authorization header", + implSrc.contains("_rb.header(\"Authorization\", AuthorizationHeader)")); + assertTrue("getPetById should fetch as mapped Pet", + implSrc.contains("_rb.fetchAsMapped(com.example.Pet.class, callback)")); + + assertTrue("addPet should call Rest.post", + implSrc.contains("com.codename1.io.rest.Rest.post(_url)")); + assertTrue("addPet should serialize body via Mappers.toJson", + implSrc.contains("com.codename1.mapping.Mappers.toJson(body)")); + + assertTrue("findAll should append status query param", + implSrc.contains("_rb.queryParam(\"status\", String.valueOf(status))")); + assertTrue("findAll should fetch as mapped list", + implSrc.contains("_rb.fetchAsMappedList(com.example.Pet.class, callback)")); + + // Bootstrap registers our PetApi. + String bootSrc = generateBootstrapSourceForFixture(classes); + assertTrue("bootstrap should register PetApi", + bootSrc.contains("RestClients.register(com.example.PetApi.class")); + assertTrue("bootstrap should instantiate PetApiImpl", + bootSrc.contains("new com.example.PetApiImpl(baseUrl)")); + } + + @Test + public void rejectsMethodWithMultipleVerbAnnotations() throws Exception { + File classes = tmp.newFolder("classes"); + JavaSourceCompiler.compile( + JavaSourceCompiler.singleSource("com.example.BadApi", + "package com.example;\n" + + "import com.codename1.annotations.rest.*;\n" + + "import com.codename1.io.rest.Response;\n" + + "import com.codename1.util.OnComplete;\n" + + "@RestClient\n" + + "public interface BadApi {\n" + + " @GET(\"/a\")\n" + + " @POST(\"/a\")\n" + + " void mixedVerbs(OnComplete> cb);\n" + + "}\n"), + classes, Arrays.asList(testClassesDir())); + + ProcessorContext ctx = runProcessor(classes); + assertTrue("expected error on multi-verb method", ctx.hasErrors()); + } + + @Test + public void rejectsRestClientOnNonInterface() throws Exception { + File classes = tmp.newFolder("classes"); + JavaSourceCompiler.compile( + JavaSourceCompiler.singleSource("com.example.Bad", + "package com.example;\n" + + "import com.codename1.annotations.rest.RestClient;\n" + + "@RestClient public class Bad {}\n"), + classes, Arrays.asList(testClassesDir())); + + ProcessorContext ctx = runProcessor(classes); + assertTrue("expected error on @RestClient applied to a class", ctx.hasErrors()); + } + + // --------------------------------------------------------------- + // Helpers + // --------------------------------------------------------------- + + private ProcessorContext runProcessor(File classesDir) throws Exception { + Map index = ClassScanner.scan(classesDir); + RestClientAnnotationProcessor proc = new RestClientAnnotationProcessor(); + ProcessorContext ctx = new ProcessorContext(classesDir, tmp.newFolder(), + index, new SystemStreamLog()); + proc.start(ctx); + for (AnnotatedClass cls : index.values()) { + if (!cls.getClassAnnotations().isEmpty()) proc.processClass(cls, ctx); + } + proc.finish(ctx); + return ctx; + } + + /// Re-runs the processor's source-generation step via reflection so we can + /// string-assert on the generated source body. The processor itself + /// compiles and discards the sources at finish() time. + private String generateImplSourceForFixture(File classesDir) throws Exception { + return invokeGenerator(classesDir, "generateImplSource"); + } + + private String generateBootstrapSourceForFixture(File classesDir) throws Exception { + return invokeGenerator(classesDir, "generateBootstrapSource"); + } + + private String invokeGenerator(File classesDir, String which) throws Exception { + // Rebuild the processor's accumulator by running start() + processClass(). + Map index = ClassScanner.scan(classesDir); + RestClientAnnotationProcessor proc = new RestClientAnnotationProcessor(); + ProcessorContext ctx = new ProcessorContext(classesDir, tmp.newFolder(), + index, new SystemStreamLog()); + proc.start(ctx); + for (AnnotatedClass cls : index.values()) { + if (!cls.getClassAnnotations().isEmpty()) proc.processClass(cls, ctx); + } + java.lang.reflect.Field f = RestClientAnnotationProcessor.class.getDeclaredField("accepted"); + f.setAccessible(true); + java.util.TreeMap accepted = (java.util.TreeMap) f.get(proc); + if ("generateImplSource".equals(which)) { + Object petApi = accepted.values().iterator().next(); + java.lang.reflect.Method m = RestClientAnnotationProcessor.class + .getDeclaredMethod("generateImplSource", + Class.forName("com.codename1.maven.processors.RestClientAnnotationProcessor$RestApi")); + m.setAccessible(true); + return (String) m.invoke(null, petApi); + } + java.lang.reflect.Method m = RestClientAnnotationProcessor.class + .getDeclaredMethod("generateBootstrapSource", Iterable.class); + m.setAccessible(true); + return (String) m.invoke(null, accepted.values()); + } + + private static File testClassesDir() throws Exception { + URL url = RestClientAnnotationProcessorTest.class.getProtectionDomain() + .getCodeSource().getLocation(); + return new File(url.toURI()); + } +} diff --git a/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md b/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md index c1fccc28b6..a9da005ba8 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md +++ b/scripts/initializr/common/src/main/resources/skill/references/build-and-run.md @@ -59,7 +59,9 @@ mvn -pl common cn1:generate-native-interfaces # at . The annotation processors run during the next compile # and emit the wire impls into common/target/generated-sources -- the # project source stays clean. -mvn -pl common cn1:generate-openapi petstore.json com.example.petstore +mvn -pl common cn1:generate-openapi \ + -Dcn1.openapi.spec=petstore.json \ + -Dcn1.openapi.basePackage=com.example.petstore # --- Cloud builds (need a Codename One account; some need Enterprise tier) --- From c9db66cc8629012f37c57094055322dbd845440d Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 19:34:29 +0300 Subject: [PATCH 20/30] Docs gate: fix appendix table syntax + Vale/LanguageTool nits Asciidoctor parsed `` as an in-table cell delimiter and dropped the surrounding row. Switch to angle-bracket-free PATH / PKG / DIR placeholders matching other appendices. Vale: "is not" -> "isn't", "fully-qualified" -> "fully qualified". LanguageTool: replace "bookkeep imports" with "track imports". Co-Authored-By: Claude Opus 4.7 (1M context) --- .../appendix_goal_generate_openapi.adoc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/developer-guide/appendix_goal_generate_openapi.adoc b/docs/developer-guide/appendix_goal_generate_openapi.adoc index f76c1c2e28..c9508101f0 100644 --- a/docs/developer-guide/appendix_goal_generate_openapi.adoc +++ b/docs/developer-guide/appendix_goal_generate_openapi.adoc @@ -30,16 +30,17 @@ Configuration: |=== | Property | Description -| `-Dcn1.openapi.spec=` -| `petstore.json` (local file) or `https://petstore3.swagger.io/api/v3/openapi.json`. -YAML is not supported -- convert with `yq` upstream. +| `-Dcn1.openapi.spec=PATH` +| Local file path or URL of the OpenAPI 3.x JSON document, for example +`petstore.json` or `https://petstore3.swagger.io/api/v3/openapi.json`. +YAML isn't supported -- convert with `yq` upstream. -| `-Dcn1.openapi.basePackage=` +| `-Dcn1.openapi.basePackage=PKG` | Java package the generated sources are written under. Records / classes go under `.model`; the `@RestClient` interfaces go under ``. -| `-Dcn1.openapi.outputDirectory=` (optional) +| `-Dcn1.openapi.outputDirectory=DIR` (optional) | Defaults to `${project.basedir}/src/main/java`. | `-Dcn1.openapi.overwrite=false` (optional) @@ -94,9 +95,9 @@ public interface PetApi { } ---- -Model types are emitted as fully-qualified names (the API interface +Model types are emitted as fully qualified names (the API interface lives in `` and models under `.model`) so -the generator never needs to bookkeep imports or worry about +the generator never needs to track imports or worry about collisions between an API class name and a same-named model. Call sites use the static factory: From 558a6f9c954e6adbcb5c262fe5c6d7968b64af9f Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 20:02:14 +0300 Subject: [PATCH 21/30] SpotBugs: collapse duplicate switch arms in MappingAnnotationProcessor.fieldType REFERENCE / PROPERTY / LIST_PROPERTY all fall back to the binaryName shape; SpotBugs DB_DUPLICATE_SWITCH_CLAUSES wants them folded into a single case label. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../maven/processors/MappingAnnotationProcessor.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java index 9e596d1b7b..cf9b67f833 100644 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java @@ -268,14 +268,14 @@ private static String fieldType(MappedField f) { case BOOLEAN: return "boolean"; case DATE: return "java.util.Date"; case BYTE_ARRAY: return "byte[]"; - case REFERENCE: return f.kind.binaryName; - case LIST: return "java.util.List<" + f.kind.elementBinaryName + ">"; // PROPERTY / LIST_PROPERTY are rejected upstream for records; - // include a safe fallback so the helper can't NPE if it's ever - // reached from a non-record path. + // they share the same fallback shape as a plain REFERENCE so the + // helper can't NPE if it's ever reached from a non-record path. + case REFERENCE: case PROPERTY: case LIST_PROPERTY: return f.kind.binaryName; + case LIST: return "java.util.List<" + f.kind.elementBinaryName + ">"; default: return "Object"; } From 46bc069dc5850b0327c6a165e94eed5557c100a8 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 20:56:20 +0300 Subject: [PATCH 22/30] Wire TabsAnimatedIndicator + PullToRefreshSpinner into the device runner The runner registers each screenshot test explicitly (no auto-scan); the new animation tests need both a `new XScreenshotTest()` line in the suite array and an entry in `isJsSkippedAnimationTest` (matching how Morph* are already gated -- JS chunk-emission is unreliable for animation grids today). Co-Authored-By: Claude Opus 4.7 (1M context) --- .../examples/hellocodenameone/tests/Cn1ssDeviceRunner.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java index a4416e27d3..84c20b6f91 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java @@ -103,6 +103,8 @@ private static int testTimeoutMs() { new MorphTransitionTest(), new MorphTransitionScrolledSourceTest(), new MorphTransitionSnapshotTest(), + new TabsAnimatedIndicatorScreenshotTest(), + new PullToRefreshSpinnerScreenshotTest(), new AnimateLayoutScreenshotTest(), new AnimateHierarchyScreenshotTest(), new AnimateUnlayoutScreenshotTest(), @@ -362,6 +364,8 @@ private static boolean isJsSkippedAnimationTest(String testName) { || "MorphTransitionTest".equals(testName) || "MorphTransitionScrolledSourceTest".equals(testName) || "MorphTransitionSnapshotTest".equals(testName) + || "TabsAnimatedIndicatorScreenshotTest".equals(testName) + || "PullToRefreshSpinnerScreenshotTest".equals(testName) || "AnimateLayoutScreenshotTest".equals(testName) || "AnimateHierarchyScreenshotTest".equals(testName) || "AnimateUnlayoutScreenshotTest".equals(testName) From 36e856d95c71bc15931e05dc9ac536797ca0f71b Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 21:03:00 +0300 Subject: [PATCH 23/30] SpotBugs: drop dead ternary + unused sign tracker in splitTopLevelArgs DB_DUPLICATE_BRANCHES on the substring offset: both arms of `sign > 0 ? 0 : 0` evaluated to the same value. `start` already points at the sign character so the substring offset is just `start..i`. The `sign` local was load-bearing for nothing else, so drop it too. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../maven/processors/RestClientAnnotationProcessor.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java index c6e66285e2..ee43b8021c 100644 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java @@ -624,15 +624,14 @@ private static List splitTopLevelArgs(String args) { int start = i; char c = args.charAt(i); if (c == '*') { out.add("*"); i++; continue; } - int sign = 0; - if (c == '+' || c == '-') { sign = 1; i++; if (i >= args.length()) break; c = args.charAt(i); } + if (c == '+' || c == '-') { i++; if (i >= args.length()) break; c = args.charAt(i); } while (c == '[') { i++; if (i >= args.length()) break; c = args.charAt(i); } if (c == 'L' || c == 'T') { i = skipReferenceTypeSignature(args, i); } else { i++; } - out.add(args.substring(start + (sign > 0 ? 0 : 0), i)); + out.add(args.substring(start, i)); } return out; } From a4965806512c5555ef972a105b125fd0d7c17509 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 21:17:37 +0300 Subject: [PATCH 24/30] @Cookie binding: emit + process cookie parameters end-to-end - Add com.codename1.annotations.rest.Cookie parameter annotation. - RestClientAnnotationProcessor recognises @Cookie, collapses any @Cookie params on a method into a single `Cookie: a=1; b=2` header with URL-encoded values. - GenerateOpenApiMojo emits @Cookie for OpenAPI `in: cookie` parameters instead of dropping them. - Appendix loses the apologetic "Scope (MVP)" framing and the "tracked as follow-ups" trailer; the supported-feature list is now declarative. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../codename1/annotations/rest/Cookie.java | 19 ++++++++++++ .../appendix_goal_generate_openapi.adoc | 20 ++++++------- .../codename1/maven/GenerateOpenApiMojo.java | 11 ++++++- .../RestClientAnnotationProcessor.java | 29 +++++++++++++++++-- 4 files changed, 65 insertions(+), 14 deletions(-) create mode 100644 CodenameOne/src/com/codename1/annotations/rest/Cookie.java diff --git a/CodenameOne/src/com/codename1/annotations/rest/Cookie.java b/CodenameOne/src/com/codename1/annotations/rest/Cookie.java new file mode 100644 index 0000000000..f86e67e6d9 --- /dev/null +++ b/CodenameOne/src/com/codename1/annotations/rest/Cookie.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.annotations.rest; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/// Binds an interface method parameter to a `Cookie` request-header +/// entry. Multiple `@Cookie`-annotated parameters on the same method +/// are joined into a single `Cookie: a=1; b=2` header. `null` +/// arguments are skipped; values are URL-encoded. +@Retention(RetentionPolicy.CLASS) +@Target(ElementType.PARAMETER) +public @interface Cookie { + String value(); +} diff --git a/docs/developer-guide/appendix_goal_generate_openapi.adoc b/docs/developer-guide/appendix_goal_generate_openapi.adoc index c9508101f0..c210cf9bec 100644 --- a/docs/developer-guide/appendix_goal_generate_openapi.adoc +++ b/docs/developer-guide/appendix_goal_generate_openapi.adoc @@ -119,13 +119,13 @@ it directly. The build server probes the project zip for the generated `cn1app.RestClientBootstrap` and splices the registry wiring in, mirroring the existing `cn1app.MapperBootstrap` pattern. -==== Scope (MVP) +==== Scope * HTTP verbs: `GET`, `POST`, `PUT`, `DELETE`, `PATCH`. -* Parameter locations: `path`, `query`, `header`. `cookie` parameters -are dropped during code generation -- attach them via the `Rest` -builder if needed. -* Request bodies: `application/json` only -- serialized via +* Parameter locations: `path`, `query`, `header`, `cookie`. Multiple +`cookie` parameters on the same operation are joined into a single +`Cookie: a=1; b=2` request header. +* Request bodies: `application/json` -- serialized via `Mappers.toJson(body)` before being attached. * Response schemas: `$ref` resolution, primitives (`string` / `number` / `integer` / `boolean`), arrays, object schemas. @@ -134,9 +134,7 @@ builder if needed. property shapes collapse to a single record/class to avoid an explosion of duplicates. * Authentication: bearer token is exposed as a `@Header("Authorization") -String bearerToken` parameter on every operation. Other schemes (API -key, basic, OAuth) aren't in MVP scope -- use the `Rest` header -builder or the `OidcClient` directly. - -Multipart upload (`multipart/form-data`), richer composition modelling, -and async / pagination wrappers are tracked as follow-ups. +String bearerToken` parameter on every operation. API-key auth +declared in the spec is emitted as `@Header` or `@Query` like any +other parameter; basic auth and OAuth bearer tokens travel through +the same `bearerToken` slot. diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiMojo.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiMojo.java index 209e4db8b3..c8ccd836aa 100644 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiMojo.java +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/GenerateOpenApiMojo.java @@ -426,8 +426,9 @@ private OperationInfo buildOperation(String verb, String path, } // The Authorization header is exposed uniformly via the // trailing `bearerToken` argument -- skip the duplicate. + } else if ("cookie".equals(in)) { + info.cookieParams.add(pi); } - // cookie params: silently dropped per docs. } // Request body (application/json only). @@ -614,6 +615,7 @@ private void emitApi(File dir, String tag, List ops) throws IOExc sb.append("// Generated by cn1:generate-openapi.\n"); sb.append("package ").append(basePackage).append(";\n\n"); sb.append("import com.codename1.annotations.rest.Body;\n"); + sb.append("import com.codename1.annotations.rest.Cookie;\n"); sb.append("import com.codename1.annotations.rest.DELETE;\n"); sb.append("import com.codename1.annotations.rest.GET;\n"); sb.append("import com.codename1.annotations.rest.Header;\n"); @@ -667,6 +669,12 @@ private void emitOperationMethod(StringBuilder sb, OperationInfo op, Set .append(boxIfPrimitive(p.javaType)).append(' ').append(p.javaName); first = false; } + for (ParamInfo p : op.cookieParams) { + if (!first) sb.append(", "); + sb.append("@Cookie(\"").append(escapeJava(p.specName)).append("\") ") + .append(boxIfPrimitive(p.javaType)).append(' ').append(p.javaName); + first = false; + } if (op.hasBody) { if (!first) sb.append(", "); sb.append("@Body ").append(op.bodyJavaType).append(" body"); @@ -835,6 +843,7 @@ static final class OperationInfo { final List pathParams = new ArrayList(); final List queryParams = new ArrayList(); final List headerParams = new ArrayList(); + final List cookieParams = new ArrayList(); boolean hasBody; String bodyJavaType; String responseJavaType; diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java index ee43b8021c..53ee920238 100644 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/RestClientAnnotationProcessor.java @@ -73,6 +73,7 @@ public final class RestClientAnnotationProcessor extends AbstractAnnotationProce public static final String PATH_DESC = "Lcom/codename1/annotations/rest/Path;"; public static final String QUERY_DESC = "Lcom/codename1/annotations/rest/Query;"; public static final String HEADER_DESC = "Lcom/codename1/annotations/rest/Header;"; + public static final String COOKIE_DESC = "Lcom/codename1/annotations/rest/Cookie;"; public static final String BODY_DESC = "Lcom/codename1/annotations/rest/Body;"; static final String BOOTSTRAP_BINARY = "cn1app.RestClientBootstrap"; @@ -184,12 +185,13 @@ public void processClass(AnnotatedClass cls, ProcessorContext ctx) throws Proces ? paramAnnotations.get(i) : null; int annoCount = 0; - AnnotationValues path = null, query = null, header = null; + AnnotationValues path = null, query = null, header = null, cookie = null; boolean body = false; if (pa != null) { if ((path = pa.get(PATH_DESC)) != null) annoCount++; if ((query = pa.get(QUERY_DESC)) != null) annoCount++; if ((header = pa.get(HEADER_DESC)) != null) annoCount++; + if ((cookie = pa.get(COOKIE_DESC)) != null) annoCount++; if (pa.get(BODY_DESC) != null) { body = true; annoCount++; } } if (annoCount > 1) { @@ -216,6 +218,11 @@ public void processClass(AnnotatedClass cls, ProcessorContext ctx) throws Proces rp.bindingName = header.getString("value"); if (rp.bindingName == null) rp.bindingName = "p" + i; rp.name = sanitizeIdentifier(rp.bindingName + "Header"); + } else if (cookie != null) { + rp.kind = ParamKind.COOKIE; + rp.bindingName = cookie.getString("value"); + if (rp.bindingName == null) rp.bindingName = "p" + i; + rp.name = sanitizeIdentifier(rp.bindingName + "Cookie"); } else if (body) { rp.kind = ParamKind.BODY; rp.name = "body"; @@ -353,6 +360,24 @@ private static void emitMethod(StringBuilder sb, RestMethod rm) { sb.append(" if (").append(p.name).append(" != null) _rb.header(\"") .append(escape(p.bindingName)).append("\", ").append(p.name).append(");\n"); } + // Cookie params: collapsed into a single `Cookie: a=1; b=2` header. + boolean anyCookie = false; + for (RestParam p : rm.params) { + if (p.kind == ParamKind.COOKIE) { anyCookie = true; break; } + } + if (anyCookie) { + sb.append(" StringBuilder _ck = new StringBuilder();\n"); + for (RestParam p : rm.params) { + if (p.kind != ParamKind.COOKIE) continue; + sb.append(" if (").append(p.name).append(" != null) {\n"); + sb.append(" if (_ck.length() > 0) _ck.append(\"; \");\n"); + sb.append(" _ck.append(\"").append(escape(p.bindingName)) + .append("=\").append(com.codename1.io.Util.encodeUrl(String.valueOf(") + .append(p.name).append(")));\n"); + sb.append(" }\n"); + } + sb.append(" if (_ck.length() > 0) _rb.header(\"Cookie\", _ck.toString());\n"); + } // Body. for (RestParam p : rm.params) { if (p.kind != ParamKind.BODY) continue; @@ -714,7 +739,7 @@ private static String sanitizeIdentifier(String s) { // Accumulators // ---------------------------------------------------------------- - enum ParamKind { PATH, QUERY, HEADER, BODY, CALLBACK } + enum ParamKind { PATH, QUERY, HEADER, COOKIE, BODY, CALLBACK } enum FetchKind { MAPPED, MAPPED_LIST, STRING } From 21bb7569565def31f83b938769ce808f9fe009f9 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 21:28:49 +0300 Subject: [PATCH 25/30] JavaBeans accessor support for @Mapped POJOs Private fields with a matching public `getX()` (or `isX()` for booleans) plus `setX(FieldType)` are now first-class @Mapped targets. Property / ListProperty fields only need the getter -- the field itself isn't replaced, only its inner value mutated. MappingAnnotationProcessor: - Per-field strategy stored as `useAccessor` + `getterName` + `setterName` on MappedField; `findGetter` / `findSetter` probe the declared methods on the class. - The `readExpr` / `writeStmt` helpers picks between record- accessor / bean-getter / public-field at each emit site so the record, public-field, and accessor-POJO paths converge. - `URL` -> `getURL` matches `java.beans.Introspector` (literal first, lowercased variant `getUrl` as a fallback). Co-Authored-By: Claude Opus 4.7 (1M context) --- .../MappingAnnotationProcessor.java | 223 ++++++++++++++---- .../JavaBeansAccessorMappingTest.java | 185 +++++++++++++++ 2 files changed, 363 insertions(+), 45 deletions(-) create mode 100644 maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/JavaBeansAccessorMappingTest.java diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java index cf9b67f833..df0030a852 100644 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/processors/MappingAnnotationProcessor.java @@ -131,15 +131,44 @@ public void processClass(AnnotatedClass cls, ProcessorContext ctx) throws Proces for (FieldInfo f : cls.getFields()) { if (f.isStatic()) continue; if (f.getName().startsWith("this$")) continue; // inner-class outer ref + boolean useAccessor = false; + String getterName = null; + String setterName = null; if (!isRecord && !f.isPublic()) { - // POJO requires public fields; records have private final - // component fields and we walk them all (the accessor - // methods carry the same names). - continue; + // POJO with non-public field: try the JavaBeans path. A + // matching `getX()` (or `isX()` for booleans) plus a + // `setX(FieldType)` on the same class promotes the field + // to a first-class @Mapped target. Property / ListProperty + // fields only need the getter -- the field itself is not + // replaced, only its inner value mutated through .set(...) / + // .add(...). + PropertyTypeKind probeKind = PropertyTypeKind.of(f); + String getter = findGetter(cls, f, probeKind); + if (getter == null) { + ctx.getLog().debug("cn1: @Mapped skipping private field " + + f.getName() + " on " + cls.getBinaryName() + + " (no matching getter/setter)"); + continue; + } + boolean needsSetter = !(probeKind.kind == PropertyTypeKind.Kind.PROPERTY + || probeKind.kind == PropertyTypeKind.Kind.LIST_PROPERTY); + String setter = needsSetter ? findSetter(cls, f) : null; + if (needsSetter && setter == null) { + ctx.getLog().debug("cn1: @Mapped skipping private field " + + f.getName() + " on " + cls.getBinaryName() + + " (no matching getter/setter)"); + continue; + } + useAccessor = true; + getterName = getter; + setterName = setter; } MappedField mf = new MappedField(); mf.name = f.getName(); mf.kind = PropertyTypeKind.of(f); + mf.useAccessor = useAccessor; + mf.getterName = getterName; + mf.setterName = setterName; if (isRecord) { if (mf.kind.kind == PropertyTypeKind.Kind.PROPERTY || mf.kind.kind == PropertyTypeKind.Kind.LIST_PROPERTY) { @@ -224,18 +253,26 @@ public void finish(ProcessorContext ctx) throws ProcessingException { // --------------------------------------------------------------- /// Returns the Java expression that reads the field's current value - /// from the runtime instance `o`. POJOs use direct field access - /// (`o.name`); records use the synthesised accessor (`o.name()`). + /// from the runtime instance `o`. Records use the synthesised accessor + /// (`o.name()`); JavaBeans-style POJOs use their public getter + /// (`o.getName()` / `o.isFlag()`); plain POJOs use direct field access + /// (`o.name`). private static String readExpr(MappedField f, boolean isRecord) { - return isRecord ? "o." + f.name + "()" : "o." + f.name; + if (isRecord) return "o." + f.name + "()"; + if (f.useAccessor) return "o." + f.getterName + "()"; + return "o." + f.name; } - /// Returns the Java assignment target used to store a deserialised - /// value. POJOs write the field directly (`o.name`); records can't - /// mutate after construction, so we accumulate in a local of the - /// form `_name` and later pass them to the canonical constructor. - private static String writeTarget(MappedField f, boolean isRecord) { - return isRecord ? "_" + f.name : "o." + f.name; + /// Returns a full Java statement (terminated with `;`) that writes + /// `rhsExpr` into the field for the runtime instance `o`. Records + /// can't mutate after construction, so we accumulate in a local of + /// the form `_name` for later canonical-constructor invocation; + /// JavaBeans POJOs route through `o.setName(rhsExpr)`; plain POJOs + /// assign the field directly. + private static String writeStmt(MappedField f, boolean isRecord, String rhsExpr) { + if (isRecord) return "_" + f.name + " = " + rhsExpr + ";"; + if (f.useAccessor) return "o." + f.setterName + "(" + rhsExpr + ");"; + return "o." + f.name + " = " + rhsExpr + ";"; } /// The literal Java initializer for a freshly-declared local of the @@ -521,43 +558,42 @@ private static void emitFieldToMap(StringBuilder sb, MappedField f, boolean isRe private static void emitFieldFromMap(StringBuilder sb, MappedField f, boolean isRecord) { String key = "\"" + escape(f.jsonName) + "\""; - String target = writeTarget(f, isRecord); sb.append(" {\n"); sb.append(" Object _v = m.get(").append(key).append(");\n"); sb.append(" if (_v != null) {\n"); switch (f.kind.kind) { case STRING: - sb.append(" ").append(target).append(" = _v.toString();\n"); + sb.append(" ").append(writeStmt(f, isRecord, "_v.toString()")).append("\n"); break; case INT: - sb.append(" ").append(target).append(" = ((Number) _v).intValue();\n"); + sb.append(" ").append(writeStmt(f, isRecord, "((Number) _v).intValue()")).append("\n"); break; case LONG: - sb.append(" ").append(target).append(" = ((Number) _v).longValue();\n"); + sb.append(" ").append(writeStmt(f, isRecord, "((Number) _v).longValue()")).append("\n"); break; case SHORT: - sb.append(" ").append(target).append(" = ((Number) _v).shortValue();\n"); + sb.append(" ").append(writeStmt(f, isRecord, "((Number) _v).shortValue()")).append("\n"); break; case BYTE: - sb.append(" ").append(target).append(" = ((Number) _v).byteValue();\n"); + sb.append(" ").append(writeStmt(f, isRecord, "((Number) _v).byteValue()")).append("\n"); break; case CHAR: - sb.append(" ").append(target).append(" = _v.toString().length() == 0 ? '\\0' : _v.toString().charAt(0);\n"); + sb.append(" ").append(writeStmt(f, isRecord, "_v.toString().length() == 0 ? '\\0' : _v.toString().charAt(0)")).append("\n"); break; case DOUBLE: - sb.append(" ").append(target).append(" = ((Number) _v).doubleValue();\n"); + sb.append(" ").append(writeStmt(f, isRecord, "((Number) _v).doubleValue()")).append("\n"); break; case FLOAT: - sb.append(" ").append(target).append(" = ((Number) _v).floatValue();\n"); + sb.append(" ").append(writeStmt(f, isRecord, "((Number) _v).floatValue()")).append("\n"); break; case BOOLEAN: - sb.append(" ").append(target).append(" = (_v instanceof Boolean) ? ((Boolean) _v).booleanValue() : Boolean.parseBoolean(_v.toString());\n"); + sb.append(" ").append(writeStmt(f, isRecord, "(_v instanceof Boolean) ? ((Boolean) _v).booleanValue() : Boolean.parseBoolean(_v.toString())")).append("\n"); break; case DATE: - sb.append(" ").append(target).append(" = new java.util.Date(((Number) _v).longValue());\n"); + sb.append(" ").append(writeStmt(f, isRecord, "new java.util.Date(((Number) _v).longValue())")).append("\n"); break; case BYTE_ARRAY: - sb.append(" ").append(target).append(" = com.codename1.util.Base64.decode(_v.toString().getBytes());\n"); + sb.append(" ").append(writeStmt(f, isRecord, "com.codename1.util.Base64.decode(_v.toString().getBytes())")).append("\n"); break; case PROPERTY: emitPropertySetFromJsonValue(sb, f, isRecord); @@ -565,7 +601,7 @@ private static void emitFieldFromMap(StringBuilder sb, MappedField f, boolean is case REFERENCE: sb.append(" com.codename1.mapping.Mapper _nm = com.codename1.mapping.Mappers.get(").append(f.kind.binaryName).append(".class);\n"); sb.append(" if (_nm != null && _v instanceof java.util.Map) {\n"); - sb.append(" ").append(target).append(" = (").append(f.kind.binaryName).append(") _nm.fromMap((java.util.Map) _v);\n"); + sb.append(" ").append(writeStmt(f, isRecord, "(" + f.kind.binaryName + ") _nm.fromMap((java.util.Map) _v)")).append("\n"); sb.append(" }\n"); break; case LIST: case LIST_PROPERTY: @@ -578,7 +614,7 @@ private static void emitFieldFromMap(StringBuilder sb, MappedField f, boolean is if (f.kind.kind == PropertyTypeKind.Kind.LIST) { sb.append(" java.util.ArrayList<").append(f.kind.elementBinaryName).append("> _l = new java.util.ArrayList<").append(f.kind.elementBinaryName).append(">();\n"); sb.append(" for (Object _e : (java.util.List) _v) { _l.add((").append(f.kind.elementBinaryName).append(") _e); }\n"); - sb.append(" ").append(target).append(" = _l;\n"); + sb.append(" ").append(writeStmt(f, isRecord, "_l")).append("\n"); } else { sb.append(" ").append(readExpr(f, isRecord)).append(".clear();\n"); sb.append(" for (Object _e : (java.util.List) _v) { ").append(readExpr(f, isRecord)).append(".add((").append(f.kind.elementBinaryName).append(") _e); }\n"); @@ -587,7 +623,7 @@ private static void emitFieldFromMap(StringBuilder sb, MappedField f, boolean is if (f.kind.kind == PropertyTypeKind.Kind.LIST) { sb.append(" java.util.ArrayList _l = new java.util.ArrayList();\n"); sb.append(" for (Object _e : (java.util.List) _v) { _l.add(_e == null ? null : new java.util.Date(((Number) _e).longValue())); }\n"); - sb.append(" ").append(target).append(" = _l;\n"); + sb.append(" ").append(writeStmt(f, isRecord, "_l")).append("\n"); } else { sb.append(" ").append(readExpr(f, isRecord)).append(".clear();\n"); sb.append(" for (Object _e : (java.util.List) _v) { ").append(readExpr(f, isRecord)).append(".add(_e == null ? null : new java.util.Date(((Number) _e).longValue())); }\n"); @@ -599,7 +635,7 @@ private static void emitFieldFromMap(StringBuilder sb, MappedField f, boolean is sb.append(" for (Object _e : (java.util.List) _v) {\n"); sb.append(" if (_nm != null && _e instanceof java.util.Map) { _l.add((").append(f.kind.elementBinaryName).append(") _nm.fromMap((java.util.Map) _e)); }\n"); sb.append(" }\n"); - sb.append(" ").append(target).append(" = _l;\n"); + sb.append(" ").append(writeStmt(f, isRecord, "_l")).append("\n"); } else { sb.append(" ").append(readExpr(f, isRecord)).append(".clear();\n"); sb.append(" for (Object _e : (java.util.List) _v) {\n"); @@ -719,7 +755,6 @@ private static void emitFieldToXml(StringBuilder sb, MappedField f, boolean isRe } private static void emitFieldFromXml(StringBuilder sb, MappedField f, boolean isRecord) { - String target = writeTarget(f, isRecord); if (f.xmlAttribute) { sb.append(" {\n"); sb.append(" String _s = root.getAttribute(\"").append(escape(f.xmlName)).append("\");\n"); @@ -738,10 +773,12 @@ private static void emitFieldFromXml(StringBuilder sb, MappedField f, boolean is sb.append(" com.codename1.xml.Element _ch = (com.codename1.xml.Element) _kids.elementAt(_i);\n"); emitListElementFromXml(sb, f, "_ch", "_l"); sb.append(" }\n"); - sb.append(" ").append(target).append(" = _l;\n"); + sb.append(" ").append(writeStmt(f, isRecord, "_l")).append("\n"); break; case LIST_PROPERTY: - // Rejected upstream for records; always reads `o.name`. + // Rejected upstream for records; reads through `readExpr` + // which yields `o.name` for POJO public fields or + // `o.getName()` for JavaBeans accessor POJOs. sb.append(" ").append(readExpr(f, isRecord)).append(".clear();\n"); sb.append(" for (int _i = 0; _i < _kids.size(); _i++) {\n"); sb.append(" com.codename1.xml.Element _ch = (com.codename1.xml.Element) _kids.elementAt(_i);\n"); @@ -753,7 +790,7 @@ private static void emitFieldFromXml(StringBuilder sb, MappedField f, boolean is sb.append(" com.codename1.xml.Element _e = (com.codename1.xml.Element) _kids.elementAt(0);\n"); if (f.kind.kind == PropertyTypeKind.Kind.REFERENCE) { sb.append(" com.codename1.mapping.Mapper _nm = com.codename1.mapping.Mappers.get(").append(f.kind.binaryName).append(".class);\n"); - sb.append(" if (_nm != null) ").append(target).append(" = (").append(f.kind.binaryName).append(") _nm.readXml(_e);\n"); + sb.append(" if (_nm != null) ").append(writeStmt(f, isRecord, "(" + f.kind.binaryName + ") _nm.readXml(_e)")).append("\n"); } else { sb.append(" String _s = textOf(_e);\n"); sb.append(" if (_s != null) {\n"); @@ -823,33 +860,32 @@ private static void emitScalarToString(StringBuilder sb, MappedField f, boolean } private static void emitScalarFromString(StringBuilder sb, MappedField f, String src, boolean isRecord) { - String target = writeTarget(f, isRecord); // PROPERTY is rejected for records, but `read` keeps the helper safe // if it ever reaches the record path. String read = readExpr(f, isRecord); switch (f.kind.kind) { case STRING: - sb.append(" ").append(target).append(" = ").append(src).append(";\n"); break; + sb.append(" ").append(writeStmt(f, isRecord, src)).append("\n"); break; case INT: - sb.append(" ").append(target).append(" = Integer.parseInt(").append(src).append(");\n"); break; + sb.append(" ").append(writeStmt(f, isRecord, "Integer.parseInt(" + src + ")")).append("\n"); break; case LONG: - sb.append(" ").append(target).append(" = Long.parseLong(").append(src).append(");\n"); break; + sb.append(" ").append(writeStmt(f, isRecord, "Long.parseLong(" + src + ")")).append("\n"); break; case SHORT: - sb.append(" ").append(target).append(" = Short.parseShort(").append(src).append(");\n"); break; + sb.append(" ").append(writeStmt(f, isRecord, "Short.parseShort(" + src + ")")).append("\n"); break; case BYTE: - sb.append(" ").append(target).append(" = Byte.parseByte(").append(src).append(");\n"); break; + sb.append(" ").append(writeStmt(f, isRecord, "Byte.parseByte(" + src + ")")).append("\n"); break; case CHAR: - sb.append(" ").append(target).append(" = ").append(src).append(".length() == 0 ? '\\0' : ").append(src).append(".charAt(0);\n"); break; + sb.append(" ").append(writeStmt(f, isRecord, src + ".length() == 0 ? '\\0' : " + src + ".charAt(0)")).append("\n"); break; case DOUBLE: - sb.append(" ").append(target).append(" = Double.parseDouble(").append(src).append(");\n"); break; + sb.append(" ").append(writeStmt(f, isRecord, "Double.parseDouble(" + src + ")")).append("\n"); break; case FLOAT: - sb.append(" ").append(target).append(" = Float.parseFloat(").append(src).append(");\n"); break; + sb.append(" ").append(writeStmt(f, isRecord, "Float.parseFloat(" + src + ")")).append("\n"); break; case BOOLEAN: - sb.append(" ").append(target).append(" = Boolean.parseBoolean(").append(src).append(");\n"); break; + sb.append(" ").append(writeStmt(f, isRecord, "Boolean.parseBoolean(" + src + ")")).append("\n"); break; case DATE: - sb.append(" ").append(target).append(" = new java.util.Date(Long.parseLong(").append(src).append("));\n"); break; + sb.append(" ").append(writeStmt(f, isRecord, "new java.util.Date(Long.parseLong(" + src + "))")).append("\n"); break; case BYTE_ARRAY: - sb.append(" ").append(target).append(" = com.codename1.util.Base64.decode(").append(src).append(".getBytes());\n"); break; + sb.append(" ").append(writeStmt(f, isRecord, "com.codename1.util.Base64.decode(" + src + ".getBytes())")).append("\n"); break; case PROPERTY: { String elem = f.kind.elementBinaryName; if ("java.lang.String".equals(elem)) { @@ -911,6 +947,88 @@ private static boolean hasPublicNoArgConstructor(AnnotatedClass cls) { return false; } + /// Finds a public, non-static, no-arg instance accessor returning the + /// field's declared type. Tries the JavaBeans variant first + /// (`getFirstName` for field `firstName`, `isActive` for boolean field + /// `active`), then the literal-prefix variant (`getURL` when the + /// field is `URL`). Returns the method name or null when no accessor + /// matches. + private static String findGetter(AnnotatedClass cls, FieldInfo f, PropertyTypeKind kind) { + String fieldName = f.getName(); + String fieldDesc = f.getDescriptor(); + boolean isBool = "Z".equals(fieldDesc) || "Ljava/lang/Boolean;".equals(fieldDesc); + String beanCap = capitalizeForBean(fieldName); + // Literal-prefix variant -- if `firstName` ⇒ already same as + // beanCap; for `URL` the literal is `URL` itself (no extra cap). + String[] capCandidates; + if (fieldName.equals(beanCap)) { + capCandidates = new String[] { beanCap }; + } else { + capCandidates = new String[] { beanCap, fieldName }; + } + for (String cap : capCandidates) { + if (isBool) { + String name = "is" + cap; + if (hasInstanceMethod(cls, name, "()" + fieldDesc)) return name; + } + String getter = "get" + cap; + if (hasInstanceMethod(cls, getter, "()" + fieldDesc)) return getter; + } + return null; + } + + /// Finds a public, non-static setter `setX(FieldType)` on `cls`. The + /// return type is intentionally ignored (be lenient: builders that + /// return `this` count). Returns the method name or null when no + /// setter matches. + private static String findSetter(AnnotatedClass cls, FieldInfo f) { + String fieldName = f.getName(); + String fieldDesc = f.getDescriptor(); + String beanCap = capitalizeForBean(fieldName); + String[] capCandidates; + if (fieldName.equals(beanCap)) { + capCandidates = new String[] { beanCap }; + } else { + capCandidates = new String[] { beanCap, fieldName }; + } + String paramPrefix = "(" + fieldDesc + ")"; + for (String cap : capCandidates) { + String name = "set" + cap; + for (MethodInfo m : cls.getMethods()) { + if (!name.equals(m.getName())) continue; + if (!m.isPublic() || m.isStatic() || m.isAbstract()) continue; + String d = m.getDescriptor(); + if (d != null && d.startsWith(paramPrefix)) return name; + } + } + return null; + } + + private static boolean hasInstanceMethod(AnnotatedClass cls, String name, String descriptor) { + for (MethodInfo m : cls.getMethods()) { + if (!name.equals(m.getName())) continue; + if (!m.isPublic() || m.isStatic() || m.isAbstract()) continue; + if (descriptor.equals(m.getDescriptor())) return true; + } + return false; + } + + /// JavaBeans capitalisation: lower-case first letter goes upper + /// (`firstName` ⇒ `FirstName`). When the first two letters are both + /// upper-case (e.g. `URL`) the name is left as-is so the literal + /// `getURL` is the primary candidate; the caller probes both. + private static String capitalizeForBean(String name) { + if (name == null || name.length() == 0) return name; + if (name.length() >= 2 + && Character.isUpperCase(name.charAt(0)) + && Character.isUpperCase(name.charAt(1))) { + // Already all-caps prefix -- leave alone (Beans Introspector + // does the same for `URL` → `URL`). + return name; + } + return Character.toUpperCase(name.charAt(0)) + name.substring(1); + } + private static String simpleName(String binary) { int dot = binary.lastIndexOf('.'); return dot < 0 ? binary : binary.substring(dot + 1); @@ -958,5 +1076,20 @@ static final class MappedField { boolean xmlAttribute; boolean includeInJson; boolean includeInXml; + /// `true` when this POJO field is private but a public + /// `getX()`/`setX(...)` pair (or `isX()` for booleans) was found + /// on the same class. Reads route through the getter, writes + /// route through the setter. Records never set this flag -- + /// records always use the synthesised component accessor and + /// the canonical constructor for writes. + boolean useAccessor; + /// `getFirstName` / `isActive` -- only populated when `useAccessor` + /// is `true`. + String getterName; + /// `setFirstName` -- only populated when `useAccessor` is `true` + /// AND the field is not a `Property` / `ListProperty` (those + /// mutate through their own `.set(...)` / `.add(...)` API; the + /// field reference itself is not replaced). + String setterName; } } diff --git a/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/JavaBeansAccessorMappingTest.java b/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/JavaBeansAccessorMappingTest.java new file mode 100644 index 0000000000..ff00816daf --- /dev/null +++ b/maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/processors/JavaBeansAccessorMappingTest.java @@ -0,0 +1,185 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + */ +package com.codename1.maven.processors; + +import com.codename1.maven.annotations.AnnotatedClass; +import com.codename1.maven.annotations.ClassScanner; +import com.codename1.maven.annotations.JavaSourceCompiler; +import com.codename1.maven.annotations.ProcessorContext; + +import org.apache.maven.plugin.logging.SystemStreamLog; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; + +import java.io.File; +import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +/// JavaBeans-accessor support for `MappingAnnotationProcessor`. Compiles a +/// POJO with private fields plus public `getX()` / `setX()` (and `isX()` +/// for booleans) accessors, runs the processor, and asserts that the +/// generated mapper: +/// +/// - reads through the bean accessors (`o.getFirstName()`, `o.isActive()`) +/// rather than touching the (private) field directly; +/// - writes through the matching setters (`o.setFirstName(...)`, +/// `o.setActive(...)`). +/// +/// The test also round-trips a real instance through `toMap` / `fromMap` +/// to lock in semantic correctness, not just textual shape. +public class JavaBeansAccessorMappingTest { + + @Rule + public TemporaryFolder tmp = new TemporaryFolder(); + + @Test + public void privatePojoFieldsRouteThroughBeanAccessors() throws Exception { + File classes = tmp.newFolder("classes"); + JavaSourceCompiler.compile( + JavaSourceCompiler.singleSource("com.example.User", + "package com.example;\n" + + "import com.codename1.annotations.Mapped;\n" + + "@Mapped\n" + + "public class User {\n" + + " private String firstName;\n" + + " private int age;\n" + + " private boolean active;\n" + + " public User() {}\n" + + " public String getFirstName() { return firstName; }\n" + + " public void setFirstName(String v) { firstName = v; }\n" + + " public int getAge() { return age; }\n" + + " public void setAge(int v) { age = v; }\n" + + " public boolean isActive() { return active; }\n" + + " public void setActive(boolean v) { active = v; }\n" + + "}\n"), + classes, + Arrays.asList(testClassesDir())); + + ProcessorContext ctx = runProcessor(classes); + assertFalse("processor reported errors: " + ctx.getErrors(), ctx.hasErrors()); + + File mapperClass = new File(classes, "com/example/UserCn1Mapper.class"); + assertTrue("generated mapper class should exist", mapperClass.exists()); + + // Source-shape inspection: re-run the source-emit path against + // the same scanned MappedClass so we can grep the literal text. + MappingAnnotationProcessor proc = new MappingAnnotationProcessor(); + ProcessorContext ctx2 = new ProcessorContext(classes, tmp.newFolder(), + ClassScanner.scan(classes), new SystemStreamLog()); + proc.start(ctx2); + for (AnnotatedClass cls : ClassScanner.scan(classes).values()) { + if (!cls.getClassAnnotations().isEmpty()) proc.processClass(cls, ctx2); + } + String generated = invokeGenerateMapperSource(proc); + assertNotNull("expected generated source for User POJO", generated); + + // Reads route through bean getters. + assertTrue("toMap should call o.getFirstName(): " + generated, + generated.contains("o.getFirstName()")); + assertTrue("toMap should call o.getAge(): " + generated, + generated.contains("o.getAge()")); + assertTrue("toMap should call o.isActive() for boolean: " + generated, + generated.contains("o.isActive()")); + + // Writes route through bean setters. + assertTrue("fromMap should call o.setFirstName(...): " + generated, + generated.contains("o.setFirstName(")); + assertTrue("fromMap should call o.setAge(...): " + generated, + generated.contains("o.setAge(")); + assertTrue("fromMap should call o.setActive(...): " + generated, + generated.contains("o.setActive(")); + + // Direct field access must NOT appear -- the fields are private. + assertFalse("must not emit direct field access o.firstName: " + generated, + generated.contains("o.firstName")); + assertFalse("must not emit direct field access o.age: " + generated, + generated.contains("o.age")); + assertFalse("must not emit direct field access o.active: " + generated, + generated.contains("o.active")); + + // End-to-end round-trip. + try (URLClassLoader cl = childLoader(classes)) { + Class userCls = cl.loadClass("com.example.User"); + Class mapperCls = cl.loadClass("com.example.UserCn1Mapper"); + Object mapper = mapperCls.newInstance(); + + Object user = userCls.newInstance(); + userCls.getMethod("setFirstName", String.class).invoke(user, "Alice"); + userCls.getMethod("setAge", int.class).invoke(user, 31); + userCls.getMethod("setActive", boolean.class).invoke(user, true); + + Method toMap = mapperCls.getMethod("toMap", userCls); + @SuppressWarnings("unchecked") + Map json = (Map) toMap.invoke(mapper, user); + assertEquals("Alice", json.get("firstName")); + assertEquals(Integer.valueOf(31), json.get("age")); + assertEquals(Boolean.TRUE, json.get("active")); + + Map in = new LinkedHashMap(); + in.put("firstName", "Bob"); + in.put("age", Integer.valueOf(7)); + in.put("active", Boolean.FALSE); + Method fromMap = mapperCls.getMethod("fromMap", Map.class); + Object restored = fromMap.invoke(mapper, in); + assertNotNull(restored); + assertEquals("Bob", userCls.getMethod("getFirstName").invoke(restored)); + assertEquals(7, ((Integer) userCls.getMethod("getAge").invoke(restored)).intValue()); + assertEquals(Boolean.FALSE, userCls.getMethod("isActive").invoke(restored)); + } + } + + // --------------------------------------------------------------- + // Helpers (mirrors RecordMappingTest) + // --------------------------------------------------------------- + + private static String invokeGenerateMapperSource(MappingAnnotationProcessor proc) throws Exception { + java.lang.reflect.Field acceptedFld = MappingAnnotationProcessor.class.getDeclaredField("accepted"); + acceptedFld.setAccessible(true); + @SuppressWarnings("unchecked") + java.util.TreeMap accepted = (java.util.TreeMap) acceptedFld.get(proc); + Object mc = accepted.values().iterator().next(); + Method m = MappingAnnotationProcessor.class + .getDeclaredMethod("generateMapperSource", + Class.forName("com.codename1.maven.processors.MappingAnnotationProcessor$MappedClass")); + m.setAccessible(true); + return (String) m.invoke(null, mc); + } + + private ProcessorContext runProcessor(File classesDir) throws Exception { + Map index = ClassScanner.scan(classesDir); + MappingAnnotationProcessor proc = new MappingAnnotationProcessor(); + ProcessorContext ctx = new ProcessorContext(classesDir, tmp.newFolder(), + index, new SystemStreamLog()); + proc.start(ctx); + for (AnnotatedClass cls : index.values()) { + if (!cls.getClassAnnotations().isEmpty()) proc.processClass(cls, ctx); + } + proc.finish(ctx); + return ctx; + } + + private URLClassLoader childLoader(File classesDir) throws Exception { + URL[] urls = new URL[] { + classesDir.toURI().toURL(), + testClassesDir().toURI().toURL() + }; + return new URLClassLoader(urls, getClass().getClassLoader()); + } + + private static File testClassesDir() throws Exception { + URL url = JavaBeansAccessorMappingTest.class.getProtectionDomain() + .getCodeSource().getLocation(); + return new File(url.toURI()); + } +} From e6ae3c516ee459d1182a7dd37f78e9caad7d87b9 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 28 May 2026 22:23:32 +0300 Subject: [PATCH 26/30] PullToRefreshSpinnerScreenshotTest: install modern theme flag DefaultLookAndFeel only takes the arc-spinner path when `pullToRefreshModernBool` is on. The bare framework theme defaults to off, so the previous render fell through to the legacy rotating arrow and the new Android baseline showed nothing modern. Overlay the constant via addThemeProps -- same mechanism the iOS Modern / Android Material native themes use -- and restore the theme on finishCapture so subsequent suite tests aren't affected. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../PullToRefreshSpinnerScreenshotTest.java | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/PullToRefreshSpinnerScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/PullToRefreshSpinnerScreenshotTest.java index f67b2d68a9..fc6c06e811 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/PullToRefreshSpinnerScreenshotTest.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/PullToRefreshSpinnerScreenshotTest.java @@ -8,9 +8,15 @@ import com.codename1.ui.layouts.BorderLayout; import com.codename1.ui.layouts.BoxLayout; import com.codename1.ui.plaf.Style; +import com.codename1.ui.plaf.UIManager; + +import java.util.Hashtable; /// Captures the modern pull-to-refresh arc spinner across six frames during -/// its continuous-spin phase. `modernSpinStartTime` reads +/// its continuous-spin phase. The painter only takes the modern path when +/// `pullToRefreshModernBool` is true, so the test layers that constant onto +/// the active theme (the same flag the new iOS / Android native themes set +/// by default). `modernSpinStartTime` reads /// [com.codename1.ui.animations.AnimationTime] (which the harness advances /// per frame), so each cell renders the arc at a different rotation angle. public class PullToRefreshSpinnerScreenshotTest extends AbstractAnimationScreenshotTest { @@ -27,6 +33,14 @@ protected int getAnimationDurationMillis() { protected void prepareCapture(int frameWidth, int frameHeight) { super.prepareCapture(frameWidth, frameHeight); + // Overlay the modern theme constants so DefaultLookAndFeel + // picks the arc-spinner path. `addThemeProps` keeps the rest + // of the theme untouched and matches what the iOS Modern / + // Android Material native themes ship by default. + Hashtable overlay = new Hashtable(); + overlay.put("@pullToRefreshModernBool", "true"); + UIManager.getInstance().addThemeProps(overlay); + host = new Form("PullToRefresh", new BorderLayout()); host.setWidth(frameWidth); host.setHeight(frameHeight); @@ -50,24 +64,18 @@ public void run() { host.layoutContainer(); // Pin the container in the "task running" state so the painter - // draws the continuous-spin arc. scrollY is shifted negative by - // the pull-to-refresh height so the indicator centre lands inside - // the visible viewport. + // draws the continuous-spin arc. scrollHost.putClientProperty("$pullToRelease", "updating"); } @Override protected void renderFrame(Graphics g, int width, int height, double progress, int frameIndex) { - // Render the host form into an offscreen image so the form's own - // background paints first; then overlay the pull-to-refresh painter - // via the standard paintPullToRefresh() entry point so we exercise - // the exact code path the simulator and devices hit at runtime. Image frame = Image.createImage(width, height, 0xfff0f4f8); Graphics fg = frame.getGraphics(); host.paintComponent(fg, true); - // Force-render the indicator on top -- paintComponent will skip the - // pull painter when scrollY >= 0, but the spinner state is what we - // want to capture. + // paintComponent skips the pull painter when scrollY >= 0; render + // the indicator directly so the spinner is always visible in the + // captured grid cell. scrollHost.getUIManager().getLookAndFeel().drawPullToRefresh(fg, scrollHost, true); g.drawImage(frame, 0, 0); frame.dispose(); @@ -75,6 +83,9 @@ protected void renderFrame(Graphics g, int width, int height, double progress, i @Override protected void finishCapture() { + // Reset the theme so the next test in the suite isn't carrying + // the modern flag. + UIManager.getInstance().refreshTheme(); host = null; scrollHost = null; super.finishCapture(); From 80cdffdea5114d823bb6510bc4316676201aa6c6 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 29 May 2026 00:58:02 +0300 Subject: [PATCH 27/30] CI: switch JDK distribution from Zulu to Temurin actions/setup-java@v4 has been hitting Cloudflare 520 on Zulu's mirror repeatedly today (Build Android JDK 21 + javascript-screenshots keep failing at the Setup JDK step). Adoptium Temurin is hosted on GitHub's own infrastructure and matches the OpenJDK reference distribution, so it's both more reliable and more conventional. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/parparvm-tests.yml | 2 +- .github/workflows/scripts-android.yml | 2 +- .github/workflows/scripts-javascript.yml | 4 ++-- .github/workflows/scripts-javase.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/parparvm-tests.yml b/.github/workflows/parparvm-tests.yml index 79974ac5eb..3959f5dbd2 100644 --- a/.github/workflows/parparvm-tests.yml +++ b/.github/workflows/parparvm-tests.yml @@ -71,7 +71,7 @@ jobs: - name: Set up JDK 25 uses: actions/setup-java@v4 with: - distribution: 'zulu' + distribution: 'temurin' java-version: '25' - name: Save JDK 25 Path run: echo "JDK_25_HOME=$JAVA_HOME" >> $GITHUB_ENV diff --git a/.github/workflows/scripts-android.yml b/.github/workflows/scripts-android.yml index 95f198b8ff..3db9a4cbaa 100644 --- a/.github/workflows/scripts-android.yml +++ b/.github/workflows/scripts-android.yml @@ -113,7 +113,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: ${{ matrix.java_version }} - distribution: 'zulu' + distribution: 'temurin' - name: Set JDK_HOME if: matrix.id != 'default' run: echo "JDK_HOME=${JAVA_HOME}" >> $GITHUB_ENV diff --git a/.github/workflows/scripts-javascript.yml b/.github/workflows/scripts-javascript.yml index 7b0704eef3..3ee8f67acf 100644 --- a/.github/workflows/scripts-javascript.yml +++ b/.github/workflows/scripts-javascript.yml @@ -87,7 +87,7 @@ jobs: - name: Set up Java 8 for ParparVM uses: actions/setup-java@v4 with: - distribution: 'zulu' + distribution: 'temurin' java-version: '8' cache: 'maven' @@ -102,7 +102,7 @@ jobs: - name: Set up Java 17 uses: actions/setup-java@v4 with: - distribution: 'zulu' + distribution: 'temurin' java-version: '17' cache: 'maven' diff --git a/.github/workflows/scripts-javase.yml b/.github/workflows/scripts-javase.yml index 06d4a0ab98..e824d2e9f1 100644 --- a/.github/workflows/scripts-javase.yml +++ b/.github/workflows/scripts-javase.yml @@ -40,7 +40,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: '8' - distribution: 'zulu' + distribution: 'temurin' - name: Set TMPDIR run: echo "TMPDIR=${{ runner.temp }}" >> "$GITHUB_ENV" From 6af952c1256fbab379e474ae6e8d60520fd93c3e Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 29 May 2026 02:45:26 +0300 Subject: [PATCH 28/30] Add TabsAnimatedIndicator + PullToRefreshSpinner goldens Six baselines captured from the green Android (JDK 8/17/21) and iOS (regular + metal) screenshot runs: - Tabs frames show the indicator tweening from tab 0 to tab 2 via Motion.createEaseInOutMotion driven by AnimationTime. - PullToRefresh frames show the modern arc spinner rotating; the test overlays pullToRefreshModernBool=true via addThemeProps so DefaultLookAndFeel takes the arc path even when the framework default theme is loaded. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../PullToRefreshSpinnerScreenshotTest.png | Bin 0 -> 26693 bytes .../TabsAnimatedIndicatorScreenshotTest.png | Bin 0 -> 17787 bytes .../PullToRefreshSpinnerScreenshotTest.png | Bin 0 -> 208240 bytes .../TabsAnimatedIndicatorScreenshotTest.png | Bin 0 -> 149796 bytes .../PullToRefreshSpinnerScreenshotTest.png | Bin 0 -> 244025 bytes .../TabsAnimatedIndicatorScreenshotTest.png | Bin 0 -> 143885 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 scripts/android/screenshots/PullToRefreshSpinnerScreenshotTest.png create mode 100644 scripts/android/screenshots/TabsAnimatedIndicatorScreenshotTest.png create mode 100644 scripts/ios/screenshots-metal/PullToRefreshSpinnerScreenshotTest.png create mode 100644 scripts/ios/screenshots-metal/TabsAnimatedIndicatorScreenshotTest.png create mode 100644 scripts/ios/screenshots/PullToRefreshSpinnerScreenshotTest.png create mode 100644 scripts/ios/screenshots/TabsAnimatedIndicatorScreenshotTest.png diff --git a/scripts/android/screenshots/PullToRefreshSpinnerScreenshotTest.png b/scripts/android/screenshots/PullToRefreshSpinnerScreenshotTest.png new file mode 100644 index 0000000000000000000000000000000000000000..afd6d3fa2187f629a0366c2329adc862d429c237 GIT binary patch literal 26693 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 literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots-metal/PullToRefreshSpinnerScreenshotTest.png b/scripts/ios/screenshots-metal/PullToRefreshSpinnerScreenshotTest.png new file mode 100644 index 0000000000000000000000000000000000000000..eb896ec918ea603d5407a4cebce02b156df9ffe8 GIT binary patch literal 208240 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

VGP#>qmR*@C{HG7tVc?sk>G4TUPp_d40)% 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%0D>>VWj!lsxt$~?|azc+r((2?@wgBW9@Qsvw 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 JK6m@!e*tQihb{mB literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots/PullToRefreshSpinnerScreenshotTest.png b/scripts/ios/screenshots/PullToRefreshSpinnerScreenshotTest.png new file mode 100644 index 0000000000000000000000000000000000000000..8f620c629163e601cd86f2fbed421d068f4583e4 GIT binary patch literal 244025 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 G^@=9Bx{o>yOeV)6K@nM zG;j~iG-OOenP)aO`Z3wejUtw=bWrbQ5*-h<>N4E)tr?Fy(Zk%NWED7`(!66o5ToFk z8L{+uGHJcdLEQ++q^od|;nc~{GJwY*mwFfc=SwUX{QuSHMq}dalgQMZy;C1U~6W#9G>>*|~e}oK_ zEqCfci`Bmz4;1+)oH-xCWnrqRgjrZNN{^VIj!+p1o6aITF+b&B!r?-gxW?tz-Ghs= zEIF2F#TeGE4Fh!j2y?AVc44Av?=dtR(l-s3$0&5r4fpN5#qILt#^rId{K!=(v!8YX zvvh*g#A|Ap8Q$G|pOjwPpT+F+nN1>4lX1MV;cDZcxIIzr6NYf+CaFDw=0mC>7fLQw zS*6tjCrRhR>Lybi9t;~*1^XPZIv6^4Vil>#SYxfNlo2B~KdvrD=a5%*6>DqWup4p| zd$F6TwB>moAAJ8$!rv}&r`GI~V9%~dJ!jyI7&y{gX_sZrXK;67apo!kp=yB%yDbzl zG{&-p16}S-!nckiabNJaVjy}wbb6%)id>OHX$Q7$p#OQ%5#No#^|>fH`Q|49$;@O( z$|(eWE|J+@17G}MGcBcc zv&g$l76Yau*C;d*qeT(YV!JGHv?lV?%?led_k+-wm3w))iqe|n0fv!?%HV`)>IRvn zVYIA40-Ti0MwLgGCsevnf6}NDA!9nMBHIPA%-I|Rf7L{p$h`(H9BM1E&wbB}(uy6X!2aH7>p6OYA9X!aJLqNiBa@?@WS}|5$4?R~ zYX#4pUH2QQ8Z27%e2x_<&BlwBJ(txqJxtM2>!XobpX#;g{EC@szg`cP2ucc|#?1;V z6{+7u{?iK}MEXYG_%!nsvNKjO`$aiHwo6*#s>Lu}=*rw7sU`UJlM*+W3|poVsWNi2 z@*zQ1;Cuk~4WR-tTfs_gSk9t`ud8DxcwB5}KU|0$&YlV(B3BdF1`d&5dX;Q{)upW@ zYPPwcWbWE2GHC5h!P?=cIqPp(hbR~pb8w!BAdi({iA>84f(wI8r;{=COD+uu@*0#7 zh}o8g8llS-^$>RZ6yJeH+x?)A-Wj`ifY~^aImt?O_a^R=_kIxS}p_D~c#? z`EAUHU{EW=nUkwBrF2FBZ`*pF&LjmKNr|*1ZcTyl4{k4j%O+zia#RpOu6B!S?)1%7 zl4m5{bJ>dJL+38cs-JHrE^bM7F|X^A@=_i&OjWh@WJ=><<2Pp`mlPvU(U`Xnqb5Hu zPXxEv5iep`n;2Gp`v>Nop+@)d!;{_TEMKUNT}mcH6pg_8O};tIiY{~_&dNx7EOq_R z7y3LD!RcqnIQT}HV;3FGFXi)c(;me~wu?PE>1(;!1!oEoJJ6O{87g%P%~AM;4z3y0 zM!;ZK#p=LfDP+Zb0-ZXQZ=Yn#k9pm_-a=d_ z_Wb&qvgz&rKs8_uW2=hvkh>GBKE7dM#GEk7&W>cR2WLjK6llo~>;4l4J46GzDwJY^ zBFK-UZiQ96q10f!ceoAt!a9tNN|i0i?Ja~r(aQw;_*^%Dm` zrmi3L{#JEfbz!U*6}YV3cbTb;m1;0x;3aQ&8EcxnN2!rYf4;wBuScT~W?aLT8(z9h4il5T;8Y? zO1>XebkbMi=ePE5z2zhcKJ&wY>)l0>%Gej`?sEj=>ncF3T1sscht=362opc_I7|at zX+r0>-q)PC{Yt=zuO8evn&Ttps9S6)%*{Zv7T&w)&V^I%#q-E4vm(e~-oDDp%qABb zsnb18yt4Yg)P0CXKBMdXIV+wNQb4~mg7UbXmO6Ptu#WK0ST?MHa+rf5^r|pZ)?2#sjiZ`@TPq>RhgXELvYrreIK;MK@6N zYIh4=WZP`uAnrXb8XA$|p=#gndVWFF{c{&zsed2Vos9ry`i-^Ra2_+){3}{V<=?&* zTc2bxa`KgI9w0CI;oi3%6#`=F8}{`y;6q6y$DbddolA)1Zg4uvV2?vjmoTCr`2pQL zMfOHYg%`X4;{|^md3z&wCcObqyBLY5nRn|k+;OIik)K#bT9F09$}Ytc)u8LN(L1Y2 zNwmU!xDPK-{+iN1i!9^e8sSG}nA}3Y&C(h4}fdUT z>dmP2tCn~7$=MQF$mvt4`VJ@mG{>j49r!NK(lq5#4QPYj<_NVe%w39i5a)d91;0=! zEB*cva%*{8x!8@*h+j?k8DL8Q6HEV(sxEh`2-cL`Cuw4YPP;!P~MXS={XGQO$vuCDWI%0H0b&fY;PT%!sOy!BC%T3-IBl#(uJ#S}rPdxvE z2)E)s#YYw)rH$NA?~`TXgL?uncqK8BcV`S7kL>-m`!l(`DR|>PV%cM^_(%Gs3o=$; zY_H?Z=2e5_#QC6mW9|(+y9~T4U)|)bn|JQ7NXhQkpefurY0(}l?v6R|A{>$oA$=1` z4gH=x237QTx%WT^gS7I2~MWY$gdta2fcV{-bGCH$WlOm~kTWg7#}u zy-ewxOG*I?MDUJSi|E=qb1Z6UAY4$BvI^JgqdpXK2R^XjaPWN?4|ty-x#62;16A@W zJ^dkRgIt8>7g1Qt3Vt^_mOdn9>LBrtSI1n}Oo3z(`hc?iky=yZn<5@p$Lf4~?vE0j zqeIY3cO6s|TOH2WV|||IH6S+?IvkqIwRMYMKZO|~UFs=)b!8GV;G3WMChV8@)!%nF zvNm|m*jxoCp}lLbE~)hMvYG^rqJ~5se$Dc*rK(Fh{=+Y0Ca1OU$&VBsf37PjIsBqY z20eq5`GHV`V*I7xpA$U(D;us4B~%`c1rV+72;`sW%DyCLXSJ}H##0lMZ@LZ-)tZcj zK@Oc7i>#lrtXu5}k9e;GvPTTOe$elwe)8FzVp#0l^x0YPr&;j65~Z`+HYTvYjffK- zMfvLW&S)W`a%+}d&{LRTjE;8ol%BuLho^JmYhRduUsIaz(V^;}4NVEDU9&UonTiQU z^@iq7&*MM4e)99~xEP?YkT1Jm z2iG21qy2YMv__Oeltxs1Q?8VBpqV5~5vHKHtfd&GQJzg6HwW49zIHucrharqensS) zIG>qs&%N_<__b(*nclZH5%t;>PZPw^qg6zDSdLBgw9MsflN==dpt610mm*DuRs&`3 z$OIvno_S_;@%8!mp2?21lo3U_64I=lywfxH8{bb{Z3tf)CA^))?T`GdoHeg}(WW+- z@^n&wtq{9>R6l;%qq3+KMFd3#rU74j4w|WH1?&B-skS2&8z8MOTURW zlrnYwcHjh~{Vb8bXkBY_^12(J)IG;GnCqPneEVb&I#HdU9`BAf`AMw`Kd#eH<)nN`&p?csR|&0&=yJiJ zd{?UnC#0lym*h02|1jC@`84F#OX@`(7qwjV$745fpCh0>=$wez{&qt9fR^68fQPS%z4dg;=k)*4FOcx2zxEFT2z( ziaYkdFBLQV1(O}KSPJ((d4J-1fWlrfwM{yJk9R?Pk1mhr&4??Hs&}7LToAoe;2k-5 z)f#$7;gPA=r1?<%w-cWBqvPhIW?|Y!;uXA2{LQva^P|uUnOx+3tRLsHo zq;hZ%p?q{t4bT()&E;GZL!6+Q@3$_AnPtVC;@P<$WwHuSyr>`MV(c^DK2O7!@;?}=3)8Sbfv`7( zxoZLJbhXsvZ*Tm<`Q|yrj8VslgQNrBWl{=F27>(_JjtFg{u{nH`0%Z9)Xu=g@$)$( zo+BVw`ge6f<8Ownt$-Y_&7JW_{oX&ZdWIobwZ5?{_1J;V#o3nPj=}>5MIH*I9=m*R ze8TCpp1N92j(^a*seVrG(dqR2d-&{Xc=w&9?mIinMGtQNVQ8^%(O>4!eE%vQ z&S#14t8IsEY?SstbyBRmkd42(C_cVZQXBUwfd6XPCns#x9;-upZE%wZi*d z4YWl<+Qu?IjGHgiNz`ZS;P}KmoA>Gc`dgo$Ft!>pdiPgmB;U<1J|0sV!zFU-Y4nqN z?s9S^Z$00iqW!dW=^iTg;j#~*60#D^@>*x)PT|^)?pov-v@=){Iq(Klpv+jyJ<0v^ z)EAqaid*bdRPOyfVg)ap8*ip~6;%FYg?})!dpTL@>8CV>n>P4y z7G9V8L}uLR&}fai@8gG^hpcNAQY_vX1&axA8f~r$nH9VkRD(#4WLj2Gf5ZwCWnZu(SRjzVC$Z$JTDWxjTD9Clne00az zNJRR4-Lj=_KpSgpr7r*{5D}%Rc2-4K0=o+CdVHep!Vs?p=nSKB%6!iYjiwff*ZV`; zxul)W;sQ@z3f&FSd-6H`Q;nlvW~|;ULBiWME0FJsV8g1lqL}9yQ+e)FG3Oe8)O_fy z9Cn#CR@*lu4usI}oN9wp!6!Fu!6EX;jUqR_uSgw^G}_Ynt0L?jA-bcXK+muCiFeZ{bT_0fS&2Icxx$dr0l^rZ;s9OzD-%8*Z5EFhB!(=q@ex9dnv=!8W!sdCv&%C;feR@q7oHt z@AO~DsWc(@>z&qXYrcp$7Ku^Hk3}ho#y&i3Eol1~W=?&7{*z)&wZ~_l=1sY$u|GuN zYbl`9vqyT>_PrT+=GXZw7Koi4^pZ8T2&{c^`;0!_Y>nFi`)hA^dpR6(z4S=B=a=(_ zG2pMIR3VwO6e(=_gJ_Ksv3=Si`j|0cZURkik7d{Y$JSQ{MAda|OGz^zNOue(9S+^n zDJ9)4DItw?Nk~W!ol+wyof6U^-QC^w9qz~H{+=K2AASt`?Ad#*y<%VMT4zpj!4bT6 zw0!Gg-#8tm=6R!jhdChhIFZX&#cDo}M@Ww{_yQXfy_kz#T0SWWo^g70jmj(^oHu0} zsb?C47n4wIAWU?$=M064`Chmsq>MAk9n)JlVebVolttkR&L0?@-cmcSpOLPn1Tr45 zqwiTr{!D)q>+Oce@7~MzG)5tr`(x3cgoE9t3Zg(J{zP78ySBNX_)!Ha;67&_2un}3 zCiSg8%jruU*l$~ZwmcZXk{wE@w!x!hw|UKY*X!;#X#$?Y$VGiyxT%s#EiY*UzA$cQ zvOhAn?oeHWZfLD7iQ?_JfNJgIEl}eG>cZX|Pr7!#R=&N~EZj6Wp?9Gr?D4=bt(l5X z24v|qt#rYC1$RZTV*Q+0c=V%txeoDBncZS@lMV?}Bf~E207Sl)mg}LC7WVUPx!FM) z>Iw!AZfA;yla2F9_U}}Naa&}&z$8_`n)mx&pcqmvRsCXdpy96%VJ4hqFliY5N+b2<&MmgfdJ!+* zW%mzJx9R|Qw~PaMnf=;jON)?7#{#^g&g7*-+Llo+=a1X(eIKlD&bIB`VHvX2ahH#a z%v=EcRl6$v+o#Y^)}p&{Xbdkvc2lY*YdW*_H!@)Ti8{QQHL9p`DTbK^WjvnTMwThz ztk~van0-i>hm5510(ilQ*io9^d$%|NUk0OB<53KQo#}So1Au+5QF2k~)AEdIlBYZ$gu|g9Kgm$> zX+4cPDQQVML!!bv`{MG71Z?E~Ayga*OKMt0Rw^pY8xdg|7a^GyLPb6d`$LM`Q#~^{ zfKlgol9pU5^?Ot;M>6vBXstud^iAc2#{DQ2)x2V-ZMwV|b_Ga}_A;V-w@I{yv7I{n;0okMG943P zW7>S)GJs$qhD^%yqOo~|7nvO_>{M8g%sGJWG#Hp1i1YYkP|b~pSAAMpsN~4)#xy>C z@T8)_0e5sw3+17b67n+D!w&U_> z$F$3Hp|Fq>5G3xA4t-dAJhJ@E_Tcjd#42tB77QRkkq`wdOw~F>%UQ~ zZ)D7+euBmKQ3k6nDkKJ&3V3l53*bo!e(-?!$I_ja^;xlFmvHoVDJEn1m?1{DJl)P> ztxnrL=nDbWio_!3K-aa!W5yHd@728`!d@VexcwJZ9my}=I5Qkl9HEKRN%v&^e zRHRzOSj5;Sa>N!hZH&9a!uc~?SQDnNY2<+DkmmYCk1pDdcsJyc+|y$S?I=}jA_x_iLNgp4 z9QtJo1nZXIqEDiuD^4V3n`C(5eQUbR+bXrbg(`fz>Iht5ioq*Mta*_By?G`t$rY>4 zg`9tJc9INPBcn?zF=!Dw-@V5(kDZ@ftrxM#8QV^u9hrH>*(Yc_Rp7k6f|PMx)45N( znU(VEO@-F6*yYIM!=-S>K5+f4*UIUsrC9 zW!3EwYrRlDnZvGo;PTsIo2Mpc$2SKgDF-=3pSSieQ4nh!;w0G|!W{AR&y$IgzIvj7 zf8ajV<_YgP zGyTbikFYQo>}kqP$HoX`dH&5aWd*H+E(pQTXnI=9h!IRjl%+(3uT$cB|78G%mLohATb~u+qhw6D0Ox>xtrn z>mkG2U9Ub!9VWU*309g54hq?KRIxGKInSVEX*SHVFWsQB0i+INr8W^aBau$@=zSp=kTzs&HZ$W8@yZswWqf4 zUbF4Y=aAF5KPuwuFO7^D*F-KY2O2Id$$us7Kw;+(DTfg+==SBvxybV|cw{j%nZJrM zm6x5)oyVZVFioC{Z_VzynVyLK3c|+TY%3<6+PWj~Kn^Hk zR-H~{J0~|_{7Dbb<#0i8f=kgRg1u~(XZJ(Bm$i_QD`DkumD?S%^D5@#$Y(eN6$MtB z9nnz?I}@~W0L##T+IFrFAZDQ=!ncpbGjn(;9^vaYh6#2-mqX!jQez!F9X93b8&~NA z7%iJuc$6barBaUHvN0zQjmx@{ZYmHR;p+`~b!J?}0shQ}JZeZjcaw?% z?8xOf{0VVcIu6gbCiS6I1SQt{302;kuH@9)l8&AV?3=Co$ds;q*<@fAoO->)!a9aI zX&?oZCDSJj=bN7`69;d;IK%G5g_W{J%mZkZYAsRsubEl_tHK*6@&dCo&fHO8Zxm#JpLsbN!V`kN7(QP~K;n=c}UK1+R$xKqgs+!46l%89;PrD;!H zYr+BF;Rv9v;Qo>J6&BGICmm|syN`^K6i;b-;`hZ4mNmXSGsUGn4En3D5)c<&p*YJzgKTqqt*F#soQ{UWi?6*1P)Yj#UB zkGhlpD$WeaBF8o)?I3X4=$Da-B6al4n%Q@iJzR0-o9K40*kQ~WWlzL)zi`QjAMA*D z!-zlBXpHd?>y6(x(bXnOk#2pnK<@@lNE^W-ZhUQ<3kNU9_RXO!pr&Zx7t2~0`h{M- za~O+m9VI6u|Bv~x<9N0E2qeMwB(Zji_Ja+zvFgW$a;>J=87{YEh(o5sZ}P+RkR?9v z*@Qf5rMrw3>XDHVI2S0~;n$wjKu)^uxNEYd-cqq3PP4bSBz9@2>G2jUbi*G4ut`bN z;}lTvi~)Gf3f#sF#e9{h`^vddDM>I*OqBBZ}AsHgu>m&#p(}Z?;P3#w$KL-W*r@|AVIcdD^RQw*Xv-HQvhf zW}#|ZU0u?bEV@%Y7C^j(A6#AT2-yaRWO*-wC^BOu4hlRE>b3Gho~=SV2*|LInRV-w zjn*Pqo0Ua{-xUCfa~_||&Xw-&#CIuxESU`z^c+1}?y%~OrE|VHvs&%IWnCKYOG)k) zb)}5`)!AA2<4>`=-1;nM1`o*P2*?nLHjSQ(c$4c_VDG9_D#_NMpAkY01cdoOGj<** z^QxpkO>@zGy)}C1%*ElEG`}s6H5GEiyBl5K8p>g0EKDu8^TR`701K;~MO;;-sh(?XdSz^`^t{rg#78(m;_d;&^ z!5BnhZqU!F7?(kX$5ue zsJhIE)m|%Rv}8of3g2VT_f=l_JNzkp7XY!FOWLsDi*<{00DrP0P)zI1u%M1{YER(I z$~j3)hP?izuQ24te{#d*)IEvJztx&Nju3=yA$!}P%A-1COVCrvu$jL&SQM_1Y`gY> zRQ}_7UjmoUog0ucaYwL|SuM5taoNsr&9wOXrl882C(^{+`sMn0DWq`8pyCER#{{5t z{1KQ*w^)87r5kplM!9~e&|Omkh!xX|(%OilbauDA1^N-F;8XbCu}2bdN}@ufXJ-W~ zjVU^#A_!PjV8&fve)wEWTOc0yq*0_HH@sv}>Et>5&Dug6gO-MzjhdQ2p=i}~@N*N& zd6Id$Yx-%6)&2Es!wk>1UzDOpMO@s0?P2cwpWUya-Rn9$El=9QR(rTTY{`trbaT5q z?%oan31tExBLi!ea(h4x@(!-CaTF%-Tajh(oVRj}#XxeIE)A0Y}*6@0RsRL5vn($& zby=lg{Rn8IVPB=PloZr#E3Rl0D~shrXYoxzG>sD58V8XYPKbOYE{tf`s}xu%f@lfD z`?56Rl!Ed}9WQ4wug(`}`pnuk{+2nXR|DLOS9qy0zTOL$i@x?Kg4hLEWPG{7(hpaw z(Q8B6MJjY2J4FRw&g|;9!D4d}8NLtG<-0~7+_aN}*z3d$z9?m~YTC5d-LA}u2f;20 zKRwPP^7D>jdp_$#ZKn;k+xd~mqQ|Gs^o*tgL10zi`&_**jy^iY?_Gf(^V{Z;9Nr`E z&?UGbg1!dBHu(B;jYKKx6Rk`Uxb<|Tp%UBKnj)7WsNhP`szlv*C+hy^vRw|dzR;<) zE{)^~=x^`FmIw)(6FY)7xh2;&et90%*!ij{yqz=#nhNr=w6GWAY?N$n@1iCVA2j_1 z*KiuF(7K)cH{-ZHQ7wR{>}yVHlz3Ec_BIFdf3U9Fyf%)DaW7}}uM%*EcA~<~;n4Ig zB3%kNZG0gP56LnE2^@VsUPfI;6aVg@sNuGk@gJ zfyu2LfzK=k4=R+3C+OI4ZW6edG6~FT^AH7*YwS-1e=t?};fGy7tAoNKHj7UU339y; z96JrT4A8Q9F}QZ}{E`lmWhd^(X@>X zynw|{Ts8=An~n3f;ibY4(4Z|gx;u4%0b*0_i!(}7#FTGBi@%_9Qtm0*@xn zYAId$uBZO=5SQ&yy3G31PK3q)eV=QyoV`}@#b$2=S=B_|DV??R?Sc%*$p!E?_-(Vl z-ryHmrBKyA)}1du8gfbM<|S;<=FI&$4&@B2GOI^C2U^6 z7zU_=HpP?lSJs#XI|amI%=X#gTkU457~}-sQY+dR59O;8;BGmQOTI5|3D759($2V@ zSBx|_O`lrB1cjPhti>r2yNP(wc7FUV8%@=ChLh8oRt_ZC%Z?~BmFrd!(zgbost)>F zUxOo*nW94#{3i^TRe0hqc@n81Kf$JGYBndGbVmszX{bMZ-`%|O6hHm>FvCIEEamvT333#1$d+^zhSW$^Y5#U1p!?~kYnanBHT zNmS8a)BJ@KC0$Vp$RgTsnQ;HxwRfH0Rwv3P^gsSIZ%h0#tP_<@!w+^7(-UI5d)koA&_KGx#d#&KO^@^Sjv6 z-lTzV`hxo=*_$RFlyD38H>g6M7fb^g!UpT8aO;b{kKQiKW!;AvJ~uL$Qb75sCPnMT z`q?+A#m$XxB-s+&)HZ-%{~!Y+vA_E?DZWSK(JG|r{iy!Y*XZ6L!!cO;1vkO3*5Z+t)Kzf4&CDr(A6Ne1JVB@s-NTp26C6`6JC+JY+^!B{zazPb0&64~p8IP)S0hXG5&-1?N zX)&Y*egQYt z&!KHoe^9^sg%2nn5M^#wm%%7j&_j*BQcJ`R*c2c!4%q_cS_I^ORUalcZy)p}pi7^?Md<_NPP(k z2$DH7d<0*VTzD-eKMq0CwwsKcb?#}-EO(vMN)pqRN#%^i3M2OlZ)e? zbitu%3+RFz(1lEAex~;qGek%KOvjTo84k}#ugm#QI|ypNnJc7-rhizk3H05l28?kJ zfFV|!ciUSHvX4r9+3J{~ znJkdEzPqrQtAowjxYr?@|NbyjRRmknbyG-g3XM^!j6nmDxosQO2*&SETV$wbQwB%X z*e~i&lj*Cp3Y19*9eMV|P{p$v2z9VC607JC4DS zx?sayY0!6;0(W#zEK;6fO#USH7o2^qvncwSM}=ZTWCxQqwmN1?l?23r#-Zxap?IHf z1IA-=tWCL{2KP2JWV+E7FDNXJ3_HD*!EO$s@?5L%thI0m&tKV4dOK;YeR9K&S1zH) zNk!yuYo{YFFpL0V%-k_5NrAeJY#8SGOW&vRkWN{?*!wd`d{D#Cwf$b z;f|6*Y?4x?5IUbTS?V6)Fc^<{(3RwlPx*5h@lfkFpCj`&1{^uISWmpJ_c#y#u?@oA z2Z(2J(7ol{cAE|VM&|iN8O}tT%naYVHf+(DU*F4{i#wm$`>RTZD)dm!jiTc-S;oV` zqtDIw!8u(!vQ!jGkgQz-DQ&L%=|+*^0?&c1DDm!}QdRhHE!wsiHlW(fzOieB;M5PU zoAlHXutmB{=>lU6^d~STzOce)(ri8d_(qFEyRfZV8q|T}l5TuEB1JKBvi>_^DP?b^ zlT4am(+lvwc9Z_`9p9iU7zY7VKG?9crl-31Os#!JxlZAI1yN&Fzsqx_vH)aI{RGiL z$OIE4fk|t$b@#o2cis-t=9M;^8mMEdAF9`Lm?;_%8>VAk(sMWrX2{YIriP&E`v=KX znYAa!9tB>0D8$H-i{xzcT$uD{!yvbu zm70J5YI(kK)dgs?~)AAkj~zq;@ZM zGpQEf1ar>2OzKJU5stb%+_`g$!IeB0w-JNJd}^|pt%>YQV6>Pc5rc2ksYuEI-GRz! zDmSs-;zcsp3~Z+Qt`eR^AyFjM&V7t<6n0~950|LJpKNUg;vr3Ur z*K|gv6a1iw=YZV(d?9oUkP=MCn|1|h??cybvh1(=OYU&2LERL-b61v)Kqrh9P)6Rt z)3cCP>dcSt0u$OCEwu%cQ85{A;owgx&5rh&?5>v44qKS)k*8 zJ-RzLG+u0;iY?~~q>+;}Er~_d^u2D1T&JCJ2JJ>S_9s4?Z4zS# zera@?BUyjxK$8t8)f>zPL!f&n@+;Os7(fVZL*0BXXHyT5BogKw4&zUdzoNiLS-0Z$ zVg&CSwN=KCR&SW_5I{=QzkhqDh(Y!?#&!;2GuzA2(J_9O_QvP9i(p6J{4Qzi{4O#s zCnqO?5*fsX5g9-qJIFZN2B=2aHoe8R)CHG~i}s8mGY@^6CYm(`{wkQ*;87 zhC|CZfi58EYf(^=p09u`WHFK5?2W>>22GbQOVYdY>&I+JG17h-E4}ZgZCpOIb&bkC zY0kL{1fo*ZM}T;=AYIxNy0%IUam*p=eVLYQ)*&|`pSGmspWJcu6_jXVz$nDG-0Mf# zC6~xTCx00}#jDNKitl%R1Q*t&3vTQOuA0n{WfSs_O>A-LSzNzwR2$nM?@GbmZzAXy zh8j3vP@^@d;7*V1Y$OAV&v#nZwM?lWK7Xu38G<5U&fc9m6-Z>xwo0<{BCl#C4}+Bn zaY>Si%A3MwdEbB8q4g!c5)S+=-=_l`U4-&)f}R(&xOx3%7w06#=#5+buoy~RcQoA| z@rurTjTv2W7MrPY#KE5vIz)ek{3Rs z%%DX-Jz)2oxA`D1dR1%kyZbL`(r!TPl#Okv1FCbUE}$lgnhwGK1qJNd&r0ba?=qY9 zdxBTbfh@WoF`UR?GY9S^kQC5Y&1(sM!E#3lKjX$~@>Vk`&L+f0pC|5jC2->$bt=oioHnOO4V|Jjj!SimgN7`|@ho?|glS_} zkiaaxN|RjB9X0y(iEnZMj*m!0@;an8#R{gx)S_4@UNdyvg<+Pu%a{n`M753OBeFyFr2Vm?4tqCt_b zPeTEIQxAzf$=Rd4<)Quu=Rwe|*ikb7r?Oe>J}I|9l8DS9wFI4Hr~Vvn;eZLbc4!oQ zV8Oje2I5L`m$G1G>G?H-t;@~J*J^Bi2*<=OYwnBjqhC#A_Cu$rdx48Q-L#m)S0SCu z0j>xIOJ4w?Ewxb9=25jCg4-d2-rU@W+g^PHBQx_G=EZu;U}lJW4P`eSr54U9XRnf) z|IklQk<7aD%!T9D2j_OVMsE{)6ryFkXm8Ifgz)mDjvO(FyUGsj;>^OEI5X!#0 zaRK#lsUJd3BuB@g(b_nvjYDY2vqt%Nww|5mT6GRouD2zhHL7;5UwvZr zaz~tk2o)WY4=O@64K#XLCHw5iEGOz= z-h9KS26t*vLpdd0c2(%~E#`3nkUOt}&oULMcmyBsPJ;yv3EbG)2i=}8;~+J*i62vT z%lPY^#l|Az*@ObIw(U0~Gd#{H96mO;+~h3KWK@dCM|x_mI!#bdOEqGzHUHSSu&)d?J@rsuEWC^oCdB z^1gU-%o+6f_%ZKbd}R_mw@jagngodcq%wKNiKd&T+lLwwHicIe&Dxkd(242~=MPd! z<9UblO)~SX{qEKA>V)(5mB@UR6>hqaxAvP+Y1V2guA2^(PVk~JE+V;t!xF=Dk^=Mh z^q$=N%S+Ma80~w`GUSTb>Ch$elJJh`5gOju6>1}C0{r`rM_>rji^^VktgoMPGh#LU zZdb0pG3%h1jjv-~;CEaBDDRfJupt{~7kCQ417)D?cYvN^r*>=F5#7R4>7P5Ce#w(laEZkqjDGjhyGHJsR0aj}WT9kx{95&A> zqOU0NVZF6e<2h2G07OcxLEp#w#2sa3E)Sp(aaOtuwl#F$u^Zb%Ju^d1+zP9wkCW8=ruxDi8`s6}v)320S9)Kbm9+L1$ds15tYgd_K4J`ayvdh&mrj47LR5g4R}A3Xy8*6%o^kx)dCF@#!#BpOTg0lVL8tp>m?3Lnia=s4g+rY=zClG zu^eW_QJVdgR~8L&XPUDSXVSZx9)$yD#k?Cl3Mo8(?yXa%y0ScRjEw;fV0Zf~Yl{OxaHQdz>{wDU+e$J&g*5j|V9*$v= zAji(kQHon^Nr5I22mM!Pqg0U300I1Js(Zys&i+x{VaB;%tQ_-WmyL=arTee1jp?fl z#WQx{Hy-2?>x@I$1Dds5V>A#d3hXHC+)CY_A0-#;o6a@X={6Y;E4YJajZl(USXY>n z6UW|%5)aY6?$3FU1#K9v$c069B@ap8*A_erc;r;Ifgi+!Q(O>JaODMlnQPKIb-rpaU(fWCbexHVhNmNWdq+eUVkj9{u-*F_2E&vU3f+cz~9`^ zg0Sih9l%OovY|MS?@nJhr?v4<_tPJd-1d{VJ$MA{-cm&xI)cZ$;+ZvGcR=?+uFk_I zBZ^(g<0Vdd>1u%{?pXQ*xWCvID?N_D@$XqTICi{N^fHo-lVNXY3qMSJ{{Tc}UE!90Wa^dCS;^7AGvJ!7h6z`)n z>s%MO@vR7ytzUL_v-$Qw6&9(i@4M&k#3nwUcZFzO+bW}U(oe(vM_A#VOVm5H1TyDO zIXR@0VTAyI-^Elj^7Ry7F&V+QOs}hR`}u0K-wS%Z+E69asE)v7bkV}buY~caP#x}h zho<_&bM86m(&wz16pz#|J<-JB&|N=`(xmHsP=q=jR<~iL)TSc60JR6+t|AElL_IN9 z+CNC>__QP&$uB!m*Gc)D3ypLTx1qwmLaw)Z1@#ACeM`0m$T-b0B8lI~qI%4zg1WH@ zy#Qok2U=0y{AZE*1c^T-%voL@!}WWWGx=MalgIV_^8NM3r5Ux({G}OA{#D%ljASQ~ zz#+>a@Dxde1Nai_Wu$mxgnwJIv&Ry{QcjZYTPL>0&9mDHFQ}YNpU2?1M~~OdwSD#- zN=BuVX@@EdC!i3y%o<1yF1vFq1yIPc5f+g%X8o>&x3 zPsEOdRzvNY8LTvZvgl>26F)2{WrRdfe*PT#;m5^F1ncN@rNum=M5u&mZOoWQg1&Eb zi28`O04TbmO z*4CO?>(AtQxe$FRjP{ zML?x)) z;0dID{%-gYjIkfG3G?x7cUnlz>|xb@xjH^a6?dJsEf{`-oo0o+zU7t>&Sufh)TxQi zX7PIFx9EAnX-Nx#u2|eP(YUS{4^ZIcWLf*9a{DdamdY5nMe_&eGk>j%5^6=tSA-B` zIEj|wLx3_wJa}w;l=THkP@PA~cYKBWV%uyaTSBc+naZWf{ad-irOoJh#7AQd5hvyC zCzx!dE20{;aR#MH%|jFe3ZPmYW~-?O`KiC(nG&B`Na^rAe)^R(65sDBQa+>;YKl%^rN4)kc5v^BPC2lZc5g z-g=6A0U`0zP8e+$IO5N`9Vn*Yp*bsIzW;p}fa!*&`OwMH+kWd%q@g6mMH_;>u^~c~ zTHeq{agbo{Xs4rY&MDY9t}(iw5UpzwKyV}jg5;_)w5T9iw)lf<^OZ7_%sb%1v@l-u z;Gt#jh)?;=pc=yF!z!Jk{V$r~H->ml`G*WUWphM>$%AYb+I8JxrJK_VX<;Ug9?S9u zN|f4FN>7@!dK?%kySo5^fE%nht08I>=8tfmtcRoHM%R7qr?TqtGNw`_+RN9&@eHb4 zt$qlvHMvpnH4qOL0Az|U*iDItfSiPICcsErdpr~mh6-tihoh6in#B0{il%1>s2G$6 zhZLHD;V<#5Py!7Tg+z8^b9@zS21UZlNMK zdK1OFY-O6aqwbTv%d`0I9jWE%hG&uWcOR~lH_?2m`)6p#>>56_e4}5#-@tpO-;q`2G5@^Y?I8XH%fI3U0YO1uGeAm_cn+|d^lA;EKtD4% znV^T-a(`vhv+Eu-n9L-@Tai$C;>y;O5DFh@0G zhU~JZlJ3lpbx}0Hs|7o}2o9f>}52ApV$v0XC0FRKf4d8!ook78fM`t#(Sewx(# zgdwMvQWZFeE18yghn*P6%ue^DI-p+)4 z`oT6|$+Aig3!_0b?~E|ceU&sTNotGmrv7vD4GBMo{M{)h-mjeZKSyM$71B`2w}X;6 z*AXm=hsbw@?Ty+PzH)jChb-8(rdgFb0LaMbg{M%%NsDh1HZ08G75ulQsb}^h`b{20 z6bamO4gojV=X+hfuRK>D2w5%$`40)*hbiiwO1LMw?NY4pi=xUL$ndOMKWGP_f;wT! z=AfwOn8dWZL1N{Zo7i9!4JgGH4=DSOs*<4D+9tq_QC}dps)p;k0_YmV+id|KfL>*N z32ghz*7Hz`&ssA_Bjx)6%#HsrIVzBBo*?l0O{nMGU|S4Fr?1$sBNL^NB3O1-NwcuS zi=^o)gmKGN2#YfLJI#>hdoz;q*@Pu0g9y#OjzI;7-e5{~pWJjI659fRY=3r(#)zqB zo7ciaxt^w{v7S|Bnh}KWP(IsFra|1$CL1uxQ*_@#u=Qa7>-4A&hIc;C5nfyewX<># zM{~9~eC>Lwag6k0jI|Y({LuwAW@0-ub}u}bS*R;hwpTmn6?dZTFC8$A{!Z#ugL@Kz z4Sd>?$+H!bo}b*Q*03VOHviyKYxUf%y4OnVMxMUhUDyX-?u%x>{d=WGe69K_Dh4OwVBfaW07kYlO%XY@RfRw>p-!X@5-m->=N^+)Glp*XHm zwpT#mx*~MU(C*^%a~@3ZWVHM)^cIScbqUNDQ$Y z)2(6alybohHCQRK3Dd-+JbSnJ zAX}G=<=umw;yO}7s)e6tcvIFxc~hK4Xyy0mtuimwUdS{;*gq3S=UD^b~#fxe`ID0G{u z1k#^YT+@1_NKPtB#$N#GLf0TiwoxB-GOOezs~jMZd{G?0Go5P+vt zIuIPat&K5u$S&KRFh@>--ZDBj{$!v*@OCM=W6v+NTpg&9iDh1Xm@IQ=rZ|Xrc|B6| z`4j$LiZ-+g^9+BJCb|$I9Ut0Oh4P+HVfy(d84ju|9!#bJn~8Llj4F)*RmpA0oM14Q zJun8o(p7uATPB4Q#_g6c@2vM`LwN;+dQAZaRMv{B+@p-$8by1Q82u4Q2@2mk?&-^_;iy5KyFg_#wZ5_oc~XH}3$T z!*AiLfy)v-^gZPG%-|&x!UgGijHBSA1o{|iZ}QH9Gw9~7$IyLGTr+EpRW*Acg5E_O zy;5R3xT?VoXuhAt6!9l6+~=s z#|UmBTI_EzMERG`k#2V+R@*DF8t?6YDag7VHU9ZRvovw)M)~-G3I_mxTCb_2r1F1< zEv38RWBs@awoqsFi^m;G^szg-1>S`8+I1XA;3mAEPhINs*`epv9j4y!^m=ZR9LN4h)TvbDIW?};lP_CF}GYQ4~wKwEIMj91+bus`$1Xs@LX z9beMjXnhpsW}ym~1(?G2>Xhyu!?ewE+y2XQ_2<50?e2Vn%tBTqM&AXsR97E^JQooHZA#QkYroia#40|n1qim&mMowqe&@jn!WAf`eNy_M&VnH)b6?VLv@eFf z+I``-R}myb0#>&L!Q4Z;DmMlN+og){6x|+jtJ5}asWEe3mfUW6A$Q=n$^X_hzuv$9 z*~j9F17q-<^sR8Tvnv=rK;pj_851W5$Vy)v^(+<^Jlj^}30jk*z>fJD$(&iZSSv4h zh6BjbospgLvjrM}vT-NbN8UOU5EOXp#r4)O^kF+`I4%}-@P#}dHA;WQ480JGuD^yBqkp7hz z(n`P-0(K7eE2mf8)P())X~Czi{T_@!$G*B>*D|bXH#dkaLiTQgmK}Y&J++T|s8V3) z=`8}!ff`zVkFNnL{a3z0YYew_c~VMJ_z{nTI&tJ#gZ|`S_RfyrBf65%)%Y)*=>Xec z;+)|!5kkjr0z8L7n>S6Qsp4v-soMVREtUKwx?c}=mL}UMRJplkW}fsd#$o=XG0M-N|;rmzWq z4WTpeSNJ;|EHeJ2mn*WyVv0BMwI@$IP3*NY=Ddb-X6gJ&*M)sw}OC?cni7jg|u@Y{{6NX zcVK8Q=p)1DegTp2(yl*$XT~mmnxcZJcq-lt74l!Hjk9HTg1=A5{`jZ)?SEwaOQgl; z9_9N~Pi5l(+OJQ zk3D8K!}a>BKM}U44?`73QH1 z0{@ETN&Gls0*?&VLl; z7tap#H$TPxI001#VO3)aSoA+D57os$q=oo#r3-!f`jB4v`2oro_mF(SYCk_&G-ffj z_cOwBedpYHsRz}c(CIpbnMr~^o}hhnB+kOB_lG){-5nk=k0lQ#Ay2$ybh@+?0aF%2 zNc8uUur0iwpfIk_Dz$$%_zVLPxW!w%7^K|~t|IySVN5zZcFYu_==$(T+<2V~I=~MD ztC#DCSdSO()@Xd!PJOLjtf>BdJXJtk%(@vPeO06ff$1C3p^Wl=v`^R;*o`ef>maWxt_5C9z zN`e2VZkq|HXDF4(kj^6e=T#_SY2)6H3=kIe%&L zYIJ`=C4CjHzB{4Jk5Rij(a=KGDN^XS#A&p$INmJIHBmG+jP1IFIq}1cpBQ3Xb&}Nn zlc2or_35XJZ^Z^J?A10CQCQ$#0b*1MF`e1!wFlng6%Y&;otlr4sdYilV5Q{zvTnAz zNFCR@Fs&I)Y4mpd(ROUnHQUtt>lZ)UW8})&SdZ1jg{vdRBC;bhHYOYie-R1{Nfxc} zvlz=|P@P~$;YzLD2V=B}&lS|WkQ8OkJ`U=OIBhUz3rj^8fE7|y6Z+m1i3WhH9D32{ z(5Uq8f*pchZdxlb%ze85WvkZUim>X_bc?|zkVr{s6sptUnm!RzJ2)~QFZJ@m(;uOo zXhr3X3|@?O?RI8kZ6m669ln)_v^cNhBW7x?=S!HtAHO zv8y64uawb_R~Cfw#;cPsfu->WKC_;cn}d5k^W*OTrhk3hQJ0AJ6Pcxqk6;k5c`DIW zZb$KN(1Y(10a$4$j7MvJZV1cLNAtFlmu{(JhCK+i{+AX$l6?E@u0(XEbuJjP26t>itv;{v@47!F*0 zl+TbTK_Y6$dYiP(xk+d|)~|Ki=s_qdA|_84!x^e@uO-kfgd*B7rBh_okuU3zBILvZ z(~zj-1z{(89DQ*-MukMZtX9+uF-$8M)KhC~Whceb*PxM%Qh0~qf8=turUig>Zzh&F zxHk7;aSN*|RtVkB`+0*C#snut(Y+evZ~qOfZ=XLOeGNEy*x|0z>wFIJOr%Oy$filECT_RHSoAK=L)6Xf3xEjp-AxfiGKy%!*ggN}cqio?dbXM%{%xLj$xq}4=!WR^Ch$^6i5;IU`+N>}BjI<70InTX<_yqs}b z2-qEorm9uigW{9RkpFDRRR}Am%nZ2}jJLda%6906WM4d(6Z`UIO{^7VYg7f5x7Y6u z{-HmVui$n1#_-GYC{dU&wYltrnV-Am-91*hqtu$nOQPd{DYJkBm*aH_b%O+&>#&;&$f>R=&SG zPItIA0;JRB2kSkd`@0KS?$0-WrHOH;enD91?#jo-cf-GIAx6J*4>xtgc$vQD96Yuu z)*E|1gJxrd~7aUySsge2c0vL(o&3+?AC78yGsEUUqh9FEl%1i$b*wRa&% znXyIMY!gCeo!FoD{E}TT*vjLNPMX~TLM=6I)lh_jgOyL)r}8sz&^o^FO#h9QaS|sh z+!^1YE~Z(-e%A5w)h!l^TH2K)jX7srBT2=c;v!}O=$(Mpb2)F&`xL)y_)+t-Rzz-| z@mT>87p|@2MWQn+Dg>SzpkV3F8c?v5E05{WGb7zc98z6B;o;y?_f)TRL+Pl7d8Mn_~z> z1NPcd^0F0EM)hObvX*+p_GJ*QwtBU70rEuQ3;eUSWrzn!+68HseNwX(et&ASZ`?z5 zoP!OfRThezSh{7AWnw?2pLnY>l!uadtPUJ zuj4`Qyq4Auf!d>z-;O-*i_k^fY#glR@n6T;oLbYfd5OmAw4DjAAeU}O4xrbCyvW(S z#0ymTZbTI#>(Kj0M2#AMEA1 z&97#(f51C0G+I+ZY+e}4m*uzh9JZ8d5L8>rEC_IdL@ivpfhr;1i?tQjY(X>R-RESJ2Qh6;Pm20qBV-Sz^9*-}FBxc+ha`+p|&7?zp z=^K_oenZ|IPobj`$fqP1;G9>D#-@zrU5}y40mY=K5SBFFx4-QE#rxXYn-Cl&kvL?Q zM6VJ!L7&B~*!JLu<;F8i$bc9B{9>y}ia7Ih>%-x(Y@KD-?DnP@TYiV>pCAUuV|mFO zt6Lxyp|=Zej~U4Sjv{&J&l7%^g_eOtcYqL16+s)QV4pK%G{6uNd;`af+8DU3r`c05 z7Ow@eW5Nua%G&AoLC98&H_&*SLSwfB&gP2Nm6riBsI4hC-ncqB5pj$LykqjJ|5m=H z?*TMS7`FJ?q5uMML(A|mJaA_5*5U4U=*HkR%bIhQpeT2j>?-Ipt zoY*xlt1$C`lR<3kwlqgHb{FHR2AQ?>^m9RnJN&N($nh{kB8QkJbtLE=FYoMtf{=)RnI3Ck zRy~r`zPIeuiGxV=tZk6B^;u7AaLdxB6E%sq)|)SvRoJgpx{uQ+&C2BKo!PDvdp>_X zScj#74Qg|@;=9EdM#@5VcKMmC@W+#&d05<#lP6HuoBdI%z@&zM{u(gb(k9;Ei<|yzy>{2{W}ty(JOTGmpVB=`ON6Q3<$Cg4Nt`pn@7^U~Q+v z_L#b(FXaaigV}-W^410L3kVIM-!y0+QDRbhuTBK8#qjtUalyV9<@NTvwQM-tNP<|R z!HG;6x$iWUsQ`&n`kYf^RQPqE1Jkhp5tUjvjt-7NqEHGv@6j=+h0es+tY2{O0mUT;3-XB6h>W!z>O~7kX~M_yv_QH~ zI?Blk;K{?D1+pG-5H!pH)dwmis$M7B72`dZQ(8}4z1NmQ7(Eswdj8eB1$%FSIZzg) z@LHPG*pkB}!$QIg?3()bg*wK%5Q)Iv33En!)s7}u?pb<4adf;?XOme+lg^@O3!uVy zuZp&m#*o=s{pP?vjS?vMZDK^o5nZc`-du{2f>ge*6Q}+sF=12>-tam41S`f)-PA|R zlRXCpuO8z-ttF|W25%-M=ismj>mwWBIY%V_4rp!FZ+uYM#~0pN8>r3M1`{|qvHCi{ zg-1K#A#ow~i9`?++M~t;bP_<@tF@;aEF3duVum3p z^Wz-F-LrPrbj?M+-skKfebz8*Bl_+4nj~gN#N;S0woz0NtANwwhw36Pqo1l{Bf`z@(iWJ5AcHPM z;>5yA#6XL`p3@BGjv1CP0~G=pkJcznoYX=U>_^s@r8$Xz)W7Jeo3m!Ix4ly1M z5-c6$79qsdn{li6-@D*2a@hl>jHf+9u(AXN^iDdWU#Bi@j|Hz%tm#FHIdfUxOI%pX znl1#itiE~g$AHeWt9Tz@*GmhGF8S17+PxlkAyU^Q)^oLu6-i9fA^d=^PRkT$K)qX_ zP)h|Es0>GGX8b2@C)_502#)GAyi@sUQu2eRXN`~)rq6(AYtExOdE^Hue8Of?@xEFu zbnyI1m^JnE(P)@qR0&#JQ<5NA5K$`b%+{-Vjkg9-#UCjZFEYW(iLVMdv@&Fz<8aRU z3O6rdt;jG$BHtI`^wJ1W%C*3U!CTjZo`Z zWWu=a9$(^V_$SUIlOs!ECSVpIkq9VMeTn`10a1x#{ACA4Utj=u)sbUe{e{Z_xYfypvL zoQ>Dy0BbELd_t5ubyOX@bnD}P&hkvhYfW-z{J{pR%yHHe!ancotlydVKqh7wuo1qTO*=pRk69Yc!i=2|ut zBM;P3@IXz@Q8dYIcV(m>sa4KfaL3+$MoHt=$=%QRLhEy z&?1cdn9n@5=0AEss~#0gvuBv|_A)fkrG*58<>~Ed?RSEp4Zu!Ihvm_JC~8A;b#pgaU-2UN=!sV8J7*td8=+EjW>Wv=XdCUx{I5=Kv$Y_%el94FTn{d z8JNY0K#>_4RnabvVBy(}6hu4??U>XdG9&<1HPod&%nM*HF|9FR{bkUPa=}4`^M4%O zh8G(+%avC~q+uX|r>lX0>C-$CdKQ~Qe_*YPQ9|V=z ze-scoYF$W&1an8QcZxYDzFS*ORJ5^k7y_YR;sseFyw{E@bTfjkxckS`aKX)AB2VGy zB150~e&!g!?rmV}{@{k5^3uA1M1SG(3a=iy9_E-n${eI0eT{>f^&RL?7Fi4~(4kt- z>QyJ$KdzixU%yZLo*QdOK&nS)+F#eT>BPMMr2`9Hr1e15kJ1^w?1mMz9&gC63qu?m zW;pW;&$i33h1eO9xN04q%ZL!+<)?SDz_Fx1uf4tYpmQv26al>98&hU)Zsxw-CqgO! z>WX35*^Th*r<}21!-xKjU&!0L^2XEwoipHBbpbZ}N* zs?EK;J+{~gN4fYCGug28_GU$BM`MQsPc(YUZadg-wfa)yEsoj-%O?~3Y_;iP?Qe8v zJt#0 zFfc^@k!f>p5rT}4ewc&RM_T$?pMf(@gxZN$-|$9sI{W?wtnsVlfiCsz)A%AMb=|9} zY&xZ2nWb>W5TBJImG-8L+CKeSw|;{dT>V!^qOe#rc>JKhu!i(!0LQ0oZ{Gm!Jg96M z8kBAxC<`L2aB32Bg^C~KIv{!-Ab)UKGO`Ufi>S@LACEuK?*oy^^0#e>zJNgN6l7|bT z%eTQ8NKZR<3X-1uw$)D{kI^kfqU#nc-~@8G^|(1H2jjFruG&DwU?2blWId9WDc?lQ z?+`L4PLP%k5rU&jUnjSaN-%rwHA(_!Df|&=iYpu!m@rGG>@KHhOs-Ao@|6nN#tUaf zk(h?n>l8M(EME1S-dqfiWdTtemC863AlXm4e1k!6n9{9-l0MXYs=?>_oK&*XWFj~J zvxz*QC@a=-mu}gyu}ODO$`!Or^Pf*3YT?Z<1NEQ10)~0IT8Skfj)j9~l?wBDZ`hp6 z6ZfKV^MOX|fMlWdRm_2yHcvW^@!Pk}3(S%hSI(PyF&5m`yi=))rxF_4?FU^Y{c8tu3Q2swN_V2rDxU*>UmNd)I|GCLHR;^B#x@tR2clHSurQ3KYtk&;VwtByH!?yZ=Ais7T zcuq0E|HCT)vjgO=0Y>>~IK^$$zOnz_cET-*Y1@*3eVH+dO&7gTrCbh)m*Z2&$H3?c zyFUa;+@8#q%A>U*$DPbsL9RuB>>tjU;fxZGb&_2?-UZp?leE2b`R$59bWY155HVA` z3G=~XBn2LoNE`@m$R8(tPvH=f0=DRm%w(q7=mVy|HyV8$Tt4{EfN-mrjGZl}w-4^p zzNybX(IAZ%<|NIl6B_3T7ifI43=4J}2P)fmlw&p9Shi{c_i71&yQyBqAd@by% zj*A9jiLT;4BpA5;s_#Zj1zJn-QX9mfgN?$I7CV@PMz2yfLe7T9(m{zR#4%B%ZkXRH zs0f5r#v>Z8&j|_J4}laWDNmWyJYk9y3<1-jrI%-?gX6!H3SBDfyGSUWFE?>`?5%OO zefaEDqq^SvVXX2$4Yo!q05}hYRxxL zYGqk_sV6j1^b)O&NvH60kYqw+5mPY;-8q4&Z%Km==>*Rs%$0mez86%3@&OeNIO;X< zs`PL~w!L8O)67t42aJx#8#tjfJY2(fBR4cl3cXeh0&H>X5n6TK~m;3 z4nGw(8S4C-N++>=@#zQlv<^XVqn(&ss3PqpTtq%wtoGMtl^E9Pn1|cV)MjFx+Pq_CaJGUFrq+mj}`!qWTM15*SEbo*X*9K>w4Hg5{-#klXoE!4yr{-m4k zDuT6XGxvny5p(tiqx_mSB_gEfJoVIIag2C0N>Ztu~6*hz^WM6UXv5gNtl zmB`a*)HLc{WL5NmEj5NTweR48la{9KZqJ_6py%_J#QsqevTSrYR*18NQp-mvH2 z-Sff#$k=CvQK{{`LE^SA17Rm1$YK2+wKY%6aWbOL@S4kL*7|#KXU7}0zf@OobGN9=^m{G*aC z5Ol*9ChYq-`D?iN3?)SR%Q2zGCzUa;OW(^+M_As~m>oH_C~*W{)l^c6`M#7gZ(9_$ zn?DdLa*1MWYmrV|p~UCiRhqK@03w`2AHJhi0KzaZymLrJCxPCU_aAl9F!UvN>8>|@c+jU>P*lMY(^*H5exX9`UX)BuZrEg)2tYB*5`BO38al9gc>COJ?yLI1Osq@ zVklmBUlNZfOYJANYXQ@5be_*|IP^UlyMYSOxTwD9Pr)7_bt7$c$oYFV!-xj%k#E<# z&RD8)DmR_qla~*}lzo+5v*u zFY$<2`?fDXabO5d@z74ybcOi}ClAxEhj^S-)O;9BS}m{5dcG7lXml6M$5OPHwTaUmB1fTh`%|=+puxV@ z68c7F4B_$D9^l+eu^n*hd;BMn$iT**D5~Ag&BIaS+?36gW1J_ie)A?%c2vFEV!jSi z{~_1YexR0Y-Md)rcYL&`?Ub@jc0;ouoB>%r{+quGuzJ%29hkf_)JXacyzF% zDH!PdWTm|onu*i*F#KImn+RXpgvALQ2Uv*SR@~Yid5j>F`&kvw!LB00GDRT4j^iYk zBrefoFHoZ})^_kaUm>V^mV)1bP95iXZ@Dc9#f?UESRU+7aO*F-J$g|o=Loc;H_p52D3?cu4jTqH=D5o$*IGL`KD)wSRyCI3Wmk>M$YYTdqS{wcagg7 z!>9ws^2%{p#ZgIkmfn`;DdZkZbnxWEqg^z}G#A<7#%hNP$Wo(HryLmfAl$H%Nawmq zome1iNDElyf6*5{zI5Vfb<1EHbZ@aygD-mtbhadM8#pOOdYSa*Co@*O zw{kQiIks?aq^9|Jt&P$TiEFRaf>qIar_QktumGfokn((Reko=|z~dl~m>G>1J!6H$ z$L(;4L1xj|u!qM;h@^m(QV})hAoIG&3RosLzBoHGwbfDJ#E+pwrlu3-WjEnz**F2O z#B9tKRIVc&1SFwTLbkf^_2m;bFZZ9{q?>hnQPv@H00~~g8OBMe_ep0 z%pmRu=lsc7?WkkB^AlohUS<5D*ckF-z{zyHH2;c+1^7@`lh#cC&8D( zoR2o%#X}LYOS?0WH85sM?)lxe5r{{m@+6$8Tb#|ivcDgw`*GGhATOF)FHvt8jfz$% zjr(Uy#_lcoqzGZ948xM)t;YTS$RHVMENbqADc^LED-I_-Q;dxd=LYX;#9vgsw`?L+ zLPVoGzAc!|yIr^5r-r;&*-)}9|LGgi%(oVDcfeoB zf5I6kkCkgf6CaIAS?kG1cc(S_-L0aT{UYRU+(UD}`DAUACFV@&fb{!~PUb}|Zq89 z;10Grdn5G{Po74Lz150=SyI&|{8I;IRPFI90erq5|MRGhgw}dq_`#g!gXg23oHcKl zv%snM-HmDY9U{pV$$ZmS0qd z#_#<@^dDyT2CH^mL_~=nvTP31U+K0btYN_hN*yIgfJfrmmgO$w-I3UP*hb6BN%tR; zAgWE$NRpmw&!hL67H#Xr*hamQ*IQK^n#{m8j6?_cf7?hUIw*bpY5m|y;QSsyfvlZ2 z(Q%t26Lh5eo=Nuf^uV3_qQK!;{ zzb$m2I;Nei)^WMXWw*wP>*Xo_1}?VXrH5oY@~Ql-Oy6%#|1w-8swc1dQ!frH=@nMZ z;9_4M4_4kKf-q?d3~GlqOevD|ij^QfN6_DId-&5rjn(eR8bWU&9%b#-o|TDnoq06L zVh-|ptUU*{%WR{)TCDD6e93Dltu-xY)oMmjHLn_l74x4>OFk?{0hjZ_vnk9mXA_;0 z!h7ffKb_%4I>Qvf49gO#2cu5QP_3cL_hNV(LrrUBw)lba#Np&_k>L14pqx#+Qq(a+ zGVioo_$lAc%4q5)j^(KyjM$kRi#TvS+TzI%IBeCZ!B(jw}Qmi(|PLgg*EMkQ38NT{0>ksJCXMy%rgJs#T>_{F5 zw#=TA=yHoQG6t6>tl#d$HJL^mSKo-$+&)=Mtg*Q=kyZn*cbB^?`4t;g^7ey6vaw&l z_%=yNqE;^{-N514%fFRSeB2X?Dp?^x>@_5VDcrb^0M<^ z;tS9I=Y`}VJ`jQRScW3i1s+!XYmh0hs8rDna5*W)&}*H)*hGa$FS zy94IG>U>J_>uhIbKic`JSuYhlW-=y$Q$ibmC4QiA?x$kj8rieqq{91G;4nSVT?UFI zmXG(+S~|sjcgZzEn(VFPwP&R#%X0ahSNs)*OO0U+A;0HN`olK)BBf^)U-BjA@7IuY zj7yydIYt@5gU+a(kzQ(+6vc);y|fdcFI2NPI68Bi2W>Zf=Gehsp8aotOWA+J>Q2ls-nz@gZP_Sf3z8lNK`$P zx@QpxMLENlA7Z^X`f3`TOAKNlBK5z(On0PLR<$G?xk3Mjmm)~K`sXg}?&^%rB+^J2t z&xpU;g>Ck|_LzjQbn8jp*)rZ7#=BRQ-thSo$%#ud6w~3`-nM5z*S3lGvkpp*e5CKc zV86eC*JJ!VCF$}NlH5;jOh(1kq{BQiJzB| zJqHr+pakF4G{SmSCtBV!Zr-mUAJPS>=hEvDMw^df_dOOxav!n|m2c{GX%|NB5wjm0Izj z_{@5c65LH_b^uGfXESKXP^ z5+CEJ6!9`tQ#BE!T`LO4u{GkvD1R0@G&~@M*ZSdr&u^ALfA6PxjSC<3T1KoY@iu#2 z-80XjQvp`=-OL(W^lPx(0M)dFEnsJ3+Kp2;t)lwL!?U$muYS_*D4S7k;GUwu?<4^; z+d=8^qn*Ez2{iZ?Nf;}G{I%csW`*PNR`UL&E^Ve>(uqctliw!R1Jmv`DdnUOX9p#4 zEE5LyycLEGdu|-TQ4RYbAMi}rf#-fbOo0crii#3fU6>FaAB-r5u0Xb9Ho|`m(*nT*t;f5)GC3NxnDYCduj$~$+w)MX zg(Cp4>alHWB*24Db^-3+mu;ef#J?Q&Lx7@Sr0+}B^@ndeZP$mtIE`b?qFVc}7C=SE zp$J4(>Hg1x`z^u6wVEiT8?L_}skerS0owKmZYc26W_3qmd&Q=3VAaR!R|*}VXL!F* z;90Pe#d~}AuXd{)mV42-U6+F`m78Y=H0unME$1p-!_(kP#h!-^6oe$_ZJTy8Mg2P4 z>OtYQy)Ofj+@`Abr%dZFNGh;%2WJ}tWW1Nih01b@rQE?V{|#+5UbnDWn?aj_&i%&3 ztv(nJ>ks+1cP7V36cu(_>$nXS_e zM^Usq89))$P^~`TDFdXMFVz-}?L2J8BW)EQEav9y(t%<-)yAWnQ?Z1O-to9c6Z8!L z97lVc5ZQQCy*E#^gCbci#E|T185A)`R8El#MD|3n&g#lP#KhgZWGw%)Ych|a7cto8 zjT6T{pHtt)fTo%Gj2-Gqv@n&k^YU^BTydynQvllIvh{>7gOc8o#Ds?{z6X4vPE6=T zv*`X%(NRcm^4SBZr!5tTPJ!X=;?I4@0HGf%8+=(LS=7-{bMJ?v52U z1ruhL$lewz7vE2m8}bn{Stax*a1LIOaA3jx>Q>#--{wxPUcx2h)%h)z$VIm%CytZy znqI>KP#Vf3GrN*)K8bAZs9d`aHnlI`zRc`=fswto`Vuo=;rR@3%)zYnXLgnG?!eH* zn5mduoyTsP{npTUu$mbGr%6NO30qEF$d3M?5W>HGbdv0~6DTz$IVIWmaGUlJO1k>E zTN9yb$#w?SVB8UKU%D~l%TGF^v>2t)yES0X4JV^iu#esC@+vNy@k!{?`B;ryIi?N! zfY3grbdm+203xs3e;5AschWN8+74}eviq;ZoSbNK)9ANd7v%=E*{W1;+}Pf}lalJK zn%-_z0CGvRRrhPGU_9uZkhn9;*|F;OeNs z<-@*~tmZAoCtIeb`=d?=n@zz_DzLv}ZlJPO%2f*s+BuUnFOwiCo_WIUnSNKL+cSO4 z2tDC>$mgx1g$6?342OL#gk@3AFb4H{oDNcF>acXC4}pT>OigaWB~XP$*X4U}v>svbR?@dvJT)}1ZEsE#Zng%K-?feBjs84OZpO5ci}zoN5% zUQ<|`P8UuUB#o8uvxEz+3Xbrhw|#1YO7LjHdUQV`X>enevPSO;7A7re zXHv!7V+z$vwxKQ&YR7)$;CCxM8nJxi*LmTag#RoED_}vgIu?7C-#hR0fndbofP(=R zn5lM>{;_jeZ^J3<3i2YIE7JEJn$Zfy{Lu64R5V& zqma=!V#a|HqH)p4>_tTA3m?8^P!8tN&pIM78%-Sz-`Bo#%Z&gd$zoGVqj)P(YKWc~ z$m69c&5!cXy|P^T0a$~%?4csb9q~qG-qVOD+y2e#RtuzBij<6$9K@MMYMWxMlk(V` z4Iur+ENUtfvwFp_xDDA3D{7(kQn<$P>wC_82D!ET&WL2WpKRE%`$r!C8?K{!Y9#mU#4CkAyJ+Fs&T43?CIyw!TsJDAt;4Cx9c#BN2L zU$!N#AD6Y(58kIirwuZ99pAjPF;8QB^21EBwy27#X5#8$(%vIGm4rSeZ;Qz()|C=e zV>oWx)(LUiWaLZ+XW1031X zCFXWOS$3;F;6+YT?`8{M$HtZ1vH^nsTsxAuJ4!Vvk z@PApC(%@k*j7TQ)&SDEF1&W+VjZPzQ*w>D}$*rGQAjOO`7i&%jeyK!p;|K_QcG zr|p_Iw5`&bY<#;0O6s{&*HFYQo-0v>kof6xrPc9x-c^aeq&rt}D^gwBw!D7ADj-#O z6BS^cd;c-}x(1$lLO9*_@GP&B59S!rofBiKMZE{_Rty)(FDK9>FkRN@#()y#bFUV1 z%2b|7cj z!-QaG@~SsI>oEFn7zr!0T#otdfWzv5k1r@zjp5vK-F;`3?3?E?ZkUfKMMnO5u~`3G z%Yw1S84$C0nsnazapM0VCqCFj=#b+u5|<{Pq`RkShW>N&IjDN%Y+}?ddz?uVMT;xW zAxh5AkIY*MX&Mr3$!M-tusqhT%7K#{sym$Dlj90>Jq%rS6pKe0Y?C<1dqheEDij7FNsih+0jU|2t-_|1_`sU@P11O5n z%}SF#l~V`~d0I;*NnW8HlPv zE(551&m!1h)H+3|`3bJK@VDy#{9ZeZ{WSUbzt`|DqO%*b#l2s zA!is^w2)^VIe48E(Lc4NkURhTt|$P!vDLCxy$_e3|8wU}hJZ*?8dN>~&m_RWG6PD- z^+H5PO^yt7t37^30Hpt_y+(4<+O5mi`(L;H{{XLTC$QXLUwy)dFtF3CP*JO6*6h*M z0?&Ej0T^E2(n{y|sN=sk43z*c2-a3(p&^*a(rUoBd~(ZnP~s=T#c+wv@b9%tu8+*b zDfz!&XTtOWdUc2<7HWF^AFS5`5d%=4IrOg`ahIbc^}qKTeF1*$!|!7Q57vc$uZ`dV zo(q&}=>Ip2|NpT4e>rSkp?`9s%4}S3mdj&fJ@f2bA;+d17aMm}3RiCa;``wTm1px^ zR(vzN3%$3zi%yzrH#{4smqQo+=Pf#qOTg<|52OI>+Ppac(U+fd8rHJiLiYgw9dktF z6nW-05Ribf3)Qo~HmVJJB2&AEMmPFB;;NMfnfr6@Eex8?`+}o4puV+Lkc8ss9SMis z+@YnPR07Aie>k3L=0}+l;0XC_l6~^t+@Asg$!O--aENH~uI0%v6%#db ztfp(pyx}CQtqf{SX^!5};P?wtE`vr_j1o#Il`o??^zH7D1J)tHlAD^}E_mG6QqMj3 zijD3a_;fAr6Mvg{_v4J}4(W;d(mgS)b0z@ZSrqlD{|E0NP-7ydxP71_0VQ^ZgB}hG zep#~&{PPVrOlFgo^X1sNj8l7@C~AS*vScH6I~MUp3zBpk+x_Xj#Lh2`M;BwAk+y*w zb3cDP&v}lcUQo6w=S<9JcNX&j;u`ad&FILA+u`IlkITu3Moi4~XneNA>3~o&t7T-R z*)&6-+$xo1B@jRw(O}Pycb|uqP9NQT+Fu|3@aF)i8o1-n$O8Mch#DfRMOomG`tw;)~{OymlIh`RoT6)M~W> z&gNHV2c~`4>379-B1!1@JqrnzO3&1tkr1tW*veBsU7fUC#P}(@b4)d;8L>5z+^ zW%vC+NZSkG6jiN4A7^kd5Y9II5ADCRRqg{UPrz!F$6;set(xX0rDlAyGxdK`hBlKd z@e{z?f#D?HNcZ{>5E6KfI~OEOGuxFiDt&0@V|;U7+p|`8&G$ zv$l_JmlXQ*_}-89CE*BUcfx#6eqs&wDFh6-9xvOO?o+%+yZwU_?^oQ^SneUnb#FoN zqpCICM9^e8(EP3uX3{}82R~CHve?eM-Mo za2xzyHBl}@k3tG;$u-_!kf5c>V`Z~hEJR{PlamAI_1O@`PFO~chjl4uOd%e@zO>FC z&aGwMt!onSx`j5LS=C7TW~h=-{*rA$iMO0u*3C7mtu8m6)X2FQOloYQWd)h)MEvsU zL4REMfQB{5Z{I;_2K;SU-3@AYeq)A$aIZRDkZGw{P)ohTuKBFPp8d-sB{RJW`CB3>T(BlEMHB7a11cFDGDy{cWfI`a9}Vj13Vg9>+T;FmOvF^Y6VJ(o^rWx{4+LnAeY0yyBf>8j8HMP#c{zAlBx#0E+vBQ@ ze?lj^Z8(OA8`(V?B0n`}`>Xpw$;N!0I|?C6aPE~q<*?zQ*V|>HAhuK7cg#T&d8yfl z%QH1C1b3-WG zu793Ror3-&J8jyJJunW^X2lr*FC}(7BuqgKQm0-2jaM{pzQv2^66qTQo zi|{Me&4(zNC2tU9(p+m6e1~4o7YjbK9|+&sz{AG=2Ubp^z0CeRtspm#0q4#zYba6z zBE`UFc(qO%arq`vBtx(I5LcBEBRX0;J4M13LW!>`MQQgq0dn?!>#1` z{`BU$$GMqGiIMTo@A9~wInv3*g40lkBBL1thmoJ7;qZ{5d$4^ro>os4+jf~$SCe%} z?k|QaFRFo9c;f{k&k&;<7b}sspe&5RMUu|@AttJDskJu#!M&5HgOYS}%wvVs{Ye*< zMMPEn^vI2AeK}irj@|`4;;g{G{FOiw>uPcmo+=4n?tt2RzgjV?DBO`NiAh0@WWntN z9yctdAJGwGf3VFo&l<#wNUx3=n~{|?_W`{{TfbJcBr0BEjXBFb234)6R=IE*Pndq) zMqZjKNW`SQlb#!EK^nP0AuXGEmGT9dus-cBs8Y^3yUv-HHZ`+^n*u%@ob)OV_wEi5 z$fVLa+2?W_a)2}8>6m|L3(^l0Q~rZj>HoD}XJK=*!Eg?b9l9U7zk3njCcnqT(ycOE zG^d|S7WI}(Z-NyXIi&sy$;hN?r?tSct)QJR!!h;2jRZ%$QlVP@6-27=-KTPw-7^|R zOfXWZE_ySnA$F!}{}uQLIoEbwT@&0}3jFv4ibGnUAKYu7abmAtGMQ|8wRd5g$5^qM z4m^h{oq78+fS6%&ca4FhA=NAQVFEjlPOZ43_%5@KGmiMz8Q~rLld8FhI#w~2b<=9# zy?ecpwA&7P!tLfvvUGssCqv>r#brS9j%Y~u7@lY(174HrT1zFj%mCm7LaCUx5tf;v zG>IUV<40!(a=)^?G({P5e1qgUTd{QtQ5w$6er}8=Bu52#D|JnMa`7Jb#!F*2fNs!D zU-nI(`ou@?L~`T|fh(1D6538;;M{=}NisVb^TIHJpVE|k{|LhvA8aKVAiR!0)UZ_J zL35L!pI^>U>GwShqj>KgpjZh6%9R~JeKYbqmb5i5yQ}N{67>cfRx-9c5@!r!h3=VY z6y?34$Y_V9A!}~?i=XpNkZz3!TJdZ`yYWJt1HpL)L@^_A`dpUq`B72Mcya=o_?RXM zdPwGAMi>JZ014UvU}J$0o>HRjis6rQ{yi0pTU2l#aT#ko&sWFLWkOXxSZ&kpwTcj`o2yvGWzco+_o_$J1XEFBTa9sy2m+xQuFVGZ_`-<6*H zzQ$s`BdHwFq+pbC@V0l7+?u9hv{}MYCU(3X0tU{hKkjspCw{l0*~k~FSphzR8@*(a z&8%`pzyrpol7{hg;VD1aV?jL-U1=UBx3{Z~H&kSg%9gna(*#IQ}a*i%M0lc;(OvmGlsp zr?KiYX!TDI+W$Xx(>Ft7(w_^6h5gUhfQVIMv5!Q(Gt+-;`u}w{|94ubP59?_OWW<= zKtA>en1SbN{m(vWj>JE;BOEWueFsd0u z=}apHe3H@DqY%Uoh2Us}%$+V5dxniJ7$pbuH*V#??bMUk7sPtHozi9N1ryV;yVX8R zuY%rR%`MjjC}$s1Mo}{lS$t$DNk&U*8XWe+Loj{}PTltlA6dWNMQQaf;gZ!>%XW5N+N1TZCE+M&( z;l8tu#HG8j24_Ot9F^IF#sIW_> z?>Wb^uSZggBY24m_MB|gdpvhlC>GK*<9=5_gLcVm#O6Th6gG#stRW0yZu?JWv`eJ8 zJ@1a#F%15j8E70*oAtO4m>JZ6Gt&)~b6t)uuN>RHci>NknE@wtT4BXCWU;BFBm$+l z?k8Sk26!B_wo{pHpL~Ei%4AN{CVGvsHivyqEg&K&9{7a-wC*(nxX(hB#?~scS^Ytc z#;cE3Q8g8ZEppMg<2#kfl9t%fFR1R^mrv|fw>OJb%3B#+oitC5dqJ|QiwzG(f0c_W z-{2;xR3B*7Lx_>vfIRZmm&urkP1quIxwIGNrwmVlF(1V?CooO(UA*8HY;p8mJ z&mbqNAy&Tmt^z8C!lkipGEzl_@7A))EC1x!Y1^F$asl2nU>Xgv4Y=aje19nt8%c)3nWbk|EKN|H++(8+$Mtee1hJ>y z=I(ocDo|zYyDv48F!JAME4%xVO3XH;v5HvwYkg|)ZxceV) zkmQU-eXb%dZYH@I6o17HWtB9cC09`$2uzBiFAJHiWDH}H63nsA0k-wMB78m_(9q@S zG1*OYNdLoQtklQ}8Wie*6$>h*crAuWz^9#mnClPz2!iwQ61JB76K~ zjpl>h7Paegn!Fr`=1%4LS29;_9yMwEDwFXATj71SX1h1e&SP-^^YyKwerOSDE=u3f zna&m7(x|JuI&ekY#{MT$f=KZm!(P`bj3|Jr?qxmGUH*@v=RAgxzKj(>zD0Da_SB^} zP?s7qto;5`$qSSa384zl#icm(o{S=RS8ALYko|wK_m*K*b!*$O-Xe&iAc%lSmxQEr z2~vwxS~^surOO41AR=8Nt#p@kDj*%wuqf$VbV$Ert_6EP-`+mQcO38U_qe_JfzGwY zm~+f)T<3M3=QUstd-j)kt*-y0xYQxj&hIdnSp0IFCp?bRK^-re_70(_+wFAXS6~Yf-!FUisg-0@%lcZVhHo&Zmm_FnpiIL zik)WYy8Kqk&}viYs-c~`Pz82Gn9najMlmnFdiyefVIdHM8cE2MCh;47c%v|jcNH@) zQ=Pmdt$)t`da-fO49P$;Sf!>STgrCQqRh4-%~544%kGog|gQ2FCUv-3< zHoxqy@T*_>!FDj~0v-#*?FMRW7)ZRu;~9KKIr(TY884PeP+OY)5$h`MD^Mw=T-{z7 z?phUbj$IE7&3Bk>j0|3AS)hZE4?@>(2RRmp+ipT_Ac73#GhWp01l##pZA`!K(k+K2rF8^NL!kCZqXEPN3IIey=_Xz@7>oTC}R}SDlx0F_oNyjJqWu`0H=s>(N+KUn4y$v2k|<0 zxF%I}Q3<`J9K3+E@Mh*Z+El|Yy32>;*U32=$Zw3V``B$;67zu`Gf`^ibq#3(_kx1}84~OBuU_mHJ^W_4@a^a)v z3Fw6cewIVoY}EP&?Y{sKL@N$N)zdE1y_lNEPO#L@`Hk($^7Idre`dM)cH6uXm84Lg~ z13w&HH4Qcg>U-Ow_N|graA|B-+akGvE6LV=Pg@{IZwaaOXY?Vds*eiM@BYdxW{F4Se zZz+hELS%NQ`b7_0_^cTE!TrL6AWz*3S#vfcu8pIYAG&Z?Nmjv=zjNmjiLU~FP<*wk zF@s`4X?>I8aL9C8?MPrepSekwe!+6-+Q`X$J*77Ny6^Ctuu?^O7F6EJLA8xk7@&Ur?$Ll z=CFT4^i<~=L}#S2$!(3tFefyAC>cQ3d!D4$LK71}lU5T5pAaN~Om@j%MWxF;=0KI> z;Uhz+^5GU#Lw_+f%TH0e1X&_{h&!?h_o*v^&+BPd7zOOuZKR}|W>NOwkcu>ti@00S zML6>+L*BTV)cJ=+ruMBgbAOTFXast+Uyz|R zA+|ds>03_l_)4To^Jry|etqg%lTz&5xRRykUN0xn7ki-!MqmB|7F=rY5m17nzM_1! zH*6vNj{DwH$06n1ONym*iN`%QmWvXMa3ZqPC(SXf)%O^$jmx?c@B*#btDx>`y0v~q z%hr)wW2A2M=k=LeFs%9C3(9hqTPJxTl^3%?$@OJ@+RVzp}NxsU>-PvY^sObHeP$M5p6Y_E{ zdw(GBH2Am8_Lo1yyo3E4PrnfjUBDfK6nt?4ZX7nbh*Wc{kpkY>ylGG(&wNm%v}d>0 ztpZLocUo`PDswJ}KiH!Eo$yX`XY?{hvFKBFxoQs)uF12F^h-W*dLV$x+aq#PbCQM~ z*BZk%&@o4*3Bo4QwV>_J%OY4`NMuk$YD$}i512$^hkicoWRCs3dqKcmZjmcbHt#Np z8hq%86`q)D*L`-iJd9VBpzAPsy_hTBLa1+X{1KFI?tl4MRZ|TbULV-2RE&Ew^NPpc z)0N{-O6~f581R`^DHV`yT1iqJ*+8Qx)-1~qnjxaQHq{?9Py>(rb)ul{I8+ceZvj+V zV%baMNkJ_yRX>k`1RWX8fUiN?zbasNj_WHY^e^v*#@h(OMEiCq{P`fQtjY%YEgWAEF<)xR&h#jb@#V zuLgd~K+XhyLuzQLXeWQfs_W}WvZ{YqnPb_j4*#C)PcqCdtR?@maNN$)(KYRnu zoH+;UHf30}f2L@KZMrh2G!AE>xn_AOwqlJwUNlryLT zC&oWv>YXYvxs?o|OPM%Aao?H<;+Nx9-4n0LYvfMcm~{~L)fU)mSiCkcQGa01hA3Gb z3gc6MI`&%MBfs~IIRF080S#|JN_WF4w#^PDc{QMmMEu0ukD~q2#X3WM%i1x2qA!oIqiOGwCjR)uoq%j!9!Y z^{@s=dRcQmYZE!k?Y#vK1YN4$jKab?hX7cYh9TJ#1x^g3DDnK$ z20nC6sPERLr+y0feno|?)AM-*S>4sA7OO}*5wF;md}U8$+n|*X9v`=+QCO%wGmheX z+lWkgoU*l4U8wk?s#IbqzQ?klFP|)ih|x@0a3oAmW%J`5UU%6)Ro#y^X9!c0XJsFZ zk9I}!fkn1M`8Y!%lXp{Iw%TfQzVhnzs>5Hm>h=(MF|Sz;vvJ+6RYb>oY+W#VQwBMXGZhWw_Tl#219L`L{)H%7H0$2|C`@G{(8STn4=dw>|5 zWk!DKZrxJ6YTx8@_oo#-P)UWBOuyu{0$vj4jXUIRTQY-@O`qy8BD4(vB{mrlYpY0C zs!})5DU2n~@1l^=;moaeos1w%1YPlLmd4CPSFmPjwu+)mxY5Z$2~J_35<0*pAU z_%^h=>9L`X%<(s$1oL(h;WIWr;w*4>86lWW%DSi zJ@P1l&7aB`g}koEKr$FXa`jXlh0QxlbNf+HeUn<5QwHBFzJ_JzRcV3YY)FEK*_{ST z@9&rETQw|3D&VE2&u`NqKc&;+Qe!{bd=dJ+w2UniRp(7W~}W4%XJ0jCOS9KjH=d`m-*?aG_-Na`8RZhGj>wl z2ZR?6G^|Do02_Vzt@+%_KB!HKYZqFmm7Rjjj6tYGxoh6;HQplg!PT?0k_2Uj&@u$N z&_$hu-XdHn=;?gfC2p3n=y}-e9BLA>$zqzIi1QIs-ZQ9GQrqk){L`0Y*P@`4f%#0K z;Lv6D{e|cjH($x_VrJ$rotna0wV=+yPY6X&kQJ)Q6MnU*eQ+D~WnXfkFH;_Y(ikM9 zPI3@7DJO47WqClIR4~+F&_7{tE+Yc?u#W<|vHohu0fca+33RFmgiIjsov|i=8!Q46 zBlMs2kAM~-&iHsUu>Q(fAW}WEg`Oi3l;(}z{o(qhbH$zkC1h>^iMGK`cI;(j@mjT!$j`_xI`r^5Ia06244Jxgl%S*tV z{s!lWJCB^t_zR$>J2Ulsp86pn+O34fmEP?DLcS*AoERm2eU>uQf-n3p86JU@v%;Op zzRUmPG625{gD?Ibcm9qZ>Gy|10GCYd5D1-rIQWXcebjp{(fG3j2@>$22r7(JXZCKT zZ31+Vp#r2E#)Nk}?;hp^dYs%XV4VNOoO#{U3zOn=`0+n317sJ=vkPUsYasJ^Dz4*6}nrshZID6`E-a4ak*IPz%`E7z@3^Wbh3}HAYs;!RdAH3*sD*PQO zc?~AtRMcJnAD00Pca7x2Y5*3RmIF3lz$P*3iT*hMaPV3KtCshWs=!w_O=4%+*zRH|3U7?n-#Z!0cH!}u#Mdr0^aCk!OMI<6sYKdqjE8&7KURQDxWs15 zF-GWlDmaY+0eUG}JbE8kn9=)Ue@}2_V9e(-P4?_GU-#VTYhc*&zXtZduN-G=lIqJN zJ5ixtbPNZDCeUkvT*zsaNE>8>*|4zN162?!^wrN{VW^`t*Ki_LK^nqr5c+~VRbuaa zAm0Rmo>dVy@XnK<2H@#;$38=CQWSu=!T&Ugbl~>Qkq@y$JtR69#A%%G;x~A zO^Qr$6D0Ix(17m>4$fUfzuCcA=U%E=rlul46BhJs*JTIs#D4FG@$z_*HJ+C1?vk~J z^?0$glHSm}rmlKNus2mY@1)*;TG9#$BD~UoD`f=m`aM?_IU8q$li9f~542h57bRkv z35Bnk$RWQhI6t3s>n>&zB=1i%XO_1D!IdykYm0}+eD@z9rqWyQ>nTWMlU*52G3Rk@ z_o9?Ip4I0m_$jB3r!37!Miqfx=a*Yi^1j{?10}#YCD9ia4A=hy4f(;{^D3`bKddSw zn85PjXf;azl)cT5^Unvj!eCx-~+@RfR1)sxayX1(|dOFB18bEIm6J9IPE3>Lf zs(LP=tmPjZfaDucB#zB7x5#?+{^p*z`7&B)w#aHi+I=J|iv%V-o8I8LnqQ-BP2{XZ)&9 zs*0W+`)z}kpyW)2kpr8a8|b^t7-7ERQM&WE>LyLoFvzVRjp17tfrLdkTt#z)doTT? zP^|rmuiKrSHPMFXN}^DVL`&8Sa2l&}%?BPoLSMN9ADQREt+)h)Ber(Ev_Cd-@z>WZ z(3_^2mSyoyWZu}Ojw%syd%sO=+x4KZ??}DFp~yNnQi~xW>wU->%L{rsM4?R*L-OVA zyq44ZC~lY?*mptVx76$O7|%eb3Fdq#!Q9<4ZL(6NoU$^n5!0A$;+6JzQgS*{%U!kpszFhmE*|I6joi=XraPJ z|F~zHHCl7!F}Fn04<~^J6W5vpO*4pk%%c>E$YyA8m!^muS`hm7~4( zn>+b<*1S}~D55H^2$tRR(diMqpV#GHv8|Z2p`*3#W7j!7iA$I_u6cH^-!vvL3dNw# zxiwe>lZ#=u(Ms2Esp`@zi%!?jQvfdf5yvH7JK46ae1#IbT7R11{qH)I7OE{ z^j%l{w_lLN4%EjBuGa{}NibvU<0n)cRL6=qwb;9x#k~&1qWRZ`J;RC4*`deAZ8;5k zNuZV{DMZ!5%0f(nFrr@ic||6s=6GWLdP!uwyCQm5f(rEh4s%=+yd`lj?%T_a&EOHn zokm(d*e}yL@xZ0nwfIL*;*%XnOE5sE2-mc`icD@}1WwGO3fL`q6Ezf}F6I$sE?XYh zgW=7Dbcd_`ZV&Ok^?09TkhK`8*n1q0^~$;=_F?L>A+nBA?+f17dYflm`(yXdzPT-r zOKox>W5OZf)WXa)U|@r8o?%8T&45< zmD#7XZ)L1EKCx(%Reef)#qF!GJhlaEayXINyAk>-Ou*nkQBRz+Q&nA0?m#iIJEt-z z8<gb;pZl<9f3 zls9D!?XIr%?i3^UW@gufO;l9r5z94wsolm5?++vR92)KT7c0|o4*#(CXlxUrLoO>< za1JP48>6aXc~tA@h%}~`#9g}D6;T5jAbjn6nNlJ% z8ZwluHt#v4+J}JnHX(0iEH&m~W27f zv@Rx_LnSIhXIY^dx3#b9)i}blzM($KYDU2r40LRR#SXYvE4NZT7$`GhOG1(wwe9ls zje5Q12D7q7cii`NzCG?u*k(Wv9*ES?y5$U>&%o&JfR5JXtx)-=FG7v>9^?EI$Y}Mu zZ{Tt~@D^j;l&SL<3ILWjMZq|RsR$Q%xv5_Iz-qKnfmc^ z_k|h48faXUV0fXwlOrZ)ER$VnZ5e$_HC=@x91N!Ru{JQNuAK`K(u2rVb_3;sl zS10U4Xj4et!Hv5jb_c9lZshAjHh83DW<*iUUwCsl0!t+;0U0dG)8JzXkEI~w7`8l4wcPzPy!=YP zduMpd0Bu8i^R~_i^aKL>O3lh6A_-GS#6j#T zHGYKsN{Qb?gw?o<0T6`1J_x6@xr3GrR!vO|efpF6Zw z!X_O{tH}1o{1}U4bMuxL%SwEL^l5YBw05Nv!bV(X8_5K1fY@Kyou2leNP|?j@IR6Z zcf*jA6G~Y0I2!|%3&+})$2iw}v=!}H6Qm&&5RmoHISvxg`$yh(*xu8> zCJdA{VKFDUnR>ch#jEzn4=VIyE{ipCmT8Dg$E8F2*?m?)%0=D-G?M}d5=cA7{ ziagaAx;S`z~2Mk#3KZW^OAcR;y81RMD8 zoI&}HZkAB*JS&YcjnYDaH>LcHiVC))c-HuV1C6)REg>o@yM!dkofys6-Ma;TgBSB3 zW+{623%6QvFRWhrgwA`-fDRAX!k$~={^Ge{oEu0G=bMAZKbV_y9$P7}Rwbr$Qw-o-ZbcNPOx zAB6czu-+a-Eu4?z5R7B?gqS0UnC1*UHDCYRL{mrE_4aT6-~&4l^ylF!fOr6_Va$wT zMR6GUqp=P&dwSw5%f@tyM)Ys4djCzA=u2_Id-Kwp!#B^-yB*@J`^Ct+hsW~v=i`8b zaoBqJf0p*YdA1y8p!O91g>6-=i1Us<7~DO_ThQHxw1l>+@7jsa?>IDj0{?y<<33zt z^xVDc{)QtPaNmgUU;GaL&UqI9(eunkihXgX7dRh>2pC7Xs8l;m;}z7}1*`8JL>~7z zQ6QzYVNc6V+XltdM?CC376WIuj^~#7x>rY?Kd|5MzXa|b;EhNN7~?vEkI2A=nD(`u zVwGS3Rb4TJsvX;z+i}9qN28#&C0DsP6h=h13k*6aEurY^PQmWQ;Wp*U(*;w+p`6=< z-tNZMpv(Pyjt$a*29qau30#2)jx)s|+H^?g7zd5W7b$~?m`8yx~BA{&2J4Pbz3BVvQNne zag>U&HF&GWh;4rLVII)nm~qg)c{=$hC z7ci~d17;W1=XM|03{kP>Y9#cqfVc@0#gI|GUKwl3qta2NvU@T#TJEQj1F|wPe^W$J ziseYb;CRL0V@`S3Wd z>(>NUIx%3S-2p00s|mO8-RLKAE7zRxIZFKRLo4V3&N*&(76HvFE}b>2_+E-a6k{d^ z%@g5@LoTPo7W46!)K&YKEPyLa;mQ+`MNEy_zI}1n3Fk2xr;cGajn42NceflW>wva~ zhM06K7b#GE{dt>3>qXXpRZ&_z5!2IGJrlssQ{e3vd08nFY=^IDPGnvJL7g(6$Jard zjn)9`z^2QO2A_yz0`Kr=uT&mO0YpKV$-4`;OK-HouTdR~d7xi<$ODD$vGE@QtMr=% zFmXjZcbyO2dNJm(5{JW8AT4w_SouAiYz#C!7C&1ZQjZh^gfMa-@+HYcba@P9#@2U^ zb)MyDJ6)M{!4;k?Tk@DDWWwrG66L<`5HDm$MWqJ|u7Kz9^`-r)PB=c&7xD=e`jQyP zw6h!tSi;x|(Dk{}W!_L7z?H&&R!2tv$0I;HiI4n{`!gQA)ZH5?_BhngX}a^$a$klUpA!(sJjIr%=mb3ZJG@jLc>rri zt?>}e8sT`mpUa9xZ5E9WP$IUa__xt`fZuH`Aj&5>+f%+=WQUrYv>_F=!pAC*(i5wHA8?00-{n+$65h8!tYdpYnP}wKZX72 zx$1JjO7KV*S>dv0i1$l8o}TF2>Ot%41CcP-d)j-VHx|zI3BV$E-jD+OB>mkyF*>Y@ zZ~%51rY8ZJN2UTX;!iHU*UI{Ye5Cw}L>+3(F)kUBpLG0!2u?eo>h;AE2fI>5P`<8b zBWzw=7(YApkjd#l5mGD>?6kEl)Dv-e_jx}SQqnnTu;XV;3#;1#qGgM`HW3UebHK*^ zP%&%xP(YIBpH>v}3eZ-3uu3~v!%9r%ZL}0hq|us^uOrRec8HIG_>`A zkz;>HdoTNuPcGGIZ*hzhvJnZ~zFt|Df_pDm@Ie`7gN@mQN`Z$iSQS8VA!H3GV{t1oNKIvOc?7{C7UZsX04@mVreFn$BpIzW}{pyiUuMX2sT@z?O4L00a$( zpQ+E>q+T0v5t7riyPYW)K(kM9R+mMOnN3{fHV%J?XWHYBL&<>=GBjc`LWz@U zCw?q9|Gbxj&kMp|unDX@qQV)T)Fh9?|B3d7fsNBm}m@_rXolu`qfCTa9)_b+&^Kb-10~^US+fOWA2k-m)BkOm(Nm-t6`|!oxX0~ z`Sz{3Z*Od#>!6YcGgPChDIt3s(?(F^eX-II%nZ|mEsD3&w%%*m11Drxtt8_OIM)7o z>g>lrB|RStFvV?Ps-i=#0vXok-5xW?)*tr2*EfR01=U{md|9geMwIL2+T?l+blhMu2kVu^|Pw#Bl*VEYKILYO|@~?(0kQ`XT z;^Qhqp*QF+DP-g+%!1y+fT|E!KFpGgX;+d7{LQAd`dViG)vlm99P%v5=iN*b;vraR zob=*+b!Hq)z?tzMQcZ~aUL56hmN)}<2uCopk%}5}h7Uyqqw?ZDUXU1)uWC%Z`@TbR zZX;{{UlZB?usF3|pN^oo38jdr51WCqOh7|D?1TrCoM)O}NfL_sPp$lJv*CKI2|D)$314}R7iUJKN{+FOR*yY|pF5OPC#r1W@loh^ zZl?um6yX&KHHxr{j2{4p(EtL8aQ8qEafjFJ1wq}Y1m=be2x_tv3hZ>sSSI3I)zScVu?OoqXpySYlfOdyoo@eUWg*-xBz0&L~2 zF=gv|hDNE;&mi$MBsT>7oC^!ucaCD0{YlZf+J2Ms-h2QP z&M7|J9k3%dRbfqXitk-`4vSKV6A`?kh;MwG?di=x$#?YK($9-E%Em1BK8JqaT4<32 zED)UU6U*p=p!d2ds=>NZ_>#-yVBdyGjpQI~TtiJ-RUL^adhP?TnNX2_VrbeISuc!C z-Bwu2p&n3ktgkbfA$maXqLuyFn&fInRo=s;M{*QBK4;JGoN`D#F!*G?nT=M`rL&#! zTffMK+~Wsgq&<6o&@eE25#x%I3R)@Sy|hmPT?9cLjK_NHIoL^yI^*1E>v{zoS6)2w z2`nVc8pN``=PMu}Egm9{sBl^{2G|v6T(ZTeudT<4$ECF$uY!Rs$(W&wHaBfcEl4Q0 zVt;>A6T&|!hSp4O>&?Euc2ilYfq+U5ua;IEn3}gs8;ZSIB{KYls>ACU&8*?q?+wlx zo@=p->(7akx#!4sxq}FIlzC?K*%t&j`zbV3lGyjY*oTedI!QTZp%@+iCq~HhQQ(EL z`1NIyN>p)^ z1lAizEqHKJ3AFBLed8bHl!W&%VW^-G

@&e1G>K<0q}9$N95!)Ms`E3B`W;5@J++NW#svcFv_ojU6`uf@`D>I zV^OZJ|-doD6FmP;JCh&)0;nHGDZ@N~j`c}+J+JmfP-NFo!oC48z03TT>E7G|T zFKWpm#=brp4F0Vx9ub&O{)&!DD(C6^q*d)zwTQP&d5og{pwEW|a695SFlQ_7-5QHr zRfvDe(4|+jNB$ym#Z>KS_3H!*f_G;f<1Sz-lb|GsjbXjt z>VQpU_Emz8C`Q0x$qF=Kv%R@wcV$+k$F_Ld%Z&n@%)sx=4$hR}uo=hi%AvJMpQ@r@ z*i?6e1kqUo7Ww1VSYC(WA$-pfEPKDS4E^9SQ&jM)gXW9yUs+Bb+T~_&zO)9(%o(>y zYjVo79OE%D&NIkt1_)uCd;TUDrknXt*!4AL;q91cUTcD?K=4$TeG5vxW`@j##2hKQ zrjw2Dzt*m`(U!?3b2)0Rmze-1_#wbXmK2doZ3=*UPGZ6&=+c_)^%7X)c7ESXSu3@g zu#CUc>bT1PTU^6ksp-DPkySQPX=U36DdcVIqZRTIiu(z+Xj%L13wKdV&|p*gsOdLwqQ#>Nh!D|Lu= zp+eo4Rg`#9GdV&nd_g;22H#M}uK;+~-sABAze|WMBO`|5JLZBHO}TJiFGQd1(Gmf<~;m6IG_SMxdKGVr)C!005y(v9X zti8w7aF587R-F+ytbvIv%sFZ6xxf5pKJM7OV4)lw!2bx;n4B6iZ>~jj!T1xx4`EsD z8La(OHgaE`0^C_Q8^*URLh^_iY-Gz5XJ)r)x@f@R6rGoPGo8C*nn52=k6x*WCvFoi zm3d`l$&Tq3m5y;jMQcq|uJZmzpNahmrqMOgQ4brusHCp z<@Ri{gqrk#&aErMZM?()z(qlg`wM=UdhYn+ZmB%& z{b(Mm;hRG7tHQ2kh}^OZ#RK)24#(7NG=>UUgNvh?OY?lVgy)4{QK+{c{v}YgX}V|^ z$#LeF0qOw&zCt6F8TMxOhpXR*R{MquYR5l<3QVJa7zfgya2@Waf$~*j?0Q@vEO^-I zcRH{@v(OS~ka&M7wi=_F5eaqfOES^#S}Wp?4P*M>t%{kqCgY%*cU?4oU> z*N3^Qc1eb!TN?f1?$@2SYO2Xs5Ole5Cd_((vPc-jyVhBH7b6jF>@#YaEG!DvOXSX) zQ0Bx`Qth)6GOw&mR)L*Eou(rLh)f+hW{tePU!}z*Ey5q5(_&gbxkRPE-VBhFQEt{r z9~rUP{$uL)^k9`Vh&rNtaq<;t*Mnmz>@p{g_bzlfW69ckHA8RqRZp?{;gX|Y!t``1q7dpCz@W#Q=DT8 z!@p_&QtQ~=_ixstLM!xIBhQ$P1_V}!NNNze-ewyIF&iBYQl=FC=rZ@r-$@tD*SW;& zMVD^>`!a|Q%EhHdPK%*z*Hh|lybX^wY2MqQ6QwtA5odJJ zhhki6`1!161i&=eqnG`AM2OL?L7EBwM&Qun{L$g~ZHmQmHhkzZ$j(I}foOV%jtihe zFNEt5YsP%%^EUXx{#Vd-wf@hnG!Aq)5{gDc%?Q}J@XRSB4nB*Z7Zhm62{^O|gCr?% zc62>9nE9{MBwjB!`rdm(6FpDVWssdq&q7OFP^*u?+Wr}>{qmGJ#WTM#k2yBJu$ zs2M>>bwK39HU}IBHQ?Z72&ulz<&r%#I5VYa{B@e_zwLg$Nh8Zg&l7bSWaon8nNr~1 zIa`wH5WF|54VpZkH{gFk?+wOF1sTcNqoKU?VutenG=`i##Siu1*}ql{MbaIUrFk$C z)O!4XG`F%AOu&ETUIcpl6%+>5?2AlX$0^p|+t{r)0dILH5IJ8T@e3_n*QFXY&V3|% z=p20ZIRAnCiK2y(_Bb)vC3bHu5f{#~Zte~UHTfs{0EL_X(=AINP~vf~3(uzzv5?)_9TMVBd>2~G6p__Sk zVvfV|z(|GMn+*kV`T5RMQMdV%TR$UyZiuSuh;8`Z6A8XxrWwKQ>wAa$qBu?=_HQPp zY<%pR$B%JDg44b{lz4z`o~Xt#JGLb}q(Vay9M#>dnLtr7*F9EhJ#n(#H(Sr2#_K&g zYhITqIZP$!<}y^6@*uWy=q5N7H2w)y-_lwN^Pu>XZgtVYpMH@Q&zRUwX^+hJ;vc`9 zPvQ8btWzbdQ;rCDB}+}mp=K}~L?MWJ-fx|LJ}fNs%t2DPUUqM*yf2{g7>_8(_AoKMP zf%?bj?<{RnR|+KWmKxGtXZZ%RMy`V) z{o8@p72NWg7-5M1L^~@%kKxNBp>*YjJ4+5VT^8^d7aS40t@D`of+M)d!l<($*4Lw< zLttWVkL{cLX_=l58{pBOk;usLSQeyHr1VSL-oxiOI9ln#3nUkuEtI;cD4TQGL95g! z28+^<7rF+2M>AO^DZ+icXTdi-ito-hL2k8+<0V~tGH1jXDwP>&k8INZTAjpf?=Z1@ z0DGeC+V5EEh6O*K?OcvW+(we-P?W$Db_Y2vZfb2To0Oz1q}*NJv-Rsy_6m#ZVIDEp zhY!Ll*|ML08}Is-T-3hIuh2nNI2BayW~F)dqBY;e>~);9mFGe3+k3E3Gk&~_c+P0b%(BGD%-lrtNAa0yGbiBN2ITg zl>(G9V=Ie6ND9j&jbgg)lx@)+>F%dVqQcP*+JsjJZ6b$DWSPSks4E!Z?9+MJYb0l` zWAH{)pqGsIcMkaPJ#@(Vy=Fjpe^_<<2ai%*nC3_2--&6z0yJ-Rcg9ha=eO`&?0bEX zEy;7dNIloSH?Q;OsJ=ca5QV!q6ea)=uMa zZ%3Ncm=m^4TSDtY`#QWrW4CK_eJJ?}ZRUd?DhiCnS=4hXY(JF~#Xb!owif4Wau9;U zeN#=L5x>SU(jmmGYMC~0KIN|o$>ZxePL9;-~ND%sB)Kh9vv{X$M@ z;xV7jmZhfY6ZM!Cp`w7!jNK7TQ7i*_a;ZlDvz$`187G-3<}+}KX*KKg^17e33LeM2 z#MnmPau@ryQaVx$Up!Rge$Kq^ZyDPDz5$;!`sf$&pS{AC z_-3Ewt(P!mnd#hs;W4(#Aekdp-}lS89vn%Q^?D3mv(GCCFRfJ1uj-jmA4rT{my|4) zq!f1YEk6Ao$yzIt|1uj(eL=e$#uY?*`V?Mm8ls*#mb}$on6{kJ#e|V72^zsDINUbu zf1TQYn7k9fpsz6DXC1aT+HjUb1ec#rW~!!Z^f2DMsTd{q>LZqU$^*;3mpFeA5dX_# z&wYWkVm=S+hFaq@m7T$2dSAUVi=NA&-}&7W_lu3Blwp$Jx%tC15tVDfZS>gGDf5K4 zZdK%G7T;sqQogO`z{0{wvc3QIYNXOq7{*Y=PE6hLhR@`QQdsZd=PSJ>c9PtZl(0aU z>*D87#ZVpD#jJFJm2RET7c|BMKNJ~N)drnK9pqcM<4pQ)BTBMi5M=oY_S{~Kt?97kqPkNjH$6lYn$Cr( z(Y|xVk{18*UR+5~rDDW;SCQyJsI04*4$L%4nx64GQv9&r)Wx_5hA+LjsCfG7UQyj7 zz5*h(sb_{-EO|F?qH5aIK1+SpCoeOo?4|O3hJO1Vjy^@X<;zMjBL&7zL&x1Ftns@@ z(QTlPxR_!bYgtJw`2On0iEsB(WjH1C@D&8JuT%^=wCYZ0cp!-G^}Y+;IPbx6oBGmX zE4c6NQMaiFw|yth+V7P9cqm(FTHi=b1eQD(gW^*1v-Y2D8oC2A#Iy6(+YBAB26>_h z@>fyG%}KMLTvHK>AKwUou5#(=LU%U@tgiTdvlWk*q&_xKO7oLYd2r#Q4&v!a!5$T_ zlR*Ef>eil^Qe7_(zTz~2s85GC9cyBEVA>sJB$;l(y{z;ci9CdUw>;B@n)cnc!kX;T zK4D2C?xT5$bWzv3Yav-4nX}0!nO42+?(}9cYh@wl@rjE>MiL#Lj^m^D1P23_QAETd zvBR`m9P$boBS+HATgafr4GiqsFpzB@VHQFLXO>(gu6WXLFr3v z-@CA+CY4$rL*|1V)$)<*cZSXJ^t`6ZGKDX5WvIwBkeL(&>I_U~ysrHl{UrnDFsTQU zmJ8fVO_u~UTJl!4tI1PR+%py8>UEC&t^M{!+y5O)XlY{X3wn zE7M`fMf-#<;8gKrDu*cepT>}SoLLJXRbac}h2dwX4j7vMk^~z3cEF*GF_>}i&nK5U zlZP2ZUwlSTh&_Bx_Oi3%Vg@T5UHn0TcQ*M8m$r;A3_l2Jp=0mBrEm1LLDTHc2_z4B ze(W8#^Uj~Unyf>i&+%9EfY4^{pTd37eY0)FQQCasJ)#ojf6i>^PUeE3iDap+@t*gs$C9^zl& z6BWN^BO`uIloI-*I%OlwR8YVIN7Y1+MPF}wf^L|3)Xh`Jj;$Iw;7PhL9 zBwA+|HM3I!*Pzp#m!&LcpI&v*P({iPyLT3d{z1>Ro)nMg`GZKj>p{)C1#r}))G@$6>eRrP*Q1$7eLD^KZdwb@ zm=0)Q;Qo++p+&ESysWwZjt2Fqgg@ToGbWYm+@y347+*)<8RGFb`KEu6^+Cw`v&+c9 z#~OwWTR@k9(fr@umQVLAq6L!J6yVPtGp(m5-W|zDiI}T)gf=cm9khB5R+k0ni`F1m zdtY?IdQCcVto3tChF^}b`iy0=<5EU=+ulO=5n(R7ndat^I=nyMS0NWlHM zjOltKMlV)?CctHBczcLoy2sd<=$K?{hHG(ggP_-oC@uAh2DOE$-FJKiBQHq;dWE=C z*92#Q0J1%u=%Y>McRWfPTGJagr_=qr<;&w(y$Yq{5vyhMZ?~I2r}ZQ=_AVceR4J@H zyyi$bQda`q2lcy`s^2TP(hG;}`4G+@i{9H~{AX>CGBPmo8|bHrp?Wh#xkyG6yu+{p4{`uLI5fC=oVMy1$T*7B9i zqTWuozC8131sfg{SW+9YEo@!#8hUUz!Y$!aZzHL7{J>L_`XbPwHl=uQ z{L8phC9+0I;Iyu-r=f*y&`>9)#MgnWY-@uWww;`WWvu>!s5IavS>rmwElrk}<2aqJyR7WCfn# z#2W)s4r?_{B7R;98?k)R%j-0O8JALv2ed?yC5PjSv0JS28oG9HLU!Hg-LbXb2Q^pX zsq;)}78_>3%K1h$h##TeEkhQvoORxBCS*PosJ4IUj z&god)q{{q(^hT`rn&13htw%mhhCmzn(td%z^Eg4jspp7wt(}%-ad9t?TE63I9;>3$ z=t?Dc+t?JQ-V!lRxf*0s%1@<|kV4cow5pPLqsJHKZM$ftk5-<*OR1#4_=& zmJ=<#c`^yd0Ck*nNZ*aiv4h5Gfg4`Cm8I~N%7ebkPzY*xk=e5Ij z9HL7QW|d;~sm`63a7Fbfj&DheAPbk{$IR6oK9QCd1a1)IagY;dtU}O5p*k&5zBp_o}fKL}}G=_M3}4 zHzmnla;&-^QYcg8+)6tQ$oWLNJX~ITY8kspG^qNKCUlBpgMdhqg302egWoR}#USm{ zs{@@vhgAnMsV8kKM}nVRkUPBnhALjKq{-~+zI@e~->_;MdeSFGh6wKw7O(AeFjQ^Ay9qV)HALAyQAj`i zxi&>Q^Yk9_wHTwZ>Fp{$ZdSdKS80t7HzsVm7LZcl-NJ4=%B3 z82*~oIH@4T{CQKVONjS0TCw1to40kVZW*dzaNeXxYLWfCl{Q57RCmEmYGTy>nS*fp zmB`L)R!VZBEpo68?-VCY*;im?`N5kOoo@O|mf7_e^WuVynYkY7SsjS7b8JK=$~l`?cr6>e+*s|Vr26Rb4VK$ErmWcp5z|p7&&ri606MvL}eSJPbsXU8y!AHT-s%fYGG~R@}sI<&G3-Z(a$_wJjscR_W2UQ?UC{(Q)aat!jj)(K3ea zh309{s-_-_(kJ^@*2+ZS1kA{*0~Of;TLc;ZNq%fhEuIx&R3SuhC)QVTB~L%adu!&p zXv}!WX|0xXKQr}T$`TcIhwUi3!k;~ryU473z%M7W8lQMg= ztF`(7i)0$-JH)Glb!b}?@2{O%KF~)K_PBpQebg8m7)4S_3uu*1TsZ%^<+*;EJfxP= z14TI$c;=tJR5ZT9$dsbA^v(!xEmzZ7<)h0mEa~rvejA_Rf$O4sj(2W22>W>VFOy2Y$6%qywD^T$o8SCOO#_9c^R>_y0M-So1chqs}SXm0I!Fq*Y)v&!Ijon z-<~=bR?BxA&DuPHN2|3nKdD^pv8roBeuJ`z_Y%fBkRvDfTUh}_SqUyq88jv3flj1KO;XW_qnMM4s%!YrVtenSj?4$bHK zrT0DuM_u`+LEFn)pfa{GC)AQMv~{BLxr*Bu7**RCIMxbZ?e?aS^V)8jDVcr1nBP3* z*>4_D&}JLA^hzvF*n`pY)yIpDUN)pFK2{?XvhvK4Z^GOb-lvJ zesB2P&OD-M6tc*MUO3jMS8*$#lszi5J4a8IpT0xo1=f!hAFY-ZB%n1C)gRhm*T%A2 zH|INdl)}&QFzcpl$BIy>#Af1q=}yOJK)2c2W*+9}Q;zB9{(4G%$1mP}1Gzb}p6Pc^ zSD0tRU+i22Xu+F(PfBt@UGQ@%UmS;#zpr~`!0|o%m$@lDzxMLZeR6VZyNJ(D_}_sZ z2_9392@%h$snY-LunMLD7o6<=hmpaDuFbo+bJ-PH;9vC{(=86cc01bE>k!f8POMPn5^qxC)Mc zHvt4J;HIFU%I1%^@?59IUG4^b>f~-UlzpEdxK8#OB`<2t$6)c1cF2EB<2@ zFjqlfaLeinSo#H1_^P-=W$L%0{N@I*ITl`MbSLNK%IiAi=ZN(2CFIMKOj57^xp zZL^CW0eYpW_ z<-c@<@G+dnkW`Gm9reViZYi+n`iETO(`ApR0NnJVz<1vRMjav&!(L5mlUZh&-DKna zS>wU1>DHYoT93fv;G{;ECV&H=i#>K3@hD60FNVcwQbmp_xA=&`rU`!EU*_z<&YF}ONCW@qc>CEeQ2b7DPw6!(=ZHGMHZRl;bIaYul z%2)uxe`T06;eyAA9l$(ny^P1aGA;haud~@~$N=yC;1CC{IqE!pK8Mdxt56G7z;SkO zy6X61ORfSDvm^@Lc)2kt?$F0K@W#ly|7SU|f$JkEE*;=Tb^utGGZOYmv}~Q;5tHm5yjOM`wE}AKPCp|%aaG8$p~QwfKVGM|HcU}3eVs(&`<)rr+8P7<6oJx z07lkPl^#=VaaW^#;KR6qALhH|ZRW?>N0s)du8+}Hzh{39e9EFwAr-qs8Q_8TJ=2F~ zZ|j7Uk``^QFWH3lasscFT#~*MI|}erD8mBv)o@ z4B|{0yk|e<7g!ilA57)?ctmAPamnnt8LxqMJ73(=CHjuN6|>sFhy)fI;(=`Bt47b% z51iU6qis~E!pSdEyo8T=wfKYvFF&WOSB<&V`QgWT4s(@(9GWk;X>99(sHOrrZTX`; z+6`?Q6pxWSsC7N^c~iC^J1W0O7mEvW7eTi8+SeNys#^@rx?~sOV&$tcNcs;n2jaty zw>92>4y=qu{)BXG8Mdic$x{LrR$?z~mRCZ^@qUB>06F{-#+y6V1H|m|B~D7jo~kVd zEqO(V1mqgtix!VOdjmuUFdlcTn1!aKfoZh6c*{}+7H1i8jd#-0o8s@9Mm(R(6(UnN zJ>mtl+UXH74&uK$P&)wkJ~wbCf>jR#St}~@Nun*&M^0c3M*zf3Vz-eaM)uezrHSVg z|8o0KB9*`!_Y&`yaI#lZdq{D1Q^c)~&WvKd$Yc=#efN*>F48Oii0@Mv?$w>>Efh}Q zQNHbhz#3drJVPIfq5QBYo{?w1du^Hju2@@ z!k}(6I8l>y#RcHq^5U*Uy>^27pL+o3zvoZ4^}jQ|X)JjB(|rvImRQa}3&Go)nNxus z`Dh&~IrI`Q7RZn#;@bS*D&s;(J4nnt{iwhv!!ZQRUpkj7!#-(M8Y*uh^EtJ|b;|Kz z%1zFN@1p~3Pt#okGw1l5d3Xx^NCOlDhC5{iA+e(uHigZmOQedf^XvT6^5zEbq+jUt z_o-EKbxcO0fhKbibdLB;3pi#AD$5~OJr@SgVSUI8Id28sRvLFi2DCCVKA%+t71FY+ zRDGmkq0sW$^MTLq8fvYFz%{eX((A~u^CGk|@qF=&L0#ume`}EoE$gA)#3cWf<2m13 z_N$9uA%f>0vri~jh|wNX{L^W>W_DK4tZzsAuLy?-ObmXPpyR$vFwzeKOZmv;Oi=ZR z%1EfpllcJurkyx|y;#fWu*vBxruoC89`4ikMx+XvI$j;OmAsa|E?ZwNtbD}(*}YT# z{5rR_eNTKFu!|5IKN2&2cG|oDK7;i=TGntN>@K12Vo|Qa4-1v0I@~wPFC*`zOs>r7 z*A#qy^ozEZ#u<>I_d8?Da*e?Zf%@;+o7c%%6QcPOyG}y*$=$i0^APHa#|5YFx;cW~ zyR*EK%QxTr<`(ZU)Md%6Et48m==tTiy9)`UWCHT*i8H;%15yFJ`v6*}AM=V>!ws3N zuHK@cYbro)ZmfIv+tP#X1fKLJj-81Ry=OyqWixqh%bEyq;$S!q(rGCJT#7u*8ro1B z+YitT);2i8yalSn&=mqq*E9X-vbj()cz5m@ z-8(O+`r)Bp<>n&iJ*}*;gg5er1A7clo#Dr=RJJ6H4(dpFR*f4_*y07y znnRzb<%j^#v!4Kz{4FMff*n0K9x`e*{^YztO7vW@g^1d5tW)h)U;h1&6f4V4sUiZu zLo+CKJwLinD8D%VD0upVALC$7|5U%0@p;O0|H<*_Ap8l;8~p%=YWW-3+x1n0pE-A?*(@alNOC@&LzGFn8Uh zo8e(^j;7eBEC7hsv*8;S*6b1#w<4sv6VEsyX!g0pwG)6zN?1!-&$6Xh*D+sNzv3VL z!zH|2`b9!tc4%=pbX3T_z`~|nJ=QFWe)ez_q;ND49o~0yfcLI9;@MSi{qX7%0BWcV zS^@fwA{CJKF}I9CYtLHG6Hm;;w@3x^p4S9y5ws?)tyvJ@;I1)0a8*=JKqIbVE7rHB zywr6bwP^ov=&}kNy{KPM#8I&VrP$njg;}Bpc$lUo=+Fk$qAWi9M-)-*J%;ZN`|X4~9R?gXZLyEe zwSbvVE+uF-2JD8M&Uariv@;Kbtp9F^yL^wB;fUt?t zTpR3}=kAX`oj5cj^gTmM2giGUqldpZblm_)*Y$SWs>aQKG112*05dtocBSqTCV;C0 zAd2`_^im9(;{0J}H6Nt_WcF(QYp%UuTkNh&-gu=3xMyy#H8ewc_r*T^&hbB?fTL2W z)`Ktq;=sAz0O_wpZZpsRT^zVGti)jQSEo~hyP`ef^`Aosu`5+rgXwm=MkV`qfG<1B z?v%RLj)?rlu`}v>3t@W9$iJLP0xAYSb5Sn}o59vv<+DHmRNFK+$2dSKKC zUY?68ZogxDSImL!`M-jd4@~$-*PlcGooCT+VDz}=$-qs|-R18LYhNhk-f9=KyXiZp z@_!AHxe9^JK$s_YCCQ~@H^%6ZC)ip#^BWA_-5Ir}q7?V#$nW(#p8OB2Xk@Nmz;m3q ztD}D(BY>bA=k}TiSL~XSonc>AWEY%_P}<$}%KwC$e}v>r*Z zqvj9K@rMMH+fDlaLxTO!x`RIq>Hn$-`6C>EgyRo=z8kXn6I=NcTlqIc1|${!3B2uw zM0Z1EK&j!Mz}tVvPyYzVpQ!9kRC=e1^-swDe|nRDLiYcw#QBeK{C_PRLP=T={;LqhTq^j%;p6zguHWhA0J`Ts+;4~Z6d{_-7~=e$ zmIjnq{NyyT@B}Wc{PlCRy|VOoBD$dM>78r4k`&^_Mt7^5cm4>DT*(QpjCnC}vogl> zzdBg$^ucoBQ~X`3{JU^qe)z!ooy2kAmUe~RM0vZ8rbp_-2D=Z<01A&^l7B6Zy3g#^ z9^0P#&-(1!d|Geys~uN&Yj5R}feQfl?$_Z)_jS&;-x*{`AkBRuVERYEZapLLtpCXQ zcTI%{{rh8>#%}e(-`N^^mGMjeXV5Lt?go@{!){9dPCfenT@S4|B|iMj;)LOU&l_my zb*lTXdS%Gt-}^TUB-hV*N+LZZ|6T8YQs~@iO7ZnoV z;;fE-w^X2R>23V&K5mxOm%18}8Eoj8 zG#_K7l2z(%T;*=c#$D=$2c-9_5WXt<($;ms%NzK<#e+GSHNA`GvM`n^DXV5C^kEFU zte@KFiHf`T+#W7F{$XAtFsLHcD&LW8>^U=oDM%Dsf}0z2$h#B6$A!9)j~^<0N@;a` z=~mG^?+F>*Io$TkavnqFuVC5Q6EikR)|89bLFS!}BkQe2Y&Y~*uK^80*og{q>YN?a&iTe&|KA7_y_*9uC5&L$Jy>dKfu8rD=%9e8Dni#E*)HuQR1VNfP! zqplx1{VeY#tcF^ef5m8 zdoE)}0}=xtRurlXKZ;j`(>5j&Fy=^$(cg6%Eu1foq$GIv_M?jlu+dNHm6&uRvuxy*KQ(Dc038EXe3i z1x`lK6>&QZGZCQk}iI0yGkb%gJlecK1k)x~9>oQW#8+J$P_9AU&Z zMG?QMM8r`wYj1+qGsgw$QhPR&HCJCPuX%y+!i0+A?ZR?$1KkOXE<07#$v$>d=`IIw z1h#}DioD841{C~>0y-yo2I3D>=(hul6Oh8NrARgtNm=_qJWmwiv`V*9rr)6bFbsXG zGJkn71~gjOVAZ;Fo}psGcV)#i);GmQci!NzYezQtl{JH#0x^z~Ojs{ihfEm;I$iytB8WQ7rISdbKpqplO^>}}S@k2uzC8dbJFU(|U_ zpRGRWtsweP+6vK9dOcR&y(4Yl&HeSbE3l1Z_MMBUC2C&^jxk@}aUnl521~;$u1^h+ z<}?v>Dn`lFN^#Z)gqU?kG0ZCJ{fYP+w`y7zV zRARqVE-yqtN_BN3t6hF>q?DnNl@IX_1a}*#;lph*ORl}o`Z4FB5NE5 z^#aEq&)TzD_>tulKSGI)i*tm2XNii?%EN?JRa(jMbxpe`@=Q`B3OxjTiiPuL#7@fs zj!GLf6v>Kwht23^kFEFS#SputoNqYYMv;{AfZd4SC2X#Xaiz1)-gTmkHD{CECJHN{4@r9299v{!v086i+zwMOT$yA<^-)CSc);k!oscqJG-ZiRj_x@b$l6H2!I)2Q&d>Eb zt5t{%37oCJBBasGuNKal3x6+RE5+)77op(rC3Hz{?G*>M(_FgNcBNn6ZAm4Tgc>uE z5RcKN_JH@xAjRzZMC-h&+I{CWYrIhmn9Q~blw^TR&el&+UXjPN1-60bKFSU%d<_4b ztXu@T#2SE<=Q>@;kU>yP5fwujm7G>4XwSJ&i2bgm_f#nXim)35iWgZ&;;c^_tRuSJ zt&PMEqJ}&l!ePrB5rd0b;P0PeR7M`##=YLA*0Rsp6||iM)9=$VaER+r`X~-5Q$LwF zERLh%FZ>D)-npJ6XWQYjF%Y4UInin?nvcnX(8Xj@EGeJdGWnV0+wttzN{*R24 z|EG4BNDw$Nok1p0iV^T+Rd4%2pk%efA1PeL-U>t{w8o0mE%@eR`hex$qn5@m)2>1> z!lCL*Xf`WaE8z7D$VheA)d44Wrd8B%$1(}2Ra&=r(QrF%<4s)1qi^uEIb-aFg#wZ% zp6yKQ32Z1^aL8-hL}&L;)rDqjb>y$s`V9^*eN-Y2j{n}j!)^;b_%=Kl_x1ob6_R|*=jwkNfnpZ)qp(T@6?^pFk zhB}nmVZJWMfao{*fcHsgoX2+@mde8bw!Cposf6)8`+3p(jXFq(72GQG=G6x|Km22- zU$!p1AChZ3}6U=A=>%~hNTF;h- zH?Z7He0o0Y|1=~Ux0M){v)H1P&{|{~=iRm+rk?Cs=RmDnu`M7ih9zS2*X2*3frdm+*nqKVmP4FoC0$`iYCGD(`k6j9l{K)j99UnY6$MJb z!VTi=Fqg?O*37zJ?SLlVf0Tjp@~~J)V!)Rg*dt`2QL@MS#Ae;x31te(&q!q`^5oYK zBCypK0pW-~_O+qa7*88!$Aw{%9F?$CS9}IZA1#J=e+(O56bK!FTPjA`SZ<5BV)RwI zMRRU4o1Ye+2whzk%PvMR-8qopz%d5*6TM!H%LD4_0B z^kk{zq`V0!X!eJ4(uN*oX^hAon8`py(Qjgu*B8flaYNeXH z_nk;(r!$e$gSJ74E^uHQVWvMLy_VSq*k8ea^I%06jCa(#t(4*?m=s+uuLnNXc67Q$Gy!%{3 zP}E#yuf{uP*R^)v!H03lFXG?Y6N;t?`@o>X8 zT(w%q*7P@^^~la=cFU%wc?l}yTRTY=|AGz)2%35CY`JTXuTB74ODBD;sETb}yYl^c zLsBI%&PgBkm6+mn2X5q54E-YS>g1pM#L>?veo3mIg*_wU!S) zbU#9?4>p8g;73-Myu9!AS_7XIP0@Jlv~I!P#1nwFzKgL~m2KLxAX<%1B1Cn{5+?-o zo$+6?wocRsG6>{s*46ts-Kv0e^%{^H(G#(jy#W}R3_62%bZ|iIey0#~^mKAo&l}xU za+_q=9lXi6K7&NlJ$+KXePD)%7j5CHFQ$%~oWk;`s-dviL5aZxef2I~1blLABbUfR zXoMIr%hv3C`*32HRZ#G_8UkgsTUTrd;#Ir&$=pA@xo@E=v(?QqIc$zsxm$#aS;j56 z@-WV$vO#|{e(8u6vXPtm4KgjfBWdnZ{GwI-nzIck5$2im{FV{BQP%(yV;9I6h0o11t;Qda|wg zU_+LXQA_itseA?PtWh5z1fK8Xbw@hs zrMzB7G3v%CFIQW~s_ozl{vqAuE+X_`S@uMtlVPoDckptFo2I}%TW`+{^me1z0M=GW z#cS*%ssA9`mRl z$Q~*#QLAV=g*t$Hs^X-lL^?TTNGW`>jvV=1x2VJ-g%hXgd!@*gGo0(bYEinLaRw zdb$d2lUVx-O|L_zI5jYC_&4`VjN@d-B&8W_Z|b6vh)BcFs{Yswt$z2ResVw4aadSs zApE&HaK7nd)O4@j2Q@W0ARod{;S)T27p?=8$@xHHj~xCs%S?tC~HwF_DLVn0qKw>j9GP8>Wr&JE-)f!wmW&Vz?;IKlH>pqFNRdu_T zV#-dUiCU~w)c-oCUlTaMk4xTcA7H(S^!UFJXp$4ag@Cp?X|^D!Q?EB0AV8owD}S zU8aTRQO0V+oQXJf`EeIvpuItVrVP;~%tgYpBS~@atK*}c9S&v73v1FOa zta^ihiJ$Dcf>*4;+axC$)MUuQs}6mb=E~xF&8l~M&B{x@O}C}+>37?hu;b`wHE6f| z>2%{K8w5AyWk~+Xs%qKqnW|RHfC4rEe+g}{NV`L&xSf#Mo9_~w%{anH&%vNj7q z;9v(+l8G_NLOGZwLQ_IoagVaswx?b~OEb{QrTY%L8h*8xUk9f1Me(C^p2YlTXXxni zfamc`s0w0|mN7+-_pEmB#`BE%YzTTpK^ymgswdf#3$y~ejY8x}tlK9+@~`Fb)C*m1 z`K8Z$zs2*_aWJ{Cm9>t-XZ5l|yhf(J4ig3?^E;3GNgT6iKqXRe`#Q0Ka&ka-z3ye_Y@&qSIpHKEiz@LTih)(FB3Z zX$CAIc!GKs+Xipth@#iec3Ss+HcVEOO7m-$kTOuR7$c3irNw2bpa_9|06>f1PA zsw+FT9qz|8x6#G1d#P9fIb6_8OkHo1F8&e3yzkjL)JPKFwJh2OFsmhvU4QWx?tKRb4o|q z5u=;tp`$s8C9dA^W?QOkpMo*gipZ`WuiBb@ayttq%QT@)vFZ66bjWrZ^s-cP?fZ%C z%8j|+!gn%SEF7nXN`mjVgSdwQHm!ZSL;VjR{r##;=sEb%+9+5z6tcLX=k2#Sf$cJ2 zKiIEMF5HVme}QImg?_dn0!m#6RR>x-ZxBYun!>Wfi&D~hYU^Z~*|lDC4!ym3-}CIC z*?EaV)M-XWmn`f{af1_PFcBEZ!m3m1X`VqNf0!{tU4p}5k!s8wf#q3Cv(Rq-sIE@2 z<$M^fy4C2%=wNLw573OoY~BvDi+cb^zotE~m zyGaA!NmgA2kbLb3#fGhCqvV z(eKaJBhXyMZobMgRq0S?d6RInXCI=;=$j!_th#R2ud>Z#FAn z05a5=-B1tuTv%27a5?uVGg+zkB2{1fXkn~*jp`T_?M^3RCeGf9y6YO+q*&}`od71*`Wa%OIoFK3FvCNQ*OKSnvl9ND4P z6B5H5MU6>GmraGw&SxDS(*xGVTl^@?Q~IJ)MyCozZMy#M^f|~;q+T@s^|ib0_H%thub-YziqzNL z0fY+kq;;4!yhTEZxprVZEwy>%#@4kkj1Z1VSM(ftYZLvEtrB@d;e^0J^jtk8vni0N z7v(ODJgj?$U~(`% z<$&f_sqe2K3=+K$4QE+Vs?wP=V3q@PdoHmoIo&y3aI4!x;1qq%k4DIG)(o`!SteR2z1xD9UM43NDbgwWR3S zF=?YP#)fkLIvom7A3V%8!mq*gM)>Ljf1y#Lb9a&K{b9Am zIxQ;N?S}n{OGmdSh@aI6l{roWK!-y~A!!K@fW8(y!U+X>6=pg^9idbRMA9V+-L^wu zU@qhryp=FS)(=s!T&c)9_@sX-3vXd#wzv*0G6fE9AX;%iSV_r1c2rkPnTF%ZUa>q$bNGc&*26E~f%r_Am^jYd|fEm;^d=H(uv)+r8PejO=L_N_@WiE%@A) z8YPQoI@wSx?^=l&ZejiGvnZpL>5)|bNT=z?v$*T~l`0A66@kWQevO+KbASzI8&pj| z-3`G!V8+VFAb@nOC(4nx!47S)A{+A8nX5=vdtBWSvk>vIL^NX#i4^OMfqY0&30PY8 zS+1G2AoQ9-b(!5h_;i~zQ5C&!2g4{+9se zUv2GUk1kG^R|TR;X`01YfY1(1Dc;&lP<11Ti*4V6u6#RCmY_6MBZ=v!3xv=uEWuMx zIF6dl*7&w9jfvpr=!kc$DKV|mc83#H89Twf<;$Ok8Hv613L=1Kgpzgc`)7RaRn0OQ zLvC30=O|(VVYDT;0R*J^IF1c!S6l5@Utpo*6?tBME{Fg#E%q@QzH@-y| z!+J2Lcn+kG3FY;8D+X&+t(Q@tVunm~Qot8HWrHr-l)W3P{4s7)MzPbR7S)Uf1cQq( z3L=5-HdL37s-Ok&0mBXb)g!3%VraIm=%TLoucg0X*&x4Ub#`qk%u2IPtAoH3h%^;T zJI=&Kw)1x;ehNW+CaE#fohv#F+Kmhzb6HgAL@ ztlK<3JRAYy?s6kXcA1#1rdmW|M#PYPVccd&cdNN97-W0W`@wpTdfZsm_Mkr*V7>Bo zZ2BcSt>oV5#ePjA|KTTFgVm};by_CZhqE40p;9uMC7s91NRTnl>%IMIh2-fAg3%D+ z*n_P-6{(+jUPVV0`*e+M{PbOq>*-h{mwo#}DQ3~opAKJ22b!-NyU)K8IKil2yVI+V zOID4b&+SAeuO+OKU0X8N&wob*H=AF?{tvi{QW(hpu8fdH&{a$_$Xn#GUXi$R3T zh8!9j!7=aFE>(_lYGku#1hxbHyI%m2);vk_ln&+Vf^HW z@uTsQOJ6%>7}XMIu7=l@Max9XdUc+?efnDDU%cm*kBQ%ieEp2;oXg+SMd!{eFE1kr z$mIsM=75oAF|5|P76#3%>!mlS6ytBB@+@*D)XDvY7VwcV=jMu^Q%{jg!8^Qzm*1KgRV(7sNe?*}ED6JA7Fowf|ne(l|y5p}#EsV?&PW72%B1-Nb(qc$JLD%PiH zDdB5Ojpg=EBuHEMAmitFIeGHkiyAJst$zG!bnDI?`jcZ}f}a9=ZYQs>^+iyZot|$# zlGqP4hLzTleVaQMHqiuL&yGg;4hwF*00O*Id3G9 z_WUWA4@Cs?XZJgv15gUycLa?x#%Zeemw_$-X$!$lWf6UAuX}`A$Fckh)0M zxsWRkYQ`8_{EEx9;ern@e%K)iq&HT?xt^Z3{+1v+hghnv$fe^ihh{+~a*-R2`7Vn? zrT6$G_ia|5<*j6nf=@ekCdAO7+_q%e;z?{kSEv;-@U{EIr|2ImQ%%0} zj@JVU#Aml-64`IoQ@Lcd$qAG0@-WM#k&284t?M}ko1X1Qzpy%t65Gw4)Bdr0o+;g} zAAGEdI2+%@9c1$Q`zuv08ByX7$E8kBAFcCpEK#E=dk?KhKFh|bUw$>L25V}J4M8B; z4E@6#U7#{3EPo8l8FkI$8eGKs{rI;RJs+!ZK{C*ze~}krDmW}#nrj{uUAAp}vVe(f zG<;gZpFi|Wk$ZRN&JMrSxKwHu{Rn?{2%?JNOq|krp^)3gqk;H&?|`V1a=x$3mqPxl zTI(He}J2Q|VfD|u%3xK_}%togXq zA3mw0_8zJY#gL1IARpgfG@WmcCQZKm=sPv87~HpY3jcg!6cu>?r+;`IyYn!DyGs;* z-f*E}6Vba_%;9>NM1lCi)3xB=Cq~OM0w>4b;?w_DKAHdtx5-SQ%@{e|Of^IGc{Ef@ zhw}XW>K6`n{yLI4bC0@k>C?gH+py9rsi7apfgH}`$I-P8X(a}cVNU@me5t<-$Lu9L zt-K#bYhDx{)Rs?r*%LB9JfXDka3yjkR^8yc_xljL^G8c_ORDeLjZ3~|wl^JW@VxmI zes#I+bv3*r3CU7UQ5d#!iu6^JYf+8Y*)RFHS%5}&&bz)S5vhL++2IzsKPd29XZ~r= zo^n?k`_naYcNOj951rGgJbLIXIK{bMBE`h;2XoKyn=Z+k8z;q)uY^@(sP0XXmy5zX zpRWD2SH*pn4w7E_q=D%eQ_wg+&sS8qMl<%AdMNc19OV-pulXyq62$xU4zA7{7N_PhiRDg?NcGV01ZgD&iXD``V2^oo+d>L z-a5q@b;qOQE;(~N`m5%-C>&d-i+kY(u1x7 zCsZyJ(4UP&Yh3bPlI^e5W}?#-2tO|$aNZku&Dn}0?aDvLX9Pd#byn8Q4jKsUv)ZrJ z$u~9NZ)h6lF+%z~^1il}N*6E?P+E@3l zk4_CfndvdRe<7fT+RNKpX%ObSq~u$XxZ2FeI=3`h756~^`^n!Y$o%<7cT>Z{(``o! zxEgLA6t=&*J!pCeR5k7#m^{(`B|JJmCe26!&7N2C>5$5q9Z4bZ$Deo=WKbJOzn~6T zI5R#d|5`Hg9=U$qU~^S&v%7m!!$d=LZ>8v!qk~I6KRl1_4fEdS;$pR{hz`SF&#V>} zR!dtCIl@b{4gp3+LYY9PwC{NwxfT{Ex7C(+ySS4jE%f4aq=E<^HY^w<)sDZ4pAKmb zY3{1a&;dR$Qm1b4UxLdO4JgqzbNQ*{1ch;$apl5ZS+Pi&7YbRA4~sW1E>a>aI?jX3 zn+PS+S$mpO;(9X!jpV<%{49$MzBBB6&$}4^nJyJ#cdGnYE()OGy2g zn8w+S<?x=GmBaj5L;Dzo7Rq`@rQsJ>Vk=L5tJ}0% z^(t`wet2upwA=d>p4mTVw;jLssr{~IYZBUj_-=_kn{dvGoqG4W70z@=dafK zk&u_i?Tzw$B@T;e_$fB+}&(1Gn#%U3g zDEH+s+s|0b(AuPL%L~6Ug7K?EcIKKD_RS2>R90T9@B9xRV3Rwhnj+Q>WSc+K>CJTz_rY+jR)b_KnZ%Lqf4r(jJyz9+OTRPPVmU@G z`Foi3+w+wudi&X!tIxfUB)fEqEuJ_v*%XCMI+~x89{TX}^q$rFs`WFt6dR6^F^zjtM&}kYf8}t}{_L9%}ewh!q#@tiK|spqo&Vw%Uov z>~o)+m6a5cHMI`Tx}lkR=}_OZlLI4_tQ#XL)fR(#p=zdoMp?E;6DJ4p!Fz63`2RJaJ^WmGvVYZEF*iYM90P~zs;9nf}8d{EO+7ck1)2}>I8%vcH+E>&r0@QwBb9A zODa9HeJ2-RAn4a_h?;zTbbGkeA>v%8df&E(;r<>)Z{whzez+6#u>_Zwy7A+>;uLI9 z;CthqNIQRl^Nd6-RTK5pmdKLH8^>%zmd9#R5oFMiL=rbfN(nV~(9Hy-f|%rC;_VkrmQ4b`75(_~Q+3p3I};gi|1ES#@O zO>@5eJ57~jX|9ct3iti~!tN*C`oEkxBBUs{+6$#FOB>}FCuwpNV(q(w<6Nw8@0<7vhok3;edanYLni94 zx$4vfEFD@ox)N9GPihUpJ)OPTQ+e+v^+$Asc2iPEqO7cnCE~qhMtqZM@K9EwwcCs9 zZxyuX6H0yJ9^>(?Ne}hf-;qG)4evKRQo}5zXfEm(8MXuzkJx^aWo#64K zc07#PlWh9&u}}6E&KQuj(VlJ5N%GSw2c*5xy$5@5#C{7upo=ZCGJfUiHof=A$;&qq zq@(SVar^RO*YUlH=?IoNC~(JoesdXZ2w z>#JB^u9MAKNea%%ajaX^CS4A(NR!E^Kza_CdHYVHj5P4tBQg1hUjPd z7jbBtoxH&-=D>4;!-8hJxO>8vifV~@jln=Xwn^j^N*YMgf?ez2)OdHn_zp5?`XFJns+c!9 znoqRg$i4Jqe6rP(PfyLYzQ*wxYTQGHtlfU3$tAg?5}qpB!2xP{Z)F`JJLT0E-O}92 zmsdazvV&jo|0uU4TYv7+Ilu+VZWQ~;`!rAzTmyrhLAo`62Vn^MAwKCo+2WIW@}be^E;?V+nQIL8QbUy*_P8&{`@U2E zE}EmX_M^O_$kKU6+_|GQbfN4_G5g1kLa?r!TWub#G>g(NSZFr&vm4@X&b=OSG%QX# za^F_ajp7SVh0*0KAnTMbQi(d|8+Q^ZaN+Z0#yXvh)>%{2@Hv!W`H5O$&v!#O1q(3B zN}q?GF-F&|5lqUHpB&z9Od93snYSx%qn)&6CHMXs-7rv{+IRKv(Zh4E=AlDEND~9Q z!$m*oJoFZcefxEI1_o-+{+uCkXimpC9I`kj85u9w;JOZN6A7Gsx!-o*+!N<9ICWf7 zz$T>hWS$$Q@x)mhbf^%c;lt#ftt-K8F~X9P=^;KJ>l3X4l2&`3I-ih`Z>;s1y8|UY zJ2RD_I;Cbyq5*_#<`93Y$){d%mQ6LebNYfZ?}6vh;Wvha$#Oo~i_kKAqsx!8;Sui? zj;yo~2;~FbEmq38)^bJ(C4U~J8vp3I?Ui9W?v*xof7Bg>_$`n|`uB?ehpxX4i?Un$ zfMGh67#LC-q@-);MnYOpkWL4rySuw%WGE#>k(NffVL(tA8itZCDG~WD?tSn5yvOmq z?=k3}Txb5y7;^WrV{d%uC)b-H*eSHr6|(s?yq>e4E&aNNFWmQ$DF^UV@wh0Z zr){eRl0JvRiYNRH`<3;G2Z6o{%{`M(;CkN+h~h}|bSO&5_b?=p#HZ6*lA77PrjHy* z<-H0jtfsR&c>NlyRStJiX#t%V)lEL9L*?%U&pacDVzOMV^o;2aNk+r{mpcNQGzz3% zz4`HxJThiIMb=E_dLsj)8#CNLoH42j))MQ?!52L~=ihSN^U(I&yQg8Oceuo#&fh$Q z)_X3ip!8k&u001{$Yw4+{w%Mi^|2v44Bgny9R=YPpWN9@1tJgY zh1WIkYC|m}03|Ra{mMI(=TOHu7x|(k_TJ>ks{g}b?+R8l*ndkDAxrr9FxUhjcq(wv z^aBReHzXCYHhWrV?CEhYF|N$&3DXMTO`V}LX!>J&X)*Vg8J@-VgaCmPdLA6eOes%B zq>?xoT?EE*M)7vB)t;D69#s18EC8}R4oE-G^GL|oKcwZZ zJ4{K@>*(=OP^*hN3vzE4mkf)QQ#4qfIxw@?FI@a!7 z3p8uvHH&vJ%=1KDAVRuEQj9WFZ$%tPqj7zO#*K~y<)>U`(01@VCsqBZiWeO7`f=QIr$9(;NF@fJ94C#B!VHQ=~0{~nhvjiHuPm_aoK&Pi2Rqt?^U zHVXS*zvI2B;ll~-c~Es6hBKmFV22En$LJngoOCpBB}f8RqRTAivgX>5p{!{>}}J+<3M4mjkFisy;fJ39jmP z@s2IW3PvLdr_ft#gBwf}vk%jk*^WC|&p)?^udrle1KAYa3B75 zS1_V~zPE*s0=|{aPR~U(mA3C)ic~Ur{Giv@S$qXbrA(Os)oTu9)O0U%OzfeLBg=yy zb>!g2!>gq#GEYm>TMIrVUuu^!K_7JvFfcBimQIbpc%L6)xwt~d*uF=Z0&AzqU#&;1rJu~c`R2?m5rDVBW)@ux}`GH$Xb`3doy)tMG{F17;N|j1qxI3R;Pt`n?q?WL$ahz|!Z<^5Cmoq!5BOnA7 zm`|{kBw!11Gezh0D*_6BJlNs=zEjDQmIap){89{d9h_=3ffaO?SroXvAGwfTx*wz)y{K7**wj)`QVD=Lt7nDCot;YdZGtEs{#pHtU8v7v7!-*phsy;X)+44Smmz|?v55c)60^>$v$kmm&oLRrMY1>_Wx z8ya&?(z+8mWf`=PQe+7+M!1Logo6WxWjQF0Nh7mC%pgMxf*+^dUahC#%KWNsJCx{- z;gqqkt}rgC_u6|Y4qzM@_AfrY^bH8h{7|F+3?3X&iyK|paWX&?R&-Qj@c4$J0qMC2lwa?DFzfISHAA*r$o5g< zF&mhAy-0=~R9cWX1XVWuDIH*IDf;W2Z`#i?>#0M`mjwNC7K+3E;?ggZdSk7s?eM_{ z(@+2N#`s?$rO&cbOXbYMz5#Xf%&sz6{M;5xxIOSoh z>&-|er?t|fvG~~jGU^I5H$=PN8P=v8=$ET~^kD>ltnW(z^c7+t?NYY;-OM+mQ@aC1 z*vf%4{1%~$Kn<_%j};iSfHU{ptveih$T>M6YB}$Yee1fA*SiF%)c*Lvp05mf=+b0)FW|?!aJ^^lLBV{EQ0^j-Ok}2e*k7!VbzCRoKV*W8^ zw#jVHt&24_BJM%~0lehHHrw=Y@K@FZ9uA1E<1^%-p*)Bk@6ke|6S#bK2x#CjKSO^b ztK&w5A-IsT2qXY`oB@T_gWIh6aGA82VQ}~fq&on+Bid_kCJU%HX3K|GGP z77LvrA#!{i3|%;<5ZBeNqBSRwOcjtrV99Q9UNZ7O-(>~*@jjC%y!qj4?i{#^&3Ur2 z^ZeZ(W>b0EoFO%lrXk$kbDXb^)wC8x(20WQZQf4S6DcykIqVvx7BTBLe^ltP*Ps@Q z6=QJxNSF$>n8@iRj;DGZ12`7OMOPe^iRU(JCQQj9b5DT z>9F~_%4>L{F!-8yO}RPRg&gm z1yvEUFFLg*IyA@sT^xAo&sLsGxYQ#?hz0suugc^8GI3?Y;Uu&OVM{UQXx%wtcVFDK z_27X-YWH71Nvx-5as5j)912ao&9HBNA2Vn;8>TZ2JY6VhIlaicdl<{8y8iX%P{>M7 zth<7-kIe?;Jd|S|>{mnpGF+V@A`lx*@d$g$HP6^dEd47rky>Z~>ulh}RsB=kqw)%v zu~v2ci)S46Pjq!>n{tL6zDTMKd{dNHNIdgLc2U>kEB@%=DQ?6F2E4!M*V){!recKw zm}J^t{4EPL*Y{PUk{HX#My=W)puofysBltt9d~n^Au37mCt59-61ADoaS*Iq*O_OE|VM+E~e z96hv3XskZaM}HHSZcANpUTWP0HNg$nj#g8I=2?6KbR0*PWcsv!U3Awc!Z{bre*Wa( z?fv;~Q^SSeIpSA~c9lND^QrN-73SFxppkE|6c_r&Ni0Jhfd-vIh}UPEGgqezr3szf zNc?PjoWGJpmWQMwouMLCgCDQOVJlh!@gv<;SAWct_LR!z&@&FmCNCtc%d%0J;9H$S z_b_{*qrV9wvxUILh0RcPf{AQGKv5I#OQ0PyOJ*; z(HrqAkX~u|a`~#&vjQG;F&DPSWl%-?7;R0eQmb}2`=PDUtJ?W?u_Mb6N68!E<4|Js?ZT?l+UPdwsk+`h>4Xb!u8^7uK&i;w!N?@wGpZt@7| zrI2u|Jpy}O#}QM<@a|ThBl;SaXco(#BoxSrdD4?uBD(R^?ce?-l@GKGZ1A-V8cue_ z0;|X7S1E%PqG<7G4IL$r(crv&>G5IRKk^cQ>yZ-&W`71CNDGOAEENncB9`^th7CVw( z*J|4Q?zaKhQ2KiTq}uyo8XiWnUnta%%@RpZ(ZCvDW@ZdeX#EJlP+ex*aF1mCx}<(7QaAAIrM(}yfW-IxT5>#K1#XYrmj_Z+~0inolrkQu_v z2JmBCKT8q2$*%ngo)oF<+)KHS3u#thw{(ug_2PRI$KFmH9{~mLvKk>8?p&h-B^P+s z4O(rc>D&3v=}PE)VqZjFQe^9IX@KTOsH;A}D>{aD&b>1L*?BrH4?gF%m6)6OhOz^$ z{Rfl0MnlTp30PbUo za;Ia#awOR+M}UWq#rr^Y7fMC8v3?hdEB4yMW2tV>-troR4f~7AJBBw+>jkyfZKoPb z85QPYkCnv~JA!=SR$5}U_(EeA1EPJbBTiAN=zQE*tIFI=0Su072jOe3UF6w1Bp5gR z({DR)%yQ z^sy8Mtb`I=DI&uT(T$l2=cLj0^``uSjFjr@fmJp~!rmlxk)3LW`4BBjBQBv+9&F^( zzsKE1SyweivbyrRDC@=bygy*NvxVeh0MUXs{dj%ac1d;z2PCSU3h(#|o&Fi1*WwL% z@Q_J{!f7wZTBF3cwD<^bz6AivTRrQ^3!CfH&8=QYL-2mWA`Z!b7XhfiGzP?4rU4@b zkytR$2#bHuz6hyKFT;5+RI1N)P&;Mm$w(5r7D-?ECPJux9ZW5J+*Tw^a`h-dlLd~n z*%O}Oi9TQoCUy(5f3)zK!5R@fqCu=iT1jn10w1epmRm+e zE_$S;J)=blVfr0LS#thExUYYA2ki%ibt}bb#x{{Xc|CW7nJtsjUXPz_4SUfRJlznvD;ewIzlBy5AduPh_xWO0V{cHrV zejVxZ&j;5nPENl8Z{MUy3RJDDQhYhiLq|UvoIFV}*I0zibb5$l4r%NXn&yP8U8^G+ zW;L8GSDsR((`&QG_p>?Dj`Fwqie+>dl<=IQX$KjzIcC6wG)?!iX|jaED2))2zAr9+ zkolaRI*`w?52q3l{I=hupwh*++@V~Km*j;gg zr5k3M3=e#M;rNJkS!I6OD_jWLU#`8`p;NO@=VGATW1~M+Pq+6iTIxe+} zs78kQJbb-!0{|`_RU#`nkH!N=Y?GQsR~%e&g!Y_;_Ncv@M(w>CM>{qbhSRtwT?4Y6`x)y?ov38CZlUlr{I>M_RT^rka^4+U>`%_LmJ=fwAb-T~|4A zXtr$)nj={(E`pZ$r{n!aZCliOO@BWpy!@qHJ?_4YJ?ECjU-B>^$TAX~XB9WMu^*?j zoEGeCg?*T?{*aQFEc08o=iY@diC2iWAb^NTuux^jJrYTUXh>G*(lNaLrA9Rvacd< z$FHf_Yq5idX)I>q*XfE&*2sL#UKm?&Z?xgVXO2A}tqqz>ybjSjZKw2%pT7ar0tkBa zdKqKLL)k9sF>J2SYDv` z#li=x1>Q8w>f`gR_R2e2qEGnw?9Ou@q0KAy&NR{x>DiK{8cRjJ@y4$`fav!}^%sEc z9ro^kE@8qAnn>);p#y)A1VNJ$oK4-E(M*mi?4jfggXh(Xb_CAQC}BwEnd}_fwy4Bo zN)Z_jO5sJm?H?;#+rnaxvu>QS7;p%`pW$Lv)z1>sit)z`67w4(t?sAgV27vjKmj!v zF=Bs4b3_5@b?tUV5$q1~#(s&WH(tawv%k*}P!HfeKlr7kD8rO&>ARfDr09+p(@gv_ zUUNrYiuuc}4N|){j!KhE>x9-T9ta=$6&>Sqgr4?b`|`B^$}eV4j}yA(cMWZy`pMq1 zI_>0c)*CSbBeL-*i;gLMbH}rxv7zDTexrI2aie#a{~yZIgVtiF8|G$W=^o zt7)MLDe%=X!exwYo4}VL@K`?i&$=}Y11eVDR`!A^G15P5wH>uenv6t)6e3a94C=y= znAHZ0dUg7r$xL1{U;7qmDPOY*hd)-t$7w$X;E+gZD_KM79UjzRuD2(;ksnhl;?R-HX4?+1Wy0a#z2pSr5T=ivNIl}MWNw3SS&-*wI+CHHK8^@Zm-s>A6N;S*rf zYsO0J?_4I?i|2X#)y=<2X>ZQv4C6HFcb5*2F$0LFOe_D9z+E$r(A?aaOUw0Zac{dq zt8Si79=FlkCvWqY#@M$-E-RX{LuOjkJp-}^-tWpNMie?MFFmRs*+Mto4*!)uc-&Ug z&lV6e_QY=V8t4cg-C%iCXI)LaBrzHX*_1kzie5oj7k8%N#_H5$nF9HPCx}1qa6^FL zGHflj8HcOC%wj)kKKqWcBZvb+9z<92OtR}N?cV$7FOJ|Pfpd}-e%O}q+QnL){V9ei z>wb#=hgS=Z?{zZDoG(@S-Td>*eAt z@fUf!)(EKGiBQ*zwXYjZ#L{^`=Q8(VthtkDCw}y>X$>(@#423$(iEB1zt&9MRubNn zlR*4o>9C>9J0`{S>*42eC%0=Kln`PXxh){(%#06n z?nN5MixO*Bvap-KJ6E!!(51l!$E+6ARChq;c}}q&&@lV;r*i73PwnA;PLZUH5T$Z z?V)Xlt)m293N4=rPv=pKw*fxGgcIMhN%>N8NV8@ukPZ4V-|0lAR}{uLKVu*c@;jyi z(^Wf3JU05kb zMJdb6TCnSK>MNh|{y9gR(GOL zE0q`8t>n%|a1gUy8x+#xApz^f@EO$i;XAS;F!~Hq?TZZ3Bkqi|da-Hp-Eq&) z{sQuL5(d&edjz=9sQ^3NlKKuKUU|Sv+~~s&!EMU${DRxh7Q|ofu*u%K=-W+>?S>)W zT_cXiaS;^^)UK)WB~eCDic$R1Uz57gO;|xfbMV1zL*xb~mQ_B8)2#gh&BkP1t+59` z37!N2iPE9IIPhouo_V|u7jJoj0$hf`Ntbo7Ru=f^)^G%}#77yzJ7A5stYFAD{Uz~` zYiT3&&rXF)X`jel7HJ3<>u2LVt#jXSTwSqQhrHRz&#VHm>Nb0n3zP*RFO%uSKd9}d z^03OZ5!nn~W$|7+HmDq4oqm8DYD!mw44%c@t6WQ&D8Q{ign7lu) zMrDdl^Le6y8DWN@gm}4#e2nzbOo`m2y2Uy=6>aScgrjc$TjE7 z|Ctcqrp;hWUVoG)8m}41ATFR!8>07*aH&hl-d|&+kFxGyOM_QJs~QLNIU;<`!*>Oh zZ+~Rn1SD*ZW%@}8p>K=e72Q?MqG)qqhe!@Vr$s{x|HNIb*9j}-8Qz@7OX z4VDYpE#tvu#>P61RuO835#6JoIby+Gi7DGaC$l0i5Vv>5h)Rh7mR0(3l(KmDjs?nm|D{_k|wZk)BbghesQ?8P(n@A z2Czb^jN^_s^x1V2AjodJEskP(P+aI~?lDHG2nD;C9`&Y1xxV?{wgx#j^bu>y%s!{k z9V3((I^z6kjejhtLHjX*j^k8}`{Q-j5XZ)D;|9Pagr$rCDf#8V*yz1}PP_%wUn<^< zA(j-ZQwv#FZRvCU^_Iw#(sz+VQ6Az5_ zX_DAe9bN^LD9Qz!1ssU1ACS0Q>ka_Sfio3>JG(zu-y6@kb{MutB8yhvu=ajs9@p4c zI*ZrT$l@XL0|33d1MS$@`4LREv3HS0>xQ7w;d0bu`e$ByDTvxD_BwQg?%~wwP#~{nZ`PqF1Lg}<{6F%hnOra^!>~Mx&I42Gt zO}lhWeM!)w%GiJGR4s$#W@F5tb9T*bMJ?`5>m`XpBm7S{D8kc{aVWYvR{># z;az+M5r7-y`wSOBhOgqAVm(E$o#-{5CyJ|N<$otWZ4l0;mvfY+XHK2j4=dwXE4#sCL1Uc0;0NQfcqHwR)dQ=E2w$+4W6v>DtocPdP)G9gPj1QpJqH5{ zXYLpOFPF8RD1lP@7>InX!+b*p2_8cB?hh>n#y-{wHpYPL3#kw0onKGr73me6tfVsa zJ?G1;uW=C`>eq$BR6e5-5{a6obzD`c>&vFRtTYVY-R@*sw5(aPoDVYgyaJ3^3K#!m zsoY(T;1~7?jc_%2osO8AO1T>tq%2m*54wDx(?Pu1&B~BD8`jJhKAg&VRMfsjB)+y3 zLQx`pj z@7@=ug_pp<0|Cy@D45=U?IsqiA28P1%_|eKcaG7xsNd~T;J?R-S^Rqc00A!gFV^Am;Ld742`=aA9{~-Y0uzzC!D3Jd=Jxn=)_OI zHc~e1WVK9EVWASQ*{AT%HPHu4Tn|!kT%bvbAd6>eH{M3%J4An4xTGi$`F0#T*|2~2 zlK|eys#mqk;U1XeGyY!m78#Oll=U?4v7ExH3zqPJqal!><#&tcZ^ygt zOQ2042OkS0GI=)=97o4yvZpc!(D#-9DWKf>J$XBn(ZSbvGEcQJkR1eMJzv|AzcyAJ zD+JPv<73XzxpKyhjsgsS#6*q zCe-2xG2(Kj<(9VXyM_Z=e`9(p`i6tNa{N`6ZoUk5eq8m8!J!=#37K7Q3f#=1>C``| zh%=~iIGXv~8rFpP{!8k0{4x->CHjH|ZRd@0_GjnL__2s1M>ALl81HJR`O!}>edS&W zC=tj@uAO7w%=e?18;E*tkNPy7eepVG;#gKie))3W88eX>jMV)(7>89=gr?bg<>5Y|&W`We)BJ}EbZJ_bExpz`=V}(~tw&}F!55+=_y7Tsy z7lBvmhlbNu%9L{AlXu8W881_+gST)__5%1(pW$+8+U_SY4>o8)_vXIjLt~3xKdG6O zTw&XlVgkSRCKWB0{cQ~>G+kfgo;_pC~riuSw+< zkQY`a)%45w#%;X(s(Psaas|7nVHbA9muvh%S@RIkvY&6lyPD3#qqfcD7g@4}({SC(76qL5xEBNXWa0Sd zST_sgmvNk8Z<*NjEnKlTEj4R7veS7!Jq~h81ud= z3!A=C%i>s+fh?{MEt0{PiuyziGc1o@^jvDbnO$+q*?l;d-1*uz%@_yaqh2`osL;O5 zxOMOMICs;py!C7bie}p(t0s+a%T2ZmCUtty0?9yO<1vNS<1+VJ>3V4}W}h6oRj3ts zB`GdYRFDT%!6<;Hh4r<;8mO6)pNHAk(}6M51mtQf(9}4?D5-rLH2oKFu!c%8$gtjp z;+2M{okzwuJmsU4Dr0=P=8uYnFyh39_4J|jv!Ooop9};5ou{J;V?9l!Hc_p?*7$q zAWxAw&DMwSq(A_|>_Y?kH9(ka{Bi)FfdlIQ`xv?v;{)LP%rGLAvX+$Qf7fBeaR-j7 zN4AmPHH=R?9|`$?uEo4HO?bx5C!qbG*Mj)|QA1WPkbhSAXCb99^mxt3izlScW-9yt zE?zHe{#2o*(@mL~&OWrZ&VCi{Uyvw&^|Cb^32kv=IGV5f#j%4NE?*pRJ z&laz_KhE|)l7w;G^T=bVw8wCJ677GVt4IVcR5x{09|vu80GIZ^X9m&T-zk(G73ac0x9}D&Hv*%T?;^N;)G-i{*Nq-693^^QjKq6ao+Fp|NYN%YGCWJNBRSzqsoE* zp7Js2KjK|0n)hEZV8nUX1?)ThSSj7L?5PyVf2dI+_#Xz-qekPVVQ~E)g**WYk>%&d zvd_o;-wUiL@`z~NhDmZnXU{(@K$97ycD3RPo&!}7*RIhjHS>3RrHO%5$Cmd(^Us?$ zlEVxE&>i?RRxB=%9Vp)X^N-Y4s#rBg4Ey=ofKCDi5v^cqDUDz{L6fHLz13nC+l`<2 zfRnhxL-TGs4jRKa{b|g{duhwd4+z( zTm7m(!IQraC6CmuPqQ}i<6mq>5br+AsgkzYoKI3?7YloQDCwyYOe3SbJ9Dcss`qp` z=u*0()b{sruYcJX`4jzYqc6LvcSpgQ2Tyu*T~WP{^BLHbK_d7t$B0OIGaRs@wbNDowe=e5p1 zJk2OB0Qv+}h&8AW!P3Edfy%YZ|MJ>tLRes&<~faUmQ&jW?CR-D?z)r2X zQsKXUy7Yy!vWH!DGt$Y1Rdzc%Di$RkPhYYBxP&TIV)OG*@S> zZP6)BbYj=Gg*_-XaBxmpfC6UQ2jY5f8Zc!h3{(Ck_%{p2 z6|3pj=coAFYLSd<)33(_6c6|ptAb(>=u9{Ygjj`P5y5E#nntQ$-h9F6A!;v{xot=b zoNg;T$?a*mNx9-W<2uj&sJqT`{i|NNj+cv`?16pcWAe{m?aoT6XQGRp^~xq5kT#_v zQe+7QX053f+oRMY`nVmqORy~;+FQmlowzPI4QzD*(QqTj6rZ9VXZ_;A+TC@XZ+3b>qtA^R|n@=d}vt6|d?W z6AOjMV--{>JDE%@`&(x89$e-Nxzx5_nvHkeN(9cauC`#I<0~#c5_#hs-7eyC5_R&S z=dX^doS34?$N5(n&u?)w6E9zi$rH{p6XMx(upi3$bf?!azx)|=6=I_^^*>cF=hi0| z{2v)W#oBMhO&I;FV8eUl7OnKMp8UYB&1KWhvqwR01)#-$1bmAB$T(CzkOylfvf%N@ zLcf3XG8Xzps4zW~A5dBxF9Rw9$psEDoF&9j7#nXz#_5yT{$<3=< zws6Lc14+*Zcu!R?^UQ9?{!;KP45=^#IZEYbe>Q?fGQ{e}@?i6^mf%~CK6p_a{nUtR z%HY#WrwWsuAp50OQzgp>vkH;BKiWFgD9v7h*|dp$U8Bmz@8(kf>j;Ex^vktdfyFaA z5yP-_%9}vv+QWYZ#i}1T7dVpK_f)Pu%+nukS9V7tMwEtQ zrc+F>?Ef*5T67p5)9{t%s-7gq^_DRy!6xcS>~m1kjKicmfo()?gWb-vo$sYF{>m@1 z!({)EHdndag(+Y4jJe0|kqztNUn_Na;8}w57|j5w=1`&kT%4vg;qrU8<%foxXROOm zxio@@hV_5!^@u9gz>yhxItw^r|9>*#T#Mh~3366Wq~`;d|8bV`XVdy?YV;E%f~P6= zcW;v9oso_lG7L}16Zs(&DeTynTSKo5N(JfRZxC4NLCI5Uh!rN?&tC#<-pM5JXd)V( zk1vK*$1(d#8zrn4*Ag|7$VC=RVl3bbK1ZV6T>`X3W-mK#2!>t|gdcygU*N4UsQ#)y zBN$k@Fuu?;SXzhUeCrqBQAOUCsvVGM3{m>8(Pk9k2UP=FD%121fF2rGJ;ECQby8Gq z3Ho>-@;Y@VxT|qk0(i#0G(Vzr-Vc(D1q@XBq08f2fl<8OLimHYfp_m|e>f-*61bFe zPQRv}V2;&9!1gD(fSFg$Y|DBygs7yseWM*6(GqdXDbIDzFM80o4vWoE`cpwvGosMH zRxBp+1V%N!Ewm%OXLy%Cr@oYvRDS%pD(tsACP(`OYDU~9Rj1!k^yV#-&yNzdjBGZD z{)h7HvqyioFr%pOQo=CVaNZJW{=i3v@1fr^4BCm#-+Q9*k1$W}^MTZlh{E6%A5KPZ z%4dYg{tON09OuC~zwG8ZWuL?LsfKcpSQEvQuosLH@~eKGzhjhjKE7Yp9yO>IT~-3Q z@h8wmx63R2HjId@HfkD<)d#&}#E`d}FSh!&ZSKiG+gZM>8H;TjQ^w>y{R`%ixJ~vt z>qfKVJ;;W(7HC_+zm%iLA*SOb|GrS6w|&S~01i*Hj&A9Ym^Lx90v%%Oer%1mrJ|pe z8*TBwea(`%M)h*Tqm78zarQ5l9tCJvV4aOdFl)ca;_tNu7Y9Ko7M;XfCSc%0>}VDf zHTB<>D~8AR+hGKAt$d1*gOlpK%hy8}x772_=k1kyL_2=iS+Zs73xFw?bEXxf_2)#xWD_VgTJ3uln$u*8>Flm z^_jZID_$kRHXnVWBw3syF~+CYhzR~8vMP_=ZGRB``7{mj#=!I`U!|(Uek5m@$EhI4 zXrk2~4Y^D=WrtR^Z*Y@QSM$(FNwcGJXM2wvdz0 zaLEte>n&ng=togzy@I2oZHaYQ&(WZ#s_V6|Dd%Tpf9i&K zJRq$$@4dIg{iyrdt=jno5CNqO%P7*k)z2H0@sBo-9Wi1n#lCl_FbK61T8-z>wT#5uY)DF}xwU$Zgo-w;{}dy?ya`6jwQ^MHBSoQ2H}a&az11wP1^>-=*=FM9FazhE zjjZ~&zc;E01KojfI*Vm@D|7uUKHe8Ybgj$Zzj1AgUXH{SUXOXPWVdMi-m%io&X{-r z(9?pEzBUdHe4LuE8rD!RDM7gk;(C0W8Y0~=f4>d?O%0&B^4ZSI;405g?j>iL;M>x# z+9RAff^g0RzNM;#yey$C{a~-2a{u=H+2fCTndV^u005YU`y$fcFI2_o4V2;Pd#h|*D* zdC~*oP~<{87+)N?Hsx*xJ`_D|F+Yk~3!a9KrRiF;4aMrNd%f&Q&k27eNpC-4dPb;_OQ z@Z<~s{h8`^j2=&8_PaOzY_uUjp84g0PPfrfzkl(4v{zIk07^h&A@1{o`betH+w}F8 zpBoy-CU4%+s~)2o;T4Iek3C1$?gU2)87cB-Y2m{xVmRpdbUq+pt}sd+87^e{VK#qi z5*k_V@CAGn*l}2vOyAq@N;uV46J@}AixD{LAXRikK})nlWGr@#yGpd@+pX;K??E^22T?*88Kmz zRKO>~V#j;-GpqOF*MLlmdK@^i^ivi{x~#*uI_M~^DP%13wDqfi>Qes?R$3dpSp$aj zVPDK$@obGN3$s_|6_NMBgWe&CJ~NL8-X0B)J75#7JT^QWPzxO?P(UZ)vzZf%@ylAlGQ&A?BhX+soJUwLY*1>c@`Z zU05j`uJ!6({TEhC=B-&1o);a}QVzc!58n#AU6=BWa2cSx9z5-!GtH`AJ^^42_3f~advOwwHf2uwz z33u0;ry1~QyLm4;y3vQb~R%uHV%<^qE~hITrKTl$n+!DurGhbkmnqw z46A^Q*ZIY8hk1ZTJ6kFRh@sD|=iHF#rDe8wAHH1c>mR?-D)5cYslp8fQ*D2LtyI-F zyzEE657&E9p^95fey(=n)6WRe(bDh*a##DY|4_4hkr2l|0 z&<%vCYmL?el1gr!@XT9XV&n)88}7vRQ_x=e@~mw6dd~W_>|6=G8lwbYg#wY113CKK ze4GX9?PTot_!d3T?OK^A|9j* z$qR?0VV~d!5@a+73UKN{u`UMP!+l!G^EIw84^$&B$zM0-H4T$DCnLF*k=D00!SVk9 z@piFBb{xD#wleWs=nrb`(uiQanQg$Y7hx}c6}VvN!|DNJ=s~DH*NZ)2k|(CZ19zmw zmwiQQ+4)#8p4>xqzImkO4fap0(BSrAM6dvlR26>ekvWMyUWs-7$njy=qvT=XZE|dA zI1=c??wL-$r9SP&Xp$;-6J+A;uE)2U&KfxamC)XR*mt>-gs{zG5WV`9qS zwkrC04`}|}3q1(+(t!)0q2mf92fyTF)o{j08<2fit&RAR+* zKTUQi8~sXZ;MnWBF#GbO_BQ7YEgOh9@koVHz1gU6W{5rIrz3~nOfx}?m9~NZdMQWk zNB}q>>KO;^V1ITHSySCDa8$I_U61v8a<$v`ptCDxOwM!b{3lHf7q3mr`g$H{ z{)Dy3LyK7{6y#rPgS`rvaz8H6yYtYJ$@Hxdvb1_o}Y*o(=??l#1;#=lqeyHs%vU!fxER zRs?LiCo%M@*oa8PV8^4;9n7R3`bHg%Add%&AT#4*l>Y`zb>%{T(VF8z#cboN^6P3n z07QJ`jz{QdcW%3c`(L#74#kf5w#bIDzm9F-;(ZF5Z#jvIoGb` z47p(WYuBmYiv~;reK21JhTEH;V__8Vh2hm5yR&V=UFNK5dyijP%1nNv<{b8ah+$Fvf)z5+G{+lIi<^T zg(DMgV%36C$|nGCirug1>xv5NoTedORT}RC`nz#^9$JZ5CaAr5Yd1EkzoDVxsk$`f z#M|<|-hlVpsZl}fN|SwV)aHUI+ZOwRvVRldjO^aZeJ&#^I&{)PzT3%PhLN8wBu&dY zq1fFOdr-IovejiR@!|-Q?}cd91+(nLk<3W$NiW^6?ZmjWfHr#Mf(h6v#Z7)2gzxpw z)VjKn!sq!y@=AL`3v|cM3UjsD-|=l_s9~H`Myl}1d%KJFAG%Uv2w3o=ole>%F8GRE zN3q@UOQdp0p3$1q-mCaNV5|nPuaiQ=6)<4>gc$MNqM=Zz8%%q`QyVVCv?2GzUu5pL ziU}JQK}c1h3a_r)_`pTqQC>r@JIr5(Zi+}FK&GhyTOjr8Jtr22@nKrY@e_rt9})nS zfrT8`Y8ex$vE{#gZ6>-2EGGwl1?i?ft~rcDmj$5XTAmsn5ay}|4bUfsxg`Dir-?W@ zY~;&1E_TRopu^wl{(KrVCFO+h|IPvsUO8IALg3L@7%O9!^G+}Qaz-^_ck;!dM*xC@ zg~5Q+7fLIg&BT(^ve844J1_$^c|ZE|0^|11f$&N-$1dF=*y3JNqk$qMNef9voGzF$ z_X|Wx?OWcNVSNzoqI=n)klw3_b&*C?g-Q3j&t66!SQ!kc^NZNM12`|JPBGi*PYM()GYW6Eb z0A~aZI5i1wAO#5XFOw$>h$Upr1>tJeqD$ZASVBrjpy59+zVXMb zc4NYq?KuAJAMXf-fOejQ!ytc zf)WT0iUb(u0d%RFsOE2nuW3l$!grE+yWuhO;9q#Wua8yp@jN$+2@j1XERgHYU-xOSTk&`oiFyhPraJV1g*aN zzG|}1BPp2d{r?g7)=^b`QP(h%B1j`3-Gb8Hpnx6kN>}8Fm!n2>|A^8HRoJ=pLiQK?fYg=4i*85{Uy{s+p_G&;Kodv9Kp6q3HsB{7W2&EFn&Kt)-ish zovRe4oy$0;o$F2go|_~~Gu^L=MAOO{Q{=<4O3&J80BSp$t0axlTnJh)=eVqpITXhA zRn4wnIU*s@rK~+-bV; z!!^(DATe>&4rxAEP}86EqE20iHMc4mPpE)sCR$CAPhx&S^HCHL?d zg85YSOM%#So7&e%MgeSwQU;qRXgNgY{^r9Y6|6r=?V+VV({$?{!=|!>`nzBDw^oAX zY{8}>*wA+&ij=-Xub4G_^w;?;m_Z}M=!?CLFFFu6Ds?YR7MIqf<67S1SVFF@gZ3O8 z-w+fAoD8T`K{0E777Ja9Zti;$2teEHJ;}76-WPzDSW<^ObZ`)0brefKo(sCtuG~q8 zNNeP6!P}qzYD`2TVCFwkc#x}}r>>|~e(4Wv4v;vUlmQ={OHZ)fP3F(le%n9s7~1a3 zh`Lal#du%e-?I6J&K=wn%L{FGXHD&T0?Ii%AIS|Ooj?~Rt9Yn&&Z72bLXC;6TM09+ zVJ`uOmd4zuPI=pP=ewAY;RAkrL?dt!*)OkUj0J_r!$SzU`Qy?Fdh;jdwc@r2jm|3a zO(LipKB0=a0iNch3-)8y&xkv#CdxGdXu!NU0eZgVXOQ_g2GHF4gSl`l7O0UqI@8_W zqGYD6lXJT@vdrXgBBVBrsqTal zi|j>8^$MlaqxC&mPP0oBiN?)}<5PgqF^SWQbQzseG(=&%uL_g0BCUL%={9aNVLW2v z+e_iKn`LqV(hk<4W3*Mddq3XQaAsXbQV?o*Id-jx)@))F>Evx(&5D$|CRVZ$W(|EU zl=$4JKE6{5_Eh{Kk1X3Hx#jTAx~NxY2k&q(JAnMH^cWWh4h7N~A+Xk4rsLf+bz{(h z{fOAgS4DnVz8fEiRk3ldKR7~ogt(AjY{ldX@BJZ6&CP5FzNeUq?zJ|==A{a$P?oFO z@A~Wl+~YG9Kc4;aLN?Ju>GMR^bLDT%>SfXBu@IqFh}}KlkRwh6kJX3{b3V>%KtSQ5 zE0PY6MEtq4KAO+ggh^p0NuP=>k*|F+w|_jnBR85iYC1R+FOA&d{m$#4a@OCPdEKGv z0UEnnKe1#)8($efnzsTlsN^b zLN1&4S_U?-tCAH_xQ61@7LgZUX-Or_C)6TSh^@Vv#~Dpm89yB=xLii_3na&ZTJ_8w z;?4qtr`djJF&t935(v{lE%!uaxsQ|d_THQMad`_(+n!1Y0QA+{{;ZjMdIM`M$y9mN z$Vh@q21vUvcOi@(o+bx+E}}BA5ptD%i^IH{L~TW^`}Dj#7844UJ99gf=MX)49JBBI zW$Fz9I0~dMR@n(2{#Zh^N!#?kn>InaN3~+_$q)KC@RYH(Z}$7X!o_wf)v@6H=vF-qhe)6#XRN z*p>!xt5^`hDWc#St4cp|V-#!Z8g^R9_9r%xd;Q4TajL-SNAQw@&5IBVYX#b~cLY@v z$hd0(*c-{3D~)TT${s$$8pR(^28nD1WeT)hJ}0Ukty6X@H(iACBGRIEqi9}VH^eK`oLv)pCs^+`-#D)%JM}8TW@J+B>U%#%M*ma zfMiNdOIzM78sAj6F$D7_g>M5AdUp`BpkbT6JGrI`+9LiUWwShxj*kP9js%h2ufO`K z91uQ0@Zi2X^A(`>$)c@MlW+bMbiE`fyJIT%)<)rpcz%CWvg<;k_{rz4KpxDH! zKhf8$^|=bi`Z!GO&TQneIno!buL!D0(7nKtI<$JwhjE=Vq3(r1TIf^F#&P7N(2(e( zyTmEtgroi44ZAh5mR7Yc2dgA$K>mHE2M-C9l|{^Bm33?aiS6*DbMD2p_9%Y(IO#J0 z!Lm9qv|4*e1dT>>ee6)kTl8Bt@?QDm2Mo%6Ik3;z+cy>iw(gA7tIIGc^X3EP=Y>E$ zVRwN^Lz_=IPNUZy+rw{KjaR*HBxizc){)k+HUXoCZoq@f5(3KPZ*Ic0hPF*k-CHl*YX&JV0A0D-jWjN6eBm( z77!M8B@Lru?79QVAj*kxFr zcsE`OaCAG_hu&OnvR3)ELYWTAMSXYTgnE;N8ZEnoq(2oBHbevsOa1~Y4au*W<7aBP zZ{PuY;KQtZ$Ly2v60vfFH3#X2}}=)x-MOy}mSg4QnrhirYKOe^@a5;c}`7+v5)^Hq38vq}9-ba~#$Y z-l4W{L~(F^ekSSs{%y{oZqu|fL^W4b9JB5^T?EvP z&|cpCgxcU8(ImkJ*Q7@Gr2fhvDloAq+M)?!=F^bcf>^OPgfes-FK$!0*rW7e7Qnw) z7Dz1f2J-{gRb{K`qACh-NuEV*Lz%`S`%(L1g2_d9?u6V3Y|g?Hf9X8_u< zsc@p`S=QIy^r|O8;>Z%YSBYsn*gGhTf`+_;!3x!45jzu3;*YHm9A|#EN2Sym$SU|X z+h)HlSp$w;B)E-a=4m>GU&QeYr-=k<^De44BY0#lJigv{qhJ~x!g_i@V$X=&HK{>=oitqLdwn8`{~2 z+O9J4M^WeMzolHZ^DNtlO@wu7XF7tE-nAikK;CRSbiEMa_K8LH3hclRB)0j*th<(| zFj))T5!BP^!C}&O*pc4M{W>KSw2+Ww+n=z-$ui%zJ~{$OgYUv4<4{k^w(yYFLjI<2EuS)AWZ&|ET}Lzk#L9z-D62*CN>Z_#q7aGHNpdJ zh96T1=anQ!BpF(}>Q}Q!rZk{kt~^g|b~zRnnt8bL1H&>iRDjs0%644T39FSk$K9l; zOk1Z(Ol<=1AbtCfJh#8)MT82%(^Mnr|M+5LF*9tQs>|q*l zXUIKw;3RM|^$lq-HE>8UdlA#4x>%$rS^2uCM49<|i6di#gPyUCDIwP7W-goK+j;*x z(s!FWeFrst-h#2A?O#=g0@G`(r#!Qvly(xD?;gGrzilQzW-Bf4NBN+OU^akId16Og zoQjU$e3-I)f*@AMbQ;rSjFlF?;5WYJAn3phjBRzbVbU3sPg2%I)}Ho#1wi8HBuB!D zIwtFmGW$K#j=w5QXw9m=Lxm|)=HGWjUax8|33)cP$cfw<6-8sEAH?0X8XwTf?a-*5 zz8Om&XXzu6u+SH{u#&^K*Ol2I%;^%|<1YGcRcD*uKXyK1O)S<^%F7%m1=?jEkh!N=mO9#KBlS`$L(zuH0rT!J3SQK0Ds&}I_m&QV_hpuUE7KaU~pXyo+7Z24h=B^X|__tiMeI zt$)2U2~cXEev10*!JIsmEKb?3XGKgl_)%^4dQq~YHKXsVgHkXWGz%>{_j}>Z)f{cC zMjhrL;;%)FfZM!n3s{aUe+Vk0a1cL}5;20ge~<@%zq)PlvVv&1?%ImNryiytBy<0P z!)~|k309>EGrdqT3MO6^i-jOw4je92o88Xr$HMz%D#@A|vC8IdJ&)Xg zY?W4&7X12<>(OCamrv&1Rf7G#kWl3f*RzH+@ekq#?D^z@w3nZ9qBW2BTA7>_B5Cgn z^v~!1{LPL(x4O)F_8dvQv2ZVoirtUE@K61#J&X(XgBd4pk^QmEX z#*x;y`V+xaGJ4eSoxo+$-=6gc5~qIRVq!xSd(QYZjlHd(Ge}k~9XLL&Bpm0L8uFG^ z?%BaySC|-#pg(O^#B2?}cV7%AAR%{k#KQq%MW@v zEu-PO%de}lmOMpABPgh0ALaRl=g`=3C@jbFZmPRsY73kvpE z3(@nyE$e^UQFN;mz|cq&nEnH3j!Ae(XYC&d(<-elGxZ1}^**ofbAf0y72kELP699W%O{3ucQWA~ZddHuiu2rf*uEOcZDWS}xPS;2vd zZ-w`uOIP>u-907ir5%+zwVS58u$SB0dHHtKTFv#-WuvIMcr!;gopMTC@;9`x5NBsXO0H zYi`j&E}Vjx3iC!xcF86EVqY6OhOoIEUn+l9nY;`VzvnU{4 z|6lJE+s)(%kG#$kAH3StY3X$(D&Os50#ae(J(y-MH>F6#)%! zx%s*^o!~EW8;%L}e&JLxZ=5ckrhFpIenGxbA-*0jNqrTJxFKBE&%|pw?O*+cCD?B< z{GRhA&j`sV$=4-ivjQJ8>hS9F7HjK70TIshZ_iP{f{BYxt5IYAZg z(Bn!yP~}0or2@?i_q?PTp-UsNJLNnI91@S4xBLtdEt?(E9&dcC;5Fb?g*kYtcpo)l zt_o0PN?&+x?CySy`bZe~puxTCTHNefGpJR356IUCDigC2`%Y;@MT|7fU4KtNtynP_ zcPfDRiSVsx^aI=3=!*>d2dY_|VD{dJM$yUMSlWb<{%<-sTB*dJ-3!*h+}Cwyd(aqX zX>Ii5RwTf%!DtodH2kqk?+Bs!RnrxS|0f<=;eTiH2> z1MDC`zH>qlHs^o&i>^R(LTAldNo=M6%Uxy!j910xe;*84lTA2_ZuPi3mqCSU1dJr) zNhiG@p-`~}*VJctmOj-e%*Q4v@hFrDw{io@7c44}Fa*@0Hil!f|0m59*D)IYYMkuI z|C2VTrN9HT1DnDn2lJiC7gLG%k=6B%BU@bBmtZ+lliwi?djn?WB)6?z`{?HmOBXKs z^=e6BZS>8ljfwYN^MSk_K*@*!qTQaw<$TlT#pT+<&JtFwTGcn-=cq`lwz+{jj2`PG zel|ej@c&ls(m?@B?^8(Kulq~^+yJSZ!cext5)-cNO5BVt$w|`FA$)M}zY`0WVxB8k zL{j@#v%W`Xh3GgOMsIorfJ^F>h*da%zYruPRm2@eb$8Tuj66ku^NTAZn0-2U(Zt~F z=HfEC2H|(waCJw;i&p%cOw9Gp_G43}#nY(=s0IkAj*)(WCb3IBpzaf1#}WRGX}1rA zkFd(?>wTJ7yw3@=e0-vTZw0iN^`@A2ba$tHvFfdTLM3I};C0c@YcpjAoJKranW%Hq zA0Eor@LLlO3wt@WPiVchcQ7v69fm=7!isYqC;IUo@rQfF_ladBc{$9CdI=nUK0U#K zJ^J9c-6=j)D*N1WbwH)kbDsLCh?ZFp7I?R3?kc;|Y?gskptSXzpM#c(%f4CF^JXv1 zQc%k}{JTB^7d@g}wA=}$h?{CbYgo3=73yS41?g7H@`h;3+RVrNO1qzrHs*bU6P06> zLicG}LO?RsUI!vJKM*i~h#zxBeYY{{ZA}W<5W6VyJ&zI%gteuWSVopN{xisi2fW^g za!)hXk)(#c(^6eU*Sc)wS-HRewO;4utj4+%xs+QJ_D_6EciI10hk|yFP`jCq436DNS;(H4?qvOFo9l_ zvq#0)Jl5vyVxIT?EF{&Bf;L$bra`N=`KM2RQ7Zhg9;ZyvxZT{*@CZa9&D6MEp?EN} zW4cv#*mgPZ$o0>qDccu+i?6kx%(R={<@Y5CKoeNCw+^1PJ;>?PcAe_gJg^;0MS;wy zG&c$+%q4;wmQKI|o{f>OLiH#SzH-tJxNZp;kn-7A{p?UWuWhH0A6lF2sp56tb?9*_ zwH(_-Ii4KlaIO2IqgS&A8*|vOyK?>Q$%a@RFzk`n0e8c$$@{uyX%df3f;(D|{v93Y zxSGlJ0lCH!REw`dDOy5H|L8iFMXwY%XMVJvypuE2=ccyxh(*uvcf0cOv^Aydx0g`8 zvwdgG`0-&|wwg>P+jAxI!rvmU(+`PXZDxKe@3Z3DVtHF+OHjb=-LA7SNDEyt$on3_ z)`j@NpAm`@tuu4F zk43!Bhk7Wbp0K>F?vN#yolT}B2PxQE zTz!iglc4DFIBlQg;X4{xPNuhU+&Up;M{$A;{Ye7j%9d(z(Fq$>+nRpU8o0o!!c%B2 z7j&r%48Q1BG!`OG_IFztP+Rg~fGTJ%m3UCXvzNW!kISCuGsA?8cyy{X&>O_I@qPpVw z)fY0n@f1u4Lobb1e^B!s_0khY+R~wCkXG$z>uW@0jg~H3(+sV)7hH%kRT0UvqQy>+ zDChR{JS|7Z&q=1qiAd+)G95T1ahh3SxJiR7$%?b+l+R!kNM=M4^krGPd#tDTYpU%r zD5l$0ZHpcr$z^??a9ZZ#L%;QJ_lP^OP-EiZemC5_gGWhhP?;S8i9JdbHrg>FDT{A( zFDAwOlxT7%rRbOvRhu#-L@8s(tk*$fxx?+nPnfje&Tn#4^~EUdab3OoI{}ngNV1?bVP&Cx_-TvQiAB_3wJMt{L3~!$Ov;}}bXZL{tM9{3yPlTj z4x3#t_M_0qI=&p9R&RftxS)Mu%_QW_O7p$EfF_adyEOk-=d&qWQcjaVaR14EpAe;N z_7$Jal%0q!@{sgNt+{?Kk<@QS1=}v{<(RlCwCMG(Ky$zP}mT6?B@?yssRElWzS@zbVyLX%{v{YL;fB zQMf$vBuyAWa#qBspe*3}+}>-_MQ1S%Fzw4cUw@$+5E(eNIQH~?HKd_0t!e@z*Wgvg zReZi>YbPFM4Y%DTf&N(DC@IbRBs$Qxh}Rz{X5cePQ=jTge#NMTW`*+EvON+c?|I3^ z@^&#hxn-VE>S$rl$@A(ncNynno3Zk;-@Epu85Rke!qwIi&qd$r@ zjlMEK`_IbX@-`HHJAR)WS0&SulTmwIg*-24i2l`W8{H+A5z4M;KV0d7m^x-@@Opf= z@1+=1vO8Oq-mm49V_vHfelbPG3rylyHrC^|$IDN4)SO?)F%-;K_g$aoN3!W(JoSxf zjGVLUpOK2TMa3kxg6eBX2dW>smh8lzHkTU2^FnwjRY?J+?lbS){V$atHXY~>}w=9ZG8meZMXlkjubpc=igwZ)@^))tnh}A>rZVf8niP^qmBnXmJNpRmPA9Z zXS8aX8}kCXZO;c|goRx_<8!l?C3KC)tBy2}f(t#9PD)nB-<*B_Z3Hj)gWskR74BqK zqiOF5r&1W-C!^jt-A$*Wj3$_`MnJ_gr81n1TfH|y@x<`<0r1Sx&ri}+jWv~P*tP11zMn?Ao4;Zx~p`T5vbGzzsc+;e1Av4 z3^YKPJX{fvY38v-{I7;cpoZXP)A~=pg;<~5wPRHeD6Lk**U5W${%;qA|5aMt<%ig2 zL0h!D(q_YM3!^8JI;nlKYJW}&UmX;{tJT3BDD%xIcb&NGLIAqiS~PiAIsy_ku{iIQ zK$MAtBIwS8Az-!|BTNz)Igk|nI*q`%4TpgNt|db1glvz_>&zeW-IYcM{a0!9Vhbk4 zO4H5o-ix0Y-4@m*HQ2!V;2d-fpW@&S;8oVecg=1N_wG93%lX0PIq#k|?_KFX#P0(W z<%>l}qBG3!Uwij}_I@PRX}9KY{O#|5YllFz+=ft^>v_aC&Uf|juCy+$f0fpS%}?@u z*!8Zofd+VCjw;SYVgA>UCb%^%a(uAy4|CVqCD*wdk{@7TUZNB)Q~s9D4l|HpFp@0l zcscri?G*;v3s}hB!$c#?r%J9y5hD4_r1!!Zm!|wzS&*L)JW5g6@p5SKbrK3n4A$CY4DsahTFiG zrzA4!KvZ*X_c^)RtZqMLd1Ck0WOO@Vjwb+eQUSI-X?#)nenV-x)Hcy~^ul1W*0ySE zQp1W-8C(TKj{<{-ePPKqnol(GRW4$S4V#F`wmZkcP`I;M+qlMdjsY{xp&nTM&zD`KDhRR3O&dH2 z-|Fd!ZH(JT9X)-#nIQ3INe|<}xpqZn$ zlL}Gq2UqVSS&~gMrNhgvw`V*KI}cWx9QGVN)z0Q_JkY+Zp~M|$iNI%-^P``n3E;t0 z+LJ=8`P2$^*YAbF>|o#wlkORa?zObwWDHo}1o$Lsm8TM2gCpX48;H3{*z;_xaK6^w zdd$w5#>^osi;2P#8(bg!H1)6t+!~P)T)ygUt@8X_wAaHn)6v-PLB#0Pxq)XvllwA+ zu-Yk39VBe}Nw?u$$K2@1WX?GQ3=^^GX-rNXfeMNpz9gz(JYp@Y{q(20<6-x5#lgLt zK1(O~M(xZI_3aklFzIfpV4ZNlpV}Bx(NAXSf1mUIR#wF78!P#WD!@NgDaDMDDf`s7Cj0oeBJxApw$@BMTT;@w(ULPg5$1Og1e?y#5Iy+8P5QNm_{iVTUV z2hx2)*$^0F>p+j*%EpL8*km%l=Z5zPp{t%6N zOHv5#wM>wZa=UMvU+U+y-g!j~_ow8TS#%(|cE!pQRxKG7v1a^fMBIbD9u4hM=XmHZ zI=^x^-`siW(mzw-b-ag7^}zMN56i+qmD*=D@~+1%ucs?kK14nmI^+q-1kjwLMH777txXM=-*n7%e!|EdOUvq7}J&4X3TbRyeT4a_B z-`241H_(9NQgzh!%L}EXXOGX~=`z*LyYh>_tPwk{upFO(%9|u7^nH)^)Hb`7zy|`U zDQONE+7#0+6bt1%ws21y#rhW|WQR#~|MG!v&`~UybSxlla>cHafL!}fz5TE-vTmoH zcpdGt2m-$>CcBhR3~NpRmT!v8>iZNvt>DO1S#p?`6%QHDy#!#qhd|cV$)?CsB$va& zE6>Zz3ZAReaRQgDH5)vIl&MOuHmw_O;bqL4y?PS)P`;?N3oE(m*N#}jG)MIjfn|}GpuRl8)bW)lOa;KHl z*6m)VCunTp`8`FiNl(pTawg^5**&tze@B<7uE8Q`_R4KkBFrR7@2RzD?V1OMx2|(z z%7bs-Q_LV2ous>6GAivaz+6m$_FJd>WX{9(HmdiisxgWZ*Y~=JWFINgd%jk&HJ;%X zc=$ceX|1=WN3Zu=YlfbY`S%>}sl z-1PO1*coFFN{gI|l0<8iUVzDhTz>^6XJHNZ z2YCy4qSn9FtJ3O-GH+#Cy2)WuNOD_h>Fr(vD5~IXML#$v1LC?PLL6;W5Dz`kN&TNu zzia(sEwq2*zfl)J9byHI;Kp#gR8FmIWKEH2`DQXh2R;;%8S~!jet1K`*F`20Z`V@>GRu9!J{~ zw()(nOXAtH7JTq6s?dyTwp4cIXA*j0U5a%Cb^yFb|X%Z&?wz|ZOwc7gfX600FwJYugD|`vdn~j{wtI5YD8qT zf>tnuv*z>;EqvJ^S-lTn$=r>Lc-qHI*ryz=ZzbJ*rQa5GJ2T^{zm zLkUAw4i)z}+>FcBD%ys zDx9m{h|E8Zx|A#5tc>WXJq%C+4ME_8m&+LyY%^4H%ksnv9IrH@-1_&Z0$A+goZ16OP!=IQk&G&IHM4ro!!$_yny|l@VvKxa`gWcB z%7~VL7c?C4c5_2OElmUvRP4E+2ieG*`InKJ<;wMYD8`UY)0~1vbMmVP@EXG~>F7a@ zCDi zJPHEl67Ma(DgB=pkpY}BLqTw$jD7VN$gRNv3A)1?Qbc7I3w#<&;{njNY4)^kgwz%O zL=XgnaUuF;ck_&Z`keiPjnS96NhFsDG$;5_PId!LXkFmc7E1JRGX9Go4uL3LPG7r) z-WL6C=d9`b7r0qI{*vVDv8sR9bs0*au{Z(pALJ<=%KyF#%nB9AfKPied#)JXgMrC^ zMf~_kNBtDvoZ$2ez=*wp!-vVKnh_8w{#_)M1;dHwQ+TYF@^^K1+5*4V$>7s>2bKW^ zp&95>6O)3XzOIy zf8dRPnE(t#SGuwu{b@(On>m=Z#5Gn1%1`0lnVloZFUv&Dd)Up|zRShI2r4!XO+4t? zBE5Gde>-5}7npRkAfpb9J<%19>5g=#LNMFP_;rOO>7X>sYNCMue+Cle^C`o2dHCjF zFKpB+@5cCSH@A8HaZ170vmhStn{fb{_2v$EJxp>oY)x;P`iQ}B!bW_aBnq1*zwI9J z40s&2O*DJrBQZaG0u(%(22+`kRom*YdA7tk5!Q^)ff)J=7qN^SZ@BZIe9SXrd4|b4Y?tGs9p8G3!6J7p zQJ*s_jl%ikL1h$_tF$EM(qVJf^Q{bJxoN9B-GfMdpR{gE$DO0JF)91}ljcf~hfB(b zy!uTyzk5{Q?;VfFi56JfdOK?l?znvS&;S=qyJ~|)KaMrs;0Sr{<@JG@CaQi$Ek<`j z$gWptQc&icjQ`FH=iR)J%$}tGotI?4I8(Ldi%8#K@-C8<@XgaME>T1|l~-Yp*djX_ z3U1Z|RpO^lTCz7Py;nrF8(cFBv>KW#ZKh3gx`9OSsvR0UdGajbSAaBV3!Qu6dU(o| ze>HOoa){9p^t=vb3bop~{t3~?&-@rWH}8Ac>sklIqe3Q;Glz|JO#_;9otVQFC?nFbfn6zZnhCX4Dn}!1SC2`H8VpG_Gsx}YN zJLx|X#Fv|GF@fN10DW*n5i z*u#BvEiDWYx(}}sd~`nON8;v2gH(DN#AMg25pIvv#G^AOIqd=!(?j^pZ(6Z+cFQPL*Esu4`e%r%` zNSnkgjRAVf)t>9-l>P5Ci*C2~8U1xk9#hI4BJb9}C#r-h)%t9t-xRVeR6qyua~i6d z9ro9E2Ve9hWofqNJO>yzBDRRpY3PaB9HyTj z%GIPErX}o`CDKGo12SrvJu6=vO(tFRVO+gcVzF0HPti!(%f=r3iWZD#Asol?Tp zXNB1?4c_@HbZX$nOE?P$fbuRFD8H$t#311^MfyDw?a2Y(plXQ$u}k(5%y%;GzbV~L zQ9gRJLDyd>g4XZ>@GYV4=j!vDnF;EKT@Y117DYta3(99Ae^8V*yJY^%)L;ELe}uU^ z&8k~D6~-W&xjqHu9V6FRw3z+GqK9ZZQQo&=IaO>~m#7@6yT9Xy6m-7awjt+v2I*c2 zj9C)g%=oVEv&j(v&HG(Y7wKh^u+OdN;+S_iV+tm?97)D_)bPY#Zbe`~%AFhtpBW`J zM%1-wp7LWA>9oRD1#EZGg##?zU6qy3$)#a#+scPT@QyLV7>D)*h5ecY0(81&8j{1B zJ&-KcS*n84*pnO8h6}w7ddI@q>J5}|NDb3|r!vTCBOrFbH56y6uBkj5lQHwr%*FAof=%*p9nBhKqsq<>nFBhTGu1NQh*s2{#6Q{nmRVOXr33R4x) zL6(Lk?-V7`+7eK**xaNeDeUc;=U--I(p6H3`EDIZF|oz%OUfQTaf>^Cm^GH2&&R^n z1iqoS9a@dx;({F=kZ$!B#$%6-MO4CxCJ?}ym+ask2kq={ei@Ha4KrCXsm!P^6A$q9j}#(nhKGZ>MB{1-4T?bi#e!pldStgwfv!P3f_?+^VqG zeoLq>E3Fg~li(_lP9aJZV=^+Ghbjn)~mu-ZYD05>xw|A>l->N`l$#} zLDp){s$XvR+j5hSk#?$Q9(l9L2Z^+U%6Lk^$KoZInO|-Yeso@Gjtw3NWo0||ruvR} zZ)_?b5R6;ohF3?h`dFFeIG6 zif!_~7gnIK62+#|Rk^P*4;y>^R+Jxht~wwpN?saVV&d{fR{c1wF>N)7zr?E3X!lfi z-(EyhsjDIAA?a3ItmIHgtoh~eA0w$)C8hnBHPPzZ0QYw}!n5ocL-#;QZ#u4qZa%bl z$Q58k_f=jGP9sk@AY^P?2kt})8%kI zLfp-Oih7cOJ2+6W7WaGanNn(P}(kio^o z_!pf9)Q*r@hEvgrKk{lGUn2@%Y?hp*&Q-!L^MJ>+0070EBpBh@d`s=oo8e8u)$I8L zr>OXDv4z6`%#e4+AQDG|vfEi)N88_spFN5h7*vRQBuSl^F#~^usXvq*E>1*+V44Kl zbhm!`s-#nVw`viP1~Ey)f&?kgG67|RXExP@)Nw^u;IhxnZeMX za)JM;!oN$wIOhBZ-QAOa$}5QYPz}RTgPB&23Z)$#tf#||WB&ZT3jp{h zz?M^i1e^MPrSb;d!RAeqe?f>+r{W$lro;b4H&HlH`myQ7Zs{~d248%z>Y7a;9J1a9 z@KF7B{HQ^vJa7dIh9dzu$bfp7EchiyuNXd4QIDzHgoB!jW z1p2G9xc;-tlL8aVV1o0%fKw0**Uk)FMU%?^j{R*F2Aso5S)%NBmF5DK{x1m#AL(3y zd_awD0+uKRKsavrTqKWKjs%hZ6^5K)eebt-;?L>31Ey3$z+C^YZbCN6HuseuT>Vuc z(*Su5hLqTaC>5suj`wX9?8%l2s+380m8$;>4~E?HhG4Dc64}5Vw8>+nkRAwR2NrKn z=>kxt+@s1ClIB2jWNC42sNYoOTWA&8-sEd`RKqaDYSR;rc{@X2gg60j0;Hz7)psU^ zT)cFv_jTxZ0HmFPSz;L(URjD!AG>lO`DGGt#asIo+P=?#5WYm{gkri(gYX!j#;wn< zi)5!vw12MafE&E56AN3#psP+A+CXU831FwPZQ-&4{cmi1mUl}Rruzcf2~duVb|pYO z@TprrU#>2`6|K^4MWdlr7;*tJePGDN-=AhDMv73asM!rZnT#(CT@Zvf~*>YR3^05atxLSD-0vFz4?p{BtTj7KbPgUVOlhr?KmU&=-KnYzfl z-ylarrU43S>0=yZO;)f?sp(?ow6BM(;ha+oS5B*lK0R*8t@*qXQg2zOe55FfqDwtdhauEDBzxA;0mP*q`Bls;#Bc*c;KI@ap(!5p}w+=FEghP&X3 z#j_g8IzFj%KnM1|!izQ66h}V$>zLrEXoHwu0jKR!7Tv}vn6lUQ;-%KRJsHyF49K54 zTWm@p%Tda8nhO~`7{-FpkF*iY`PRNdg=0l}WrGa0xt@R+Q3Z0NkUV}p>)iX>)co>V z%Xee@=bN14HLtnG3j~x6^8L!}rA14yPgTr+Yc?DwB=zFR^*xx|d#h5Oce}@V@CA@Vcjoo#ePKP<3fslL zv#Q`6pv`%wKOvVF$b9o%=LDpnN;eGbx8Kd7UZh-R{zRI4bjjVrdlbU&4FR-$a3tnc z-V2b0);$SDd!<%O-|&XNs0?oc9I}P7F3r19YCZ1P_0lUstkQq`C5ozgmufX@KJTIo z9yEtdO%x!;bwLJ|re=H(XY}f_ezDCrmTB0%-%fw-wsLJeUHv}ji0$#F6Gb?g<|23# z@^aRyJ5@54PAyv7ceN8;Ohl=a0f*N^t83tECe1~oqvLvhtfF8URM+mK#T&%t2-P(C1shP#?t=}Soh zmexY)**%i%)36kuHR2cWvcV?rX3Dic*S+I+-O|GUaLxTDRD>`hx9O%ik^_I-#$2zA z3}X(qqkh?dVS=MAp&#c*q)VA0hf6gE(Q(mV21ja|1A?ZXCswVkh4JC8IW3=)_qavN z%dt0_tTD4C8PR^$F^Jw0bEo4(v4=LQvIWsaj1|l;I*Joc6&q$Ycnyv4Ua5YwpqG*a z?z8x52Gv}p$vmIBM}$tegc@Zq6nmhaW6p{vYg&Pte$3>C4s}tQ@`=V*hy*w6Pj9%# zXiuG-7hLc*D{c(eSO~m%L!mjYHR(0)QapTIE&|`Fng8l7avz0`m;X||K-|ItqI3OJ zO(ws=XHx+X9McK5b(a}W7z#Ev5?%yFUaUF$O+;r2IG+Y4%EWL1W~LnrvLl*yh!N?o z$!bo{iqA+wv~<3hqou^n-sw?FE8A)6RnAq*8i@k}LQT^g==;emXlRzIPqr*8v+VRU z-O6s|6Km^k&=`|S%|7qz>SZTmC!LUy&8!Ik;_8|VJLp4UscctM%tFUHXT9OKI2joH z(g3*R)fCR5=E~mR5bOh|S!IY|5W0&-M05G7gDpB|(EFl8ryMFGwyc2k6cAeu597gz zIS=G{nPjUV&6d7Wq)b(607iRe$(&Xht**Lg@68yJDY?L9-gojonSdwz+qW}}gmY-N zom_fGMqIg0NIS;Nb&MKdV+a0nE~+&WCaRn7GR2w(M}F|VhA?^Q&%DbVN7-@NT%TgQ zew(+!KTa`P0q&YzIv2E{)w9Ha`%)c4DoxlXWG|*?+}qkfrLm2YiuMc^Q~*37fX5a^ zG^JEm0pKlK3&<(&Bj|hyX0w)~K@pHtxwH3DK50vz17lmmAB9jgFq2fFnon)_*2v>Z zWbG5yWR>#7Z^Lkd`Oqt|fw$VR$T$GCxM;4I{Ll!q!m+yY1NmaBZ`7q6!F#V z{G5o2&h?k#oS19V@w6Fxpch*}#|806M?{@mSP(R{vKJ@Y}EccxeBQaIbVbx;B(z7Hy=ZaFy z)Apw>r=!TElA}!+i1~Ct99e7Oswf$X>} zZ2*8-iTE;%%OC5r9RgQJz%bY>$S=@z*qX0Ep(cfZhr4CjJnviK5gyZHI`ppq3u{+9 zEqt>SO#$e~oHA+)mp{5iO136Kh9Qh)Pb{mlVrYWtJ`wcMHLGn#lz6Y`=|^;jvFZ;h zcHbYB1rbsqRt>> z_6?XmPCY^|;N*Np4_VcDa!Qon>@eR%#bI--GGwl?;)MC-g>^_l&R9hy<-8kNbvcXe ze^Lk#VX5=AD>OxJ0f#R7T#tEr_6)FK;bv_FFy;7Zqb_Mu)5FJi1~T9RW0P0&3pbul zrC0t19fg3BvE=g}`S}#!>)}7ZmouXj*@q}-zX##o?R*x7Flh3;@-7z*o{85ghI5JZ zH|dNWCjuV+vwsYLeWL?jmSZv?BzdiH&Zm-k!NEjU>_4R?ob-MPe$!^SSR>8~=pQg# zXNthjXXkL&{@V(wUHuuS(EqmdUwDa_{{Z?|^Z6mp562Nd2(TEYLR{hAv(prKxSQ7F z&&XfGT@dY89LjAzH9+_G!u77idkZtw&407g91M06evOu**!te$xao)ng z9v##VPQOwArZL`DV9n_McN&1n_=nOJ;>UG!R}5@{-ARKAziz(+bLYVURSS8(rk8I8 z^)8Qc?Vli(I55WvM@e%Rt{g@6z;UG$2||B3DO~%ytDrD#;qNp6Fi)J9o*J|cYMdrw zk=^VO)p5R?Y9LdB3WT=<*mg)2$qCvN979nN!EghQ&xNJ_&2`Rb_E`tpaE9$A6>U%U z=l-g-izbMMi-+!uGH<)fKVp0}2R0Vhe(v4-qWvGklARVJ@otymGkD++Kq6M5=jf>f45Pt>A-5w(#{=F+`MU6r^dfQVbj(Ub$;(Y#BQGe5R$;@ zvh;Op`{*Q0IC>aKn3&mUfl@5d z=(QR~>+k86MEGCc^zw#2reAejjJvQNdie#g8;Xct-eSNv$dk$U*e`Hwm2%o%P51Ba zEFq1XTU@G5;RlRGuK0a4&JoJd!k-|lg_D&DKz!oHNiV31t-WXO%}s&pKBZ@(rF$H| z`;kKVc=q+6-8|t&TCZrGj_Ij50}(rhm>4uSN-UN+cj3a8zL5M&hP&#tsn9X@>_u6tsv?ytoK_E~=B zRm|VU@Q|b2U+x=Q%D)8Efp9Ne-1zN58ZNs z6&t-%ukMzzEN5Mokw%3%;9ByxzSgu zdG;U16uJguOFsR$RwFzAS|hRJ{aK~-D#^cP|Dv-yF(Xhs`LYAByLR^_CEt}>pWEUa1aQwk21#8z3WWy;LQ?Y3~ognp1Zm+EyR%1=LDhxI#uj@sx$Oh$r^-#60v-je=?U_qzJ ziB5n&;AEQS&&;w1{d|%abh+`S*os-C(_9o|@V3ym1S4DRm`6Ws9!o&1z?xSL zEe>Q6%=Z#m>(^&BU!AAoz)rG9U}JU^87FT(e0a9`=@cNmFvj1!ObJJqqT@3t#ga@@ z;BlrvuCd%$-S>0kr9LQ!fGWY_7bjuB+N%qj=z3$v31mdPiwx>4akbSlA{`2ZJvXA| zpwE>oKNVSGF-DM7&JaV~I&uN;g@7+-L+_SNtj|s}y`2)IR&rem47*Q$KTtLWsf8hb zxMMO3T9vlmV%%q0&&D{jS}IQwQ3+8_$b!W7yT4$k5<0k6b_izWRmwL4Kide=V;jrX zgNxQ_3%2zhTApsKKzxpw(SKH!>h?oA&*WU2xra~Qlh_+Q_Ymi`^7jDyh{OKG7}SLX zfM>$Qa*=!}#W@*H$TD(b2rx<8Rii50%js^x*vaqWB={!_y!;oapd=%o*-mbo#<|Td zy-V4D8X!q7v3QsHTF^pmGcMh;BUp_|0aV%NDw zx!(!P+&3DGPR7n|sk)TZTIifgdk-lg_M8U|LDZ}z`&Ozyu#IjefS4Q8q_z@;c&gb|< z{hA$f6sB8Pi_<_tuvPfr69K!^Aydz^Z zsE8RuGJhrA4-1lAmFZ9-zfZ2u1*r`5EPC2hQub-=g2sw8Q}~0xFkyCS?X;R`z z4O-VMGV)Y=m3uu@v0}FhkZ+pK1CU8+OHE}$A}I0kwMfyI3YSj@$az1zd6Q;gK7Q5# zZgvhJ@@~*(T34E8j;FLpG;*2d(pR=vDHGJY;mSJYaZXm2#t)H3W$M&zl+!o7c@0S%mu14$52Cr5sR*AW^GXU zqfy~cy?6Z+=#Nk9e~G=3l4=lXnev^%E1Jsuhe?9mu9!i~srh+{FB2h`&oX;`Pij^f z0-7ghq3i&eKvhn3zH~KC#q8E$uBT2IaQdD^xs&e0bLOuQ! zUOIj*&G=P;KnS1Nk0Fsb8TB|6ox~H_c`c!{iBR_#utBZ_h+R;SlAY>y{!z$^9NT>V zTL3MZ1zMEb??(fldV9Q1H<1)DDjAVe@jpjZPgxq{mx(ee5B-6SV?_9k6r>|N)|~-$ zS+mjsnW0g-NZ~FQJ_{bKaA8D!?`7$q??~}c;0meR=gjd;{H0u6Neb!g1Ly}b5Y!5y z5tjL!-d8}Qb%Mol$o{_6nCvZCQKOEXjiw%My=FfZ|Jy@#LtLYF+3U)hPZeDl%$+La zF3Jr0+CqXs5M#gEp9*T;y@iceOCqxx(?~XsG$C*E|HP}iPjdY zhwI_Zw;19jQD=Weklt~TU?2>{nimY@%KWQ_8w?ExDD=ZWVX|?Cw;Ee#-mbmXC(NWD zz&b#zHP8`rcS~dDa2!yZ?oOqDk>3o{!JPjh`6n>N#zU03OL0#e46xaL{IdX;cZpQA(Du=2&go{ZNF19eE@YR{q`fwco z*Y*6bH3+7Dr?T($m4Pq@oomo+1LfBV%c*zr42LrgEzH>l;YjYLj|U1F4Ls)mZ${(h znQJQh$A63JP~$=P*95}FY^_-z!KesG2E-NAsB1wpWiV|MA7J%6?;z&jgEdlP<5cr) zGqs%jpr_b^Hm=bU6WEx^BI{fXwE)?+JG8VjoY0Oi?n@nC3Cf1+U78sTZ4|vwtN;xd z=%Q^8x0{5Z#nmKjOot`sU&DHarW?$AF?-rO+gNc`)|l7xG(X2jJ{C<=VarAe(BiI* zud5qAjFodbAE@Ts>j-i#Z=Po_TY_y+FP1KOjj;na5j@V^F91|RS1-U`*8|Y)lp-_FDAf$0J%W;uhO5CnrFqI3TJ;1xLia)sRno&L!Sb!<0*mB zFI55MEM22~^x01}Lw1$)!g{%9jvdM%O@;b&2 zXj~yM5^+_{dZQ{KAxkMcUS{nvRo9qXV7q6aUSwZvM7y_b^Bq$p25PO%QD03Yr2uuP z8_LX`Ho^wagi+m86P(>!$*~;D)Bot7=(v)+DzL@W0SI&tDse0-4et<0H+6=~By`eS z-!F4%8j-`H&S;vzlKt_^1tbMKboU3}Z4fr2UqpnS*OmVvRQZ?${#qGFcwH%fZNb^- z7b8d)0B?Twb0q+-hE1(#v|WVhG@-k@;P)VJ6ki&#QP8`anS>+h9iA!k_A4UOEYBjI zx+btc68ef)Q?E5F?vOcL|9gGTG@naR3F}z2S6FiOq4(Q!G(W28>_&I5yW$`W?$h^F zwvk0Pr(D6-h~`^p`3|Y{9NASL70yS88;BTD=ilJa)gODOR}^Z6R!df#Rf2vtV^7q{ z809g;WD_3m`g*u)7^1c?;hGl{Uk-Wi2Ye5}41l64z$7#Jt)2R5fC<&NQN5_NQ``Y{ z?>1tb(%ToifM-h-pP{?Yi`UEJGk=1@SRN;Siidi9F9Q>w%m&=y`UVLn9O4@UE!LMF z#85q?=@)a;G^(#>+N%I`7$C-(6%5N9S!I;Bc@7Y)xHi||FBM8MCygRHw?CZ?d3eSe zU&C>nC{|Po++tN&|Dds;YPXS1tzy&07@-|xZ;_F zAcCY`-#6YPSuqZk5FKpH_UTjLl}_9FUh{0{!ph6={PU~4Mn5zeSie0SrmV1IfH_4Z z%CPk?A%?rS1kv1&KH#mP^>s@Wu3%7Z zp*Yor^$M;nh`}L`n;!Bi5((WM5a+YM{qGd{6Lx`@6rg&+B1z^Oce|&V?rbdR!>d-- z+=HMtOw)J9zrncYvo^#k>5to$7-FoAI z)l2$7_hbey8&`g( zG;pX_G`OYAu!abXicKmgEj-H{n6Z4Ym%}&DAF(QGYT*zW9KL(t{t}0S+Kn5#z$xIC zh0X3n#QW<3@nHofBa;b9)}!9BPw4dKTMaom4`W>OQ1@n`{cB|Bgp1r5R6e@v3~}k6 z^2O~c=jhNxYlTp-*`FJMjD>P3WVW?(*goBFLbB&LaIVTce$b)Rk*B$)xc2yQ1qsz@ zn|84n&MzX4Be|K~%`Dd`ff+@y?;E9cjIy9uwSvB^*=!N{qf#tAMrnpQ1+)35Y0m%b zb)vqNCZyJ?!&l};45jd7(i1WFn=s|P^NR!-`xhSq^svyJ7`Lews^%k1tSB_dkR>CF zjz-S)iYXLTTy5jDhGoFr(v7Q_cv%mrc!QO|5UtBbb3>pjkzP`89sA_AX8J<65Ut>= z?_*MrDA*I?F%0U8~aw?e5hZ?X8 z$};Kf8V9dEU9@7{lKFOJAki}3+|yIra5-= z+-r|!*(72%Nd>l>?1ECpJ1b%WREMh#ClKVqVTkf;0_f8ic7obw5fUT?)}>ln8coiv z^V^Lw#<9yjmR(5>mTkJxhy?<(kpiE+yaK@e$Favs_-zzBOuL)f7JmuObBgxSc{1@O z)*$7oJOs>Si}fUfgrAO$6yy5CM35ns28&Wu@TWL+F`AfVVY`(digW2G_P8J<`=lQ& z5ed9rMAfxgQh{R`0eaN2%M=SWS3jB#ehlW1_a)?GcYxmlB&V*6-HtlDCr4L=JbdDS z0g4R&=?h!~2{TFdj5qqFGOKOVP1DfVlX$Onb&Y}|q$3&So{P0Z2m1QYJk6{+3N3P} z>TN(i@(ctk|0p70PgAvH-aZaSY;-8$xJC<^WSyR-`267tPqls3sY5znI~`P9w~?ro zS*W9sqO-WwG%*el`|)2g!QezziboLVih=6yh1#=2RRm7fU4Tirb5hx9-Sw=<4j8P! zItp<&`B(DBT%+Uje_dkcHOQLHO0-q%P9Rc9|1%Z+$He~^|G`JUb%%5`cl4H<#K|xx z4}uM!Ujntz-8Sbhvxhk*J{7HgF3lsgb^D;8&Hhgyf&zDJqDlPNK_?n;fdF0r(xYa- zrBhAQ_YeDG5VQ#1a;dX9gcVhH4S)vfe|;4qxa}w7h_~^TXK-704p?y43}L@8WG;k; zNP7nuh|bRh>ICO22Z-;|KY<7@w_}!*49D6|h7ynwgcl%LjLUwxYHkRb(Pt| zd%`xiz7G?>A_(Q&@swPsJFcX%*0fS=NOn{60YCvgP57HgQE|sm0Y;B;$>$tYIB=<$q z)k{qB#hkYI=i9Q`t5N;Kn}i28$M;YOHP9fiJ{e1bFA;oEIK(Z#9;4)Q^y_|QgPbT3 zGHc+}t~6B{w%qUJ69H@*coYm_&UBVfcbvD&HC0b!?S5T>KRvB$bph4aNjk7-SK4Af8Tlk}l=Nnvw_)K%LbKR*$Q8|Kch z=;f%kh}RxsXX<~pE)2+I0F*7ShbddKeP>iU@sw*avD3kPEW1zIesY~H4`hr*&I-5& zG22J{nW+!tXgfU#H2}@S=0b9YPN<$`CZYN@bMpZ1r~>(vMS=r!G|0j`7+(xyavj#F zobDx1^ibvleFoHTh~lve043_1cf?GAnvCCc&}1kd`_AJn1zbnyf-K-=ikM`(oQu`l9vt`UuQ zn{vQW+d(dsQ}1&HTVk}f5&DaTRWJCtNdMBTPa(g^5X$9YWU+m9E zp69-cly9G<+CGi1Ra|>YVEGZz01v)e<;({gAOD8p3mB~d{Q2;hD{AAU)9P+M1S+|j z^sRw)g!-R}&&~HY4os>RJ~MbFZ7}l`c3738_Vq z-^rzWtUuIFK7FiYrUJQm0K>3fVd+LT!YRMYtj)YzN-U<`U97qm;+fLb*u&7dsG6^F zGXz?KJJ60mw9+d)^{aJ;OWX&=rxwt@N(CMuy_sXzx{NW5WJ!8HIAUJ?+i<41y3itO= zDXVNo#d8)Tk_@ftS#{F47YDRy2F#%G? z$e3q4aJlf7jnX!+W@dYSb$B*~2{!hfYn&r%YCQ4-cKGgL&L99@!vJ_rz+O}An!wU= z4AUMS`2B%=`arz{`&b&lBs;Hc|LuwX9Sx5K@-T$#{C3Ht&a6e;bCFM*kKYGW1bqrL z0Zm8yVPYmpI<}NRz%8?F?Cc>kvPS>mfmnV1F@mO?e8Dld#L*H@+~IbLRmQLOm*T!q ziJn$$tO?i=S=$;dq*u46meuKIH@!+t_+(J7Zf~T4z=Sj_cZbtsas-YnQ$H zvs^D5CYqIZ$&?^AZ+}YQCGMdZh-!g{PGMSxrr&udXiXpw9Y9X>!Mwb5eft@6AoFJ{ zZd=fV7XJXBza*Kc@i6j4N?XWJHW3^Cz(?v1e!()L1*oWDJE+%t|KSs())IK7EF0Xo zE4Tm{vTVBWg`|fCi6In%OG|chfNdmX( zZ({pu^~jY~QmCFnIq+4W+{5iu_e92W-lW^31^2efY+)1sru83~4(@NH5`p3oT{22I zkwg$G4ZANu1Zqlj<4xd;$~!lo+-3A8$yAG7J19s{Ew;jWh%q6WIPm8adX~nU=|N>3 z`!t_#Y2>w_Gua#*?`T~6lvlAke7)If45ZMOFg9#Z?46VxWzUJwW42HJ9*Pn zN!e;#!BFfG60*OV5Bj;u&to@R#114(Vbn6ECQtNa>uxBk1xR|!Lv7=pUOq>%L>tI6 z)>5iC45M6PMU}D5{F|K5TT~5{n8peV)d2=b9!pMUV+~BsG-^*avTZt_RQDU|fNVv1 zpypF89#YcZ`hobP#|nR}v}p7FW#>})N42?`re_t&oeBD|@!7>v(&Wi(ibp#mdH3kV zk)}-9$titCV;fC|Vgi>A4>uT5Cr4D>G2kSCdTSg8BP5b<-8ZOZp7XOkOzoFk#k>J% zwL_xAH~rT)z&3}3$nyg{V~)E$h|o-p`N}Tgvk|$|nf-~fT`qSlOcU5%fsVh+5>sQs z;{-(Ut^#5gmVH9H11@5V#@alp3*2zoocO?yb$Y!WCKsBXQ#qWS?>o0!@Pj3oY9`6bt* z74dVL@c_NJFTBJP`=GQ&4LRD(IVBwK71fsFSk>g%lO26gc&QC{~XvsdV?egAymA(zX>TOJwJb3LA zVMgd0f!CMpdi&;GJsxhOYP-=^Y0Bg@3|HYyw1;yA%(^4-hB*h5%piRGr_M z0RCj(e}4qUX9MAcZc?d(@BCvQ=*6)(wv+Y;CT7P@Mzj%VeqAB~+ZGA`N^iiucdwX| zAP99w0MUUn*FU%u2GhRN-uL>3H|c^J7N~<>%L~Li8QQJ}!U97daaM{a=JDK_goE$= zV;hM3Ei(AH=z)FiTX%WF{71~j$m|t$999YbZ;Scg?j23O)m*r`c7MVL-fmw3kQ8XY zj%TCpCHfxBH~u3|B}BB{Sbz5zzXI;^|JVh(Qf1h5EY`7#(9*b@e8AVlC?vWLzdAUm z@%L`yOk2xsO27$#LJ9e693M~~!;HjJae53F5zk0(lM%8m;4qoI94+A=hJnfNqvF&q1P*`Y!LoMsA_<~rlV7XglqRW6>VMdPRy+wUWH516 z^+ga1GHa5(ZxHNR5YSL{@{8&4yZVmyK!VJ98(7akrr>N;;nP=(>_b-D(favYXHfxiutgl;PuiA3CF;JQxK^xY-DZf?Uhzm*jJprzOq=7v7r~2ln`tBkjb4wausV30 zd)VY`wrc>av$NMYS7&Edx@V$RrZ0l~8k_8T&e zGB`=a6uaDbzH+~5eaQ8-dX{aK_%pRN7Ag@5C8bwn`z<&CF$fJ=8IfL3L>A~=#aEln$wZOo<$$Zf#r4Zj>n+( z!16|(t|;!H_CRz1uJ^iyypnXzX)IHg2ylA8nrd;->YorgZoN=vL^Xi%r{V@3QinfX zLtYHBF$rcPH9&}14KLj;ZPOUNm$c7n157^xR+9!nmSh=HSGF&nO_>>Rz2GvZ+EU?DhmZcT7zA+t6Xu8{@83m* zHA~y{#QDr6p>9UXt$V3(j#)fDtf6fj>O8!R#ho%;w*4yb*3F&&PH04`08i@;;zIy;3(VZX;aTvrnAS=J+r1EcHmSI6QnNYG%+-nPYW!y6}hrQ)1RXz`vj?c*GB<_vBv9$ z(lW4`i6NE(v!YHVDf6jq4^L%CPG@SsOEus307o=!)^u^}P3){whyH4;&tXmiY_uT1 zKhPf2zz#T#blG9>+ZQvQbNND&Oso(smSdQCb78i*aNh>(#bg6{7G1WiUamlXbuq9? z=(*!hO>U;tMCRW#(XzK72lHkYV040{g*ktwdN!m<8M5|-^T*uV^*483ZF%Qw!BQ2- zbsl{5&GEKl_!(bPpwGZslV_^_7=BzPP%ltRI5{zhIV>5Iu30%CZ6zC7p8A8^?qPu| z>Y278osuPdnmV}F*ixs{?7$%TZZh}5TOioFo+rbGwF%p-a3o}#7yEOy?fO(`Sw}aI z>}AOdM&9awjadI~&;F$}leZ7-a5!=rB{|r13*Y^8WO zQal>azl9@|jZp~2l>lYHU0xrWWwUz-%ZPpi7+U#28oFgkxrJ$wW@^9NbrW2+C|DG16cf^LDChAIq@Bj_zc=1P?>t9j#(c~^ z!8rOFAKr;V@mTcD$Qal5J>L*zF8`SYA<(98MK5O zLk^eYMzc9j7Zu_t9tk&q!<7l~=>AF}r#IUd`RX)@E|RcQBhxlFuTG@w8)<))zwmI- zf8*eZkT}$9>NECrd+l)i>xlsL2JW0XpKE8o^}7e%WTUnMj(=Rn%%8n|q_0)YgpP6L*Pmi4O^4D(boUqbEF91m%w&V8N zh1!ZLVY+5>v5eUpOI-PYq3^YZ*_mb2w|oH^-&U%ie-G4?f}5oWinQgTU@~ZRmAOaw>$MSQKM* zy&nbs1)U$tUQw}yqmsA8Y{;IhFn(ap1t{(g+=mvBH5C(_)YtzMI=-qD<8&xwOz;$> z=C$f|7N}4E8$&5@mUYq?veQAH=IcDmKl$>>=xMLCud&dpJ6Mt0PSr%8Q>$fmI$Q}M z1!%?u`z}B;jwrFHJfIoNK)KkDPx0QomlOhJGqR>-hK}#^kj ziB77RbyC=S_+!mzbE9(23_ZRwRBF2ghve7c&l$PsoYjaOn{mID1j)L8WIId zm!j?gh8L6NBz^S((Qy|Le)W}rf(v^4Q*7mryy;AwhE_#t4(Q86e&2!YfgA(3p7Y8C z-`ZYI{Wj^W{j`6+3A<6eqCQ+5)bdjJIi^=hPLiGF@3M_|X8_Qy)L+W7_^z7vf<7@jGQc zNdZKx>JOCNzzvn6al+p7ZdGpc0vLt+=gU>1BHQnu{p-{((-Vv7sA{l$H@Z~ z2VJp0tv>vfTaHW}NH>v&Ooyk9r7e1qX4Y;*aKcUlH@M)6W%ZDwYZfBk@+cgG>xC= z+@@}r=El{FqRU^{p8NE5L9tQ*jv(y|_)yuDbl1FLOJiRK=*Ut6q=Ji|bD zGP(3)k72BU3ztU<@y}6QS4!99r*y3_i(9T>uy2nO6^vGuf!mNpzAQK0b6gvBKtnfI zalzzizja*z0**Bh3N>VO>c;x zY4`8Ax^agWwV2t8Cu}-uI2LRg%hjd~?D>xyhPraOx~^cuM1o##3`cEm+52r4+ch+w z@`r7||069vs3-V>q}Qxuvh7cCe&)rGdzcxvTf*ykJ>tYsoEFXvKRNp4qFHQmnQBi!9y z=I8ZHzqwz>PLi}3>O|Ef7b!2*`isY%h)gnfKJ|zcwz^5#R+sd0I@azFB~d+!G2H9- zbiTkCJ(9k}N)YEE=h=l6bP`;|8J>kXyoE$eaF6prEC*BfOk zLQ_{5R%lQbWOZU2bv)9uO=AgDA-|y*LOd2 zR~WG zR;qL#OP(L30COo5HC=!6>u+h2(#4WK`wirAr5kH)XXaC;{c}Sz%J=PRIZ*>rPJT#i zH;*yZ{m54ux&Fy*K=o0l8ScGBP$MivAJlj{i|WS z^Sm?J=iKh%+>bV`>&f73<9^rEz7#i zZF`@-e{9aVJwRMyV5NF->y}`Yi@BVxk~40V-Bql-w@6~?+sfw*xR{&sUcJg_beo5F z)@(~|8*RnrV3Kt%c5pfbCnxRO6Mme?kuQq_M6wYo0`ABH-gmHWKDuxREan<@|6CT^ z{g9Ilf3Yc?7hl>`@hJRPU4h8g{@&e#rgIS+v}#>(Bk(+v#Tg#Xo&|UnmX# zj+#I=dR2L)c3#iNm6fv_vnDA6s<4$Uzf$y=eeuAR zygJ`PrsrzsnA(&br?$e9r@gY+mbxgled63+kYvOg`Eb)a?MD1T=6%-t8>H-Z%t zY_*%6_s01}C5rFtHg^rEtZWv!DLK2uZr#F`RXj7dNcD<@ZjQbA;O3ymut|-=6_Lsc z;<2hKnZ(4VpVDx$P8IHh7GG|?LNwxpt39v#C|VcOfuKdtQc`@%nrSm7j$-`cb$d2( z}s}ih|h5~lbJ{MiI%juC#Y}YG_ z>1TQO6<#i@elBXN`9-SX~z2W%34_}xQ`d3 z^9Uz6oz;Su(r-$vuj5LHfTsmbmvLly0deHG=d^`*>MK!{g?ag!JMDXao0t@O`uV*V z(C9a{uk`nVyUNQ}>E=oSXZJxKXAWa&v9dZ&)dxhq{TVnY7 zM|`&T@5vw9ngXYJRzxl0Qox?Bcg}BoYTQCr<2|>G!Um+b6$#U@3Fr8tc7QaR=X5eEuDhZo3(0* zZ8r3YhVJUEyBg8dg(!@?Ba3lSFU>R3b!Z+2sl(Y#ymclNQ4!KA{$Y*v@Y2j;aNr=~ za9d}-$x+^J<5b&Oo$qo986SP9qG8jzT)mCFd?J+CK+9!qafRiN9m%xzn?_2K7~AcL z+Tv+VLCx)rh4Y#6$GbYevc-y2Y&6l%d-`x~O=5QY{MMe+?3<9dYF*(h*<3Zs5Eykv zG(>&CVHbWle5s%JQyOEsRyso!Mq0VI$5Bg#8c=UOEol)kwvFT`Ar;@Aux8U9<`whE z1Nmmmlm$BS<3}tGGi#l&>@f8^d-3uI?4VOC{$z@FcK~|>*w%#}R7}~O$8Qd8FLW}p z*hYh2#WFtfs$?uoqE(mv%_C;!Y_fZ)Aj$l-GcFT#p#o*)%(ZVhjLBcgCVR#~HPsT! z)W#nvX4j%ujA(1{M{o%2FBIR2qpDmAADVKVN;4Ozkmfen9S+lW5fOvAa!%1$jSVAr zVzuw$_hGQ#-d60VTvs0!nTZI^Oo=tx!q#tNE1+$R1Y@SNlw~Ac{`=LhaXo1<9B$P? zWo~|3yCS7wqd5#(v#4w`ZtBp#7F8_o~J!mvSvAP6zK+n;x5{&o2ec4%6Tog5l_n%|QgFo6Zm*B&WDiN;zEcv*uQhf1yH~n!H6&ro%*TNBRv%JC_%It4(5ssVO zaoYM8U^;OUrz-fFa{za3AA#^e ztk&Rfhllnr{7Fxg`)v%Nf z5bo~wm)qA&EZehq7=B`Al=xvtCeIh&^{RAed~L(NRnROIr0Xp5{1M|L60dCRBN%`2Vk zmje(Vxhl8kbKI56Mv22l_jLB&V9QAr(5>mHoi%XX^U=|g1wSKhj<(j~M4`ZMr445V zN$v>G21o^sU#}TA?V$E_!BjlUa4)V&?sxG1Yx2tj|EqW?3otF6_{PpCVhPpfhDi|f z6x-;x6P)Y~gGFsim9j6+ne%?N=BTI zdd=lgzm7G}$EQmD!S1Heve6=m`gl~eqtvu3+K8Y{FNefLz2AC4R_P6eZ|##SWP*FT zWv5JSBSwU#wX)tAD4u%4kb!gF9PurL8{)3Msj5D2cxqJck@Nd{Jhc zxf7GsI3R!C)v&=?OSMv>M@fvj-+=@m!9>HzeYfw1gATnuW4^DU{dZxQsDRBxn7_?r zdlwl6%bg7yivh3Hx*(uX4UZPWtlAHZa3i7xHRCTE{w4Xzdd<`hE^xKdc{id+gJa2; zGLFF!)5u2YeQdho3_bP6Rb-%d)pYC*y&7>4W50tLi9h4_LE~MmXxa7LIPJ1GLR!51 zai*IFC3zf6an_xUhVnQ%?Xm6?pQfW@RQXOniaHxLE;P=)!jn7wIj&r)Kd%vMr-Uxe zL=RVf>DJz(*7=%4Sfa6Y4S)s9R)qxwU|@@NU(|yN8%%zJw!%)cAHuYvYGS9goo#m0 zOt~&%#W!cHk;zcCrr)K^u!}7vg9i2-H$XXBr*Fp^Z9hm!yf?x65pH-*Qf94hMgIHj zt@xESW7KsUX@6bi_YYUXH_=5uIXV4(cElI6cPhHpkRCCcTiRMH^Rx37af$CpVa}T? z{-iOSAAQa#J(A{xK8!xVoF1?a=y`Ek^A4F zt+*uaNsHlPb0(>{IF1Sx@z{y9a%-_w={u!3cHY=L+#|DylGCi8`grF!w*b~$R|(fH zprSpdq>Vp0Kf9+xndunre1+VYv2M_M;eU;|w^J8&A=kVV6+7!Hi5cRgYnZm3va9>n;?Td7x^+MI@7;H3YKXuaw)i>}phgsA-o_}+uK zlu`P$QT!RzOpOO}%qD7WL77`(wfLhx@B)N9-8*l!c<}@!VvdN@+$KV_)-&wYcA-?2Xpw;><3Efq$1-uo>qhq#~2*7L0Lv}19?dmpR%#Y`*%gGhndB_zJ`?r31V*PbNz)$+;N(Os+*RP`@Yn^yiC0B> z!2}CZ_X$C(8LYqve@p~rsY6O^f#Y-BtmlWyep|3bB}dsH^i3_aQ%cb;I`*?Yg`O&7 z&jmzR`;}^c^h_%liq|Ju_G#=4{XwDzK<;={o#Al0;0j$P$#V>`2nJN0?HKrd}8vah3#&xeQ>(dI@(YCp8xZOZb>R_nC57~ ze1;QTV9}2!bli!Is9rl=-DRq{b{|FkXl0N1-FPgKg&unIs$2FF*#06ov!hPKbEo6l zG)f#qt&DbyiG;Aj^;l%kD#dpK?r-hw%r(npoU*1uHh;Y^z z=k4VIdxq~xYihe!x%YeehO=%X&M-JQ|5^B1@4tpd-*)6Gqryjb$ORKP*g86Sp7NWT zxlZHvlZ6{6tvfzuN82k9es`+UH-)oOS4pF*!l*ciM>DyCS!Tk*c=|#Dfyk(X?I-UT1CNr z7Z*b4XUr6tn>#1Ky?QTpv53kiR4CXM=6o%CW~TZ^@nu{~@;)6(@)3ZST#Cr`advYO z+J@#8{`JjG$K4in)Z{yE+m^LGahH-Fl)2f}v9)G*XszD5^Fs+!JZU>m`R$pA!G4TL z)ef{yw;#1uY3M4+!y;3Ny%~wUkx@?fR{HISG5z`;37f9b$9bJv7S;sZaMPFHMWDs7 zEK_9eT{TvIC=;^`_3cs7Os5SEA8qv({SBMAJ;sBgg80d`_wdJK4vrtu>wJzN&z(V_ ziP6Wwr&ZlW5=~u5dVeec=yW%_NS1yp-bFlKUtG3 zVKwmMN<;QC0fl@wzT2-{$lrT#!P}3TAz1l;!j}BV=Vva>RYRXpbypLAiL-Ast6nGY z|Le}48|$|U{)Ecu03QD@lJj*#`&Mr8;Fqtx>1`HUhep9oPm5d5&_W+4nggJ$C*9ZP z;DRLG;I_#52U-pA^MuE?O6e@U_dYn{@A~$mKKvz4Xi#Mhe!p;dXDq#Hsyr8s@nb6g zUkoRU8goLK?~~wh6EtxTdBf7Zb+4X}BZONCz*;uOdLx7j9y^&27VN)Jt#X=|&7*Jh z_)j3|=EGm&Sl{WN{Dc*R?#wIyS?}js8vK~h|BK#^LIPSr2;3iq1c;HNUE)9MJx3vN z6cYbc0z3+dqmVcX36ORj8B zP>1~}B#uJjsCo%XY)92gLWTUOpnX)(KI(BC^*D~&UQloDsO@#s2?hP#qfRJz79g_o z|9_j~er~s9jvc$GFDr3RS>vcte#D(P;!Xf9z!9AWB31#Z$Pt|eq835&kfV?|3W@(x z3>}5UQAiwx1W1vOc$i1j+#_o45nKEJWNYIo+l2qkjNE+>$1w=*NIK?4MzkCQ|H(=! LNMzjC@%VoLLzjB% literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots/TabsAnimatedIndicatorScreenshotTest.png b/scripts/ios/screenshots/TabsAnimatedIndicatorScreenshotTest.png new file mode 100644 index 0000000000000000000000000000000000000000..0acbf16f47baeb087becb202505f2bcbf0574e6a GIT binary patch literal 143885 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�mmY)zl<`M@%{&DQK$g4wRH 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 GQU3!UU|dN6 literal 0 HcmV?d00001 From 7227bec359767260cfd06579fba1be37da2a73c6 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 29 May 2026 05:35:09 +0300 Subject: [PATCH 29/30] Modern pull-to-refresh: Material-spec white disc + drop shadow DefaultLookAndFeel.drawModernPullToRefresh now paints a white circular backdrop sized to the arc radius + stroke padding, with a soft three-layer translucent shadow offset down-right, before the arc itself. The arc was invisible against same-colour backdrops before; the disc lifts it off any surface the way the Material 3 RefreshIndicator does. Test fix: PullToRefreshSpinnerScreenshotTest was double-painting the indicator -- once via the host form's normal paint chain (which positions it after the title bar offset) and again with an explicit drawPullToRefresh call (which used the un-translated origin). Drop the second call; the host paint already renders the modern arc because the container carries `$pullToRelease=updating`. The three PNG baselines (Android + iOS regular + iOS metal) are removed so CI re-captures them with the new rendering. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../codename1/ui/plaf/DefaultLookAndFeel.java | 32 ++++++++++++++---- .../PullToRefreshSpinnerScreenshotTest.png | Bin 26693 -> 0 bytes .../PullToRefreshSpinnerScreenshotTest.java | 17 ++++------ .../PullToRefreshSpinnerScreenshotTest.png | Bin 208240 -> 0 bytes .../PullToRefreshSpinnerScreenshotTest.png | Bin 244025 -> 0 bytes 5 files changed, 32 insertions(+), 17 deletions(-) delete mode 100644 scripts/android/screenshots/PullToRefreshSpinnerScreenshotTest.png delete mode 100644 scripts/ios/screenshots-metal/PullToRefreshSpinnerScreenshotTest.png delete mode 100644 scripts/ios/screenshots/PullToRefreshSpinnerScreenshotTest.png diff --git a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java index 3002fc4f2d..bb766668d1 100644 --- a/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java +++ b/CodenameOne/src/com/codename1/ui/plaf/DefaultLookAndFeel.java @@ -2386,17 +2386,35 @@ public void drawModernPullToRefresh(Graphics g, Component cmp, boolean taskExecu startAngle = 90; // top of the circle } + // Material 3 spec: the arc sits on a white circular disc with a + // soft drop shadow. Without the disc the arc is invisible against + // a same-colour backdrop, so paint the disc + shadow first and + // then the arc on top. + final int discPad = Math.max(2, strokePx + 1); + final int discRadius = radius + discPad; + final int discDiameter = discRadius * 2; + final int shadowOffset = Math.max(1, strokePx); + int oldColor = g.getColor(); int oldAlpha = g.getAlpha(); try { - g.setColor(modernIndicatorColor()); + // Soft drop shadow: three concentric translucent black discs + // offset down emulate a small Gaussian blur in pure CN1 + // Graphics (which doesn't expose a real shadow filter). + g.setColor(0x000000); + for (int i = 0; i < 3; i++) { + int extra = 2 - i; + int r = discRadius + extra; + g.setAlpha(28); + g.fillArc(cx - r, cy - r + shadowOffset, 2 * r, 2 * r, 0, 360); + } + // White disc backdrop. + g.setColor(0xffffff); g.setAlpha(255); - // CN1 doesn't expose stroke width on the basic drawArc; emulate a - // thick stroke by drawing the arc at the diameter and then - // erasing the inner circle with a smaller filled arc in the - // same color over the cmp's painted background... but a simpler - // approach is to draw N concentric arcs offset by 1px each. - // The visible width is `strokePx`. + g.fillArc(cx - discRadius, cy - discRadius, discDiameter, discDiameter, 0, 360); + // Arc itself -- N concentric arcs offset by 1px each emulate a + // thick stroke (CN1 Graphics has no stroke-width on drawArc). + g.setColor(modernIndicatorColor()); for (int i = 0; i < strokePx; i++) { g.drawArc(boxX + i, boxY + i, diameter - 2 * i, diameter - 2 * i, startAngle, sweep); } diff --git a/scripts/android/screenshots/PullToRefreshSpinnerScreenshotTest.png b/scripts/android/screenshots/PullToRefreshSpinnerScreenshotTest.png deleted file mode 100644 index afd6d3fa2187f629a0366c2329adc862d429c237..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26693 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 c_ME`s^V^R4sC%^FtAHRX3Yt%f= 0; render - // the indicator directly so the spinner is always visible in the - // captured grid cell. - scrollHost.getUIManager().getLookAndFeel().drawPullToRefresh(fg, scrollHost, true); - g.drawImage(frame, 0, 0); - frame.dispose(); + // The host form's paint chain renders the modern arc spinner + // because the container carries `$pullToRelease=updating`. A + // second explicit drawPullToRefresh call would stack a duplicate + // indicator at a different y (the painter offsets by the host's + // title-bar height during the regular paint and skips that offset + // when called directly), so leave the form to render it once. + host.paintComponent(g, true); } @Override diff --git a/scripts/ios/screenshots-metal/PullToRefreshSpinnerScreenshotTest.png b/scripts/ios/screenshots-metal/PullToRefreshSpinnerScreenshotTest.png deleted file mode 100644 index eb896ec918ea603d5407a4cebce02b156df9ffe8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208240 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

VGP#>qmR*@C{HG7tVc?sk>G4TUPp_d40)% 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%0D>>VWj!lsxt$~?|azc+r((2?@wgBW9@Qsvw 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 u6xMcw|B*uhO87@SVCy$d?^7-+zmH)E?( zK!fP4F8>;#Y=m+b_{YOk`<OaQ_2#Sal|97m8 z$nw8ykPr~UEfG-ucg<&@{rjT;ynuKAuSLp6`tJ%9NH+3+$C&qjFMUhDlLIuE4hlNX z2ng83e_x0Q-=O5cNlHsOHBF!eZu0jB#=EG3q4=iHuw%(Mwh&#ZLq>JchIiq;knn=MfGO z4zVhJ?UB;fI@7{E&`t#?{J7NTB(IOCy1IYhr zX!+12pYEO8-%`A(CA5`YAVBUy;FZSt+whzm`#FedJI7w;1~qmBLFhfqgEeg?^< zO)Ek`nNAQA|L>V-?Q!1Q3@k`?;UCKWe;tql*RlvY3PAq-^nV8-w+*42iO51JyMdYX zzi|m{;+2N6VmZAd*utfs55J`Qcf=G>fj;R+G!S=67#vmq?Ueu@IF~!yHD>eQodd`t zkbv7Lv~0+ryNu9o_DI;3&P`*dv-SGZa@4M;o&7caj|#;h;B;{4-v-TM1k=L3Y%d0+a}-hx5L zdWBTy;ipMy8RO#xO{Bes*6Go=%vNg}g&F53qLuBVZ(2&jt)648_p z6FaKBAZ@P}IIDnI4}x$io&81HWsdJZL(I}Z-lt*1rZ|!}1GjrxI*Bf+Ic9P9SluBqmRx z&A?{1A3hoTqOEv8=w!q3hVK@&ag$p#-W1r!RJc@l*&3Xbd0cWtJl^g--=Df61$ zFM&=7-8Q}Fu8H>7|H9lVBVpACv2S6$yV_?lE4eW9n*aKrmGlXr!Jk2*g7}NB-f!1t zCAT&mogfWzcO2GnALdc3HNy2*D#X9D3`l2^t_Xg~DwO!&(?%g8zo8f8B!8&a^H>Wd zq?oO8&yVf$B~KNu@wj_oIa^`W<=jb>(}YuGxBZA)+6iK({LpE?yftMyos9S)g^vHw zoB3Gc%ph^i_c*21&qKk7{U>CldGP08{3DHg3fW#N_%b7DWs-&_RTiI>@o=Fo?)E~Lbab&i}?d$5jdt-TH*%_8ZW=Y13F6Q5WY z)%tyv%G_BN!fa)6@<`E)i6GPWH(&3UpB~feK(_XgEP|eOaRU>bEM>;TO(BA{`1Dpf z#a0Tfmv#MTPmR)L%?HmKo-X;ue@v59`t4Q8?2ePQ(kJzv_a`BExQ&kgLTPGCRq;?C zk$fN*xt#s7b<}vADgu`NA}}!^P`j(3-ihfXEk2MB$5@5>^T&C?CROUDsuDf-8&>t> ze5K9CvL`|Z(z-ta$5(|WQv;0XTU4I&^?&E-Q-xq|o7~<1+%TCIr|YGltCjkjfn-(& z_hnD>p#>%G=4Xp1yOyF$CC&uTgH9$2mr7+?yESZ_yr}|1N;B`PHCy1CtRH_Si(f4| zk2kv8gT*~7@6RXH#L_$mgQWlZNp&rqMA-PyNaIJ_#bxAtd#kabTU7h|0mgCfeHlrr2!+e$J8m#umdlg#;<-TotFVFQdYS+5Z7xV^j~nvmL`vQ zV-v+}-ZAN4=TYrH#tv_zGTr(ui=V>w@u$MW?ZwvJacdgj6Ys+Ds5T$!vf}m6Kv<%M zN`rSMy|Gj`W&R(M1I1%<`EJ<%7X{#kv}Uj()eO-aCN@&x9%L3V+B!xxibuasM-5vx zB1h>AL46+DoDyJtM;XOZANXRl?nhvI>L=rQHm1@jSm-0Dl8s0)U&G*BE`fF_$ zItt`z9r6}lT``K>SIC<5#nZ{`ihFO1%=njYZ}Hj8R%CBXOU|0xJq^EWv=}0GnoJ1q zaTldC5T>7BUc$T26c-Y!Wn4%EybmiXP`kUp!=V5tMY(@JzSKRz zsm|rq%Pm?ZWa_C^Cdi|w>gQUE7refiwX9Km@r7IEwtYMQja(p6RG={-q+%UHVqXzH z=)OxFo5(*REbDi75uW|!ln7F>2fh2|3aZzRmAtjM0mkqQWhd}K%+-Y_yhKL9Y6%`( zv13x|*{S#CsIPbPdLu5)_wEw4aG|xIwX;p_I6jqA7mcQlcCHRoI65V0xpwG!R#T`H zibY~_bz}^ho=uIrJ2`yY_?zpW@ci->T9mBKz@p^%8r~`|x5OtI#WXG|$Lt}_7l)tW zAAUDnEq>xP(98X6s&9E`WAy!)ssD+b3O+c`if2*Qwj07ng(haHJvRyG>K(u9yz1t} z>V9K0&T6S+y(bc4eRn{%X&_I1E)9of^TXc9z{+0+Y?p;1H*r+g1`XHi z(at-iFbtcef+x6?=XxZwQ{kBSl4Jg_x~BeFbHDi-vJj{RMqIzrs=?a%5`G#$IAGrBzW_d7?A{a)0n&vk+)8 z?WuebB&@=pY|zH;J(?-;L1MqD@zGHj^%|X2c6X)KUvuY|V>CG=R0j=Sy}8R^w|L^c zR?9A;u{NJ}o$nhN81yAuyNjtr+I=%Yet@%XkzOf{3ztbElvXe__F(D5mNKz2KNCXf z?Qc38vF#=nda-P6+eN5wU2tqy*q4-Akw&liUnBXso@8z-(n=+?29@4?TVR;9xZma^y?uT1;6 zmM;HXJ?sWL2aVtHzf_tqw~{0%oRzXb2I2?{*55e{@mlgeZVn<>nJuedkNR=!d2}7O zN|N@8!GZ&kA?KyPsyXwJxw5^PCybJwwJXvCjZaJj!yOvI zQXX2}*k?d zPeYm`}m{!;X#x(*t18bD~vcZZ>l-zY2K1J^$8j z;Hn}xOkSc8iV5ALaww2;7M>WW4q##2RDR=yugvtdlB-Fp7l=T_5PH&Tg06xR*JCjg zZ1zSfr#?DfZ){I@RTp@`?D?$kPM?AQ1Bpu&{0MrG2Zle$@|m4G?9`hdEB0Dr@{)~+ zUp#ejzVvigaUNMJ%G4;#f^&ObuZ3rvG0ZE`$cewDNPdYEK&dmz=o3zhVpKFo&M3Qb zyLoHp*Ramtnry$5HX(UASd(?PmHbJ^X-Hm2z396^+3{Z5z><%8exu#5)}PS^BUXoL z3=ot4?u>gUOY>IB6%M7cu`{lN)wG`mH=8vyeEGea<@YrM3=3C3PLfsfSj1uW$$2g9 zl`kc!iQn144|MaRVUYDE=Jxp}Q_WjzM5;(VSXzrAtq{ z!O3*>{yZbG=2D;eX-^Hr!VGl?DgiZ%YCXbIA-fF0S+$Ynw$kdW`Y7uH?!oesGh@|- zE_t{wcNf*}oj~5L$sdqV;La_6=!k3+f=YJx9n3pFPF(afNRsrr`lD2670l}}F_Z}k zxU_Qi4g_`B)Nk^>KH>#p?F8$s-Puaqn+e!ozb>~~qGBNy&wS5SD`NW>`J=W=(?_a2 z#$*XMAuWD~rxXq>xv%KwUA0>buHw-F7AyHVUh)I3i}YYoQ909m>*= zG}aNex@;8ePP6%DvPy_~nF#LLdPy>#uavgvDpn!?=}~96A+xz`sm{N(5==c)ZXmUz zclE5<5t$}lRxu^fZt0gu?_3U1p=`df?oDN3zwKNK-O3P7Jmc5e6b*Ic*BUa-ang3u zR?^uH2Lcx+9gkh4I%b-9%Sys%<7f51{Gh|nBSgUDTCjR zbV)v6nPdaOJ3LC}7g(zh_CZZ9$p%_t6UIYrGBC4ZShFE&i8XQ@724l5;r;M;YY0Sj7G5kiw`OccH-clrbEgJMP(2M8Uan5%Qu_{sB_Tm67y=HSrE z1yUHj9~lPII-$yyODiBd6?E8oUvkb1edKxn$9TeB|A`?^9IkMVKkfmrP9c#H?2x0u zIQvvGkO$o@T${emUiQ6YmQd@5y{Td{-mDl3p#gLnA6fv5^A-0dbLoHnsaa(FDR8dU z-+#3U*}J>-2$^{$tlYq8opmTnN{V^qd})1&_d{?re!@^`@cEs^1$*kxW_EYotm6hBO2}d6kd?dw6rh$E3fGgW=g6bDOxi#D3nY$gygAMF86K@7S~@IYb$w{=u25q&W$ahseOZPvQ0Vz! zoo6=ujdy3`$OUYFc8!z-Y&02)BRw##%hdj=e*d<&hG3^E=?OIv&Vhk7(+zngoEL6cegs%InoEm5S7U{XvTj3FEGKA` z$v42Xv}`M$yQBvW5Rcw_!>a@E&L-m6PD~ni0swHkp>c;V!{SZLi8gdU=$AE|n=~9$ z4njW~^Vo7*t4Qp8d#?1eKl6rL%r5Sr%ga zhEWVFjMW9>_F?%%8Qe0x5g|KcXTUF~W$EBbE$y;S2^7QqFcQL- z$PXK3vNHJ65KY?18>y1B!iXQ^hKm0Pb<+MmpCIh}t9 z-^Fs1?>~#vdr6S_KJ2i{ARhJ|ZKoXP2!0}Fn~silP~8AiYVH}P=)lG3V|}rCcOF+Y zq$yHDuVo7VGZBWygAL~M|N3Nx;}hJ09Sg`0O0(s)j4jhbNjr=zqCG7Ne@fL23~G| z6kpMd4NBcFYh>CMHL<%J>qmY)sxOqm=zDt}DMEuF=zOQZT%MAY$rmWLbeh%FSRm5N z%lBDPtI&GtXUf5RjS|7J<#fpO$f?;yabND6X!u7wx6B~dOwEccs*An5xS6ik9e+}R z<@l;9*=KRSlle=U*Vi^pqV5+;*#ss{;9pT$xgZ_pT{e&Oz3_mo2o;CS#3E)F5^f|yzRhpI-wQS_Urbgv|Axae7hIra&<0qGRVQ7Khnkc`_}NqszmccrAd{S`B-OB zSDm@zM&u0ljc*Ij{13TEmAi=`(&vG{&p*{D#r&Qu(kRT`?Q~=VWL&Gu!j3=RhxjG6 zk<4F51ioVzce1DP2t!BP<&j3`!caSHOi|)QGgm~wQ_$-|C#z;SBxgrce{F-6fpj&` zpJH-*zB@(?L%#b+JAnD?W(FVs`PF%;?iT}+kyhAuhL^rmYl5;^{x@4`*_GFV?#|=T z^W*O(lRrMl^p5qlOxc44u;ryP%gHriNTItL``bZ9&gocJV6GbPG9nxgUYX>;z7Ws* z2yX$0Plm3Ea*#UiM;zSGnRKK3KV7z5x5(H9jqv$UXHH3Um3lO#FB>QK+-;5%SC$#y z{#BzNFI1??5OQ{#zok*Aj+N;*>OphfSCI4qftBuy~Y_^B}I< zpcFq&vZnVE893&9TUsN}PVAW9&c*?H1?@9rRysk`ykiIPKTVu$3JXZZ?hNj|#Lq`NGePHhonysk6q3|q9E z7UH*DHFfRpCfgRZEAN*O^Y!CFa0(QbPlp)Dydf7$M9tY9;PQLkEGJ*7S^aMEAy+`=lxJrjlcCVEvl ztwlvAx*QcJi<}eY(O^ZScJMw|edM5TxIwXue)hK=%=@+8%JD-AJ7?~foW``SJnwCc zlX_y$ZEq(%FJ&$E?u|$o1eyUJ@um|oDjQIaiYC%LR+NWo(ab+rj4{mo5+-hfw1Mp& z$C>xtIH)K^gV1zK)TrGRm`Yb=Xo*raA?-UgB_sNL> z1R_!j>N$VQ^7S@^*R1C^z1HGwoCY1#(4q@rr-F40Vo=gmP-0YIG7;oAhSK&U(;Zp! zdc>>LYSXfkQbz*G)DqViO%p5v5pSG3ze9We_FwyxMa0A(1{X!!8d7z-kK)zGb7aGV zw_%QcVmnPb44J9TkY0>W){fYKj4DAJPU9Bga=iSIeUqYzP^rhbvyCB>zZ7B!4;cID z{L$vt$j(WPSyqp!%iinSItw!@)+<<8KbvbkrSZ=6LNIm`R-OuN8K`Axsb#@~u{tlr z;n6spCEoj7ag=j1y!{#h=6`1Tmuum#G}ZmS95Y0qBfGR}I|=V_D4*i^D!6rdUwi*@-nTkPi|s_f zsbKM8>;VU3>l0%rKS__T0HMglC#t-rW_dhwBzN(~8iPzm^Qdc80=0v9{;d}Ou8Ec* zcFD_OU7PW=;O=NL3Ru2ok-8bpzCh)@fad4VpMSri5VX-|$#4S_QR9`S{0)ykE8)NO zxAOchl(zDF+4^v`GMJdNJgQkceXo|7pYG4pTFP3@N2!Z6ixM@`{$VfB!JGbb^t33?#3oWL%l z3n*a)fq$kAJqq;Zb!@ZU0yxV)i7ifda;_B)LBijec33?^80Mpbo#d8d|WBt zxI4=1>2krILa+C8nWjSA<9M+aw~RlMD(@0Gl9ZoX=xtRjZ0SqXAjmUHCA1Ix^JDS0 z1Lj~aym2(nocKVW(p14L^XE|nh9Axxvf%MsMw0rdq ziK%Fl#Re*GE6Qx9`=6X}#RjLXO~5Hq?OSeoFa-M=S@siWYG~d5atp48O`^iGIEl-2 zX>q5la2JcZXs%y<@2)nJ)UXs##{(^LRcxE1t^9{y%?O)TY+V%3o_9%SQLYFmsak>= z3u^`v$2lv%_9bSqx)5MJ0eHTC64!%8x3)z5qz!o-5MVYKHMKng{s?;1YCSG-7zS%h z;#HtOJ~`+2mh_n0lKztSeyuEiHpK5db@$_YY$721s8jo#$UKw4V9vS8TYsWenf>{x zbZ_?PXK@){E|;I$8%V_nW0C^3vW;;giE1MwgIZ@*0F)J-JF*MBzBHN?%Ac{fuAI~l z#)@eK9Ar^weTfWgaBr&wduMQqS#mv#(6u|ECglnur6XG1I=z@N5Mtjpnrd=bz~*kE zC9t;pwadi+ibvC>U1=vCrW$7IyA3v{k5XZ2Rk^x98x?zv-&HhK ztc6`*(E=F72U~KTmV5YM#{FNy?Fo$hW{MUla?fY>Mdl|vBb~gVvBuG(u6C{JrOzo2gZV&v z5(z|6)SL}Rk4e=0^$?Q-qerj7sZM|_JsML}cjsI*l(k8}V~%anep4B>%0L(buj{B{ z?Pf~6slX4qclq^x9YqbV>qpdOur=WPQ_9_)la)zol5?J?Ar7HM9~Cqfx%YwO?|ZUM zl6`cy3hvFn5`qCTA zn?iipWV;}Evk@ni=l5_c;~{)d(V6GC(c{>QT!1|?X&Ef^6SwSPk$I*Fw?h90tk!a` zw7`bH9%AWSt3M*T&jA*)&(tvRkT9wO+1~6L^!wmNYOG0YCOsGG{vZU@L|HXCgrkS( z+R&S0c?8Q7K>&Qz240_fJo4#?RKaWqC)138juXVZZZ?@5dbyGBVNOC@${PLPMO(_z z<4t8Byl!H(&8Cx@=xQK_e|qHl5SGVSOQ3Af4`kDNfOr}R&!y)+QA z>-B0&@$Lfc{lJ0Nr^mZkl~}1q4~9Q7eG#v?A=HBtWfP`WG}DYWvfTv*-#3^AYb+<2 z3Tm;tk(+|;8n#FakJ@C@xb%$&CZ z8(8)Mi`-2SIAX;Wn^n`SxON`fL(}VSCq{`Y!fUp&y{^kUucgcT-8NbmxMQFz?TRAay z5@b{+*m^w}@^t!JzRknE0pxx7s!hn|*1|YvrQtKv4*htGePqpq3iQk)E5!x_UD5!vy+{e)N2m~p;vzmpvS_Z@y(f( zh(^0Dc}xbFNz$!gRu0B$$KB=eqc=%7CuxJL@6U~pa$Efu!wjr_~G!wl)iv%b?w()7X5nb909wpG9lHc zO&$5}PurK@s%ko_1?zARj>jga3c9I<|CS9<5te)^{e09pa^>LRglFatGsWZN9>8ie zuCnYnlpU3=6(-aDgKpWmML2A~c3?L6rv+~y+Al>bbBusFFYsZJ#v1?1eymy_WV!~s zj*m8}Vd!RBX8_Ii_zpgZcMAN{7Ke1CAbTeAZy7$jj3}Iaw%b5y>c#$(~y;$$qAV->vSv*D}Ann0XTVrXo;X%NBH{N2@iFR{Xw~{y9 z%ei?k+NxAEZ@m>ilQx)B&YdD_#g#O%oX)AD>z-=h_nc{ey0mi(pUo}1B=jAWNfpWx zv1WRD0xXQ*oOCEck4mpAop)5*8zO=Oq&Kyfjz+|elNan;^^X8LDRXj8%K6zs9|%UM zSq|$2aQRH_W+GwBm6m4AUw-qJg(9Y}9ri~u#KeRLu+@NiAm{N1pe8ByIu!m0EEG&2 z5+w5#$6hL@QHiT`cyM;e^hDxnb+y2AezUKv#7F}x{!b6vdeFFI428Je9}M!b0_?iE znQL(D;gv^w7_vBmSn1~)zS>S>gnG1s7RlQ`-;s{Fn$kD6FdwjJW{0;omKPo=xuolD zTOaPOARlF=?hg0?I<=Rf_8ZqIZi`P|Q&YaiyivnY*LLQ4R-VPdPS+g6Y!FeH6{+ z{d1+_PBP&fBIUlRQ7Sr4ZV(P|gP=U%F+`m?Ku5RUO-J8{3O5&$jfuMpD!Bb`cAG-q zKxq%^wG2C>?^}HDDBCf)=bj#p{WHiO2DuuQPmH6;X0`VMeFW_mSpcy0D@kkVm#cFm zyN3nS&sh_LMF2vxzp|Rd06ml+Agk}C%&G6?@2c-@fp2|dlYh2ID`t3v!q5v!ngLf) z{e9K+_7F?gMik(&P(i>$3A4#+OHakR$Ot+Ch{G~7;P$BkYbgsL1L{>~DmqObyp?^7 zi2)wV4xPBF&tH$molC*Hde@1_OSNISN%$x{K5xI0)3rI)`_RU&-IA`%ZXmmRVkBsz zaxZ$W0W1;f{8b_NBjG8`a~>XglwdYpqSGUY5k$>3`g?^Ihd%QofPIIeQ7Q<(ahFAN zYT78OsR^ww0G7T5pr*K=52~WOFWY~{Id2ciI6CXIpU>a7ZW5;?PQHBxiAeKUBfKi? zAbH#03&VQnD_n~PCPXsYaj0!|Ba>07DVJDNHJNpuq#F8L>PI9xn z@#vRNv`RfGsLd91l8WIgqN)kQTxKVK1=Nw{0Q7CXh(Y{!S;MxK=V|FDClJI%q;MEf zq|WshbjhYL*{(@Hwy`z%ex)_mZJdGS2Eg8yO~%r+9ZLt;8a6=|Mhob702oF4jm?H$ z5m<>!EiP=~MG+DQRR2vzFdoj=Bmwp@Fk|3v8xmi)?4`t}RmLGtlc6!Ap(Ziqfv7Xq zIZZ=}@W$NkKSKVwl+yw!ZQ>^%}zee%u8n=l7zM@K>}dNST=<^5w} zO3T1jPDYu^cDbnmCf1Y};0cX(TJ0TmsPF{6n5lO{mEDj%B8kwtH} z@4Jd%h;NAV@JHmcy0Bk}lRHvPVp8i75HHoYb(VTx9idV5t>}~a zso?~v6D>p<6T^tP_13qa*~22CtmIi0j(*(*O~S;PIUcF&o;b%Q;?XB1xV;RCDg0CZ zRhfFOy&LL#4Xo-v=bPFPOk-}G&UGm^GuEuGODMTyMxGHc^@D@%%$tt#hYC#=QvSMP zeRIfK4z>Myi1^+4F7f6V0t}I6QSXH49nA7=*DmN14QD)LH^SkjmV5IAuVe55P{0`_ zd|P3=*ef@il&*m-72oZw%C^FP_OKuQCLP&&b!00*V= z_c=it=olOh*63(9`mkPf?dn|IfxE1yd-=C<)V4vM5EP@w)y3V3LJGug&O}2+^4Nw@ z@~hp7Kru7o#r;m-*S4tlzq*-}hdDF~z7ksY#8MR>CT6lzuurb)ZH8Nh)T+Sz0gP<| z-|TtT49alVWs$R53 zQ!D#e{0X(@d0F@{r=Y%LHwhjn%WIEyf=hvTH@L_v{q4@>!D~-m&gprat+lrl&rpEc z@`$XU)m~q&BhyV~5s!|unmpz2V&vvQS3X^8+lXK(^8zsFXq&db4?M4Yvj0r99D2RX z#Coy!n)Rb>^O^yec~syJ+w)!TesCYSuc1#Y)R#Z5E}vE3Gd}J$&BB(orJT6yL@%|RxH&(--cS9 zaks>GOz9&oi;le_H-?HcK-Mi71GUdZyo)Ir)3h$@=4@wBMQCYLkK#2_lkN#7Os`tH{&xyL{#*Lh#Rcb*$81|xuQ@ed}@0N^B0a3uIpD|5% zCP-`ZCxPQ&W~c8+G_@^Z1}CtA!JK)0ch#-qfgfa?)I5{OkGeo57&}$P`gz2J_h=@? zN@4(Y`nWG1b5MNz6hF&{IK4Zg8j4x`n{#13!MgEwINRjSR&=3Xg~}ISt`v2AU-o=F zk=M)CCtM;)PNFAFP6exemUnnpMMh*%Dz^c&vm0N69l9)m+T`oGrkC?%0}kHei*zsM z@Wr`T^WWFn=PAJ1jc z#o?axduE|@F=42Zh+S_bj`)FVnP~4rutW%iPhdBO_(rrYrX=1fNy1T5edcG|!+b^^ zD1WO)f(nWdvC}U@_v_2CIcVJon}SPtkjh_1$O&(<20nI1(p$+t-gi0|k^AE;xW7 zi6D>1PmiOsxHBWgJ_M1ptLYRTg5dUQ37_9-aM2lG9806l`5J4ni>^r-l)0W)@uU|E zRpxQY&XFx@;-?`EsT5L2KC-P0jsRYYp+(2%QH}{_PUK{Vw{HXU?-#)yrdB=E?t1!M z(#Ip7jC7tb>$lVC)Aiz=Mt>~eBw&v-UMh^L|pSz~qCQ|?}us8SI>bD2# z-5^-pqS{(-(f{xmUb!baF=1GP*(#=}QY}AaA*+Q5-M`6rqiR$AQ8A^p_XN|a02=7z z#3U)SezB;~<-;PltHMu6QT8%bBw4t<3Z>Y8jgf|{H$kw;r6UPhChF;W1Hav=JR;*u zH_`#2Ha>U!b^U&9+WRP#gl?v$p)a?T#uz%@^uPJK#P4#CYYTt4Pt4|17iA+6%Q4B) z4`DI*;a>kqI`nQ{pSbK|GZd6kHVtmuAaw?4pSBSidkY=c2M`7Iz)8nz1iLPx%9(cR zWv+BQbiFlVw%4mdCDmr5fm(w=!Ig8Q`jM#oEglRN_ zz5XDzyg?nryIX;>7nlgzrgjJ?R7fXpf7N{!Z^pq}NM;d9(pCg6n$>%)JcRu>Ud1(? z5DxM#N-r4`i)fsxeUDDzH!TVujd%mn4;;2{>fp5R2+*G@PfX$uWX4P1ebw<<+CrWC zTGg+LXer6yaN6>WgzE1qasr^bb!UcDbJ@!L{J-Q!p@|ivO*WDkq(@kcir7dP%`_hN zv5vsJ`!L_gzzeVb15N?!>88rB}`c*Dk4Z?!i+kpU)~OkPJ4yoMA8v&Q-&Xcx~}dy#tWD^nw)DT2h;t zE@`9MAkAn&T4d)Nm$xz^72|QbI7nz4jDmE_>Oa!A%4k|PyiNpy+D!H%0}fFiXwi~} zk7LD-c-(5&aZs`Vs4ZcEwYB@piXkYqa{+rj_AXd7BucCg+pTkX+j`&39|%k7e9=W- zcDf7ao`<#|z`=fK&_v8weE+?_oq`{iKpEBv>|R=@r{sd4Q5=EoV3=11K-%HLW`NuL z_K&**Q&%I-2~&jX)`h>v({)l5|BWeJv0QKNO&-0mx0$!V$3HAi8r%uEilfUvbO${z z0m2oML2JHV#UM2rX(AjBEYnQ#v@9&yorKJH@E3=V22ZzXV5E;VRv(Gu%-Vxcx2XgZ z-H}1mtb%VyA%@~5$;O9q^^zMsG5mrtlgkd+D=;CRjIt&yRdQJ6cUSUeYe|sF^w4vl z#zLeRY@|pbDLCq2Oe~%#Ilil$enes^TVee*BnMhM6k%ktfxPx20R?&05a>>Z9;ZpS z;&xf=xGAX|*YVpbrr978zSz|>{zvGov#708_YPYZ}0`c4cArF?aap89r(GQzjh^Q3Cz>uH7 z2jZkdd;(CrhAR)<00sUC_8`Tu6wMDc=7b#@BnY>4%+|)*rg{X}- zw2cMneEmcwzP|{{*1M$5SX163!NZ#}_DOUosN3s@&|D>8f3r{Bcwv*8^ujK299Kwb z_pR<`$d%wA=aiVjMi{P3TO1VAHw(&o+~Qer#}LOH_rN0f!6s^9kc@iVZXKl^p*_6y z?nsRIC1HDhr)@AAF5h7O2C6HdTmb1}Qs<<%ehG3+-o%yMscxPw1OiPSUj{%W+^HTi z-PJ|TBO<+?@4ET+Jq%~}jqug5J?h#t28lY%Gd+8nR>KO|k5WDwcE;&BhOe@sQP2#P zIp7-nY^Sk5TuXAEqM~f4k;$ycC|}D29W;VerTCe-hzeZRzUIB&o9@tWXyBlBD79x>GzeIv57nGpd5Z$ocVL-Xz2K zJk3}7u4VIj`mU;VR%dyWO272=7&wmU%>i|#`S|n+>J9oi8)Tf+@+VL63z?gQY~%!> zPg$n2_a2Y=(UN!Z*`jgBdC(QiZsJFOnQaCXKs-!oN+&ek=wgk$mI0*?swCXyTJZtUSXst>bMo$0VUgr9 zWTcKXuF)!+%8ar$Y#8R>z{6l31@pp5qo3eTaI6G>j_?ElF8JiZ9eJy$Kz8eE4`lOe zf%n$IcH`DiLF48*zI$KMt$!&Zg-M@#a0)ukP8eY zP0)l5qgvh7?`z~2RhXMa>dcI)rI+tmIUMiSHCbI%KR)OC1IZT0rWeeiB#0%Ly)S^+ zISu#$B@7hY4GN~=7(u&k=}2b#(H=^tk0Dq**R3qwOsiCgb98@Zz3AQ4o1}6saKiCt zDUo1z!K-H{1ot~x{(qA}W}*E{&K#~*yd35>m z|CJ=!meW-%l7Jd?objd9Vel%h-v{Od_^NU_XM(y~T&ntx1cxjdepfyv^(S?ai5_2i zS6AE2XeqLW_gawRJXb{Yk{@6EclKX*(ZrqY=JJXlzb{ay^MBod^2lsHz)K`ToW*+T zRggRhz>E(zPSkFwsH}Dw-GEwE8C@iL*?pHA&6NmbNJB3M`if%-ge%y{n*41*kz9f~ zsz7Zd7S_SnbcO3pQ|v2V3|018uT4k&c``&E?mZ}Dq2MxozEydGy8WM)9%IkLg~LiG z2oau2G@~Q7BGkcmGw`xalXHQZfRjlrlM;3>jLtqccb>i%v8yqyJD^`~(F%z+eUf?1 z*&%u5SUKa~oA?XRWT@JEsN-CZ%b0JI?|iO!ecWlVAMm`}mMc;o{;KILmn3gb0M%hn zS-wkT7TCw?61rZL_n`KVEiyU!zXX(i;!KKei5M;r)Y4PXTvUET?{&6F!&pJUtfqS~ zrMh*DCQbc!6Q_dW@>FDRWNhbqo*DLZQV&J;R_L7QV2PyGJ9Ns?hnGtGn`xOEuI=Po z-k_MX-6P`5hByfkjkXtdcOibvfQG8}!}r>Mec|uQR*)SoCnNgGuIP;l^gYOj7E31( zF&hMEy74=50vE3(kKhcga%7Mb0%Xq)0e0&w08K$=-~O-{aFcma^1ja6AWVQ_BMnRR zm#fEv0PDpqRz|s$e5|*3hH4dYLv69aeC%lQs|AT~&Z$FC!H1R{vT;>1=gT05gHfMP2?!#0Gf7%DNrGzU})vMm;> zfmpTUqmaROm487gYj^_G%7LvrS}qqY zu2{$qEEZ6;ZDz_cG(fs&Q7VyYY`NWXxdq>6<-Yb{H`XKm5U!2|q7^-Ox_o zl|RyUeP5>K0Zf}#6z4f#m*;6uv`v-S@O#R$TuPOtc+zDu(}7KtW>p}&?;4&q0C0;g z7q=SRJ=acLq4XlvAMOH|GB14Gjun!WXuPx(C2n;MlgoO1L<(JhITp8MH?Nd*Ir$2; zR)3@AGu*@xfk!|;Zp~L)+QK6)y#%RLgAkDDV=KQjp7u~Ma&mH}Wn<)ethOPx54a23 z0_m=dStDV)vtjEvm+P<85}zyPD?G^&!1n|E`&|I&YK-kwn6?yZBh^YG6I)N#wE3Cj-*eDi0?K-Vf*lH= zAN{Z){Ot_ye5m{31%p&qmMl^5t9M1{=oZh(2Ed%jGhj>SJ#Z-P&cHF(!z8!;!_VT! zBODBsBfo$hA<0eUO=Ua16Yr4+&J$Ix0Ea`&ih}|s&G|of3 z<60Ztt8bpueAT4O@Ga_gzc-WmoAiw$VgGivRP4j}%RI@}V3N2P=~u9#R+*j-lk)qI zEO*2sZ^`p3X}VS$fE};Mf|76)5qQB{C%eHVvyigamx`|1o~XGK4WenSHqlE?7E|S} zDTzCIla8iU5<1lqE&?3T{Tfc|Kg)^aU5u57(GNh9jVpaWw$>#p*o#A_QVvjRwN(2_ z3u%RO9tFAM-$BWuFz;jW;Q;}j(>mrNo{N5WhfGYGe=g$9KSZni;2ww~Szat=e(i7z z==78}G$olVV&Zv=nO`t!@f+94%aC>3l7^@T53F2kdVhvpXUFM?{aQe5UDNX+P#UD_ zdYaTwd*!(b*aSM(!j;*Gvs=8dY!y_0X|oq*~W zvsKTSOJG?tt;ZG7P?f6njqslDG6udZ0SIzruGnAi4^ADp@YX{r*8_!Y=LG_P7^0$i zScwDbJ^bNnWpE&c9XB$NB@{Qr3^4j_@^uM1PVxW8+gnD((R6*kArLIM1cJK+2$l@4 z0RjXIg9Ud9gF|qK;O-0(B)Ge~6WrZ{yZhVZ%5^`_d(M5np2e_OtC^YZ+P!O6)qn5$ zHHf7WVXOi|(n|qq6}u7?FP6Kn!Uy`O6GTM|5Xh2e+ufY1^ zq@Nj~)0KN8bM!>`lksQ>}z;w2%U60Yttmao5Kl=GYSDp32hn%!K- zE|l;~YeY3L^ZSUW5Vu#3$16>h6W*J~LKYil91uLI$cn}$3)Ku38yv-4Y5^Vg1;g?e zqIvrz*D~`3ZW|_N)cWqqpbwBTGh|E*iYO+AlDlPZbV*>}r?hJoWClw?_Aczkes@yZ zyzyLVlQ$`BVtx4F8**|XIWZ$(1*Kmv%tXcpU(-QbkkkHb^ez$Pp4y=Lr(vl-32 z=#vCW*=S{`ZB((5fy92Q3qcsY<^2hPa-J9b9e?!z%ylz|qGcXvsAE-x>*0K!uJ*EU z@#L~1q0E$!3s{TGxQ9%+hF?=POVdBiG&HY}XIGB359VvjPvsq_b^H?WK0EN^ygM`= z>^^7J*h_Ifux=rtbCBoCV#y*#3unJ@Yr zLJ(MVYCm@E2Sbi*!EdyC`CV%ZskCSmIYEOgm^H=KacTyM?hH z<6S4L;xmOMLQtUT4-#Hj7;6YeYopYJCur17$58 zTv3&{6Qt>A8v)^g5MW66t(O1%7(X9vUX;TLoO{<=(a3s(1A7nGW`T6_~nKahpT6d z8>~=uf5mLEi;0^yxOKDR(te9|L#i)snNJfp$;3kz#V9d7X`8h8j&q11BhCR;>jv0W z#knEV4s7037#ufMjeSSj1eS3!43EycDU5b#JW_htTwQI9juba%r$Z2RKD z@*0)2_9JTIMQDz`Y(Job)ui)7C8Rm(dMXIRRGdFHKKjwp&(`OctAa>|dW=ZgP@(6P zPzb9l;2TTogQ!V(^sRK8Y!O&+k$n@qE87MbIE2Rr`~=QF-24gkPus_vfwgK^bawJA zoK6uyG!P@>TnlComYzokyZBu_hgnm?Md!ae`mo0Loy}*q!+|b$tHQ+SJ4)h4%-1Cb zN0V~e2p!AwU-mp&e>R7l4e` zXJgmx1`|?u7go#oqjW6R?pk((02P0{P%GwtX7uH`T?wGWzVO!aM)?Kntf}#Q3FWI7MsG6G z5C_L%mI^jGYrxyDzF3D?XO+jW69ap!bw|$YIQvn#hwb(3n-xAU+8W?BC*?8p5KmBj zD!SoiK|MI);OLDg9*AoHS{zQPsl|v_(Jv=!doHMKVY{niXK#^OK?J2Q2VLpMI91vo zj!KZY<-7qR-I!1D1o@^rL4B>YNJE&VK6(=*&HgcS1ELV*x&f7ut(c-wcwOP^_+HTF(T z^$-!N4xk`2HgJB)EP?LB(~c5DJN6E^*%BRZ$CZz>mcpL(E(tWtnMLC1V{5S%1L2fA&!M`m-#I{Ebt2E2_~A4?i*@Y<2hsGT01Qs z50ojmob<02?&wqqAQ)lz3>zL;`?yu>qV%CdVX##;&>RFcSVd9tpSAA3yr?7%3L3s^ zyFcub)^tGRn+l;^et+h`_^3vX={)^{leGA_2f~Nhfb9w+g5^5lrkhK96SvQC)nv6M zhRw4BM0u7eKwPgWW#TG1nosC&w3MoAnaf$_SOjMj*24lHB}Cj z&K;XvnH5+BN^Ul~qHYuL`^(?S&ru;8siq}u&n3K;zs!aVj&qT{@g!}%?Hx!sdJO1G zV8KT?q&xZvwNsrR=u2pc8XTKglaU*=9oTfEYH_WqLjh zhIJj4QSP{Xs@>xZ4u?Ndximo6j$n^q7u`|5 z<|(woi~)9aXnG39(yA5Hx@W_x9kJSh!!$*Tqwj3oqaQ6!t~QVk%ALFL^|ZKjMZRoo zs}W;#Oh;Lla@3oz`ckv0*}yp_vmsSJ=@>i(*4vPp0IHZ9V#(elr)#csg9ajlcxtcZ zTiA(`kQODErBsB_N)t-lZ`7K{ZzS4ZN%g)1A5KDEj$S9rL< z4$i*iY4@npFEkDLIaDh63ZzK%qC$(Ef)p>a%eJUv%;yCkx3wxCl)zT_UqA%fya%oyxQdh(}sWlaohzc{XPs?P%*bu8=l?#{YUS(O*K_}2UeS>N7ysYD zW`TYMC)A$*;-$#ovCx4G4*+0;`?d-LHR}RV{==Q}e?q-sf{(j!PARkguxrTRBXMEH zASX_Z|8EFg-M9TW)5aM+pmZ~1!vC@MGx*@?3ZSwINPPbMsAT?7GXnpwIi9{pq)Tvfh#&92 zo&l&KtcZB`|1h=4$uB&*|G98~w7*6H+iIsL8`J)^zy8zBTjfbO9;m}y`uB!*0LKEQ zi3R|y)n6{3CmjpmcvQS8R7sAQvVY(Ar;B_J@7ITaw%bKW^lzInh@X&pKt?*?iLmo8 z*zdoi^8(nlQvUN6T|ja9uHuz_R$4V)Kw z&dsDGLU5wD%sMpU52rVrCwWy%&6Z|eY*`Ibc;NQ+c2Cw@H`t9(t$1O}? zh-m?85PB$aNz*A#zoWC;z}!wdz4zEF|8Wt;f&FjKBZEKb5-b1`h``US!lG;7zce{< z%_n-7=R32Rs!!j;2p9y=Zl&FB9BU4|t96=#qa&Kb;^^In!edN1kUQcV5!kThZG~OQ z84Ks4X|QRfV=NF{nYAvq7#5oMm|)@EXq&^5=@_OUEaw?p(GAHy9D-F$e{Icz5i~6_ zC^FaqKuie#wk z^MYKR`^cx*B6X;x7qQ%1 z(|x&_0t%uRw2M;m*M@C%*pI+z!}p#b2~SB2$%}`Uo8uJOzlcG+CzDPVEHNH(n1Ahv z?W#-VH%(zwt&@Mn_=WtX9kgCM;O=-+V6;*VJy+vansWG^(<9}VEU&Q?77`f@JHeji zdmmJjBefb~%H)MM;%Z0of!5HEb>D9riV;vi8^yU4U_TiR{hPh(u6~pD-)3wUBW&9< zw+y*Ib?5SnCu3!j>-#2&o#{AP;gwYOYOOjC8|eQyPIG?tP2!z6p5B=*4a(e~HSII)e5=+}e2Z?q!|Bi?YdD*HTX#1o zBl(X}1yQIF;E^dn5$p!YTwv=n*u|mg(7*S7MEggJ?wHg03DTy757~;lOtMbatWKTA zrffZzFp3WWBENU@?dQa5VACR!B!-s|s-9ejr1oH*8FTFb$O&Ql;=)82) z2_)+SnGUx7Xn?5t>zGbjL|iW3wq&|$@zqeww5PQ5@zDGmB!C-0motqMKpD#uuBnfLBM!OAF=4>YN2Eg1MFTl7thnPh#>udIYr_s@kuRaMcashON@x~gd4X<~ zx-;QC2e&}NZ(R^fz^BPVb(rR-H-n=8gU&xZk-zs`TV7A-CRPhfBExiZ^ zMM*G56Soya-zP_G7wP5Af zMsokov+h)PXpQuk;jb7I_RT)6$6pHM#$Ewda4_)4!LwDn##v25#9WA8bwd|uJcdGzttCi-5kRu8&UXK-p%K5n5o)K%iSuA9E zH{2fFc6pnOlqrf`dE)y{%OA-Lr(jeS$l-ofS@)%PJ>TUBpE8|{`nJz4ij!seRwSqC zzKQj^jluMe6ikF(G~944z{B>R+f;+!Qw)R{9Ag`xqjd5gszG@EjvOki;TEMxZOFWi zWQ&5FWrPpi@M%ctSiFfCQ%DqOBB>H!V7ET`Xv@ntRMRIbL)xMvN=rnYtA~{t~CJ-o_LyIOiIT@3J}cgbh00H@}AXFc&cT)yPEf#>mOQ z@%mu^qWh}i>|kSUpD}8Pi__(HvB_?t#}>wtoQ!jl^Eb(V$2&4EmT;}7GQr^o0A?|Q z?jWGY^OpoG;{9|(@PB$+vaeoRvFVIzb!8Z}k-AHmCZ_`}=yty`@X2|#j>vDsEGQzDA{=fYV7n^B>GAFoh_hjq`D^0XfLC^_#><_^2Xqq&Wj1mjskDjVTJKS}<&pNWoE%2Ok z9i7Rn)Wz#F39}js75`s7{e%JN=^GV5k$otWgVqnG{}~gnfl3#;nJd^M5ifinzJ?G2 z;hd2*#NT}9sb4~Wz?C9d#VsfJtid9n#@O=Fj<+0rOFY{Y=qg9ljdG^u2@Z5!tn>@G z92fF-(0gBB#XW)Q7@Er2=^$w~5%W8d!-DDkIfv9Pl-0Qjvxp3SAfZ|1f~4aVacb*9 z)PhoFLaB8-tk<2#DreqcVe`0G_}t5>U#d2rfl0N3wKPqbuX29#h{uAiL(l`ijqbDJdu(`qQWd1{MLS#164D(EEZ?Na{0O=zl zWQ{K`(y`%EoGcpj;C^0?-Jd~Xw;DPys9xmO72+Do*=B<;?>?aUTt z2Wo`xU*jXJJL0@}fKc9%v9xav3pcbG>sehTqN#q1!Y}CYjDX-OPGR7Maog zpwpwk2K(J^4YiaE-@~$kgYUxyX%B|1*mwP{?}yW5EI;=L!$Wx3_3uMbzEty-EHyBE zxGikT(NB#Fwc&ehEjZL^!C6dZuv%L|3iLOTpnn6%$ZGJmgY0v7GCI*!sb#QQ47-`! zAY4;LY*K)FIBa=`AX10md?(F35qTHNtzG80JPbUARKC)F(z6v#cyua6k@(5UEAOn6 z-J=mU=S7Ny{NvcJ{7o=nNYq&(Nqen-{rW4vBVvaB_sYx^H9skXadt1_srqn}w77!!Fy`{R zQC|kEi?ysp>Ky@G!UKIvU>x|<+%8Fi7$vQ1f!N&W3;0IYM# zRmk*ex;!BxZ@%pJIvr~Yq2MsXuQGws_<9optEFeMjUOYuVEjJ;AgdvW@?Zr%kh=9? zuY_VOOD&5nOHJ!Ji*v~ezo>65bXRyq9=$4n(HN&3uCTFRB5#|yz4Do~K{8n(_r=|fEmF}tsWh<+S#-T6WJLt;5#-}dd}o?V zzWNN(&~#q+oc^55jnIcAOTVsoT3Od+io7B6%nI(sQsHxDW3JOaXm@1!hffY#+0-d#GzH(dp+{g`KUq-MX8f)*Pt{ z2SsYisp{7W07-8xE`$FU+ondrCdt&hPesE^{ne-a$&D^2>Zn@l5sD@|^f65Q z`#-0!KRTWzbht?ncD#hW#sn(tdlFWC1%5}lT(SX_I9C)SdFF$JUEWdqMCHYY_h1sh zON(I5;RbCJt+PzaxW-BW^~A48IR$P|;isAhkH$nNv%$Ol2HQ<#*|%b0BOoy}n=Lg86!bhlq>%FS z&hat3DR87wsm9f3iS#>UuyvZ%BA7DyRU>h78y~=SU2IY&?(IRTop1`&3}$Hs(D*G6rR0%W*<&R393Xxlu~90DBIL1+?H~4LKDd@e}8y7htQF? zvt-og@mljsRi~afkv|clMqb5>-QFr1cw~ep6wflz)6`-w$af4cs2r7 zRXU(qUxml2=^77DuHAy1ri%|xm@tR*smA2;)iyfKoV`4;;$qT8pZ4o2B7Rh^g#$7Y{ z;)cf`9~As-k~o$gNTlSD5#w|DY${UB#2FYkW5QDZv0&DMu!EeY+4k@Ez!WWe;Pfjy zi5?Fw94tQK?vdZr5iUxKkizpY7_GbzL2qlZb%iDqbPgX<8Wf1ASkz0mc*DrH!QQ9mZd)RBp{C#@y1=g&?N)T z9wdE+wjA^Zi1Kvs1wHSK8b2&5cN6945WX}s(R7ise|w1E5ptLImo zyW_^x3(aez5GPJ^)Zhbh!K-h$z8Dxps~8vlr#@uyhy?uZ86Ue$8?p}#oqx_4<7O&E zdl}&ry|6;+K!HPk)bl3uT^hQj>hJI-c-L?075;%JBO5&E?SU>j>xB=f0jxpNE}AEf z62M#olf}b9BEQNYUL|Hj;Rwd)xdrf>+J;ky5Y4VLycfjFiG4LH(JLa&^VyDNxAnT=U$^PRNg8M!VP7~ z4f?e507a^^M4+YJfe6zB%eos>Rh7=t$=NN5YLWvV# zb7TjV8BgvbY7{bxS2V9&Sd%0imECsxPK|kV$ts^j8ev#c{0>0{d=Hf;1Zc|C)iZy> zXP=Qy9~kt9?mq_8z-8TST}n}|wwNMPV0ZjTcPbHtc#*-gRfu|x-%QhJiU z1TtP74>WJTW!Xn_5{xvbEp5ua;FH-h8(Fm{m?G7af;Zga_kuN?7M`VY-vjyM($INd zW!+8yIoX@pq|rB@;#N@oWymP~=PKkhS_=`tnNXR}_h@b3%gDaB%HbxL^u1i=(D6YN z9(zrS@Z2DszxXkp-n1G)Nryh~bmnRFSn4b{Sy@AMY806&EkXA-t{=l9VdK$r-RG8wvm}%`Qt5_!sGsK zTrGDY+M-IDW8pi2SeTA%~TncPXET#L(JM@(OO9rF1 z=d3`0NAH~{RjKw`gFY2HH>qI5>aYSZFVFhY9YQY=U6FoFXteFJb3IZ*)lnkWw`@Gp*g$6|+v?NtChN5$ZfV}oD+9AS&!#BN=zGczh z)#v((smqW6@2eDFdHOFd?l!yHx7|Sw;-bV+^du@C2$QO)s+z9GSzkOmCtp&2+fekV zljt2|Brb&Q4eUOTN7xrfp+X1zhFVswOskA3z|&jrnYYEV)cbdWoLS?*u=H&vNy0lg zik)~qwu8_tI`FAKlm;-5cL=^k5e&axE%x{rMg3~JJ>~{rTCkaa(H4yqX*3ZQ|G=1C z?T$(#n?u=9bFjS@r)YxWk&v_BZyhy^`|8P2)qH)Ket&|*D4?heo()>ma$)OoMzCYn zQ{&b%Dj(}b>0HH_E&))e>&w>`-F}#Wjb12E=s0zWA0b z9<|p@?`5!kUhR(P>%OMXZ8_|%+39h^O?m}66OTD)6&l9GxUVa6`_eF@x2k-sqfmoR zIU9E&4F_~*3K?veY(`2eRTcbaMv28qxz-$7!)>fbZp}?lt=MpOuB5t>S&!>7cUmmq zR(u9JR|Gx_eoNAwBLV(x-di^zK}&zB>A}xw+Ye3rGr$sQ`8ryhqsF)&*`lyG+gVzp z&>p)31lJDXW#ba9GB#_s?G13OGJTkh(FH&3i8YJ>P~{WtXGytB?<`vCdpCdr!Et>Y zF6`12UKJy?R}BC}=CiT5Lrq+jvh1kb>F2F4gj(H)w{3cPlToY^ zFj($JVE9{s{g50W2M&!wm=QelbbCPA-E$2Dec}h~CD{Zr5HNsZ!ItW@SZ6(+D-T8! zTf=xqElW+&8L4I_A%PE!m1mzaGf&y5)piej3^+ISa;6Uld$<^hZ*qs_bM;~|6Z70Q z*oA)`P*r1hRFK;|UzA3~LL(#-=T>j8f7q7pqxYeLp@QiUggi;q&_;je*&uvz859q8 zR}P+*1Qt%b<&eGv+m@m^9BZ0YelDw_Zy}8u^dRc%m+yE)_mU}a&0>p66U7)$dS(h? z$9@aG8oZ_YG&uU`oF(4!Q3`XuhW&&2VOs0R1TGQCLwPFUt9N(vNX+(`L)lC7Tz}We zgv%b4r-8&F;03ePrv_jl*OCC*@?xv@WUuUBky;Ls)wjvgFXY+nbOT1ius;Li){F>B zJiWE_N29*ZWZ1DT7Q4N`p*wFpcj9mhhn!r4m&GBw?`p?(%Nz&K2B zbs~j=h}fRNeF@+M%GTFozgP#FKbogdSG#PZOQnrr7AVvNv@y8=_0Is0MH_bd`5e+f znf{)9SSk3;w5OdEYD0Olo`uo>M8x%uXG(PNM%vz@F4VLX@M%F@LYJ@FDV}6s2El>M@ww=j#t5x80E_pL|>h0=fV7}%$ z5Sh3HgS*hhc#NnEYOP25=E0{O=UGk%iW&c=S1X?#_R3yu^CQIC#?Nvos9wg`&edMy zKUA~%xU-u&5#beZcq1gsyt zEGyi=iM9^~&rZrcaO-VHEjVOx+6VT>Qnz6NEi`8JELNI>G zZC(e(N)#_@ed<>-`zhKF8ZB2An5nWUK0c7F;4W>*U07+a6o}2%Xquo@u`3D;WC)!; ztCb}PlVU1Gf@xXVcyAE%k*0Xq%s?BOxfBN(#BlKREhl%+&;ShAA_zPm;3;2o_%hc@ zOMK#+7*YRgQ@*;$(oYci)@`Sauw+`GpDU`DEH)h0vSO4^R~X(KIu`3-JMLF<%NH-s ziFud+Dyz$UU1P;$q2uY~=no-1$McC^S;@Af^v!M5si#iVoaQdvOt-m-?==Dl^uY( zQ@TUMn>0_T-ns(wyUFo{XI}^!5IUsQ7m-IqIjQS>^qtQ zoj@8Hx?pCF-uSUCd02$KL&#BSVeD^Ep??A zi1{-djbb3xU7DRl=Adnv*8%;fbNR1m9;y2FOV<>Sj}bgfO>=A0YC=89UB7*K+ladr zIEmU{nK+TUEtNPzZMScJV#dln$kyA&MPzh;^1kE`Pkg^CxeMBVioTKrD=@3bHzSYl z1g~-lPzd`cQ*!4dnC`4)Nwp-UGi;V*uaePa0qGX8Q_!u0#v0geDo1qezNi)n1B;09 zaOx5kZGONpe_Q~1cr-d})LoxVKWjiBWVu@=n=X4_Mr%qH++FsLU?7+ZR!_VNuD4~{ zLw_2cahg3YH^FA`nr$;_&0sKLAj!t~H&G(Quq>heb?j6#G~2vXMOtY~PVt_PNMQ=; zcJF9^EdQZ=a`pl$;9j+af5Nr*5#n_!yqpBm@3xxM1?RqGXV&NlfET6+gCm>@hm1`U z3nfJeQlgUw2#q)vYp^)2FAC8PB~^z&gUq&1CNBC%6|2nKm3Umv6fj(DWvB?~Wk(lb zKbol>n?LgE%4#-*5`z=!HcPRM?ypGZnrw=5HAgB(jv1yb=9HQ>=Ozg4qmX5=GT&;} z>Lk~nmC%nF&Lr5x2{&c&T#|lK?#PhIcgfxV zy*+uJ#M&!zs$z}$!P2ApgN57aok~LQoXk^dW9d}ZDYu*4gi6TFq~u$5B#Q8Z{I#D3 zvQks;jxDRZLZE)88?87KpD0G7bIaS#3)So`g|-d%ZnlVAC4WR3O#&upgFiqO?xc8gliQ;YS8&U$21AA<7eEP z-W@p_2-))eXSJNQ+D+@;=mLW5x8_yg8|;b3IJ6 zyNxuJ-1zh(@X{sFPyAMK$T)RS6w*gjmP2~|Yk_|}kb;)4ca5|*?Z_TTaDL!;^)USS zpn(VFF1S1bFUoYLAXp~V6S0GWrOnvGL#BNOq6KPsOrey0n_prMQF_dIcNj+Qy{#0P zX&)_rZIZp)rZ#Y{CR}p%*J!GaxMBa!63z$vI!GETg8SPJiBd9@&nRsmv9aZh{xBmV zqw9+wng+1feXc4Qvay4@;z?P$eNs8M63?5sK4W{hGNyt?9l(v8Jl67N@9ny?b=udZ z)(o9T8@yxy1Y$a%?lbz;K~YyeMtLG<1Y0=t=Zm0N)l`1(0@2f|Z&%aX@y}>v-^5In z8SpH*zuA+;CF{uA6Z%wH%vJ1mqnckr|M}{%e$TsJz@5!^_i*@u*#xQVmHy^| zquYDoZI&eDWogEt_#4MA9LZ)QfQrgqnj@L^3ug9spIreIJ&H=_7g6;cgFoxr#q3S1 z+nAYHW9A)f^=n+QOZ$2Ad8?o4LT4~GD|5Aisl&7ZDEf>biHec0w!pKA%4Obin~W`; za0iMI2gvrhQ!$e}zLbE>R_R$V9$%cqn0gOKtI#{XA?9{si_SPv2)!_2Sgd8`1>klkHkP8PY{Ay8QS;Em^ z69NI(_Ltta?5e#!RUZwi$!1=fyS~LW|DXsDWB5zc-BGiJd5bD5+1kRv@%_D<0~dX% z#Ntuv{-gTYNJ?X#>I`1!sh?g~U}+u`JliWM72Wv`U&~wPQ8Pzc`t6PTk3*1=)eRxb zQ8iviE>RuGSC5V?RA^Nv9Q{2L41KB9to_L^-(_E_Qie9J%cl<=3IUaUh^i(F(cMLS-?gvNUu^Wy9* zoj@X6sXhoDU-r#pN~cHZ9tANwAJE`sB3Is51eN;2;9p_>+hzgXptbAEyNDm}PQ`!T z6Kd67l7<#b^8J{YUMFr^Fv}7~p^n0fQ(}EE>Fi!cBDG+UbWjBl&}t*M{?}5ZErPhP zUjn3EZ_tpRM~P4&v7Kl;sXokhg+hrwp%mf%PQUxeElUnzt4qYIL`wOH6@g_#>&RN= zrWZp;U23wCch2f5ZXm8MPjLhT`+fFY?Xti=)pK%`FIgr|9oZ|kkC4MHke0-PM5zwk zM294utYKNVU7NP5JoM=WKsO-4&$X0C+@#}(nol+0-C~O2g{E89xxe4dSa4cRw}NRd zWbk3lMCC2k{&9idBL-r$njhe(f*9^-QEB}0$+VBk3`h5ImS zb0{bOMTIaPEUSfJ{Oo{CrUx2=X zgk0qA)kU(iw+a=eI60*Kdsx7R&8$*G_nBPeR;Kh+DyJ)d?5}#$Da~*97me}S=Y5@7 zr*TDU^%ok#Tk{p$HeL?zb=Pac#nmt6xcW}1JWWdc22cq>-18Q{3$C+vGwQN#0;Z## zm$SIPCB;2VOIYq`?O9!s@Z$+@&s&aeTGTtA$@UAtAJT5n{IJ-D#rN?1-X-`nC}G=V zr41wqTNFdGJX;NKh=6osf8CPxF|{FkEv+2+*$2_i+Y;eYrR1m@8uYhF(#;&J<@eX? zvgFZn0qrl-3M)LVd^{6%$S6y5)h_wTC92!Duuy4HgCku`H)_!K>s2FO@*|t@d^>?) z1XIyyG%FG)rA6UquBk?tx3>Lk)sxWt42(dCDWCY9FUr@lC7Uq)spvw81!i`K-^5Ny z!MU?CTG(U|T9*t~*2{4m+pwVY8UF>bjpP#!VnH@SHpXfgol}_0)_?e*3 z`=xeoEiE!1Woux30|EC!VCc@cd5uIm;`3(%Ue~Jh3DUiX)9mr@tJpJH@@|);f_Fbxh2Q z^l~pNz3mxOnEGYa+~!_{(}$l;4H6A;yErM_G<3pln@o4@<)p%3tlw*s9wCPYIlI=a39(HRdacj2@FFW5--)4COE#?_Z6) zC)(5rFGlHke>c8>e4Co(YTdd$Rjs1vHAZ_|{Ze3-OUqT%e4=Bs-Lc79rcsB37=9EJ znr>a1;8uB`&c71nsBDZP0vgkDDNUg2@xik@xTZwUcHabndmEASe^EjuxN_G!i-@G% z@!K}sDqn1jWX45!+qiErU6t&MLM2p2FB(s= zio^Qcj=jsq=-H1+j+el-T6foX8tmbtVdqm}hx5anU{#&RuS$v!Ft24=J*+d<>@_@Y zD8uIBFe&sz#E|qvNn4(w;IKV8W5j-VAX8*tEjI!*z)`8^lu>Jr2D)vVG=RfYk>06< z<8&d*TRh?e`{3N&=xaS=7|9VO!rEwgC*b0%+i0nfqrN_p3Agoi$bUicB6T*ZSWm3+ zH4lD{20R-U6hC^F80RMLVSpO`tm@z<1Nrvyll#C*rcb!LX^+t@6e#%T_$ICFsQbu+ zt5d6H&DCo0_V|;=aw*O09uY`h?=AQhZ@Zv5I~jC)2M|dO@G~2KoyCK;(So!(yf};S z)*R`DnH{>(#c3EJymc5%N7g(c_HQJ;NK+IzXzvTC5YHQLj&RLi68gv~GFp(VN1b^* zXfI!yE(pwr#389!)F36>FxW4nJo^Yb%qSLAH&_x~v2kk60p0D+keWT($)+uDVsm%T z_gB__bhQqX=%8^!In~35m)8|EAGO9@a>{Lc7)W|ky`!R%Oem`guk48Q;7KUA@6uVP zq0HbVNbN0hu-b6n*XaK24s0l;O~wb00Uh0CzDjQE6)*a+F$C(Zn1(byPHYml|u$oAp}ZIpi>lj;uC9@NarORp^rul@Ey#cc>qrFEi5u7bPIF@zQc%sWB;AvxRod7H7RjQk zt!;beK4rsxe@jhjHdL9XfK*onx(zDZ*21S_1Z;r;y~>7xHDM=96Hg!MEJNNc-*3l* z?bEwyZa@uMoWC#fo0V`FonxhbeOR~cJs_ZI^3g(Zx{y{;HwuO9wVtF{E{D?%55yd2 z8+?h>eOEKMk&5B^43!Hjfz6nINQPa1W?(kljT zvseIEL51(5352>I_PxTY+FsC?(xxH9{~1bcUkgHnjh9mqQ1pL!bfk*g5&%qr`_tEo zZ>QNbR~wV{JGMe*Eb6SNy(Pc@YEHUlMU*q+TQ?79PUe{}PTfGFk8^7Bm@s01NC!0A zoeufZzA@gZMWSX8#kBkb`40)+OH*@f7fzT8?N{+vN&#Vb=FM5{qeIq zOFz$o*ZwFuw+C;U>M}sBu_6v}-DE-UqlpmIpLR7Xc3qaMx?0y+wC&t9o>O_{ebTyv3v=&HIer+sy|C zU)&F-gT_I^4{y*nP9F%|QF{sR&DksOblH1BkqbDyA?nWpAz4e`cqFUBUm0C@o0Hyi zyv6S|jMP30$Ml2{3BFAKSt)%#n$(4?k1IYNY79((Ae-E}x$C`^ zZ=v;J=HLPRLowg>I%$0xWro;yg$kmQ#gh9m`lcb<&lA3G2GY@sO-Xt3V5IKL5r} z;qF6}TdMcm=?nOsr|5OF>s*t4_%g)P0lNKtP6{g}+FUTG)IPYX0%IgyIDbw|(?Ro)+ag%Vf>CHo zu_oHTopQ0^ic7*V+`gh(bd51z_c*`QcHdbcdqLQgS%gB#RC-JM5PKkdKcG?3D;Q~d z={~<%es8bGKNAU#Sx57jQPp{+m-!GJ;j-=AL4)6mr<7~tR+?zco@@n`*oKQXBr8jJ z2xtzz4cboKvj7H+$Amd4_jOPNZ}P*q8GU2?ShnV#L{j8H=7i^CZLv=_-11}U%TL4{ zE+q*mMcUQ0w@v$w>@l%q1#X+EK7AW_%)czU7_{&OA*&w=1!lE>OuqJ45{{UPQW744 zmS?{eTyRvS7B-2AlEzaHwr=0S!;5<5ApFa*`^|@@tc{c;>-%fuIk#Ghg0I=8EP+?F zQ07PdTqB**z-a}Qwca~@UYiJ*8P2k(#oD;5OGuWY5rbLjrm;NMajiK!(-BczKkwlN z_s~kke$asJwU9608LrQSOyk`c&7sXGW{ca~GTCJ0uumN{KHpXG2plYN7QHiQx)i#i zgNa`&u({|f_zs|w2gsN1_q!!$#3-_aFXz%+WuS2O`2en8)9XW6BZVr$@^+Vu4pM4sQkxB!qX8<+lpBFug$Fz@-MzYX=+q4G^{?p5| z7zlQftu=6o#c62*Tj>8B{ND3S7ki#V4=Wb@{0WX`9;No?3wef;9<{-mrMH*BdnT?O^mhkIg}(MO^a?Agq=4 zPnpjp--dZjQ+bL_ZBUA{1yj9QaK9P{mZlX8w`em}t9(^9LohsUc^wDy&iHV&uOqLg z`FGT(qoBtIE>Cv(Vfb47Be3cOPWmvhcb6fsE&F889%lGaEGSje{99LTKBtTFSf;rz zK&@e6PR_Y9P&Qpy;CKp}%mv#M0tMJ+OpE)^C-NIkpGQtjhVWdPJ+x6zHae#ccV$Vd zC05Z$tH#gH)Y_m!L9U@1b>A2q9AVtuT8A81HUGKA+brRsfRY7hS!ilW09yGUpBcvQ zQGrDM82|Z6R;||1+iYGQLI^TLp94fjvx|A($&8O$roY>QMG{KavZuXinWa{YC+vPK zKKmVr5X~DisL}8{U3H0!vC@2@)o|#GHUb(cI*H6J8c}8KDV`djaCu!(jYw!}I&dC) zh`BJ>I2029xU{KKUU~jS@3GUcIF4d{r?&kJPhB7Z+jiStg_2 zAk1uh3u!W4bdId2K(m~6ojZ_}%r~d;f`w-v5PD(&(~YJyJK^<*Mbq(b*DvCH{luHa zmaaEqbk~R#MoSX(Sj3G&!q)b1Q=F&*1rhHbjeye*kdcBn%x|=-OoxP`FsOyh?tJJK zg;i6&qjXiLHjhC?&hYMEJY5#5w=c8+DDVm6Lt&$)a+df=asJ)F$tOv(~6g za_a*k{aZAW5Z~z#Vh%3E_d5;&LN~m?Y8Vkr$Yz^)e!$n_biQK&R1BBDX5XAix%cya zhU@r}&-r@tH`7(;_b_}@aMmEQV>H%_Y|)^&Isb??$okfC*8Jy@%DT9R#l}my8aJSD zuJr@`g9DsTU$jS+?gY15iE*ykY#rtJ`(sV4165}`BYp0$fV8dG> zlOn|JcGwDrzH<~ia{4-2sUt|lWK zv_Iyt>lSy{0F=TbFuzG=?{8mBU*rC`C<#a+rD7q0!f08eW$P4Q;N&V!)Ylzx_ouSq zesZ`SZZJ%#1~KoeHCyd+q^KQF9oai+k7}LaJ^4+GU=eG0A>hOc2H3jntkpJV=3vrz zU=jh$myF05N^|3!DK%={y8B4@UOtZu&Z%!gUf9^J_GTGxa*ZP+qR$@jW#I6-qD23B zjGYDlSsbY=u2>z9H$byan`&h1%QfL#<>e1M%P?{z87FLq%ZD|xb@gV~A#Udsy8Tps zJ#$ViIdOc|l?`L}Df7k;Z>e1u-`?9**1U`>R#Ql&{-kWch(d351ukAI!!;F-v_;Y? z|ILVUd-OHWQ83}`jQ(#ESpF!=<8K=nJAe?h+2@i)Qu4?DEBghzbfc6q!2B69Z>c1t z0zuTM%Bzq<`Rt(;$}XR9kmGBUrx>GpRe9nNxkcqkkDNcI{i)txU1P8#Y5rKa>=un|0rIK}W;f{pi9rXE|tIt{TSV=g5X$ZTGnNQ4yW!!F2SD}feQ zc8>~4gjOcCJXSMQBtLh|uv;VpJA2SKb6!a0gh#SCg8UI}KrLv&$T``&9tNfDY;0=#n4mM);ary~X0-ho~_~H4# zKJV=*)%mCU{&sNtWz`j6<@Lv5^vLu|C3M4t=le(m&>4m$#GQ6YB>H}i*Gc<@he>qf z-el^^k;cJFNz9e#ir&w!TTK2(fR;JugH7BMMMzwhi16 zuT!J5P4?>sE(Vpm>TQ5T#O@+3qNXHH5eB#8m+h2WbmE{w58z>09fuJdW4P!q6})U5 z*-g%Csr!}uhMV=Tld$@iod*EfaWw89qo4QwF*?|>uS(f9l=<@a_4B_&_WN!@AZ@n# z)fOvSsdxe3huD#tp1!(mKD}dQ^Q~q+mRsQL^l<7&U))U!a*5T@wmF3^i0o0}ZYA#F zEFN}&El@y7rDA6a6{?JTUcU4zcoqhJ+r|tJ9$Wlw< z95-4CFK@`tH`ut`?W2m8xN$S6X8?WYj_s(lV^5wFlxix?o#)!~5rQ_o3>_?UT}!-1 zp8&p|w9efJA&-qeiiYv!3o~`S=;C63qs2f6WB=8%CHtl~*^JAFxz|`CcV-gLjgr?% zl_-Ti`N06YrW%;uKJ%)zr}w3v@S3#;&l-ges@qMPH)n#{FkDM>E%l5_En#d=2KDJ3 zDm2%h-H;G^_sq^KioEYYeqgyV{%A5fh}jxSttGvSaN(*M;8@=lJOLB{SlB~YFY~ivY#a)kwc8g;pJgx_RrN={#chtU6-f)gwGdP`OXguXI5- z=Uh6N_X*YRug$eiwIS~4&FsqxmM-hun){w(IjUiv5}^*D(l}f+p15sVgzy3?HUr^=7gjeJB0uJfzOXUxti+LMEyaCw*yeCuR^BpHW&4{w zUyfewkF9Gto0ler-w3L@@XkxA9=9_dH*c8%R<)$po{GbuyhE-QM@`tE$tFrXKi=)C zuSzM9ZV#of@>+IO{V*acZ}ZIYrNq_Tm|e74seH9%-5j5C45JjZ5p*T{F>rq%LCkB& z^GU@W9K9bRd!A}a#^qhka7A-OtA2^GVqb~-htkwT#d%gu^{kBqyeZU4QDnvb}IsA842!Kgxa8Fd!CDOESDyy(!da`W7q# z&^mBzOiNt=GYJ5DN;+di0AcSZ+;`D}TE;2l5tl0(2#Hs96Oj zR?4??#%gm|%#Fex*qAr_N&vu$q=E8G(%)lA0|los(=rf33$l%uk0#ERwwkAZi{rO* z=-{@BiRgI?{$~KuKI`S_J5QPlf^kt14Y*&_HQw@%0boUmSt#$A{jIg|@;Z2d(m3XR z?|nB$H5Ll%%4fPfebz7N61be9wsqoV(4a!&Y6GQ8ET^mlP)`uryYWERJuGC6b$giq z9kv#L=>W!1=(k-qk^0YTWEy=C+(K-eJ*A(2ZSAS`OXKVwXH09q^3jc%s`6#S>Rfoo z(8r-mya_PX%_ro<0H6sS6qs^Bpa&Luv#-3p&40?j}l)hzX5uW_T_g}3&)4W_l` zxWBdbU(?OI=ttV7AldHWiHw`tMkaE_YIgqRa$hB3+Sb-}wmu2-rMA+DB(X#F;V~Bx z16P9?H_9zn_YAl1uMBxmeYxjxCnOh&%ZxxsKXe#ZI6`>}4fdx~3TWNw+Md|3hu{Ur z;nQ*s{jc=yi)+u1p0>#86hBK|87v;>)URHU>ZzptIWtWwude2{cT;q3MaPJQNvRk_ zK1jfGTP|)7L8OU@+o>HBgR1p?=+e`_ne_ z2`+jKV@I!HJA9T*bJn>(^%lI;*`@>_FO*}(R#F(uWlNd75zyoS6a zOK^2?Lv7x2H|{cLgF`m)3*o(d5Lq&l#cj_i*9TR-D_U4vtnw|AhyY>qEYk(D(X5K; zt^;Au^=6pGq*Zu^fJ^gB5fGgKWco89vbI2`Qy=0{!ICZA|K;%!?ZXd=+h_Vkg@3mvK&=S0;}p$umfe(DN5Kh07MlN}0x#hu@LI^%r>g?VPPX+e}I39cN z^j?N%qg86p4r!=+(tT4Z_ihf6NqFwejnd*V(s=F9NZ-x1S6?%I6Q27>g!I~A-X9_e zGwE%1A*_mjuQX_0O;Fo&cKB>h!L6xyl_B zcnf+ZQW~KEX~BnC(igV;k`Y(p<-Q9}v0B+^*+!Vpz2q&1URk18UgwW)u$|&LPu(}+ z9r%;xtGN8On+_t5yT$94l41#29HnPJ$x7_xpj+RmLjG1tE75;mYnN?&-7Q?S|j7#H?MwL2R5*9mLys&>(ek}bebp`T`pS;yx&Ha+SZ;x~e%=OlO_>JszKDGFgcSGjrupJhf>vuSpZh+A z+uY>K1)TeWq6#WWuR%;%cwa^tX_seKYF(|klgRJp{n+eYe*^6!tT1ZK7P6T5FTQ+v z(rMKAng_KPRG?yQ__s>OHIw1@du2Edy}PRt#3k{Sgk||fEn8F{-np{1EXjNh_f1nJ z{J7NT21M%*rZ>6YlV{ERlS+jRP%}P_vemE?9(xU|y7E(&qMRo^8b;E0LBf<%g~{h~LDYUVEpDuqt3v8C zUhL&1o762AVRY7b_kn=P?9b%O4-XIr_>s{KsSO?7;&2VTJhg*>Yg~j=A-M*{ukM#A zAMNTbgK`YJX`5j!OR|%e#L=Wk0jtBf{2K|IoYlGODbt>#Bd!5HnqeBD>>Tnmhf!L= zzbhNkrkUllUFP+}%8HD(c2)MqJg_d=u(>K&jTbOq>nGQ1V*WP*WTC>k14V$56as3K zKQAV{2xLU}j18s3xxEN@XdJH|IV+i<#FAU5Lgu~uM2l&qF6?>~ul{7R6_l{uDtLa< zn8Q=>A~`^yMKo}1-!;8MA4e*vfyr-rLDZF%RnjG0Y1C%|Ku9Kgy;cEB$!+#ZqQ?o*SmNTl?7 z_5Cg^#;!%Q^Dr@?ZWF}W%>Sl_4vyot0x74lptn4R7o>(rXK#k=(|?psG8J5ld}2cw z7G{(hC-1gPeYHLi3pOts!fM`+td2xpnq+>mAJaNqJ}EvnqrrG$9~l}&ytaT-&+X+@#Y7>&A~k(AcFnwCxN%=ZrzaEh{|x#N zMjml=9JlxHp!29q8;4;@8UKu2smxAwBY|-*4%?{69#S(diMz}^(E6ch9Hfz|Q(|nj zP9KULDz(Hw#lK_HYMbwLGM8sZ2V?1$bKcYqEmZ};#|Jz70rRNlUX)=9!!&W>j9#j) z(ii`#FQ4seumcy%|NJV@qGpV1k1hOGa&1kZPj48AnR5QTPO8g-34LjNb-~teDdMQQ zR#Twq&cz7NWK4{`i13cRhUlfSWGc(G$t{;4s7J-sy;v8E=>=d!p%c7blcBUYEdejK zqv5;1?vFVrjKMaq#R_{k5g|z5GSxktZ@CYOv#@mfrKku*g#Csye76j9<6LmZRh7Hy zd7`nPIcY72mwU8C1y{8*;BpJEph#JYuymhWKB#Mh&B{`#Jx^F<=TR_nm3ve3qAiH1 zBE6!&k@gW&*vdoidcg$oTqHlfZBwre_N3NB;jKR>`T?-Z-r zG586rMBd;x1UnT1z2!H5qJh>7JNOYRMbv?CSuX+`9gCbJ=%oTj`3It2!VJ)DeY)1B>jQ6!k7dR*l_`{g&?Z|cGRmaLnvPdJ-k?eGBf86i8&YKF?YgZ37#Gi z;{QZ)epaMg$^IKa-T3c$pf%zN^Q(6c&*nn2COFkl&|oNaEFb;gRR&Pld_&+25Thpt zckdEXW!{q;jn08GiB=%hPdipU;Dj>#%c!$yrV9S z-xCZawZDetkMNEpzwO_tfzDbt!MgJgf_TNxbR55WjbvE&_e!dVM1uVGKOUE$dFa;( zUbdbs&9&vO!l>Q#7JNX893xh`dZKohXLZ~TO1j6?-M?zCiIav~)DSQ!1~%+w8ANmY zNf=R>G*Up5>IUb<1xU?0s36L9V|D9If!Q*cFE>CU3$92UvO4Bv`u$;GfqwO&&Kf{D zGQl+lR**E$^8{-+x**K*;ESWv!eTq^U1@qnapyAR`ths?Lhw)2ueq^m?C26npSMG! zUz;Qi+vay4In%s58ws(C3z)4Wb#b29F)uv?f0(0E+IteDOM5QEbEwMlTQ8 zn&s1EGXQj(Xp4SxB$P07=?{OLPWRbU3%F*b7j14*xl2Vb|3gr2o~?HkLct2NRU5U% z%1u+9edAr_hk*@=`}X>p?gURWt4s&jQ$VySLSvwDJYJz$J}@7}$e#10P@})Zih0;= zJp&LytlRg~JH)^Wv)?2wihtbha~<Qp()5C|PIYErOTb(Gf86uKEQaw$e z5x?R%;iBkw3JLVPrhYx+aY3fbd`J+)S%HHFAB&!cAoWETJ1?ZO&dKk$~TACbnjVvqlliWVsAiHcUOQZ5g z=64(}NxI+CY>dO~Vf^4umk>Phu~ZMXPPKIy>+Sr%(__}52z#!oHU3s{*u?6W*wp=fuyj4=Yw*Xi zdg}((x3{fmp>BfW701go{4ujR)-Dl ziA^}RgGlhr%f9*_S&BMN?z1te7XKh_jQJkW@KX6;Lo)!Z$S44kALAlGx?AXt;lDx3 z4T#}q#8O@st%@CLD=Smv=E!u`&=KSU*Melq$Gt9~W9Rw!@IufgC(JkWU6I|+VMw-! ztsw&uYn=uib#(rHbMbc;{e>1zY<0ivo5!vaMybUB5%N0KqspH))bjc?eNVTeag#V( zC0=%}0cW|^F5R_?sBFt!4}3ZgDNG7=<{}!BBpyGd6HpW9R-$&jhR)9QlA>H50k8J1 zQxLndKiT`9KD#?89Y>bckA423&Bn~ecG0oby0)qxqkz?RJ|C`Zg(m=4lHXvKfemqC z>76=l*H-GwA>LOi>_IY+$mRr(Yu0y-90d5_@PWuRB>lx{eX68;#Y{`>aOoOx$x^A@ zO5=(f9dr1DT*cL=shcEg*F7|;mE)@^L<<4+lo6m-xkr5!R_DAbWVnG4&FJmeU7akp z{@x!#q^GYoPV)8h(RvHRSy~k&ztswG5exU$g`1wWa*er)pQ#0gxFIe+eeF|-1uWqn zu@(cCnAc7R!&SdH1+fi!@pauhKdvCVE z`uY#Vc~t!#!+wt_sdA#o1-)Z1epdLq|F}S6ogUm ze+zpZRaP2Wl{j@pErQ2(b9-VmWwZFpD9|04j42bxks{L{fb*JW{T$|wXQMxn833y3 zqahitVV?(EgA$DfUb31*m17Mir1{#HA=)zM;$JX%qhEV9N#S<8y^(R0;lhEo>7&{pa@4yHJIYMjjQ2al#5l?s>- zBK;#efS<}}{mXj^W?{je&LMkpKTnET_8CT!(K{SbOVJHyx9WzD2u_6G4l2~{UbaWn zpr_1p9D)>}T&Je5V?v@d>uf&~)7_Q2T#ksSU77hR7qvo_rUAN*G55Tonly}*=e76YGr%OVezEvcA_d`@f|v<0<9Eth zm}x2l3A4>Bk~ZE(pXM%XvIe)HaRmqkLs0I7p)uZ#SC&k7l}z8Pabwu90D>9c!SDd; z`|;8Fm|mT`xIr-UW{}k2=IL9Mh6rlkTNeb(aD{!B(Ep8BBEj;=y|LYkFM!4gb|28J zfi5NA;&-1*7~rv(0FG9y+22j?JYzH@{t9en(+k>yNgL0g6Y4y`Qhm#I<6f{oq(U`E zI{>jQExIP5hu;{`7%mq;fd57h^`AN)`y{-oL+5>ft^*}qi?Q%|=;0EAhREOUjRN4I zzUOguep?8GGC+FhFTf`4n9u3pV}02ffdriggmAdgj)Y7eN{Q&jdgcZ=l{>~lK@}|- z0d(o(zoG|hymndb7qJPgrDl~(hwlf&rO{1-{(YD1EcYbzQ&P{J)y5x(5KKR(hfR$pp!QCkA>*%?1-;~x0>_@Db)$iIHwvy?@C7z>X zhJ1V|og9sr=V@zDB3l8Jh@Lb_uNexWk}xro;~eTkIIjTV-fr4d7_6wJH0ZHT9?(Mh z2Qk=~xexb|r^|C93!`kda^nvKID4b~`Oug1;6X{^wsStP3`5M3j=@&cQ9TXxN8lKO zVA2O`z<>jzxz3|U78YHfKk!>1yJH)z6l06Htw1{Z>-mdbC1Afp`ZRSaCMX^7m3>)T z7Q(+j3~D@XJ*J!<&Z?#4XZs38gFwo#HHKhMY2LxMslrE9d19eM?6 z|IKOj)M>cDqP8|u#Lr9(?|`#Lu!JfrLFe#ojW@Kc9GZbt3y2RaDsd5+r$Td2>M79g zCID5C+3)B|iNA7Nd;DvuvN)+ZNOOtU4NkneU-Fxzj?zSefX3zjSPjWBFU-$=rzq6h0`RV*X`KErp(@wj&g zzwhmCrkL}p#8+U_zSNoR7Z9bB8pC}44@JWlX3lq+ryFmc7#|&U_(GC9XmIO|X(^$> z9f%728BiZf9>_e6Ni_v}Xa7h$GPp#C%ZFrGY;Kb=?&+S*x?dJA)iuYZMZBd^;aK_; zDEw~vvbbKoLUFhESx176{T$~VzmXQoFPZZms{6`xk$& zS5Krd$QEWR#tVqNdkmzO{MSF=73!3~s@B_hF!kmB9h)zv@g3q!D9#Pcj+vVmhtO$< zpGU`ty};`x=nOte+}S3L0KjvIL-~g1bcaXf!Z5#q-|EkD`4YpfI~K!fCe5zB$ui^l zUlEZNkDKFsncxam$NO*Fhwr<@HN?v1cbPNlRcr_9x%K?W9N-jK5SLTplzh?J`-F!F zHgNLQ;ql;jp{AF`c#ZsesA@d@M%GL{nZ-b^JyDrPwl+D*mr(Cp>)uWZbIoo>&`Gw*L?E^ zZ~ur`RJfu0W_XOGq1-mNT@$@drKkPvOE!J6A0(+lU-CJR8F!xVYXwE}$r_mbN){B8 zsv>6oaa?c4rR0D0#_eHok>e^Z*(_Gbx0Hx2_4KS&c*@r=7nKK=cYWv0!#WawU+78A z68wHpk=VeY=XTsHL^)yPVIEKd@&YDJU)T{RJJ=!~%H!y5(e(S7s!w3VmZOscJvZG= zAiMg|Y&*qeCw=FcH#HHnZeoFwXN&B$GsHcQTi5ypi_yq{3X&x}Zd6xvO3k7Mc zqXun>-NNl*jWG|{U3sKGcP)el)ZLOh3UFR6eBXIZYH@~@-?aIiipEB+hoohyhskYS}S&03|5D8WB`%ui7fj=%K?1_x;$`XFNOUg-KO_>@ z*ldT0x=ORYC@20REeGveL2%@S^Qe&zL3=qc>;KucMR zhQ>!0ko*do7-dM3bq!)TZLWk3OB2edDW%RyTh;Txd5Pl~MxKWer6@B_N7|-s?JkRu zlDt!|5sgwWky_ZLzI(%t$r0Dckua-u-5$uYx^M8a;lY}sI1ES{G9-Qc(`Q^$j@nG* zjo!3!g`2~05}ty^2YF=iO@ zG>xFQY>=TqdKkdhoQx++w0MefeC-JlwO6D*TuP6~67)UUe0f92TzCDgYIE#^OkjH+ z{`q9fM~m^ijB7k87CHPbv719es1y57r9?KF@;Lh7R9bVr@_$6Lg&h}ZLjC09v`dZT zyYs6XI(l}Za>u?}Cj{!U55uT*mXqF)yZZ_EZFN-p>vvj|I1DYmB%JkEHQrbKi*7bK}{7R{MI5fmu6NSt3>b6Rum}f(b4D8s2qJmL2WFIGd5XSq73Bu0)75r9`U%n^9gy!eB0+TFTuS9F(il?wwuhqkQxhY(S1b)0 zxJ`7IZgZfo2Hd$pgDDk8ydGA=M!Y;`ORqZYB%)EW_d^p9ZNlrm)Yg4oTL1|-)V`b{ z0gWt0)*&T3Mq7jmgaE#385g}k2bmAi|JH9o1j39=;7h89=!Aper}rohr$GSI7MduT z!oDOyi}?jG$Dq}C#L=ogaL><)=;L@X;KY4S)0!8Q?wHgP!{2}oQ{Z|mUp*^+!vCBG z$-tzrUYBgVK8q`QA&w{~aRTm%Ax_SN1OF|>GrGGqjf;wzpoxP)Io_=N(Z87w(Z@f9 zfKdObB{*=ahtZF=HVMfzRGU+=SoEXQP7} ztp7vlM)HfQ{E^$Zy89gu^IwV8?iN6vg+D$HRDCr$ z4_sQecsPAq6e#!8Q4|#LBQT+LRa;-3<{3}q|DfJe>pS2*WtjX8h?Ek;jXMZ&lUyjb z?5>o^GvAiJhT!j<tMJ^x6+5qW#uz*5k9oSnjm<7N|Fcz*7?pRJKDm;rbnyd6;Hn>4BE#NBlTjIP4p zyQqQ5b$z5l=NSkHi+}@4I{@N^nsWOK)SSmF{5nglM4mvPtv91tyTsBAWW-BB(FtRH z$p!UX@y^FOiB&F7+cdL_foe+I#723kpE}#7R&p%upZ+WmL9VXYjFgo-Ztmu37j`9- zm#WdZ*!7v!+S||=qF?{=)_cOJu~EylQ>b=nMDH&E7D2m+{7tRkgp)VFy0iAqRl1*) z0OZpvcT*I1INptL<#=`ptd4A`urvW#x@K(Fp(n?7w}m2XFQmS=Xu+mDj+w-YUUQoz zj-$Zm^K_rzn)Ke6RTuSy)g12fn8JBYxH$(BnLUKR-1zUZE(ch@f$|bv`Q1>&|U7UXG$Qw@01l zS1(Gkgza@_3*j%%MpY>aU&A#yO^*=swAKl59&Y6LF&UdqBM_~?62O&MOWASBB>TDr zv~&QC6Ds2i_P%SR9fhw8Om9Pb-$WCEDThEyGK^l$*o<9r|J0}HjbU8@0o(EMvfHwLI~WB*_vkh-6ZVrRh-98YbJzcrO~~ zu$<&};|c|LuXY)E=%vqAoaa0kt;@Ceyy`+z_L@j4ro$oS%xH}7j1&Gly z`*DWb3pC_;BkQ{A^DFA0VAU%qf~d-z6Gm$8$=?oJlX&}4{BtmR4Y!LyF=>EH)15<9 zY#gIW>kJsyS7OBBE+y3^iUC{WG4U=rht2)#BGz_9UJMLYgGKH7n(8@*rE3$9)Sk!t zrdp4_@^_b!QI0DHKANFOD-o-SZ;2+87CgB(!*Gcv8pstdd9 z`xZMSvA$FE)HRNHkSv?Qw$(6KEw-E&Gaq|{|CQ9srT&73j_{XGJwH-&_1t1azcvQO zn{L)<&y^!c#WOY|^5h&rT_z6}dr;k_fMF8K662mJDE{w?Oki+&5XH&aoc*L!2>Xx4eLSTsbJt(fqj)!-MfH%{=UbOvZz$2PFJio6KZN+nzK z+k4BvDsLSrpTDP&A$Li7(qn#PNp4I{cyHb)*>Zhil1^wJByMtm%5J#uPrlW9-vWa+ zY(I3rw|&@dartu34*cn+7(d0r+1^MSb-fvUCvXE9bKuaRVmZ0Mq57^_;|2GHCp7IIy0^kCy@%IuZxcw42vu4pLW;_NY6h= zG>=;3d$ru~OCPS5E*2HGD?Ps+BOJI*=7F{{gtQTuLN&@BbIiPHZ#eFlJy0B-KxHA# zBO&pfUn{F%59QwO$Mbam$h2@_6Hwh~V8G?q&g39=W)OJMS57NHR$Ktws@Td&4U&Cw zP9jb#`11=RKWekzMI;^ljN_M>Q8+x9e^e(AOLCOv)Cc0b)t#baMV#+yQyZXQ-`kTr z+khIPk&__yVYticTE3biz_Q$tb^76T%2v?_D*iETmjhx%hhEv?_f3-Fw!K)t*wYjV zbgtd}%v+jxU$jX%;?h5|^?{-v4!5Z( zM8kv~SO3}MkxqI+{GNdi$g8huM1~C}6Y=NhlH)#LGf0rn5oHc*xaF!03E@&ACTFZt z>=^7=;ia2wFUUkrIP%!3x&BB-N3A-pP8Elg!sxs`M7LLGV({teT-7x_#9cR#K&E%B z(yE+Fwp_%uIn&xFnXWGyf?l``X+5yMLRwQ0#yc-`iW~-tqoV3#Q>a8#rGE+xNA)xr z&{wpw%R?*WG1|r1tqUnckj@>ePFCn+_Y}UNGgnCY>O^sR8r|CK&*OI3e4T5VuoBJwHv94FOI zYR8;+6IW=!X1wrn!an#I`1$^BKU%mZl7SZXF7}R9WW1P{P&lL~Atv7 zo@_nJflsf-7hU1M$qRcPO3TRedopaZs4D35D^A_2+c*})xifX7R#w{Wnulk#0EQjE z(%qLq9x4tm*G-cr>2-msTyo=6i83C?7ht>F-b%KPk^;teGsI*SDY5^ z6FOGjB!02v_7x$k-d%v;yzrvZGpmzwtMo;1tTBP??fR<`N3OJnEeEer<)-3Mu$w!rHQ3kgiPa=T<&J&@8s+8Yf*!hm z$}aI1Kbj&>vR5csvu)tnhhUZWu^HsDn*IRn=M7bze_T5$?x1MHkn2#uwD_Bar$oGV zV1w9js#B4v`FWx*Bd#)XdoQ@PPmH8ZNh4Uj1Lman)dRkxuJ>4ZMcGOG=+4E^e^sD% z5#A0zn2K+WT|LyVB({n)-Ie~#0agRu0~$3dA3_w~@IFM%OL6v})iK-{2zTz{P8}FN zHILpfw>uJ;X?+fB5t8BoG2yt+x0CCjf*N|w^Z;hYc zLO5k3y97N2N(}+6wa|GG<0G^u`7Ds)7W!t8kP5ER9KqA-&x1Z9W%M`tsDbdc)WP|C zB8Dj4km08iw3;w`Me>t7lknMnh=cnmmw5Q|RwLTge-6ve=WpOj&6*{2zCsQaUlAzIn;ZKEUQMAn~mrrcz%Ctj6~ub-YoVxOtR{=H`FDdvin+s?Y$ZE z8#5#!M}R+?J*D6Y#`GKv$Q3Xk|E<|8H>%pa^~M%G*sr}ufEf+a?1k9hG;MsxgGRC$ zRuJUQF1eoUPJu?dETn&J?D!l@_|0=g7b7vNEa(!1laVx+TFpMA0rt0hs}M_gWYQpd z)^kHz!M`Hq*|!_5!8ncQF<{v)5!IUfy$+9%>t{obdNOYckk0})jnMX)Pbz0#kU#F7X{+i}iaEQdI})!=`&&Uy|8#1Jg23xGX48q+vUt1p^e zqRmaxgOHPR+a+Pf7Ssqc=2w&siXjp0V)y)E>xqc-?3{PKwV*HGL%jvU<&P zjcWs2j8o~dZMR|*jW|c?eBRg);=MAYi>o4ur;%`b;k+gxhpb6i*|onZ>iTiu0wqbU zk)nGe+L7nIeO*=)teJAg?7(LlulKW%{>1FE$3qnM{N^SvZ`q9~69J{_zSVutk&jB~ zhdjB11;d&;z&enlQ#vMK`db!J`w||{Sx!;qyZK{F=E9SW4v+o{NB=xz#GsPL+DNL* zbBm^{dR7~u5xc-cLx59HjDDDgpYEY+X&fTO8=g)1lS@>gr|FGrXW$E%gF*FZf&Mz_ zNZ?6F20q!cJp5TMU@|8P#s5UH+QsHJ5QXQ#dHB>%%sx27ohVMf`pB?JIUau{8r08t zT-qMTKaN%Y8`PZ8vFI)<=g_XAD#*O&rMs?TsYNJ_9*2w|XxXt$V-vwcz=a-<#u-ak zLiE_ZNl3N~sJmKPsPye!-(Ud0sp@A*?~wbogMDELgk{7H(a+kop~@k<$m+LKM%_9R zuEa0Gn#12`UVBVwGm}E>GhrE+EX8_IMOew0Dh$e&Z z)ENI7N8w|@dfw{9Cxf(vRzPq#IrX$IZ1HfVJFnp;t|D`%F3teg_MHxciru~q^}1gk z;lbwJ;n$gxGOdP{oVFWcXkVvlW6gV9p*xZELUW2hXN7Sg9DKX$IP-)6m1zUswBC1v z40Oym5}Xac)esgikax`m>O#lE<%yvb6QJW6d>^r-a1ejP4M)2zawXd=@3cR?^Be6L zpS8NF71DuV(sfUCvaHo>_A(oGud)O`{?mlJ9-K`2u#gJZ^xNU-zp5X4o^U1Hhd~;{ z>g}T-P{2cXyvBpP(sN1wApk62`#7Cg164p#6om24yVW1eBxte`q$h&CVrp+Y9 zoZV#m)5dTf2*G(H%|1PBNNYZly~vc8=wA~%4CF33O;ICCawQyVH*xuiJwTGgygjxA z&$t~_XI|a}wxH%bS5VAk6y!AIqw-2LJQaJ=IIKVokkudCcW`9LImfwir8ik(YYkxv z3ZWTAw)VC}Nyy?Qs?7&GPLqou9V4j{YUI44k?FWPa!Xglt)o8h68-4>dV!iGjv6%t zY>||{0-Iz%e8rfoSCn-Rqs5^`$h*Sq6R@0Grr|ALwtR@$?w*6fKDPy0C}H)%8u63@ z?h2Nahg&R5eU)D88mc&YrK=v60|`ELA~0jM7QZaX?2nqiKt{(WD$I^Un&uJlTZb`V zWXdTw$Wu&mdX&KAhvc{a=S!ad`l#2o=sVbExT@HD-E-QNo`nFq{rqEX1*z5sGOIX- zzf@&2xWDidU6F56(X57?k(Y`>(p!FH57*pD+)Y=zI^Ta1eDUy1caed6rZ+TyBhfk` zgcbvbC=-}63bX`d00W8S$j5KIh7+Cr6_5QxNOj-#f#Mu*oF6eP|F$m-5GS_yBK1q) zt?wwDn#pJZSm~0ea5Z{7B1BetfNH5g>tOTFt3NFYbdGeSog`5b+qz01h+VI;on{^m z5M1*K;Wyv*onYlRZWt`mZ0yl#h6KeKJS0-1eXAhdB;`T8)Zt8X4znAoM5Bq5lUVT4 zjz`g3KDJMF(Tm#Db*K!FR*Gp9AdvBrOywqW-VE3v=ZsYlv^cPdkNaDj0eis>X^J$f zpcty${z;=|P(WVDX=Db&`Aq2mCptcB0Go{xs}j}qy$oiR=$s0lajlQ2Btk`e(nOU5 z#FWE`!wjlzn}nT~uWd?zDk;Ocqg9kO@@1gnbD8;SGGlO;-yw^#mc@J-6g+M8>6;7HXC1`a><+geubXVT; zeN_mk^;=M|>dKIpw6DS!zqjjiIWI%yt(#=dUf%+}txO_hXfh5XexF$B(q7?~k)Yw% zgXhF1KNY#ke%^d`afi-VX(~MOCMSnmsD|;&QJcN7`*eii5ANhhrB|tcVOC-EfA5)O zfQeE*q7x}|(sUj8$V-?i6fIC`8@8Rksi`o%#WjCreP1diy7^GI3prZF;y8-L&l!3Z zVnuJglg9JV`D$4lA(q=(P3o6Lwl-q6BI1BM-yFbtN<$o$Tag~B@m1}V5rC=i8xpqK z3g<#I9G6WWQzTr<1d4foQDuB`E`0VW#-(?rN9sYBZZlrfyvi~Q4`tS@x*NGHyvs9$ zzD>hV>lDozmhVf=8nA&!kEg!MOyO)}dk=PJrkra7sTO%5B&;rYjPDc|wcvcjzB9HA z!SrxRxlQV-Al<-jHe0py&a1AG;X0XFQG&02HiVeKrc@k05C^jpa6TI8a`x+AK>pUv z@g#SZfc3r)eJe9B8x1N(BL$y6#(qO^&sFludYt-ZNa%cc)z{B%>dw?hu4U*&7`Q#q zR_+J;RGn|?-LG-yqRlwR(NM}2es@n-HM&BA;}g>2|_jjqU52WPJ8x*Os-d7@QchEBE5cV$+pI`@V!teUIWB`(nx{+ zDagExAif-Dy{fXSvjD};=`u@K^W2r_^1{aj$+$`1mzwOI-;29(bG5M8#Tm&ym}+;k zgTCXudF=z% z>!#W(D;ryyk~r_jZyM+yj}vD*=oc}PR54IUHyHqJQfM=&7h%Np%CWZh5{={h*mNFe zmKd;80ol$YH+mf$1a9LkrhVVb=pg>>H^}s1we!cm6L8iEfw;L}mW-gq=@@%-5`%Y2f3v-hZI{1guwKX7O z-+WnnNONhm6C=g>e+05pmKaV5?f*#|;nqL+r|$0AlST!=Kql8*PI$+pfda#t3qUeC zjp4vY;(-_{0q?I=l;=6pR>E`0^KIx37Pq6tXjX(5W_i0Xy`Y5TyM_vYff$W;Uc5Q*9}^TE!L2e3iP5yIcpn~cV@w|`e{F34yb6oN zx#!roFVB(TVaXZEAcM8-G?mabPSn3kt0GQv zW}`+SjFFqS=FWN!5JBDF1c9uAftsEVxUZg#Erhl}YZvTReST7$4LS5=NCNu=Ou`9G z&_DG1Yso(N&2xU67hgMlyMyik)Fq&zd@}5F??Ax;6BnT1?0>;vfZ?Iic{@kJK!Mle zEEu0`k8kwJpyp`ZLWf;qn9|As`KL9QOp5ZweQO0-G)e)G<|!zog09&RSGg5aU}Om` zk)NDUH5ffS z3`walsCDcFY6o*D=Pg}(yA(>W*6z{VoobT%F7!^R7@v*s!Xd`GS94a5?~9FoxkRS| z`t=1V0uG>hY0Ig6+MjB{Wq~Y8g~H>+LlI;wpS3kGqC5dMp&SrkN=BEv{rNbHphyN8 z2iF1c1p+H-VTayak%^wE^#A$zI_Q$RQh2X588G)v=GDqscl+LR_2zl|%J0|ZJAiu6* zxAA4Pe6P9G->KtIq<>ft|CYe6oslAqN?$P#8$y|h`)rOgpIOI#?i|N0of(3MAQv{O zK;Qa|UpYxg^)A&zWO&=}oO!-i8mEmwtw4Q=8O{?Bm5tN%Su*T*vi(lx%Syy552N?| z>36eTp!s`wTfeMJ+;9Db+ve1cpmBJs>*8MTMpKRS9{kVoqw8JeUk1`Re)Oln0#v-< zatUwPt`TRvVr7m%Rs&7P#N^}N>7}(pibU+AapkIIOkLEn7NXZnU$JW z)0Z9xiRM-u?QCiZyUs}!8`%i&eVd$4T5Z>T5DTnxw4N|u)zRVw8@L6&-n(w0&281I z=@~UU{GUdm{Lc!{^jCwS0iR^9>(OJP-^Q_>W04#{^Loqhq48mxgGz%I zYeFD}Yis?v^CL9LI^P&5;s zlP_G%Y957T>dYoF>lhXxEDYEy`jV@=JKxk`7)OC-;=Lc7k&nc#QzD%d==WLb8K8YK zfqe{QFtB^fj+yAv{M^`KEQ|d)rQpLawAqH_aB=M5ID#>y&F8V8k|2=>u*{6N5W5Ok za|ZcM0Mi{O(*ut1j2UA!phaD7Tsh*D@*qfZm($LDMdiGfTrkayO_&BScVn*3RCxr$ z)yH~!ClAKHbWYFbSpp9q1bBZbU5Bfswc8Qqkd+LUveI;?zpU06!>&Fe$dAbC_qS-( zOL=dD@3nOfO#%S{sv*k#1C-BZ_l!g@Qphy^13flXGpIAt0VQ=y&xhU@Cs4S_%LY|9 zl9=x8h$;#9cb5W5sb2%~V^gqbV3D#^IO+o?j62++10TVV-|Z;}1xnt-A2O2XVg<9T zj8}L>xtg;;sRn!)hh=o$>%C1YX)QV~?aRt7^${vn5Ja;KZHn;CyD9mZNGPJ~v+Hok zh;HuM7q2Sp$X(WB<(0m2Hl0al_|#DF>W__H@6^2C?3e}H80}v&(IUV?z{_La;`15}2YgCfBnGjmHLUXd|yI=_qImF_W8Y4Q&Q{5Fgr=C~Z zO)EuE%u0ncuz|{VTB#<)HV)N+AAvja?GjmNdc-8Xw``O1nuw`%jln@&_!g`@v8Xk! zRrNY?De0?$vPU18cN5G4+<)AKtF@9ba;2{U&*Gs)shncgl(Y>!mwxrZV`|5s#iRZu zkCq>defQ@}Y{rM~AJyFa+|&;FBG zEfO5M)Vg#@ne6AcU*Gt6FQ)tFy!d@yspsDJq}W_u2f`keIO{nA=}zy(`;YD!>5MtM zj<-cxxsLC7j61hgJ{^jzve~SGMOw9dWoY}#ARoy%PNgp4h1QS%vTsl%sl$bJQ zyEQdRzP4AMWZ*td{7*weQn#(?BdQpOdU$%O^i571pHF3LyCSPr-($*lRo&S~zw;(M z=ej^6sYvDOfV@6m)HzyG{--{G^QN7-wk`>)l0iTkhf-m{lGG2sIuwexu5R7U0pGQRp0O6v-bQDK3$pe26A@}-*Hcj?Y!I?+?R<|Ow-=Pz@hV-mcOFWz0O`S?77@n9_Sc%zU@U1e?{By z?y>fdqB?>ySFVW1K3{JPy5)b3OYftS&`x$yyMRbaPAQTz-hNDaWqhgz$CM`a)Fqa0 zA$r$%Y9spYWvc-_=8^&N_v^pE`CPTgU2||gikm#IL^bNLa;3CriAd)54|@YoD~;j& zo&H-1_H#q?={d0l(>w(oYd>{D$gqA0H*)mb+SyZQXn9gG7O(zJ^+2jEPwkDpQnn6? zj@|v0{9>VLDPcedTSD;aFM+QgC=6ep$Eq;?G@cLZOfg%0Z?&}G5q%zu!q71L$~KvR z^trnn~C{m$Cj%bAGbxc=R5_k*)5#r9=i<&{UO-oB;(z&$`$7oRnE zfpkE-Vlr(wR&CrG=FBHUBzEv~YsEy9FL*)Ba~(gJmQ^XnB5E|dXoGTQ52IU1oUIR0>8#Jb8=?x-{h zaWutKy`*Yo8M7(~zYg_+;&+<2XFZcxSVD{F+MKASprZ*m+Squ{z(~z<`+34t^XIaB z=i?C-I{I~ZPd`#;YjCpe(Xq&dc&&~Jonxzg6aU~Io!z(nw`fTAnsS`m(~Uilh& zXe~djGfU5l z^=a+3AB0LipnFGg6U$ezp2>(3Of_h}nNko5djKjwfX*thK9 z0bzEy;iiafQuwy*ff9tc0F|WF4{rad_SnsMK+`b8MfPUzlWo;vp~eHxx*hLTtsfd{ zt59bv&zJ&eGNI3}cSHRfXQX&w=;E&g-|a!fzo^Oi_B8hQG&%?!;OL$$`nTIEKB})* zmQ7mNw=_0R0ly7x;a|ApIm_j4)FLqSf2+35beViML6@WYZ9SgKxU>&!bPoSpmv2Vy z7RPoECE6RAY>%Wa=er*?h{AFP`HSlyAgRQfy+kOv>G1y({UG)h<$PHL;WkGn;saa2 zMW{&00AI;%U8)%Zs@>p2r53Jf3N)m1Pq^=Yle;a%FW}8h>Kzhas-WVCq$Z>+I-DFGzh1YpQHtr05D_dx}MS(2#{7oUY zwfKCHehcVhTZPe4-7yxDvuWdo1|oQ^feJw>&ZHB{qZ*nEZpTe2-^lE&9qkERQt~XY zvC@0b2m}77Y1BW$_KSgZ9kGJGUr80ot#J;-Ib@4r1LIzI>tkK-ghPM6qZgD~tM=Nd7zkPw1{)<(K zx)6?L68emZZa6%((`s`LVLcR#&+4(%qh!;GtjB@I+-g|mdoPf59W_c_N46LFW2F@y zin*lw>#=-KOR|1?YUHN^n}^oz8-^R7HAp|sDwY=oHOENfACqE4EG-nX1MPLI!kkJ3 z#_7?rQqQwPH^QQ9WYI^G4t$snD`k5k@wIn*X_6pPI?deW`Lzjn4rke}y%V6xg0M)8 zKx*)STR-SdI-?We)%|qRt7$x+LSdYj&9{SgU8*ER*k)+MFrvx$Tm7-5x1KI$9Vq$x zJeX1K^U7zk==+wmSLPp9uHntl#MUP!i!au6LUrniysAEV(?U{(gp=|SR0HT**Nx7U zF8!QfJfsMu7XKGz9)Zr^g%vh08Ln#eiMYKn0corl3D!d!&zETkkVD)nG;!EA8`e0x2Pery5v(jv?&`oTTSn+AOs**ySy?QLL-K!G)->{ zG(@g_8lTCR&R8Mj>s&mMbjRDd=W%;`zy!1lvjrat=tAQA!`6gT@MIn35#z^Np;8!B z@wVd#Y;P=x;moa?kX2oH-MbZ7fW9?R7J{g$23FG}Q~vY&mVYF)^EMaYER7JOkMaml z&bEWmd6Xfk7527XW@=2Sn((7g^(a*c-J3nX0$E%_m19@A^KU&C8zxA>S%p3nqj|ypdC-YQ%`Q9GYOE6tWZZp+}rMAXpL~?9S$p^lg zaT?}Ej<&AP{FYGP=0KHoXhN;c@__b7wR{>mtuldP{(HD-F$I@8Tn zNoWI7&OC1O@Ic(1V>@%SgP=?5ig~RTw|n=zd)*Z8bFtNb;_%d^Nb!@2Wl!V>bSboe zq4u_=`6@Cq_ygaQ@rJ5arKl6Okp#!&*;sn{XLxHBOw;y5ms!UOI3;7-lg~>GJmW+u zr&eqAR)1Pj*gGdvAVJqR&efATWp85ZggncRJa8*uLaN_wKU)`s&89MBQ%g)RSw3ML zmgWe*h8S{?a?-4=&bHB4y_Xj)xN#bRMDx8r{3Ui%zA=`3C~F_OL~9J&*nP(0u866W zbP#RPtJb4BMKR|GQ?EI%Dhoa|h$V(tPG^U}B#*Z)XZu;!#!t2>pLum7t?Im5`77gN zeey}+aVrUTjwi*`%sf4T$88=i%jh3=4nqdljK3rI_+c+!=LHo3QAQCdgY4(+!j-^q zFT?t3aJIz^fdr6mj|M5-I~X!jN9A}?UqP;1LDb>zv3HLq%^VDmzpHd6?e>RG?d7^D zhary&H*4-Q!W+Xz5V+*%xyOM&wZH|>Eq-Wj-9JAn+7BCY+jPR;ati-?4Wcc&s0ojlRjJuPIZ&F#D54e>)T(BNoe`C68U+D1oN_%;R-|eL0n#~3; zif${TlBiCj)i-s}YAdo^suA0{=I_G?P$4-8glb(3vMu>f`sushXzh zD`yG_U3?iy5S4ob=YFqg1H27uyxQ7N;v&9_&e?I_bT<|}V7qmj#KMm$s}7tMhIL~{ zI!s=vA)eF1d;-wSn@8mn!hS8H@x=-|bL&?PUor}+`EK?(g>Pa(=5g}L!CsaI@jiO3 z!qztPb*fH*i+_8KJ8z=-@pF$AK&FQc2Ez56RBz8h?rQs!szfZk`rW3p`m?-4rbldS z!bP0*6?URm4}`xE)LmNuJ&MCEj!RrgHdvo)ynMa>Rw7L!Th>&gbys7EcXp*ksmdk@ zJ>UA|26*Ju(UH*QXY@0_N+Mv&=o`c;KitBKl-D5Bk;MJ%@a0?Zzd*kj}?E4kY0|ueJ=@vz|Qp#7E6t6%4Yij>v zFdha5iBXf}bLrmAFDH_W@^xAvc622_VeQtHjBGglKHc7$S96DhV~SE??Y^dKPy^N4 z@eJA!Dq!fYK$}I&?ajdmj>&0B&VaXF9^H4Oj=1geEV+>PElLi_1dmb}!wK~lO_1ptYRH%HzfB*2wp&w7q zsQaA+_qm@A$a+KYM;N(p-3T6*t&F%=KsYt-2{j-;G5d>8oqQwx3ljP^bQU5%laEUvBS zgP1Z+HryasJh6XuU~HnSgU|^7P>Zo6@W^O{r;|5BPM+v15;I&W%_ch(V4xDt|1s5L zUH}GH>Vvq~e;Zwa%D(s9=n?$fg#Q8{S$5$67uSfI+PmTlu-eOxL01&FkxE-<a;syMgi`7=4U$Kk%yALIa@f#gf{f<+k9Bp&&WmafJRReQ1q?fW%tqkFGR^f~d|HmVm+duJFp3L6HM5R0207R{my(1Jt z7~Ou`94+H5^?z%4FWbnx2EYCE8dUVTvZ)avJ5~|cik|RR^{UIhl@q>L0|tc+wS)1K z6W4rjaaKk?kt)!N!BD)4BwlcSRe=MJ)tvVxC;$ukBjL8u8_y*fb!UQnonR^;WR&V& znluPm<$EgwKsh9A3#H}r*&g;K`8V#jxEXUED9UhHg%jam zZ2D$|{im%IVH7&_ZyHe&2K8zAI+W=HDO8*XNmg_7dvOckhz$V@!{KMn&2 z0HbM4b^o2)T4EMY))~Diw`Z^Hvz+AC!cu45F4B*dB=cHoNeCMt;0kLk&1>gAO~1r{ zE^C+B%sVTX^{mryx|udJVO9CcT)*;?Bu4BM)}`#oNKjWVExIMy&!yk5mijzNkNKxw2_$uv>rKxT&>5uDm$-UHkDn?FILJHF%8HHqVIw< zmQgD7^5v6tK_h`3&oqOEXbP@1deV{2Zz)J&{qwFXorpbnobaW3m5CQy+a4x?V2p7~ z$-dC_PeWov!(ecQG+@?0AY8e-QG(hF#US4}`OE_+oij2@Cx>iW#%U#gzc+#=4}?Mb z@D>C9jzh5ak)d38!El(%MpbpB+6!%LVTeKQ8X^-8T7$N^${j zr2afRrthCjs-3r@DsQPFKY_~oy@o=F(I$IQ<2tGs(0hXorKE5+N{#ZlzLF|w>J>@PDFU3uABrI-nP!@lfFCKHUd^ZVdQWi}a2Ji}BKT#kTYH`w-EZ?5~bX5u6;C8dHFcqZbaDmYHsSzHBP|qwJ7{$dP(IR&*e>_hFCWrqsX# z3s`-wCkpBwZ>?aR71ETiROlsYN_Xr9qWXpr|~DQxmNeXcjMv%P0d8m zQx=(3E|Rm3p^KAT9r2svZwmNcjWerU*Q2m+BkFSt4=2EpKLX@uWVxXug_C4v|`M+>`LSOU8k|kSrwND&-#rMyA9b&fe zvWaJQP{dFn|EuwgizN^5*ohozy=-P`u3Lcg4G(bSz6yKRjTF)!HdIZOHMMIcj!TaB zh3p>LSnxgR8yA#}TORMN3WZ4OY88g8g-YH3J2}~g*PY>hkSs|gZk~l82Aw(H2G!Dd zyG6kOCq^87?|BLgZXYf)FJv#)jlJyLfSOmb0sTU|Ovn`k++OOH2(jXTse1Wo8xa#u ze0>{DxNNw%oK#D738}FYDf@iCQvQa7pnTF*`0SwA(B!!R(SENu;G0XbKKI_=9=e%u zFxl|=b!2Lfh*g(wH0o@I{Kvyp)#d9`m5>aZ#qqLgZTsV?k#jJ`N>iJx&>j+nxWOL+ zIsiIUn{T| z-r6a(At2>JI}aG6giAm(-~c&M-iNNnH!TI)#}$*jCBhj|lNREERECg1%xPFmcin2g z6He*6T=Q!^@FCwgV}<6t3)su%u(*+G?EMDYLgvXVyraaw&sFRC!7qtOrY*&!i^jt!PpTGCD*=PH>nAA z93J1W6wXVe-H6nHaW*OOH|@V)2H-E=%5)JNdhc-pu>gsIU&U`jobqmb<%=FNxQ?xC zU1@%%?eDqR6V!hsj%T7;%-JqPVuW5>VR}Y+-Hq?>u0;GOZU){llVu|2eoigGA>h}Q z7zmQA$lI^G$(rKDmQfh`B;-?8KrJd}`L`JZ4|a+B z>)4sJ(C?#rVqEm+c8+!5J@-Pi|GGqY)Pl3IX#edv=mQ{sQ%f zft@5}M-vs~{SSMIL0w#AgPq4yNgk5h)Qxp=RLNe{>q2-z{ZO`9*VSYg73|%_4tv$E z^K1aQO-<9Oxe>>|^phlpSa;9zHY`FGcAqa6C8~+_TW6@bwNJfyEsgq%lwI*QuI>1} zv`ebBH3A+tbzoU&z=`8|OkuD^?V~EqFSL&zPvVZ76tIgBQOF{O=Z^GY1KihP+`SW4 z2K|mgqEnRWgnV4oQTwt&e9B<1}emNF!JHf6(U`9F^C7B>~chA;l4*IWcr zvhk|*r|R`0yNw(7H+}CY>he?BA7QFH@qKy7^)@@7X=7>d-e83SFqGb01!JdePUEqzxMRXY%#@P5667qKu3F{9n&hSrrAI0q9cNUuZihjz1MN}_DCq}LYVlYfL@#7K#sB)qfd zIl1C;!ojZ1JEU*)#l^ZC{Wn$x42Vd=-EHXbrpwsK&88Q6hx*b}qBVDh`2~cLecbpGJI=M`Ov?{ae_s)uJo00rvbAf*ow9V$-8Aawz#^H%3O@+A1pt-)-LR`w=X zu~|qv+vRIc+pb6)!GUGP?6e5`No=mOtwH$bFuve_-2s3q=3=ai)6eJZ%U;R?_c(7X zj+fMJhXG#!uIN0u%kz}vCh4J=CZD@d|T>J2T z{axYjk?Q}=FiLEiTn&Jtwo$v9A%}OpwAQW|5p>O#{g|i-K;BSNdwly+Gke7r9|f@N zf3dC#vJw@)gan-RSe$Vf0B8gVV1}=Cveu5@O2`4knKN+kPj=@YF~%l(NOioY34k z_@7>S+Mtj7H$NRN0Wj8GH5o;-zegJQ_lyckpy#w!E0oy7{KYka+fGG9hL79Y265Q( znRXxtkQPxFdQz2hiNmLVt9I#?+a>0Y(emXkw&H#yb71da7thKKk;fckh+6bw^TcHD zhIc2nM{O@H-tzU{IMv6;8T z$wX)(s{&geMcLF5_|m58^o#)FrYsmg+~=DE_Q1&B@fRI@6OGTWvinZm~C2`(IeF|BmwS^cVx8V8z2Y-XYGDrf!hph%+kdrD6*o{~u? zY~Bqdtf%GK1xy89wpt@AnnJ8#D$B&_p<-=u{YZ zy1M2qJFTt;V((6b?9B+>QGo9i)SDY(hR?m7?%7jR_ar-#R8FUV|DM*<%j?PZ$tNgf zxOt_W8PS4Ron8TG&`5Xpb6-SF zRoUbY#I>xWPy`pNn3b(yISdGDYGoKj0FVyx61KP$%Fyehhs{6;oqS|AF@~z@ClFwcG-DBZ@O};v?-F zxfJJsePRRa{n3s^3LCG;03VuF^dj7A^&$Xx)1A&FY#y9Y_O)C@;fH0D9u*4* z2Cl-wCg==8)FvT_5(KVH76bh>;OFTlQaOaETCpJ)YCrI@`lJO4Jx^i!z?iKp0l-+-9mXx-ud zp;9}SF6eXS10VYEuh@2aDzYtoy4+Mu8a|Lm4{RV*32UCO3h4RjS%xlZB_T9q5Z-20 ze|J@>fIl}^p~>w~plR_8(pmo`CN@%CH0g)qv-2Z0Oz(+j}**v`yNnNV#AQR?X5QC$YB2HN`+&KED6i^!a} zEcsEDNBeZOMTYs_@dh^ znf?o$T$K!B4wo$`_R4CQ6&RrWmM`~a`l2#i{kqEQ%wn&#PcatmT!CxBD^NUVFCKk= zij#IA#TR>pGHB*gv^ye9EH~SuBiVR$T=yL8>J_OAqB|_92LOtfIN>Q(&t^Z%4qaBI zr88%2xK>>N8k4I(L?Yqs*M~hLtCo^CrhfJp>K#9RCiguG3Xhjh8-IfaXTn2HUGLmoziRYs zK5N4o5ogbB0gKF(=>O+5SCeIoVWmYiLeAHoC~N}jy$o0h){fg2fYD6j+oEE^$+@ZH zRDgs6Yw@1Ruce~;GM`qS)n&%m;B(PH9!S`%^$>YaM*M^J*2W24E7-GZj%E6Nxw3W5 z1@mXAXoAdp0%y;ZKgbbvKPd6nS7KckC(;2@{A`ZddiK5!?8p`Fb2%R@lp3z7B+0~W z%8SCsNz=TRcJYrry#wN$xKG0(fvSg3Ve<> z#vo-S+fskAjOG^Lw&0#@R4wpyoL2wb$Ixm|2H8xS9-TWx)-z!KD#a>AsFpWf%QO)~ zZ}FqdXUC?tQ2d+#DDgjHLcXVN*0Z+71aqN8LDHw1!SBz_h?*Xtd?J4aSr1{V3vuL9 zq8C@T_L*Z1V-PA*&^Os!cjl#R87rySJ51zUt6Q(IW@~Gml|HGAzRs@FfN#B>=GpmL z8={hmIUDfnsw0ZjS&J@M1J(YAiVUhE_38D19H2R!x|{a`7mwOji~&UKv6Zn;&$+}F zJCzIMQRZ8YCuG`pvlmyy_M-F0Do_O`R_jkgex?G^#@eSSbs^ME`SvGg!Gv%GK#lg5SSCXmWq_CUs#ePP4;`_KlIdp0%Vn+(Pz-w*XF;y zFSL@?GSyg7;gK<#=&h2KiU>r!BRC_dM8k>@C$zZHnfJgZT~GyG9a;5*mdLCQvs%Fe zE77M1Xt%T(zDCLA>JHX43msAPr6ZK;|*6|I9)L_+nBu1$x=YCYw;fu6PlnB*~`&HLTI&4&)@Gv1esI0o+%I zW!ZWqOmM%Mu&h#* zhcu6|-=s!6aC{2N-i2IR;q^SK@@<%{Z)Bc6*icKdpj4LD z8Z3gfGZ*6Kz_E*7-`|PZtEFD#DT6e2nCBXBaOQ+>+?~m21+_RIxz@K3m@u^!tCeE1 z+v)Jju*mMGQyCT-I1wwXd9qf&C4j_gR|f`CDuL~lRBi`FKa>qSJQCK`8`$o&n(rlK zkO7n^CDO0f@I8ko%hv4}hb{wsgg>-=4>lN=oVjTiEh{pC!G&LPO4wWjScx>}EUocR zJVu^KOna#CGXutOJmnKRb}7r#k%l6ZlQHc9gxi*~2_^0Z#4zaCn|9(4?fK;?Anaww z3jE3I;d*jm&oUQdiGW~|ZF{8)kljZNi zlSvH625&4-AaSU}xeI=7RI~WIN2b6>a@#z4I%qXjYpuMshQ^#ngLkr58Q`8gU*;4m z&El=7YI#N7K;?;q5kcOUi?ak(*rdbkQhfQm!tX$NFHl5>al_qiU)0|&Sp+~68GsaY zslk9Yj_ALu7FmU0W?zmQ=P_5dG1A+c;_aV3fgyo=oB^~3_i-n@5nxZ34c`BSZVGBL zZpa?*jb>keHwwOuknWOqeE@lLcqZ#_02C;{(wER8!BJWN|G@^fVaSP?6;Do$=F4Xs zAYk`SyiI*^8y>ys2Y@7D=mmKDiH*ii|3*h|3l;hv?p|T5>bKkgW*mj@c%L}LF}-J} zfWp>~&$K3rIrIM!^nb8{i&XdolyQ(l7aqICfkvsvAHdAR*;CuWGpi-%`>ql+_4|ox z)@lC+HSgZXuDm*9z`0(WEjPf?a#uMwdgp>T3d{%K;*Arxu-YFum?IFVEd3XuxK&G7 zbBKJvnfpaR;Q(07k8_g}$@w1@&wfk{`~Aedy?~_u4fAHbZzA7Vvx%zTasyCtN1<5p z(DsWoRsv?#vjuF;>JG+lhfjB z&Bl_TtcVTLSL}bT+`-cab$$O4xU@8}50mICiT}^l>}x;TmmjYlNxmiGXQ%)FT95%9u>AG87KZAYI6tX9_5>>FE3-mBW&M`p-{tC> zorc@@14k;dIpzQSHZltMufhM*m@7Qlljtl--dJ^k;StqrQiw3#|e)RBgswa=z}@ms^M)>jR^fFs#Gvqy2LsavGB zwDR=EkIqXAkMK8tDxNT@v^+tu@;Tr8Zd8U&7z88dIYl`HvYuSe2u z+ix=Mu%8sPI*bbJsPQ;-2T}azlA#m*TO--IbYWIupU=HUY+0f*xb#US;~@L6cbw#a z>%i4do`@_5eTNrBXn8#|i)ZD|CW!H6-NI$*bHS?6M#1*U@!ibLtbyA>7aLWT2I4}pZcr8=ov zJBX?ZX1*nlq?UR*Kf`<&$j&)wl~a!xZCole3^@bz!WzNF{hhma0OX$7Rx_2VxVCLC zzOK=3HnG`W@~nqRUPYgtl)&+~Rvro!bP)|)Us{O|x9nvx80nk&&t+9-iiBcUet=gn z*i+>G_qjO)GRH{UhK!#SlkyQP1x6o~(U-=`^-a36;Y+w|C-80I!DK7xVPsesifq)U z&={MW{GjM8mB_*+vu@jeIL)Vh6C)`>|)mfXK1y^3^GV~AYBRiGOJczobidftv zCB-u@!D($!ba`oo7pq|-5z-TsCjGqpLt}+UcR5!FVy*yl(SsiY(#G*XJ9U*+<39l7}ZW6x%Q%y+6h&0-yYywuO- z=azcmsvrAB0sYEs2Wa#JY5_uJGrj>jExVl4AO+Gw-$c?0{AV+s@trF)q*&nyc&6V* zpDgR<2AH*xgT}1KyIeAzUrD5Wr?7~R+fB{}jNGpkT^9;ndAKTga5KxaLGKrF5I8t_ zltx%Qo4vX2Akx#?&bqL%$)ZQ*LAU0+@-b_eNF54h0&^)qcC+?Svcvl9b*~MinBT%m zL=A0l>h{|p(^vKC6b#yBLyUEj0d(=Yy0L7;S}wy^L}pyCuL!FBzRQY*%mA$<38mF|o`)A2(BX+0PF8Z1y8?f^r|v20yB;%<~(caN7sl zui_^vS~JeO2xiDskKw(Dlt@*^WDcW)hBaDSFIx$T(8vn^0>*7AHh}Zc>%R0D+HgVu zc<5o7sVx}=YREd}Gll%VDb6{;bb);;Ur~AsOY6XFb G^@=9Bx{o>yOeV)6K@nM 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 LNMzjC@%VoLLzjB% From 2a10f3a0d4b46b2eb541cd8ac7a974d83fd14e26 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 29 May 2026 07:20:57 +0300 Subject: [PATCH 30/30] PullToRefresh goldens: re-capture with disc backdrop + single paint Android baseline now clearly shows the Material 3 white disc with soft shadow under the rotating arc. The iOS variants render the arc more lightly (no visible status bar in the test form), but each cell has the expected single indicator -- no more double-paint over the title and content list. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../PullToRefreshSpinnerScreenshotTest.png | Bin 0 -> 25736 bytes .../PullToRefreshSpinnerScreenshotTest.png | Bin 0 -> 204498 bytes .../PullToRefreshSpinnerScreenshotTest.png | Bin 0 -> 232013 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 scripts/android/screenshots/PullToRefreshSpinnerScreenshotTest.png create mode 100644 scripts/ios/screenshots-metal/PullToRefreshSpinnerScreenshotTest.png create mode 100644 scripts/ios/screenshots/PullToRefreshSpinnerScreenshotTest.png diff --git a/scripts/android/screenshots/PullToRefreshSpinnerScreenshotTest.png b/scripts/android/screenshots/PullToRefreshSpinnerScreenshotTest.png new file mode 100644 index 0000000000000000000000000000000000000000..96c87d1a35f1ad5d116b4d24f4aae100ebe3993b GIT binary patch literal 25736 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 literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots-metal/PullToRefreshSpinnerScreenshotTest.png b/scripts/ios/screenshots-metal/PullToRefreshSpinnerScreenshotTest.png new file mode 100644 index 0000000000000000000000000000000000000000..933046c7a2a3186964f1916a5b9938b09bd6ab15 GIT binary patch literal 204498 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

&O}a{70s0>J{8?E-mQ1UEq3sBy}IYR+S+}{ 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 DW7N`r$#zd=I*?nsX=i2@D0 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 literal 0 HcmV?d00001