Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add io.leangen.geantyref #30

Merged
merged 1 commit into from
Mar 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,6 @@
[submodule "gson"]
path = tests/integration/gson
url = [email protected]:google/gson.git
[submodule "geantyref"]
path = io.leangen.geantyref
url = [email protected]:javamodules/geantyref.git
36 changes: 33 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,14 @@ export GUAVA_VERSION ?= 1.0-HEAD-jre-SNAPSHOT
export GUAVA_FAILUREACCESS_VERSION ?= 1.0.3-jpms
export REACTIVE_STREAMS_VERSION ?= 1.0.5-SNAPSHOT
export PROTOBUF_VERSION ?= 4.27.0-SNAPSHOT
export GEANTYREF_VERSION ?= 1.3.16-SNAPSHOT
else
export CHECKER_FRAMEWORK_VERSION ?= 3.43.0-SNAPSHOT
export GUAVA_VERSION ?= 33.0.0-jre-jpms
export GUAVA_FAILUREACCESS_VERSION ?= 1.0.3-jpms
export REACTIVE_STREAMS_VERSION ?= 1.0.5-jpms
export PROTOBUF_VERSION ?= 4.26.0-jpms
export GEANTYREF_VERSION ?= 1.3.15-jpms
endif

export PROJECT ?= $(shell pwd)
Expand All @@ -32,7 +34,7 @@ export DEV_BIN ?= $(DEV_ROOT)/bin
export LIBS ?= $(PROJECT)/libs
export PROJECT_PATH ?= $(DEV_BIN):$(shell echo $$PATH)

DEPS ?= com.google.guava com.google.errorprone com.google.j2objc org.checkerframework org.reactivestreams com.google.protobuf
DEPS ?= com.google.guava com.google.errorprone com.google.j2objc org.checkerframework org.reactivestreams com.google.protobuf io.leangen.geantyref
POSIX_FLAGS ?=

ifeq ($(VERBOSE),yes)
Expand Down Expand Up @@ -391,6 +393,31 @@ endif

@echo "Protobuf ready."

#
# Library: Checker Framework ---------------------------------------------------------------

geantyref: io.leangen.geantyref ## Build Geantyref reflection library.
io.leangen.geantyref: $(BUILD_DEPS) io.leangen.geantyref/target
io.leangen.geantyref/target:
$(info Building Geantyref...)
$(RULE)cd io.leangen.geantyref \
&& $(MAVEN) versions:set -DnewVersion=$(GEANTYREF_VERSION) \
&& $(MAVEN) versions:update-child-modules \
&& $(MAVEN) $(MAVEN_GOAL) -U

ifeq ($(SNAPSHOT),no)
@# geantyref
$(RULE)$(MAVEN) deploy:deploy-file \
-DgroupId=io.leangen.geantyref \
-DartifactId=geantyref \
-Dversion=$(GEANTYREF_VERSION) \
-Dpackaging=jar \
-DpomFile=./tools/poms/geantyref.xml \
-Dfile=./io.leangen.geantyref/target/geantyref-$(GEANTYREF_VERSION).jar \
-DrepositoryId=jpms-local \
-Durl="$(REPOSITORY)"
endif

#
# Testing: Google GSON ---------------------------------------------------------------------

Expand Down Expand Up @@ -451,10 +478,11 @@ $(LIBS):
$(RULE)$(CP) \
com.google.errorprone/annotations/target/*.jar \
com.google.j2objc/annotations/target/*.jar \
org.checkerframework/checker-qual/build/libs/*.jar \
org.reactivestreams/api/build/libs/*.jar \
com.google.guava/guava/target/*.jar \
com.google.protobuf/bazel-bin/java/*/amended_*_mvn-project.jar \
io.leangen.geantyref/target/*.jar \
org.checkerframework/checker-qual/build/libs/*.jar \
org.reactivestreams/api/build/libs/*.jar \
$(LIBS)

prebuilts:
Expand All @@ -475,6 +503,7 @@ git-add:
repository/com/google/j2objc \
repository/com/google/errorprone \
repository/com/google/protobuf \
repository/io/leangen/geantyref \
repository/org/checkerframework \
repository/org/reactivestreams \
repository/dev/javamodules
Expand All @@ -491,6 +520,7 @@ clean: ## Clean all built targets.
org.checkerframework/build \
org.checkerframework/*/build \
org.reactivestreams/*/build \
io.leangen.geantyref/target \
samples/gradle-platform/app/build \
samples/modular-guava/app/build \
samples/modular-guava-repo/app/build \
Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,6 @@ This repository provides sub-module library overrides for popular Java libraries

Tracking issue [here][6] provides the best tracker. Once these PRs are merged and changes are released, this repo becomes obsolete.

- google/j2objc#2302 feat: support jpms in annotations module
- google/error-prone#4311 feat: add jpms definition for annotations
- typetools/checker-framework#6326 Add module-info.java to checker-qual

### What's in the box?

- **[`com.google.errorprone`][2]:** **Error Prone Compiler** "is a static analysis tool for Java that catches common programming mistakes at compile time," built by Google. Error Prone's annotations module is JPMS-enabled at the embedded sub-module, and is used by Guava. The [PR enabling JPMS support in Error Prone Annotations][3] has been filed, merged, and released, as [`2.26.1`](https://github.com/google/error-prone/releases/tag/v2.26.1).
Expand All @@ -28,6 +24,8 @@ Tracking issue [here][6] provides the best tracker. Once these PRs are merged an

- **[`com.google.protobuf`][4]:** **Protocol Buffers** (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. = JPMS support is [in draft][17].

- **[`io.leangen.geantyref`][18]:** **Geantyref** is a fork of the excellent GenTyRef library, adding support for working with AnnotatedTypes introduced in Java 8 plus many nifty features.

- **[`org.checkerframework`][0]:** **Checker Framework** is a type-checking framework for Java. The `checker-qual` package is used by Guava, so it is included here transitively. Checker Framework added a JPMS module definition in a [recent PR][1], so this is sub-moduled at `master`. At the time of this writing no release has taken place.

- **[`org.reactivestreams`][16]:** **Reactive Streams** is a universal JVM API for building reactive software in an implementation-agnostic manner.
Expand Down Expand Up @@ -90,6 +88,7 @@ You should use a JPMS-enabled library version which has no conflict with Maven C
| `com.google.protobuf:protobuf-util` | `4.26.0-jpms` | 🔄 |
| `com.google.protobuf:protobuf-kotlin` | `4.26.0-jpms` | 🔄 |
| `com.google.protobuf:protobuf-kotlin-lite` | `4.26.0-jpms` | 🔄 |
| `io.leangen.geantyref:geantyref` | `1.3.15-jpms` | 🔄 |
| `org.checkerframework:checker-qual` | `3.43.0-SNAPSHOT` | 🔄 |
| `org.reactivestreams:reactive-streams` | `1.0.5-jpms` | ✅ |

Expand All @@ -107,6 +106,7 @@ Use the modules in your `module-info.java`:
| `com.google.protobuf:protobuf-util` | `com.google.protobuf.util` |
| `com.google.protobuf:protobuf-kotlin` | `com.google.protobuf.kotlin` |
| `com.google.protobuf:protobuf-kotlin-lite` | `com.google.protobuf.kotlin` |
| `io.leangen.geantyref:geantyref` | `io.leangen.geantyref` |
| `org.checkerframework:checker-qual` | `org.checkerframework.checker.qual` |
| `org.reactivestreams:reactive-streams` | `org.reactivestreams` |

Expand Down Expand Up @@ -201,3 +201,4 @@ This repo is open source, licensed under [Apache 2.0](./LICENSE.txt). The librar
[15]: https://docs.gradle.org/current/userguide/dependency_version_alignment.html
[16]: https://github.com/reactive-streams/reactive-streams-jvm
[17]: https://github.com/protocolbuffers/protobuf/pull/16178
[18]: https://github.com/leangen/geantyref
1 change: 1 addition & 0 deletions io.leangen.geantyref
Submodule io.leangen.geantyref added at a794da
Original file line number Diff line number Diff line change
Expand Up @@ -81,5 +81,10 @@
<artifactId>reactive-streams</artifactId>
<version>1.0.5-jpms</version>
</dependency>
<dependency>
<groupId>io.leangen.geantyref</groupId>
<artifactId>geantyref</artifactId>
<version>1.3.15-jpms</version>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8c220102c5f63a54732ef11d5ff62415
456d809dae269f97f30aa62b47bd5afb
Original file line number Diff line number Diff line change
@@ -1 +1 @@
f5de31902ee89054f58a403d72415da49c1bfbf7
1489c86ff9b71216b52216c29506cd886fce23af
2 changes: 1 addition & 1 deletion repository/dev/javamodules/jpms-bom/maven-metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
<versions>
<version>1.0.0</version>
</versions>
<lastUpdated>20240315032701</lastUpdated>
<lastUpdated>20240316002757</lastUpdated>
</versioning>
</metadata>
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ccf62ac077348f68ff63f02474563db4
98af946caf493cafbfc67c6116030d2d
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b0c670b72e9c5dc87d3f48fbcfd4cf5b22d2686e
a15b404af68e2a7b71b07b7a8afb136800064713
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@
{
"name": "jpms-catalog-1.0.0.toml",
"url": "jpms-catalog-1.0.0.toml",
"size": 1538,
"sha512": "71e92a2432967735dfadb735059e6aebc05166b1f300bf5375fbcc69325130ed4dacf8d76a20dd3ae079e9c67c973f004c2312fe5fe66607369458fa089c4d95",
"sha256": "8c14eb940512feac5a0e4dd9eb031a200826d10ba1aaf45f47d5ba1936423363",
"sha1": "75eb4fddba35048ca788adb4bf8a09626cc83dbb",
"md5": "3b68ad096854900f19d316b138cb25b3"
"size": 1657,
"sha512": "9b8108ba2decfcd97e8b8c28422fb7c06bf29b1f7d757e5caef3b58db425a991d9bfdc44508fefff407532a87fd63741210fb719805eaebb33b1550fe3323beb",
"sha256": "16ef5d931a374614640177c5f6ee1d4fabea3a4dcc72af008fe32fda703f109f",
"sha1": "6ca1f11b1db10c0dcb239484799652ad7d8ae81d",
"md5": "d36defa2fd10a6743f8c08cc26cf3413"
}
]
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: BCPG v1.68

iQIzBAABCAAdFiEEoWasYvbejGNzIndzHVkDr0WCvPQFAmXzwAgACgkQHVkDr0WC
vPSZQxAAgo2yluFQ+CJJ1m4AhreBueQZVYJyJBGd0Z9FS9VXYuWzpJoydQMqIKP/
NKogU4mIJidXHhPzOuuWbz8mSupwJUmwz41rURlFnAf3Q2sPXmg8r2orZvT+Kt/J
Pdr6AO4ggB6gl5QPXBx+vIAPSXjNzfFc/eJPS5WhEh853sPbyEbOH+NnXzJJkjWU
gWuhq80eN9qvI0tJF9Fy8I/mgGEOKhaTrcJItpuVF/q5H54pAxIX7NS0GxT0kiea
VzijEsnca59F7De+APxxB8TKhA6YfYr3zniz/UghwH4bJQ0ZELKOPVRsPI6S14Uv
+R3He6Xr81ORA1JNrcyzJgUO8lTxp67OykP6t3HHED8pb9cS8hjDkWDZDeFIRfLS
cqCJmTQfZBnR6adRp4bMZ8fXeYoTCmVNNC7akhhAsPSUkj9x2KJPvgMLxO/oZTzH
JOO1Q1J5b9M+CwCLq7xk/EPJbB7KRwpyX8oaIDHNnf1PQisQb8WY6gFfUiL9VXlw
XVSzd0VHMHwP/0dpYtDIMPb9kVZ+wr6VYeAV9CYT3l+XIqgiKBIZAdvymwbucbBg
tRn+ihaVQzmFtsYbbC4/1RhLquYVgsJsHT8v5rfCFDcakuHslWkiD42lRETCS0ID
IZ8bDjV9nLUZWVTgMypASDfFXA2jjM3/0YmWu7xArR+EZbgbeHY=
=1IK1
iQIzBAABCAAdFiEEoWasYvbejGNzIndzHVkDr0WCvPQFAmX055AACgkQHVkDr0WC
vPQn+BAAmFi5A/iIdKvAlMWrSbm4Vb/167AbDQM1VLsIPoVy3bx3ISgHRad6Jr+f
Qkeea4CfyZYmfggWEF09YaOh76p6RdsvVBBdS0gOqh0g6b7yw+ywUSIUAWQ752We
7tFaFnL4E+b+tymMImwqnVNRBhNeo74YXV4PtncUjKLBzIgLrA4BYKSAzZywRxiD
NL+oe2OOmmTait1jgP/pn4QaDkGDHr0L0cv7a9VRmjdslw4FgKrbY/MnFzVUcR10
co2n2AM/LHJow735a2SIcjdi72SvYdcU7RnQygnuM7l5lBIvMtyfTpOCRPadwFov
h1YOpsaHjNLFeQ0VzhXauUfci+6qK0gCif5gRW0K7txQsiA1WhDd7AlAx8WLQWb5
Qlr88ubk4bxpG1mSvRfTCH6ijV1vBxp36IIsi5vmfYGpfWLRmXIvkRXLiZR/run0
UbFvKr98QG2efmjqQzSETUkNTeka5/W/cu9m0MEYJf+nCbDfnKli7SAfuNgiqCAO
+tb1FQ4FE9reRgXJCi0gZMxFZd1aTdco2e5iB+5MbVjnSQAVMuaOFHy5+ulgFITH
XftjisSbwwQmZajzxK+BW/q8AHydQMCddiakOVx9oN+swtoF4k3ZLo+Uvx6gjVhr
PEHLn1OYvt+qKyUyQSEngUh7NJH7FxoZhqt8Qf/lA5zX6GNsekg=
=QT/M
-----END PGP SIGNATURE-----
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6493474261ee141e5b899d67737d1256
140551af0c419f8935dc855e76641ed7
Original file line number Diff line number Diff line change
@@ -1 +1 @@
95028b723819738e2488130ab4ca889ff580346d
66e32c4fa953c7d41913f72fef4f359250ed6b2a
Original file line number Diff line number Diff line change
@@ -1 +1 @@
fa4b44aa2c9f8e63e8740360a8e0af0919a6fecd47b684bd39689e6e4a659a48
17a255bc3afaa05acd11b331820e16a4d900ec16bbc7dc0c5d7cebe497c11350
Original file line number Diff line number Diff line change
@@ -1 +1 @@
708bbcd27836b81e64fb8615361d15fbc385fc52f3183b3fb990fadc26c39fe32f358993e0b2dbac88577d3feb73d9b69696ef2a703e4f486042caa1239439ab
bead3c8075624eec895bd15d87f40cee6a7f15c12f3b2b804042c61ee3cc3d62d91dff1c94e071e9a1808afc0f634adaba0090d83f4d98ff08e618eaaec75ff3
Original file line number Diff line number Diff line change
@@ -1 +1 @@
17009c850717456f043aaf30551ae678
3cd372dcd6c96aa0a3b3b16b4b5612fb
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1a53984a0879656fcdbfcabf48525670505484fb
25e26a594546b3f3a98656cf37b6d7954155b9b4
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0f800d4f51d9f534aa11bc4fbe51e6e6d4bd14858ea15d1ac5195bd63df7415e
12acb9e0ff6bb781dd7adfeda3f6e037090a4b9e1f4cfa6537ffc16d48b16051
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6e78d7b4cbd09e770a1e5c47f8d7735c94e78904e6ddcd26c6f2c8fe7585ea24c9810d5edfdab7532d900fd9eacaba1260cab205c2a04c358f172bfd12abbacb
71d22bb7885dd7c7d125d4d2fccae642a22ac9023e7d2bcb780c8ad06113c282108b1fea0c4831886999bdd339fd72420fcd2ef0bccc41a4e0f528003c122361
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: BCPG v1.68

iQIzBAABCAAdFiEEoWasYvbejGNzIndzHVkDr0WCvPQFAmXzwAgACgkQHVkDr0WC
vPTnQg/9GzCb1ETDoLeBIvJTKfANtdMRWt6S1h3hwoq3BZZl/guJ69Tbme7ADn6l
tfZsSOoPof09OIytKNwtCh4S7Ob5zrfw54KjgHkGimNPgYvFeAa6/X3bDkfg7rLt
GiptZO+yp4Gr86J6I3mwVf3Xx96tAYsdLJFVEUHg2kOEVKnuocU4e11EJ1LA72Rj
4eKsZjGyv05QMegc2TIUNqu6XVkX97D83nGuGVyrM5cfEd+J6+q8upehjozHyBmm
jBs2+O3TrpaLIHLsEnWkJdhgQL51E8JhQvGSBsFPuaDI7wtbZHJpfw4LlC7GWok2
kd/STsKb025awZ3ihscwOiCG0uMDBXpBf2gsEthwI/JPYB7IR2kp0B+HF9YWPGSd
a1PSQmPaIieDCaCyRjTqQJ/S5lJjr03dedNMrfQy6+gCJLhhDQWM2a2eKfgmKcZn
JPdZM9FtBkZ1FAjM1UnDwQLw4rlY9zzBHZNyalbWJ9YNDCNm9w0zgVhb9Y9rcaHR
I3j/bPny7Q7XZkujXNrBWa2wRvRFANJ+SG4roUDERUtywCf+ZrMrpfh/SoglWIFM
yloaAEkEDixE7WP8WTnWjDwLWqcFDOYc68x9yIS7Sg5Fs2VV/QmlnzWl7JkSI1Nw
HPU9X3Ibos8rY2+fUNZG18Rl9EeSwwo3dZWBrBh1m2Kc2KbsQI0=
=xVgQ
iQIzBAABCAAdFiEEoWasYvbejGNzIndzHVkDr0WCvPQFAmX055EACgkQHVkDr0WC
vPQAOg//ZSURf26VXYpwly1wwFjz/dDjd63kwR8xCiyX8Ib9QcRRWb4RUqkEpE90
RdGFyneWqiGmX9fTZ7+LOFoZurfb3l18hBB+fYOjKjElLCmD444mNcdmuT0Z58Af
nwi52QIeV37zsJVxVFpxTx5jq/3SCyyVuLTT2ro2WlQC0u9zwIvjQLLPKB3sorbU
wjxV1qEtOZhLo9epP6GIrmVgXhlfhiPWE5Y9LxO8SXZdp071X1N7zZgESpwBqAoD
vjg+SMbgOHMzwxXHVcjw04q3WB1xLTuNZUurU2BBOaVaoz0YgXhkVDJSER33QzFy
nCDJlLtDewkCODBcRejwzVUNK5LP2LK109dqwdhabivrfjW4dmfKWcH8/8yarBHX
RFpm+L7HwrNs26eAb7/6/8txTas9wJfqlUkA+Ul9+BFF7NrF/UTUHDcp+FW8lZI7
D1v04BdJiJADqU/sRy23iRk1LXrBEGPkQWP5zD22kyI6OGT2ev+289eJB2BOImTy
9fXMlcH1zpBCavEJAB/l1AZhtj9k1THiCgmyoGmM2fj8JXzq0n0v6U7kxzoswPAK
PmDnyGDwt7C0Z/1XBhNSbrpV54x4OXTzUrE9bq3dNYGGQbknOhviAxUm2eH6wOa0
vwUvrg4t/w9+o2gDsKPS8fVH7LdBDa7d/vbrOrCX0ORYprlixFY=
=jY0/
-----END PGP SIGNATURE-----
Original file line number Diff line number Diff line change
@@ -1 +1 @@
e28d093fe9a08be70b1934140a5b195d
db78a0ddc6d2d18764b384af392ec7b9
Original file line number Diff line number Diff line change
@@ -1 +1 @@
dbb5a5f0d945bc6a191edcf8a98fcf5ca30e2329
669a804f6dd0a30f9b5aae1d8ed064fab797d339
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10e2de7b211adf55255ee148475393cdb53ad9f174a83447a020d21cfcb7faca
bdb9ddbab83aee43b5ac72b02f40d40cfa2c00bcea2cd3854876955e259a19fb
Original file line number Diff line number Diff line change
@@ -1 +1 @@
f1aa610bfbada88ad45f5bc1b745ae3b31872de5203589b6b7e823743ad7d7d0309fa5861e21adf5af87fa9f12ee89ed4c0a21c51420694da875c8ca1982c284
eabc237339ca594fa6e68b6d7bb32034087de2a7f82369b9cbbc5fe93a7cc84225c372631f42510cdfa3da440961bbc5db13d34fa96fa385d9e036b975d35ebb
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ format.version = "1.1"
attic = "1.0.0"
checker = "3.43.0-SNAPSHOT"
errorprone = "2.26.1-jpms"
geantyref = "1.3.15-jpms"
guava = "33.0.0-jre-jpms"
j2objc = "3.0.0"
protobuf = "4.26.0-jpms"
Expand All @@ -16,6 +17,7 @@ reactivestreams = "1.0.4-jpms"
[libraries]
checker-qual = {group = "org.checkerframework", name = "checker-qual", version.ref = "checker" }
errorprone-annotations = {group = "com.google.errorprone", name = "error_prone_annotations", version.ref = "errorprone" }
geantyref = {group = "io.leangen.geantyref", name = "geantyref", version.ref = "geantyref" }
guava = {group = "com.google.guava", name = "guava", version.ref = "guava" }
j2objc-annotations = {group = "com.google.j2objc", name = "j2objc-annotations", version.ref = "j2objc" }
javamodules-bom = {group = "dev.javamodules", name = "jpms-bom", version.ref = "attic" }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: BCPG v1.68

iQIzBAABCAAdFiEEoWasYvbejGNzIndzHVkDr0WCvPQFAmXzwAgACgkQHVkDr0WC
vPRgDQ/+K+QXJzEJ8jD9xWqxA9q0lcaFjxzLb8XbFlSKlBXe8eJ2HTg7MWPzNC/J
mxhE/1JK8NWbVIOs34mQ5/G71BKsm9m+5WuntPhZuoJ9J15YwhPkALjTUYUuW5qD
zIwD9IgzlbpwrhHyk5c86N3QFgIKcjqBTV9/8743Ir6Pdziw2Cqf8s9Pt1KmHgqw
3gc/7DfKUyUS5lbHTPh1omMDdenuShsLo6BbE8OQSOYKLLY0HM2/vV8YIXAjkBrg
UeOIdnbh9dxQmUPcEmTKBVGFWsNZcP20/UDvHa+IWVtLfj0GfIyoCjvmlik0bHZ0
xLvP6qRbrSuCrpsZUqbwESLRyNl8RoJ/qPkqqcjadSwHfyPdIqUAYPfF5hRTISa9
KI9YWaKx2mTagls1xHMb7bknPzsyofWGIs8HUYTpB8nE19nNzSpouLxkz97I30Q6
KPVBsfiGbeRFHl3ZQRsxX6fo3DPXdzxC7mZ9DdDZjB9lqrTGEjJrH6hQ/3j2K/HM
/sLqTUx3xCRecHSrweYHVIcghB1w+PuJUU8d+7nKqcRchEz1tfzf3O8YBuSbw3zp
lDG9pxOkAJHl3MlHD/LuAz75jFVP6MGFPPjUKTLTgsu0p6SYFvZvNs1k7+VbuNiB
J9pRV/njKM2J+raIQyHrdbzTM803aN8ailtAC7gQQYQyU2T5+30=
=bftf
iQIzBAABCAAdFiEEoWasYvbejGNzIndzHVkDr0WCvPQFAmX055EACgkQHVkDr0WC
vPQYtQ/8Crs7l26btczJD7da/CZLRB7gMby8iBTz2xh8rhm/G4PHqxqhzWMSKKjO
M+nja/NDL7Wf6+hq18ryiONdsKkwlEwo684icnlceQdreOSkr5YZ9E1hwX52CUj3
uJCyJEU91yUGJP9fgl6b323KDeDle9PFct2yiaRkhfvv22QBb9GDIuqcRpeYKw0c
8t2vg0LYdl99w8FGRTq0AWJ1M2cWs37yWsikr9y+imraGhv2jo7Xt/HfvUioHcSp
B7CXhREQg3G8+noP6utzdyAvhQ7Jt94U88zBzta4ROepSwldAFDauOaCTK4stGjt
MEmzzJbfXCoZ12RRUNpbGuDcbNUVDk+Z8RR8R+AJppWwQr+R7W0V8eFql0zvw2ni
1RLJNPAhdb5iT7D6m0sCFi+KE7I1zvYEdIFx3w5c980zXZx+aQIZSshbTWMlya1E
o15mBe0MxjfjuX+BiJKskXrI5+dCj4TLYKs8YDkzLzWcJroM92qE9ArSYPNFgUv9
Bt9i4sGciEzVBjhRBx2pMsr5eAJlNwj10n3Tp3g1arY4GHM5UJXt9ERqZg2BrksW
MbYIO1FZHlyIbijqyenruCsg3gnuX/a+7uGzOTHv+8jr2X4BBC2JGGzD1ZE2tG8a
XthvXDaZFe0cpshRwoIfxB5i+oRAohwWYBjmo8HII92Qi1LESLM=
=7bfC
-----END PGP SIGNATURE-----
Original file line number Diff line number Diff line change
@@ -1 +1 @@
42a0117d1cdfce502dd588d04b978cc3
1cda31f3017db291b7b406f73b596022
Original file line number Diff line number Diff line change
@@ -1 +1 @@
eb865529311995d2909773f4555278fd3eecee98
9426bf57d8c76d324c7d76a9f987e67841fdb4bc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
976fd57a19ab594254cc2b78f2ef14a86eeb9f88a4fe52494cdcc124a4b19457
60a35b1ee0d9dd8b60f0a6d9b82f49033490cb7eeb89fad966fea4014b3a623a
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3881a176dae1e590e96cc54609206194a1b7c2a346fba42af1c2912e9277be30ddc0536e15324caaa672f1cb4c15f4c5493b97c7989da70d01866c15812c1919
a8bb4a1cd7ce50a30c30d70477302d92b71a9b122faca1c0723ee99bdfa43e6b4134994ec5c256a9a60bd06ce2734b75e2e10608737aecd854318970cf7f6e19
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3b68ad096854900f19d316b138cb25b3
d36defa2fd10a6743f8c08cc26cf3413
Original file line number Diff line number Diff line change
@@ -1 +1 @@
75eb4fddba35048ca788adb4bf8a09626cc83dbb
6ca1f11b1db10c0dcb239484799652ad7d8ae81d
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8c14eb940512feac5a0e4dd9eb031a200826d10ba1aaf45f47d5ba1936423363
16ef5d931a374614640177c5f6ee1d4fabea3a4dcc72af008fe32fda703f109f
Loading
Loading