Skip to content

Commit 5f3d30e

Browse files
authored
Remove @GwtIncompatible (#3148)
1 parent 23cd023 commit 5f3d30e

28 files changed

+0
-254
lines changed

vavr/generator/Generator.scala

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,7 +1018,6 @@ def generateMainClasses(): Unit = {
10181018
* @param <T> type of the value
10191019
* @return a new {@code Match} instance
10201020
*/
1021-
@GwtIncompatible
10221021
public static <T> Match<T> Match(T value) {
10231022
return new Match<>(value);
10241023
}
@@ -1036,7 +1035,6 @@ def generateMainClasses(): Unit = {
10361035
* @param f Matched value consumer
10371036
* @return new Case0
10381037
*/
1039-
@GwtIncompatible
10401038
public static <T, R> Case<T, R> Case(@NonNull Pattern0<T> pattern, @NonNull $FunctionType<? super T, ? extends R> f) {
10411039
$Objects.requireNonNull(pattern, "pattern is null");
10421040
$Objects.requireNonNull(f, "f is null");
@@ -1052,7 +1050,6 @@ def generateMainClasses(): Unit = {
10521050
* @param supplier Matched value supplier
10531051
* @return new Case0
10541052
*/
1055-
@GwtIncompatible
10561053
public static <T, R> Case<T, R> Case(@NonNull Pattern0<T> pattern, @NonNull $SupplierType<? extends R> supplier) {
10571054
$Objects.requireNonNull(pattern, "pattern is null");
10581055
$Objects.requireNonNull(supplier, "supplier is null");
@@ -1068,7 +1065,6 @@ def generateMainClasses(): Unit = {
10681065
* @param retVal Constant value to return
10691066
* @return new Case0
10701067
*/
1071-
@GwtIncompatible
10721068
public static <T, R> Case<T, R> Case(@NonNull Pattern0<T> pattern, R retVal) {
10731069
$Objects.requireNonNull(pattern, "pattern is null");
10741070
return new Case0<>(pattern, ignored -> retVal);
@@ -1098,7 +1094,6 @@ def generateMainClasses(): Unit = {
10981094
* @param f Matched value consumer
10991095
* @return new Case$i
11001096
*/
1101-
@GwtIncompatible
11021097
public static <T, $generics, R> Case<T, R> Case(@NonNull Pattern$i<T, $generics> pattern, @NonNull $functionType<$argTypes, ? extends R> f) {
11031098
$Objects.requireNonNull(pattern, "pattern is null");
11041099
$Objects.requireNonNull(f, "f is null");
@@ -1115,7 +1110,6 @@ def generateMainClasses(): Unit = {
11151110
* @param supplier Matched value supplier
11161111
* @return new Case$i
11171112
*/
1118-
@GwtIncompatible
11191113
public static <T, $generics, R> Case<T, R> Case(@NonNull Pattern$i<T, $generics> pattern, @NonNull $SupplierType<? extends R> supplier) {
11201114
$Objects.requireNonNull(pattern, "pattern is null");
11211115
$Objects.requireNonNull(supplier, "supplier is null");
@@ -1132,7 +1126,6 @@ def generateMainClasses(): Unit = {
11321126
* @param retVal Constant value to return
11331127
* @return new Case$i
11341128
*/
1135-
@GwtIncompatible
11361129
public static <T, $generics, R> Case<T, R> Case(@NonNull Pattern$i<T, $generics> pattern, R retVal) {
11371130
$Objects.requireNonNull(pattern, "pattern is null");
11381131
return new Case$i<>(pattern, $params -> retVal);
@@ -1150,7 +1143,6 @@ def generateMainClasses(): Unit = {
11501143
* @param <T> injected type of the underlying value
11511144
* @return a new {@code Pattern0} instance
11521145
*/
1153-
@GwtIncompatible
11541146
public static <T> Pattern0<T> $$() {
11551147
return Pattern0.any();
11561148
}
@@ -1162,7 +1154,6 @@ def generateMainClasses(): Unit = {
11621154
* @param prototype the value that should be equal to the underlying object
11631155
* @return a new {@code Pattern0} instance
11641156
*/
1165-
@GwtIncompatible
11661157
public static <T> Pattern0<T> $$(T prototype) {
11671158
return new Pattern0<T>() {
11681159

@@ -1242,7 +1233,6 @@ def generateMainClasses(): Unit = {
12421233
* @param predicate the predicate that tests a given value
12431234
* @return a new {@code Pattern0} instance
12441235
*/
1245-
@GwtIncompatible
12461236
public static <T> Pattern0<T> $$(@NonNull $PredicateType<? super T> predicate) {
12471237
$Objects.requireNonNull(predicate, "predicate is null");
12481238
return new Pattern0<T>() {
@@ -1269,7 +1259,6 @@ def generateMainClasses(): Unit = {
12691259
* Scala-like structural pattern matching for Java. Instances are obtained via {@link API#Match(Object)}.
12701260
* @param <T> type of the object that is matched
12711261
*/
1272-
@GwtIncompatible
12731262
public static final class Match<T> {
12741263

12751264
private final T value;
@@ -1677,7 +1666,6 @@ def generateMainClasses(): Unit = {
16771666
* @param format A format string as described in {@link $FormatterType}.
16781667
* @param args Arguments referenced by the format specifiers
16791668
*/
1680-
@GwtIncompatible
16811669
public static void printf(String format, Object... args) {
16821670
System.out.printf(format, args);
16831671
}

vavr/src-gen/main/java/io/vavr/API.java

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,6 @@ public static void print(Object obj) {
169169
* @param format A format string as described in {@link Formatter}.
170170
* @param args Arguments referenced by the format specifiers
171171
*/
172-
@GwtIncompatible
173172
public static void printf(String format, Object... args) {
174173
System.out.printf(format, args);
175174
}
@@ -9774,7 +9773,6 @@ public <R> Validation<L, R> yield(@NonNull Function8<? super T1, ? super T2, ? s
97749773
* @param <T> type of the value
97759774
* @return a new {@code Match} instance
97769775
*/
9777-
@GwtIncompatible
97789776
public static <T> Match<T> Match(T value) {
97799777
return new Match<>(value);
97809778
}
@@ -9792,7 +9790,6 @@ public static <T> Match<T> Match(T value) {
97929790
* @param f Matched value consumer
97939791
* @return new Case0
97949792
*/
9795-
@GwtIncompatible
97969793
public static <T, R> Case<T, R> Case(@NonNull Pattern0<T> pattern, @NonNull Function<? super T, ? extends R> f) {
97979794
Objects.requireNonNull(pattern, "pattern is null");
97989795
Objects.requireNonNull(f, "f is null");
@@ -9808,7 +9805,6 @@ public static <T, R> Case<T, R> Case(@NonNull Pattern0<T> pattern, @NonNull Func
98089805
* @param supplier Matched value supplier
98099806
* @return new Case0
98109807
*/
9811-
@GwtIncompatible
98129808
public static <T, R> Case<T, R> Case(@NonNull Pattern0<T> pattern, @NonNull Supplier<? extends R> supplier) {
98139809
Objects.requireNonNull(pattern, "pattern is null");
98149810
Objects.requireNonNull(supplier, "supplier is null");
@@ -9824,7 +9820,6 @@ public static <T, R> Case<T, R> Case(@NonNull Pattern0<T> pattern, @NonNull Supp
98249820
* @param retVal Constant value to return
98259821
* @return new Case0
98269822
*/
9827-
@GwtIncompatible
98289823
public static <T, R> Case<T, R> Case(@NonNull Pattern0<T> pattern, R retVal) {
98299824
Objects.requireNonNull(pattern, "pattern is null");
98309825
return new Case0<>(pattern, ignored -> retVal);
@@ -9842,7 +9837,6 @@ public static <T, R> Case<T, R> Case(@NonNull Pattern0<T> pattern, R retVal) {
98429837
* @param f Matched value consumer
98439838
* @return new Case1
98449839
*/
9845-
@GwtIncompatible
98469840
public static <T, T1, R> Case<T, R> Case(@NonNull Pattern1<T, T1> pattern, @NonNull Function<? super T1, ? extends R> f) {
98479841
Objects.requireNonNull(pattern, "pattern is null");
98489842
Objects.requireNonNull(f, "f is null");
@@ -9859,7 +9853,6 @@ public static <T, T1, R> Case<T, R> Case(@NonNull Pattern1<T, T1> pattern, @NonN
98599853
* @param supplier Matched value supplier
98609854
* @return new Case1
98619855
*/
9862-
@GwtIncompatible
98639856
public static <T, T1, R> Case<T, R> Case(@NonNull Pattern1<T, T1> pattern, @NonNull Supplier<? extends R> supplier) {
98649857
Objects.requireNonNull(pattern, "pattern is null");
98659858
Objects.requireNonNull(supplier, "supplier is null");
@@ -9876,7 +9869,6 @@ public static <T, T1, R> Case<T, R> Case(@NonNull Pattern1<T, T1> pattern, @NonN
98769869
* @param retVal Constant value to return
98779870
* @return new Case1
98789871
*/
9879-
@GwtIncompatible
98809872
public static <T, T1, R> Case<T, R> Case(@NonNull Pattern1<T, T1> pattern, R retVal) {
98819873
Objects.requireNonNull(pattern, "pattern is null");
98829874
return new Case1<>(pattern, _1 -> retVal);
@@ -9895,7 +9887,6 @@ public static <T, T1, R> Case<T, R> Case(@NonNull Pattern1<T, T1> pattern, R ret
98959887
* @param f Matched value consumer
98969888
* @return new Case2
98979889
*/
9898-
@GwtIncompatible
98999890
public static <T, T1, T2, R> Case<T, R> Case(@NonNull Pattern2<T, T1, T2> pattern, @NonNull BiFunction<? super T1, ? super T2, ? extends R> f) {
99009891
Objects.requireNonNull(pattern, "pattern is null");
99019892
Objects.requireNonNull(f, "f is null");
@@ -9913,7 +9904,6 @@ public static <T, T1, T2, R> Case<T, R> Case(@NonNull Pattern2<T, T1, T2> patter
99139904
* @param supplier Matched value supplier
99149905
* @return new Case2
99159906
*/
9916-
@GwtIncompatible
99179907
public static <T, T1, T2, R> Case<T, R> Case(@NonNull Pattern2<T, T1, T2> pattern, @NonNull Supplier<? extends R> supplier) {
99189908
Objects.requireNonNull(pattern, "pattern is null");
99199909
Objects.requireNonNull(supplier, "supplier is null");
@@ -9931,7 +9921,6 @@ public static <T, T1, T2, R> Case<T, R> Case(@NonNull Pattern2<T, T1, T2> patter
99319921
* @param retVal Constant value to return
99329922
* @return new Case2
99339923
*/
9934-
@GwtIncompatible
99359924
public static <T, T1, T2, R> Case<T, R> Case(@NonNull Pattern2<T, T1, T2> pattern, R retVal) {
99369925
Objects.requireNonNull(pattern, "pattern is null");
99379926
return new Case2<>(pattern, (_1, _2) -> retVal);
@@ -9951,7 +9940,6 @@ public static <T, T1, T2, R> Case<T, R> Case(@NonNull Pattern2<T, T1, T2> patter
99519940
* @param f Matched value consumer
99529941
* @return new Case3
99539942
*/
9954-
@GwtIncompatible
99559943
public static <T, T1, T2, T3, R> Case<T, R> Case(@NonNull Pattern3<T, T1, T2, T3> pattern, @NonNull Function3<? super T1, ? super T2, ? super T3, ? extends R> f) {
99569944
Objects.requireNonNull(pattern, "pattern is null");
99579945
Objects.requireNonNull(f, "f is null");
@@ -9970,7 +9958,6 @@ public static <T, T1, T2, T3, R> Case<T, R> Case(@NonNull Pattern3<T, T1, T2, T3
99709958
* @param supplier Matched value supplier
99719959
* @return new Case3
99729960
*/
9973-
@GwtIncompatible
99749961
public static <T, T1, T2, T3, R> Case<T, R> Case(@NonNull Pattern3<T, T1, T2, T3> pattern, @NonNull Supplier<? extends R> supplier) {
99759962
Objects.requireNonNull(pattern, "pattern is null");
99769963
Objects.requireNonNull(supplier, "supplier is null");
@@ -9989,7 +9976,6 @@ public static <T, T1, T2, T3, R> Case<T, R> Case(@NonNull Pattern3<T, T1, T2, T3
99899976
* @param retVal Constant value to return
99909977
* @return new Case3
99919978
*/
9992-
@GwtIncompatible
99939979
public static <T, T1, T2, T3, R> Case<T, R> Case(@NonNull Pattern3<T, T1, T2, T3> pattern, R retVal) {
99949980
Objects.requireNonNull(pattern, "pattern is null");
99959981
return new Case3<>(pattern, (_1, _2, _3) -> retVal);
@@ -10010,7 +9996,6 @@ public static <T, T1, T2, T3, R> Case<T, R> Case(@NonNull Pattern3<T, T1, T2, T3
100109996
* @param f Matched value consumer
100119997
* @return new Case4
100129998
*/
10013-
@GwtIncompatible
100149999
public static <T, T1, T2, T3, T4, R> Case<T, R> Case(@NonNull Pattern4<T, T1, T2, T3, T4> pattern, @NonNull Function4<? super T1, ? super T2, ? super T3, ? super T4, ? extends R> f) {
1001510000
Objects.requireNonNull(pattern, "pattern is null");
1001610001
Objects.requireNonNull(f, "f is null");
@@ -10030,7 +10015,6 @@ public static <T, T1, T2, T3, T4, R> Case<T, R> Case(@NonNull Pattern4<T, T1, T2
1003010015
* @param supplier Matched value supplier
1003110016
* @return new Case4
1003210017
*/
10033-
@GwtIncompatible
1003410018
public static <T, T1, T2, T3, T4, R> Case<T, R> Case(@NonNull Pattern4<T, T1, T2, T3, T4> pattern, @NonNull Supplier<? extends R> supplier) {
1003510019
Objects.requireNonNull(pattern, "pattern is null");
1003610020
Objects.requireNonNull(supplier, "supplier is null");
@@ -10050,7 +10034,6 @@ public static <T, T1, T2, T3, T4, R> Case<T, R> Case(@NonNull Pattern4<T, T1, T2
1005010034
* @param retVal Constant value to return
1005110035
* @return new Case4
1005210036
*/
10053-
@GwtIncompatible
1005410037
public static <T, T1, T2, T3, T4, R> Case<T, R> Case(@NonNull Pattern4<T, T1, T2, T3, T4> pattern, R retVal) {
1005510038
Objects.requireNonNull(pattern, "pattern is null");
1005610039
return new Case4<>(pattern, (_1, _2, _3, _4) -> retVal);
@@ -10072,7 +10055,6 @@ public static <T, T1, T2, T3, T4, R> Case<T, R> Case(@NonNull Pattern4<T, T1, T2
1007210055
* @param f Matched value consumer
1007310056
* @return new Case5
1007410057
*/
10075-
@GwtIncompatible
1007610058
public static <T, T1, T2, T3, T4, T5, R> Case<T, R> Case(@NonNull Pattern5<T, T1, T2, T3, T4, T5> pattern, @NonNull Function5<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? extends R> f) {
1007710059
Objects.requireNonNull(pattern, "pattern is null");
1007810060
Objects.requireNonNull(f, "f is null");
@@ -10093,7 +10075,6 @@ public static <T, T1, T2, T3, T4, T5, R> Case<T, R> Case(@NonNull Pattern5<T, T1
1009310075
* @param supplier Matched value supplier
1009410076
* @return new Case5
1009510077
*/
10096-
@GwtIncompatible
1009710078
public static <T, T1, T2, T3, T4, T5, R> Case<T, R> Case(@NonNull Pattern5<T, T1, T2, T3, T4, T5> pattern, @NonNull Supplier<? extends R> supplier) {
1009810079
Objects.requireNonNull(pattern, "pattern is null");
1009910080
Objects.requireNonNull(supplier, "supplier is null");
@@ -10114,7 +10095,6 @@ public static <T, T1, T2, T3, T4, T5, R> Case<T, R> Case(@NonNull Pattern5<T, T1
1011410095
* @param retVal Constant value to return
1011510096
* @return new Case5
1011610097
*/
10117-
@GwtIncompatible
1011810098
public static <T, T1, T2, T3, T4, T5, R> Case<T, R> Case(@NonNull Pattern5<T, T1, T2, T3, T4, T5> pattern, R retVal) {
1011910099
Objects.requireNonNull(pattern, "pattern is null");
1012010100
return new Case5<>(pattern, (_1, _2, _3, _4, _5) -> retVal);
@@ -10137,7 +10117,6 @@ public static <T, T1, T2, T3, T4, T5, R> Case<T, R> Case(@NonNull Pattern5<T, T1
1013710117
* @param f Matched value consumer
1013810118
* @return new Case6
1013910119
*/
10140-
@GwtIncompatible
1014110120
public static <T, T1, T2, T3, T4, T5, T6, R> Case<T, R> Case(@NonNull Pattern6<T, T1, T2, T3, T4, T5, T6> pattern, @NonNull Function6<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? extends R> f) {
1014210121
Objects.requireNonNull(pattern, "pattern is null");
1014310122
Objects.requireNonNull(f, "f is null");
@@ -10159,7 +10138,6 @@ public static <T, T1, T2, T3, T4, T5, T6, R> Case<T, R> Case(@NonNull Pattern6<T
1015910138
* @param supplier Matched value supplier
1016010139
* @return new Case6
1016110140
*/
10162-
@GwtIncompatible
1016310141
public static <T, T1, T2, T3, T4, T5, T6, R> Case<T, R> Case(@NonNull Pattern6<T, T1, T2, T3, T4, T5, T6> pattern, @NonNull Supplier<? extends R> supplier) {
1016410142
Objects.requireNonNull(pattern, "pattern is null");
1016510143
Objects.requireNonNull(supplier, "supplier is null");
@@ -10181,7 +10159,6 @@ public static <T, T1, T2, T3, T4, T5, T6, R> Case<T, R> Case(@NonNull Pattern6<T
1018110159
* @param retVal Constant value to return
1018210160
* @return new Case6
1018310161
*/
10184-
@GwtIncompatible
1018510162
public static <T, T1, T2, T3, T4, T5, T6, R> Case<T, R> Case(@NonNull Pattern6<T, T1, T2, T3, T4, T5, T6> pattern, R retVal) {
1018610163
Objects.requireNonNull(pattern, "pattern is null");
1018710164
return new Case6<>(pattern, (_1, _2, _3, _4, _5, _6) -> retVal);
@@ -10205,7 +10182,6 @@ public static <T, T1, T2, T3, T4, T5, T6, R> Case<T, R> Case(@NonNull Pattern6<T
1020510182
* @param f Matched value consumer
1020610183
* @return new Case7
1020710184
*/
10208-
@GwtIncompatible
1020910185
public static <T, T1, T2, T3, T4, T5, T6, T7, R> Case<T, R> Case(@NonNull Pattern7<T, T1, T2, T3, T4, T5, T6, T7> pattern, @NonNull Function7<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? extends R> f) {
1021010186
Objects.requireNonNull(pattern, "pattern is null");
1021110187
Objects.requireNonNull(f, "f is null");
@@ -10228,7 +10204,6 @@ public static <T, T1, T2, T3, T4, T5, T6, T7, R> Case<T, R> Case(@NonNull Patter
1022810204
* @param supplier Matched value supplier
1022910205
* @return new Case7
1023010206
*/
10231-
@GwtIncompatible
1023210207
public static <T, T1, T2, T3, T4, T5, T6, T7, R> Case<T, R> Case(@NonNull Pattern7<T, T1, T2, T3, T4, T5, T6, T7> pattern, @NonNull Supplier<? extends R> supplier) {
1023310208
Objects.requireNonNull(pattern, "pattern is null");
1023410209
Objects.requireNonNull(supplier, "supplier is null");
@@ -10251,7 +10226,6 @@ public static <T, T1, T2, T3, T4, T5, T6, T7, R> Case<T, R> Case(@NonNull Patter
1025110226
* @param retVal Constant value to return
1025210227
* @return new Case7
1025310228
*/
10254-
@GwtIncompatible
1025510229
public static <T, T1, T2, T3, T4, T5, T6, T7, R> Case<T, R> Case(@NonNull Pattern7<T, T1, T2, T3, T4, T5, T6, T7> pattern, R retVal) {
1025610230
Objects.requireNonNull(pattern, "pattern is null");
1025710231
return new Case7<>(pattern, (_1, _2, _3, _4, _5, _6, _7) -> retVal);
@@ -10276,7 +10250,6 @@ public static <T, T1, T2, T3, T4, T5, T6, T7, R> Case<T, R> Case(@NonNull Patter
1027610250
* @param f Matched value consumer
1027710251
* @return new Case8
1027810252
*/
10279-
@GwtIncompatible
1028010253
public static <T, T1, T2, T3, T4, T5, T6, T7, T8, R> Case<T, R> Case(@NonNull Pattern8<T, T1, T2, T3, T4, T5, T6, T7, T8> pattern, @NonNull Function8<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? extends R> f) {
1028110254
Objects.requireNonNull(pattern, "pattern is null");
1028210255
Objects.requireNonNull(f, "f is null");
@@ -10300,7 +10273,6 @@ public static <T, T1, T2, T3, T4, T5, T6, T7, T8, R> Case<T, R> Case(@NonNull Pa
1030010273
* @param supplier Matched value supplier
1030110274
* @return new Case8
1030210275
*/
10303-
@GwtIncompatible
1030410276
public static <T, T1, T2, T3, T4, T5, T6, T7, T8, R> Case<T, R> Case(@NonNull Pattern8<T, T1, T2, T3, T4, T5, T6, T7, T8> pattern, @NonNull Supplier<? extends R> supplier) {
1030510277
Objects.requireNonNull(pattern, "pattern is null");
1030610278
Objects.requireNonNull(supplier, "supplier is null");
@@ -10324,7 +10296,6 @@ public static <T, T1, T2, T3, T4, T5, T6, T7, T8, R> Case<T, R> Case(@NonNull Pa
1032410296
* @param retVal Constant value to return
1032510297
* @return new Case8
1032610298
*/
10327-
@GwtIncompatible
1032810299
public static <T, T1, T2, T3, T4, T5, T6, T7, T8, R> Case<T, R> Case(@NonNull Pattern8<T, T1, T2, T3, T4, T5, T6, T7, T8> pattern, R retVal) {
1032910300
Objects.requireNonNull(pattern, "pattern is null");
1033010301
return new Case8<>(pattern, (_1, _2, _3, _4, _5, _6, _7, _8) -> retVal);
@@ -10340,7 +10311,6 @@ public static <T, T1, T2, T3, T4, T5, T6, T7, T8, R> Case<T, R> Case(@NonNull Pa
1034010311
* @param <T> injected type of the underlying value
1034110312
* @return a new {@code Pattern0} instance
1034210313
*/
10343-
@GwtIncompatible
1034410314
public static <T> Pattern0<T> $() {
1034510315
return Pattern0.any();
1034610316
}
@@ -10352,7 +10322,6 @@ public static <T, T1, T2, T3, T4, T5, T6, T7, T8, R> Case<T, R> Case(@NonNull Pa
1035210322
* @param prototype the value that should be equal to the underlying object
1035310323
* @return a new {@code Pattern0} instance
1035410324
*/
10355-
@GwtIncompatible
1035610325
public static <T> Pattern0<T> $(T prototype) {
1035710326
return new Pattern0<T>() {
1035810327

@@ -10432,7 +10401,6 @@ public boolean isDefinedAt(T obj) {
1043210401
* @param predicate the predicate that tests a given value
1043310402
* @return a new {@code Pattern0} instance
1043410403
*/
10435-
@GwtIncompatible
1043610404
public static <T> Pattern0<T> $(@NonNull Predicate<? super T> predicate) {
1043710405
Objects.requireNonNull(predicate, "predicate is null");
1043810406
return new Pattern0<T>() {
@@ -10459,7 +10427,6 @@ public boolean isDefinedAt(T obj) {
1045910427
* Scala-like structural pattern matching for Java. Instances are obtained via {@link API#Match(Object)}.
1046010428
* @param <T> type of the object that is matched
1046110429
*/
10462-
@GwtIncompatible
1046310430
public static final class Match<T> {
1046410431

1046510432
private final T value;

0 commit comments

Comments
 (0)