game_client_logic_deb 1.8.379 → 1.8.381

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/Kosi-Kaverit-kaverit.js +13 -13
  2. package/Kosi-Kodein-kodein-di.js +35 -35
  3. package/Kotlin-DateTime-library-kotlinx-datetime.js +91 -91
  4. package/Logic_Debertz-core.js +56 -56
  5. package/Logic_Debertz-engine.js +236 -168
  6. package/Logic_Debertz-engine.js.map +1 -1
  7. package/Logic_Debertz-game_client.js +153 -139
  8. package/Logic_Debertz-game_client.js.map +1 -1
  9. package/error-library-error.js +5 -5
  10. package/kotlin-kotlin-stdlib.js +289 -276
  11. package/kotlin-kotlin-stdlib.js.map +1 -1
  12. package/kotlinx-atomicfu.js +9 -9
  13. package/kotlinx-coroutines-core.js +79 -79
  14. package/kotlinx-coroutines-core.js.map +1 -1
  15. package/kotlinx-io-kotlinx-io-core.js +30 -30
  16. package/kotlinx-serialization-kotlinx-serialization-core.js +77 -77
  17. package/kotlinx-serialization-kotlinx-serialization-json.js +89 -89
  18. package/ktor-ktor-client-content-negotiation.js +22 -22
  19. package/ktor-ktor-client-core.js +64 -64
  20. package/ktor-ktor-client-logging.js +23 -23
  21. package/ktor-ktor-events.js +5 -5
  22. package/ktor-ktor-http.js +70 -70
  23. package/ktor-ktor-io.js +50 -50
  24. package/ktor-ktor-serialization-kotlinx.js +15 -15
  25. package/ktor-ktor-serialization.js +15 -15
  26. package/ktor-ktor-utils.js +46 -46
  27. package/ktor-ktor-websockets.js +13 -13
  28. package/package.json +1 -1
  29. package/random-library-crypto-rand.js +11 -11
  30. package/random-library-secure-random.js +5 -5
  31. package/raspberry-cardgame-lib-core.js +35 -35
  32. package/raspberry-cardgame-lib-logger.js +13 -13
  33. package/raspberry-cardgame-lib-random.js +39 -39
  34. package/uuid.js +12 -12
@@ -43,106 +43,106 @@
43
43
  'use strict';
44
44
  //region block: imports
45
45
  var imul = Math.imul;
46
- var Long = kotlin_kotlin.$_$.eh;
47
- var protoOf = kotlin_kotlin.$_$.hd;
48
- var initMetadataForCompanion = kotlin_kotlin.$_$.ic;
46
+ var Long = kotlin_kotlin.$_$.fh;
47
+ var protoOf = kotlin_kotlin.$_$.id;
48
+ var initMetadataForCompanion = kotlin_kotlin.$_$.jc;
49
49
  var AsyncProvider = kotlin_io_raspberryapps_game_engine_core.$_$.r1;
50
- var getKClass = kotlin_kotlin.$_$.be;
51
- var arrayOf = kotlin_kotlin.$_$.yh;
52
- var createKType = kotlin_kotlin.$_$.zd;
50
+ var getKClass = kotlin_kotlin.$_$.ce;
51
+ var arrayOf = kotlin_kotlin.$_$.zh;
52
+ var createKType = kotlin_kotlin.$_$.ae;
53
53
  var typeToken = kotlin_org_kodein_type_kaverit.$_$.d;
54
- var THROW_CCE = kotlin_kotlin.$_$.kh;
54
+ var THROW_CCE = kotlin_kotlin.$_$.lh;
55
55
  var TypeToken = kotlin_org_kodein_type_kaverit.$_$.b;
56
- var isInterface = kotlin_kotlin.$_$.vc;
56
+ var isInterface = kotlin_kotlin.$_$.wc;
57
57
  var Instance = kotlin_org_kodein_di_kodein_di.$_$.f;
58
- var KProperty1 = kotlin_kotlin.$_$.fe;
59
- var getPropertyCallableRef = kotlin_kotlin.$_$.ec;
58
+ var KProperty1 = kotlin_kotlin.$_$.ge;
59
+ var getPropertyCallableRef = kotlin_kotlin.$_$.fc;
60
60
  var JobsProvider = kotlin_io_raspberryapps_game_engine_core.$_$.t1;
61
- var initMetadataForClass = kotlin_kotlin.$_$.hc;
61
+ var initMetadataForClass = kotlin_kotlin.$_$.ic;
62
62
  var VOID = kotlin_kotlin.$_$.b;
63
63
  var listOf = kotlin_kotlin.$_$.f8;
64
- var plus = kotlin_kotlin.$_$.p8;
64
+ var plus = kotlin_kotlin.$_$.q8;
65
65
  var copyToArray = kotlin_kotlin.$_$.y6;
66
66
  var combineReducers = kotlin_io_raspberryapps_game_engine_core.$_$.u2;
67
67
  var applyCatcher = kotlin_io_raspberryapps_game_engine_core.$_$.m2;
68
68
  var applyMiddleware = kotlin_io_raspberryapps_game_engine_core.$_$.n2;
69
69
  var compose = kotlin_io_raspberryapps_game_engine_core.$_$.x2;
70
70
  var createStore = kotlin_io_raspberryapps_game_engine_core.$_$.y2;
71
- var CoroutineImpl = kotlin_kotlin.$_$.na;
71
+ var CoroutineImpl = kotlin_kotlin.$_$.oa;
72
72
  var Unit_instance = kotlin_kotlin.$_$.f5;
73
73
  var CoroutineScope = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.e1;
74
- var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.y9;
75
- var initMetadataForLambda = kotlin_kotlin.$_$.lc;
74
+ var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.z9;
75
+ var initMetadataForLambda = kotlin_kotlin.$_$.mc;
76
76
  var emptyList = kotlin_kotlin.$_$.d7;
77
77
  var RaspberryLogger = kotlin_io_raspberryapps_cardgame_logger.$_$.g;
78
- var lazy = kotlin_kotlin.$_$.hi;
79
- var initMetadataForInterface = kotlin_kotlin.$_$.kc;
78
+ var lazy = kotlin_kotlin.$_$.ii;
79
+ var initMetadataForInterface = kotlin_kotlin.$_$.lc;
80
80
  var listOf_0 = kotlin_kotlin.$_$.g8;
81
81
  var PrimitiveClasses_getInstance = kotlin_kotlin.$_$.s4;
82
- var createInvariantKTypeProjection = kotlin_kotlin.$_$.yd;
82
+ var createInvariantKTypeProjection = kotlin_kotlin.$_$.zd;
83
83
  var serializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.c3;
84
84
  var KSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.r2;
85
85
  var Logger_getInstance = kotlin_io_raspberryapps_cardgame_logger.$_$.m;
86
- var getKClassFromExpression = kotlin_kotlin.$_$.ae;
86
+ var getKClassFromExpression = kotlin_kotlin.$_$.be;
87
87
  var contentEquals = kotlin_kotlin.$_$.k6;
88
- var getBooleanHashCode = kotlin_kotlin.$_$.cc;
88
+ var getBooleanHashCode = kotlin_kotlin.$_$.dc;
89
89
  var contentHashCode = kotlin_kotlin.$_$.n6;
90
- var toString = kotlin_kotlin.$_$.kd;
91
- var defineProp = kotlin_kotlin.$_$.zb;
92
- var getNumberHashCode = kotlin_kotlin.$_$.dc;
93
- var equals = kotlin_kotlin.$_$.ac;
90
+ var toString = kotlin_kotlin.$_$.ld;
91
+ var defineProp = kotlin_kotlin.$_$.ac;
92
+ var getNumberHashCode = kotlin_kotlin.$_$.ec;
93
+ var equals = kotlin_kotlin.$_$.bc;
94
94
  var createSimpleEnumSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.h2;
95
- var THROW_IAE = kotlin_kotlin.$_$.lh;
95
+ var THROW_IAE = kotlin_kotlin.$_$.mh;
96
96
  var LazyThreadSafetyMode_PUBLICATION_getInstance = kotlin_kotlin.$_$.e;
97
- var lazy_0 = kotlin_kotlin.$_$.gi;
97
+ var lazy_0 = kotlin_kotlin.$_$.hi;
98
98
  var SerializerFactory = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.f2;
99
- var Enum = kotlin_kotlin.$_$.zg;
100
- var FunctionAdapter = kotlin_kotlin.$_$.nb;
101
- var Comparator = kotlin_kotlin.$_$.wg;
102
- var hashCode = kotlin_kotlin.$_$.gc;
103
- var compareValues = kotlin_kotlin.$_$.w9;
104
- var toList = kotlin_kotlin.$_$.k9;
99
+ var Enum = kotlin_kotlin.$_$.ah;
100
+ var FunctionAdapter = kotlin_kotlin.$_$.ob;
101
+ var Comparator = kotlin_kotlin.$_$.xg;
102
+ var hashCode = kotlin_kotlin.$_$.hc;
103
+ var compareValues = kotlin_kotlin.$_$.x9;
104
+ var toList = kotlin_kotlin.$_$.l9;
105
105
  var collectionSizeOrDefault = kotlin_kotlin.$_$.i6;
106
106
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.g;
107
- var sortedWith = kotlin_kotlin.$_$.b9;
107
+ var sortedWith = kotlin_kotlin.$_$.c9;
108
108
  var Duration__hashCode_impl_u4exz6 = kotlin_kotlin.$_$.f2;
109
109
  var Duration__toString_impl_8d916b = kotlin_kotlin.$_$.k2;
110
110
  var contentToString = kotlin_kotlin.$_$.o6;
111
- var Duration = kotlin_kotlin.$_$.ng;
112
- var getStringHashCode = kotlin_kotlin.$_$.fc;
113
- var enumEntries = kotlin_kotlin.$_$.pa;
111
+ var Duration = kotlin_kotlin.$_$.og;
112
+ var getStringHashCode = kotlin_kotlin.$_$.gc;
113
+ var enumEntries = kotlin_kotlin.$_$.qa;
114
114
  var previousToOrNull = kotlin_io_raspberryapps_game_engine_core.$_$.j3;
115
115
  var nextToOrNull = kotlin_io_raspberryapps_game_engine_core.$_$.h3;
116
- var noWhenBranchMatchedException = kotlin_kotlin.$_$.ii;
116
+ var noWhenBranchMatchedException = kotlin_kotlin.$_$.ji;
117
117
  var NoSuchElementException_init_$Create$ = kotlin_kotlin.$_$.w1;
118
118
  var System_instance = kotlin_kotlin.$_$.u4;
119
119
  var PlayerIdContract = kotlin_io_raspberryapps_game_engine_core.$_$.e;
120
- var toString_0 = kotlin_kotlin.$_$.oi;
121
- var Comparable = kotlin_kotlin.$_$.vg;
120
+ var toString_0 = kotlin_kotlin.$_$.pi;
121
+ var Comparable = kotlin_kotlin.$_$.wg;
122
122
  var listOfNotNull = kotlin_kotlin.$_$.e8;
123
123
  var joinToString = kotlin_kotlin.$_$.v7;
124
124
  var get_amountOfCards = kotlin_io_raspberryapps_game_engine_core.$_$.c;
125
125
  var Player = kotlin_io_raspberryapps_game_engine_core.$_$.i;
126
126
  var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.h;
127
127
  var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.l1;
128
- var objectCreate = kotlin_kotlin.$_$.gd;
129
- var single = kotlin_kotlin.$_$.z8;
128
+ var objectCreate = kotlin_kotlin.$_$.hd;
129
+ var single = kotlin_kotlin.$_$.a9;
130
130
  var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.q;
131
131
  var mapCapacity = kotlin_kotlin.$_$.h8;
132
132
  var LinkedHashMap_init_$Create$_0 = kotlin_kotlin.$_$.p;
133
- var toMutableMap = kotlin_kotlin.$_$.o9;
133
+ var toMutableMap = kotlin_kotlin.$_$.p9;
134
134
  var UnsupportedOperationException_init_$Create$ = kotlin_kotlin.$_$.c2;
135
- var toSet = kotlin_kotlin.$_$.q9;
136
- var sorted = kotlin_kotlin.$_$.c9;
135
+ var toSet = kotlin_kotlin.$_$.r9;
136
+ var sorted = kotlin_kotlin.$_$.d9;
137
137
  var createAnnotatedEnumSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.g2;
138
138
  var last = kotlin_kotlin.$_$.b8;
139
- var sum = kotlin_kotlin.$_$.d9;
139
+ var sum = kotlin_kotlin.$_$.e9;
140
140
  var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.p1;
141
141
  var first = kotlin_kotlin.$_$.k7;
142
142
  var first_0 = kotlin_kotlin.$_$.m7;
143
143
  var contains = kotlin_kotlin.$_$.j6;
144
144
  var Collection = kotlin_kotlin.$_$.h5;
145
- var initMetadataForObject = kotlin_kotlin.$_$.mc;
145
+ var initMetadataForObject = kotlin_kotlin.$_$.nc;
146
146
  var checkIndexOverflow = kotlin_kotlin.$_$.h6;
147
147
  var getPoint = kotlin_io_raspberryapps_game_engine_core.$_$.f1;
148
148
  var Toggles_instance = kotlin_io_raspberryapps_game_engine_core.$_$.d5;
@@ -150,20 +150,20 @@
150
150
  var MechanicException = kotlin_io_raspberryapps_game_engine_core.$_$.a;
151
151
  var asJsReadonlyArrayView = kotlin_kotlin.$_$.m5;
152
152
  var KtList = kotlin_kotlin.$_$.n5;
153
- var ensureNotNull = kotlin_kotlin.$_$.bi;
153
+ var ensureNotNull = kotlin_kotlin.$_$.ci;
154
154
  var GameCard = kotlin_io_raspberryapps_cardgame_core.$_$.r;
155
155
  var firstOrNull = kotlin_kotlin.$_$.h7;
156
156
  var Companion_instance = kotlin_io_raspberryapps_cardgame_core.$_$.n;
157
157
  var flatten = kotlin_kotlin.$_$.n7;
158
- var to = kotlin_kotlin.$_$.pi;
158
+ var to = kotlin_kotlin.$_$.qi;
159
159
  var mapOf = kotlin_kotlin.$_$.i8;
160
160
  var asSequence = kotlin_kotlin.$_$.c6;
161
- var filter = kotlin_kotlin.$_$.he;
162
- var map = kotlin_kotlin.$_$.le;
163
- var firstOrNull_0 = kotlin_kotlin.$_$.ie;
161
+ var filter = kotlin_kotlin.$_$.ie;
162
+ var map = kotlin_kotlin.$_$.me;
163
+ var firstOrNull_0 = kotlin_kotlin.$_$.je;
164
164
  var CardIndexComparator_instance = kotlin_io_raspberryapps_cardgame_core.$_$.l;
165
165
  var lastOrNull = kotlin_kotlin.$_$.a8;
166
- var toMap = kotlin_kotlin.$_$.m9;
166
+ var toMap = kotlin_kotlin.$_$.n9;
167
167
  var SealedClassSerializer_init_$Create$ = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.d;
168
168
  var ArrayListSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.x1;
169
169
  var PluginGeneratedSerialDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.e2;
@@ -199,17 +199,17 @@
199
199
  var getOrNull = kotlin_kotlin.$_$.p7;
200
200
  var getValue = kotlin_kotlin.$_$.q7;
201
201
  var _Duration___get_inWholeMilliseconds__impl__msfiry = kotlin_kotlin.$_$.g2;
202
- var equalsLong = kotlin_kotlin.$_$.bb;
203
- var coerceAtLeast = kotlin_kotlin.$_$.pd;
202
+ var equalsLong = kotlin_kotlin.$_$.cb;
203
+ var coerceAtLeast = kotlin_kotlin.$_$.qd;
204
204
  var Companion_getInstance_4 = kotlin_kotlin.$_$.v4;
205
205
  var DurationUnit_MILLISECONDS_getInstance = kotlin_kotlin.$_$.c;
206
- var toDuration = kotlin_kotlin.$_$.qg;
207
- var toIntOrNull = kotlin_kotlin.$_$.ag;
206
+ var toDuration = kotlin_kotlin.$_$.rg;
207
+ var toIntOrNull = kotlin_kotlin.$_$.bg;
208
208
  var RulesDto = kotlin_io_raspberryapps_game_engine_core.$_$.a1;
209
209
  var Companion_instance_0 = kotlin_io_raspberryapps_game_engine_core.$_$.r4;
210
210
  var Companion_instance_1 = kotlin_io_raspberryapps_game_engine_core.$_$.p4;
211
211
  var PlayerConnectionState_LIVE_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.z3;
212
- var toDuration_0 = kotlin_kotlin.$_$.rg;
212
+ var toDuration_0 = kotlin_kotlin.$_$.sg;
213
213
  var PlayerConnectionState_LEFT_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.y3;
214
214
  var mapFromDto_2 = kotlin_io_raspberryapps_game_engine_core.$_$.s;
215
215
  var mapToDto_2 = kotlin_io_raspberryapps_game_engine_core.$_$.x;
@@ -222,10 +222,10 @@
222
222
  var $serializer_getInstance_1 = kotlin_io_raspberryapps_game_engine_core.$_$.v4;
223
223
  var InstantSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.s;
224
224
  var PlayerState = kotlin_io_raspberryapps_game_engine_core.$_$.h;
225
- var charSequenceLength = kotlin_kotlin.$_$.wb;
225
+ var charSequenceLength = kotlin_kotlin.$_$.xb;
226
226
  var LoggerPayload = kotlin_io_raspberryapps_cardgame_logger.$_$.e;
227
227
  var CardGrowthComparator = kotlin_io_raspberryapps_game_engine_core.$_$.c1;
228
- var take = kotlin_kotlin.$_$.f9;
228
+ var take = kotlin_kotlin.$_$.g9;
229
229
  var CardName_ACE_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.a;
230
230
  var CardName_KING_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.d;
231
231
  var CardName_QUEEN_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.f;
@@ -246,7 +246,7 @@
246
246
  var ProcessingReasonDto_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.w4;
247
247
  var filterByPlayerId = kotlin_io_raspberryapps_game_engine_core.$_$.l;
248
248
  var CardNumberComparator_instance = kotlin_io_raspberryapps_cardgame_core.$_$.m;
249
- var singleOrNull = kotlin_kotlin.$_$.y8;
249
+ var singleOrNull = kotlin_kotlin.$_$.z8;
250
250
  var addAll = kotlin_kotlin.$_$.w5;
251
251
  var Module_init_$Create$ = kotlin_org_kodein_di_kodein_di.$_$.a;
252
252
  var Json_0 = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_json.$_$.c;
@@ -260,43 +260,44 @@
260
260
  var CombinationsCheckerProvider = kotlin_io_raspberryapps_cardgame_core.$_$.a1;
261
261
  var CombinationsCheckerProviderImpl = kotlin_io_raspberryapps_cardgame_core.$_$.z;
262
262
  var MutableSharedFlow = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.r;
263
- var toList_0 = kotlin_kotlin.$_$.j9;
264
- var plus_0 = kotlin_kotlin.$_$.q8;
263
+ var toList_0 = kotlin_kotlin.$_$.k9;
264
+ var plus_0 = kotlin_kotlin.$_$.r8;
265
265
  var listOfNotNull_0 = kotlin_kotlin.$_$.d8;
266
266
  var LinkedHashSet_init_$Create$ = kotlin_kotlin.$_$.s;
267
- var toMutableSet = kotlin_kotlin.$_$.p9;
267
+ var toMutableSet = kotlin_kotlin.$_$.q9;
268
268
  var filterByCardName = kotlin_io_raspberryapps_cardgame_core.$_$.w;
269
269
  var first_1 = kotlin_kotlin.$_$.l7;
270
- var setOf = kotlin_kotlin.$_$.w8;
271
- var setOf_0 = kotlin_kotlin.$_$.x8;
270
+ var setOf = kotlin_kotlin.$_$.x8;
271
+ var setOf_0 = kotlin_kotlin.$_$.y8;
272
272
  var NoSuchElementException_init_$Create$_0 = kotlin_kotlin.$_$.u1;
273
- var compareTo = kotlin_kotlin.$_$.yb;
273
+ var compareTo = kotlin_kotlin.$_$.zb;
274
274
  var distributeCardsBottom = kotlin_io_raspberryapps_cardgame_core.$_$.u;
275
275
  var distributeCardsTop = kotlin_io_raspberryapps_cardgame_core.$_$.v;
276
- var toMutableList = kotlin_kotlin.$_$.n9;
276
+ var toMutableList = kotlin_kotlin.$_$.o9;
277
277
  var CardsRandomProvider_CUSTOM_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.i;
278
278
  var CardsRandomProvider_RANDOM_ORG_SIGNED_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.j;
279
279
  var CardsRandomProvider_RANDOM_ORG_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.k;
280
- var initMetadataForCoroutine = kotlin_kotlin.$_$.jc;
280
+ var initMetadataForCoroutine = kotlin_kotlin.$_$.kc;
281
281
  var get_indices = kotlin_kotlin.$_$.u7;
282
- var abs = kotlin_kotlin.$_$.ld;
283
- var zip = kotlin_kotlin.$_$.t9;
282
+ var abs = kotlin_kotlin.$_$.md;
283
+ var zip = kotlin_kotlin.$_$.u9;
284
284
  var PlayerIdContractOrderComparator = kotlin_io_raspberryapps_game_engine_core.$_$.d;
285
285
  var Team = kotlin_io_raspberryapps_game_engine_core.$_$.j;
286
286
  var getValueInHand = kotlin_io_raspberryapps_game_engine_core.$_$.g1;
287
287
  var AgentType_BOT_NATIVE_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.u3;
288
288
  var AgentType_BOT_REPLACEMENT_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.v3;
289
- var coerceIn = kotlin_kotlin.$_$.sd;
290
- var numberToInt = kotlin_kotlin.$_$.fd;
289
+ var coerceIn = kotlin_kotlin.$_$.td;
290
+ var maxOrNull = kotlin_kotlin.$_$.k8;
291
+ var numberToInt = kotlin_kotlin.$_$.gd;
291
292
  var checkCountOverflow = kotlin_kotlin.$_$.g6;
292
- var roundToInt = kotlin_kotlin.$_$.md;
293
+ var roundToInt = kotlin_kotlin.$_$.nd;
293
294
  var average = kotlin_kotlin.$_$.d6;
294
295
  var PlayerIdOrderComparator = kotlin_io_raspberryapps_game_engine_core.$_$.f;
295
296
  var nextToPlayerId = kotlin_io_raspberryapps_game_engine_core.$_$.q;
296
297
  var previousPlayerId = kotlin_io_raspberryapps_game_engine_core.$_$.r;
297
298
  var Companion_instance_2 = kotlin_io_raspberryapps_game_engine_core.$_$.z4;
298
- var contains_0 = kotlin_kotlin.$_$.oe;
299
- var split = kotlin_kotlin.$_$.pf;
299
+ var contains_0 = kotlin_kotlin.$_$.pe;
300
+ var split = kotlin_kotlin.$_$.qf;
300
301
  var UserInfoData = kotlin_io_raspberryapps_cardgame_random.$_$.c;
301
302
  var CardDeckRequestUserData = kotlin_io_raspberryapps_cardgame_random.$_$.a;
302
303
  var get_actionTag = kotlin_io_raspberryapps_game_engine_core.$_$.p2;
@@ -332,8 +333,8 @@
332
333
  var LoggerOutputDataDto = kotlin_io_raspberryapps_game_engine_core.$_$.a3;
333
334
  var Reason_FINISHED_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.g4;
334
335
  var GameFinishedReason = kotlin_io_raspberryapps_game_engine_core.$_$.k1;
335
- var fromInt = kotlin_kotlin.$_$.cb;
336
- var compare = kotlin_kotlin.$_$.wa;
336
+ var fromInt = kotlin_kotlin.$_$.db;
337
+ var compare = kotlin_kotlin.$_$.xa;
337
338
  var Default_getInstance = kotlin_kotlin.$_$.r4;
338
339
  var TimerType_DELAY_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.h4;
339
340
  var StartTimerAction = kotlin_io_raspberryapps_game_engine_core.$_$.i2;
@@ -348,14 +349,14 @@
348
349
  var ArrayDeque_init_$Create$ = kotlin_kotlin.$_$.f;
349
350
  var Reducer = kotlin_io_raspberryapps_game_engine_core.$_$.s2;
350
351
  var TimerAction = kotlin_io_raspberryapps_game_engine_core.$_$.k2;
351
- var minus = kotlin_kotlin.$_$.k8;
352
+ var minus = kotlin_kotlin.$_$.l8;
352
353
  var updateOrAddItems = kotlin_io_raspberryapps_game_engine_core.$_$.o3;
353
354
  var get_byIdPlayerPredicate = kotlin_io_raspberryapps_game_engine_core.$_$.k;
354
355
  var updateItem = kotlin_io_raspberryapps_game_engine_core.$_$.m3;
355
- var toDuration_1 = kotlin_kotlin.$_$.pg;
356
+ var toDuration_1 = kotlin_kotlin.$_$.qg;
356
357
  var updated = kotlin_io_raspberryapps_game_engine_core.$_$.p3;
357
- var takeLast = kotlin_kotlin.$_$.e9;
358
- var plus_1 = kotlin_kotlin.$_$.m8;
358
+ var takeLast = kotlin_kotlin.$_$.f9;
359
+ var plus_1 = kotlin_kotlin.$_$.n8;
359
360
  var updateLastItem = kotlin_io_raspberryapps_game_engine_core.$_$.n3;
360
361
  var PlayerConnectionState_DISCONNECTING_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.x3;
361
362
  var d = kotlin_io_raspberryapps_cardgame_logger.$_$.h;
@@ -368,18 +369,18 @@
368
369
  var get_atomicfu$reentrantLock = kotlin_org_jetbrains_kotlinx_atomicfu.$_$.a;
369
370
  var LogType_DEBUG_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.i4;
370
371
  var LogType_ERROR_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.j4;
371
- var stackTraceToString = kotlin_kotlin.$_$.li;
372
- var take_0 = kotlin_kotlin.$_$.wf;
372
+ var stackTraceToString = kotlin_kotlin.$_$.mi;
373
+ var take_0 = kotlin_kotlin.$_$.xf;
373
374
  var LogType_INFO_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.k4;
374
375
  var LogType_VERBOSE_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.l4;
375
376
  var LogType_WARN_getInstance = kotlin_io_raspberryapps_game_engine_core.$_$.m4;
376
377
  var get_entries = kotlin_io_raspberryapps_game_engine_core.$_$.z2;
377
378
  var LoggerEnabledTrigger = kotlin_io_raspberryapps_cardgame_logger.$_$.d;
378
- var isArray = kotlin_kotlin.$_$.nc;
379
+ var isArray = kotlin_kotlin.$_$.oc;
379
380
  var mapOfObject = kotlin_io_raspberryapps_game_engine_core.$_$.g3;
380
381
  var GameUserInfo = kotlin_io_raspberryapps_game_engine_core.$_$.b;
381
382
  var generateMsg = kotlin_io_raspberryapps_cardgame_logger.$_$.b;
382
- var mutableListOf = kotlin_kotlin.$_$.l8;
383
+ var mutableListOf = kotlin_kotlin.$_$.m8;
383
384
  var CombinedRaspberryLogger = kotlin_io_raspberryapps_cardgame_logger.$_$.c;
384
385
  var PlatformRaspberryLogger = kotlin_io_raspberryapps_cardgame_logger.$_$.f;
385
386
  var Companion_instance_3 = kotlin_org_kodein_di_kodein_di.$_$.b;
@@ -1272,7 +1273,7 @@
1272
1273
  return $super === VOID ? this.l97(loggerKey, types) : $super.l97.call(this, loggerKey, types);
1273
1274
  }
1274
1275
  initMetadataForInterface(FileLoggerOutput, 'FileLoggerOutput', VOID, VOID, [LoggerOutput, LoggerEnabledTrigger]);
1275
- initMetadataForClass(FileLoggerOutputImpl, 'FileLoggerOutputImpl', FileLoggerOutputImpl, VOID, [FileLoggerOutput]);
1276
+ initMetadataForClass(FileLoggerOutputImpl, 'FileLoggerOutputImpl', VOID, VOID, [FileLoggerOutput]);
1276
1277
  function filterLivePlayers(store, playerIds, includeBots, $super) {
1277
1278
  includeBots = includeBots === VOID ? false : includeBots;
1278
1279
  return $super === VOID ? this.m97(store, playerIds, includeBots) : $super.m97.call(this, store, playerIds, includeBots);
@@ -2215,7 +2216,7 @@
2215
2216
  ffaMovEnabled = ffaMovEnabled === VOID ? true : ffaMovEnabled;
2216
2217
  botNativeUpdatesRating = botNativeUpdatesRating === VOID ? true : botNativeUpdatesRating;
2217
2218
  replacementForcedDecrease = replacementForcedDecrease === VOID ? true : replacementForcedDecrease;
2218
- ffaMaxRatingDecreaseFraction = ffaMaxRatingDecreaseFraction === VOID ? 1.0 : ffaMaxRatingDecreaseFraction;
2219
+ ffaMaxRatingDecreaseFraction = ffaMaxRatingDecreaseFraction === VOID ? 0.8 : ffaMaxRatingDecreaseFraction;
2219
2220
  this.defaultFactor = defaultFactor;
2220
2221
  this.eloScaleH2H = eloScaleH2H;
2221
2222
  this.eloScaleFfa = eloScaleFfa;
@@ -42625,16 +42626,18 @@
42625
42626
  var opponent = tmp$ret$2;
42626
42627
  var expected = pBeats($this, item.h6x_1, opponent.h6x_1, cfg.eloScaleH2H);
42627
42628
  var effectivePoints = getEffectivePoints($this, item, cfg);
42628
- var actual = effectivePoints >= maxScore ? 1.0 : 0.0;
42629
- var kFactor = baseK($this, item.l6x_1, gameComplexityCoefficient, cfg);
42629
+ var opponentEffectivePoints = getEffectivePoints($this, opponent, cfg);
42630
42630
  var tmp;
42631
- if (actual === 0.0 && effectivePoints >= maxScore * cfg.h2hCloseLossThresholdRatio) {
42632
- tmp = calculateScoreFactor($this, maxScore, effectivePoints, cfg.h2hCloseLossThresholdRatio);
42631
+ if (effectivePoints >= maxScore && opponentEffectivePoints >= maxScore) {
42632
+ tmp = calculateProportionalResult($this, effectivePoints, maxScore);
42633
42633
  } else {
42634
- tmp = 1.0;
42634
+ tmp = effectivePoints >= maxScore ? 1.0 : 0.0;
42635
42635
  }
42636
- var scoreFactor = tmp;
42637
- var ratingChange = kFactor * scoreFactor * (actual - expected);
42636
+ var actual = tmp;
42637
+ var kFactor = baseK($this, item.l6x_1, gameComplexityCoefficient, cfg);
42638
+ var baseRatingChange = kFactor * (actual - expected);
42639
+ var scoreFactor = calculateCloseLossProtection($this, effectivePoints, maxScore, baseRatingChange, cfg);
42640
+ var ratingChange = baseRatingChange * scoreFactor;
42638
42641
  var newRating = clampAndRound($this, item.h6x_1 + ratingChange, minUserRating, maxUserRating);
42639
42642
  if (item.j6x_1 && newRating < item.h6x_1 && !(item.k6x_1.equals(AgentType_BOT_REPLACEMENT_getInstance()) && cfg.replacementForcedDecrease)) {
42640
42643
  newRating = item.h6x_1;
@@ -42657,38 +42660,52 @@
42657
42660
  var _iterator__ex2g4s = ratingList.l();
42658
42661
  while (_iterator__ex2g4s.m()) {
42659
42662
  var item = _iterator__ex2g4s.n();
42660
- var tmp$ret$2;
42663
+ var tmp$ret$2 = getEffectivePoints($this, item, cfg);
42664
+ destination.j(tmp$ret$2);
42665
+ }
42666
+ var playerScores = destination;
42667
+ var dynamicMaxScore = calculateDynamicMaxScore($this, maxScore, playerScores);
42668
+ // Inline function 'kotlin.collections.map' call
42669
+ // Inline function 'kotlin.collections.mapTo' call
42670
+ var destination_0 = ArrayList_init_$Create$(collectionSizeOrDefault(ratingList, 10));
42671
+ var _iterator__ex2g4s_0 = ratingList.l();
42672
+ while (_iterator__ex2g4s_0.m()) {
42673
+ var item_0 = _iterator__ex2g4s_0.n();
42674
+ var tmp$ret$5;
42661
42675
  $l$block: {
42662
- if (item.k6x_1.equals(AgentType_BOT_NATIVE_getInstance()) && !cfg.botNativeUpdatesRating) {
42663
- tmp$ret$2 = frozenOutput($this, item);
42676
+ if (item_0.k6x_1.equals(AgentType_BOT_NATIVE_getInstance()) && !cfg.botNativeUpdatesRating) {
42677
+ tmp$ret$5 = frozenOutput($this, item_0);
42664
42678
  break $l$block;
42665
42679
  }
42666
42680
  // Inline function 'kotlin.collections.filter' call
42667
42681
  // Inline function 'kotlin.collections.filterTo' call
42668
- var destination_0 = ArrayList_init_$Create$_0();
42669
- var _iterator__ex2g4s_0 = ratingList.l();
42670
- while (_iterator__ex2g4s_0.m()) {
42671
- var element = _iterator__ex2g4s_0.n();
42672
- if (!(element.g6x_1 === item.g6x_1)) {
42673
- destination_0.j(element);
42682
+ var destination_1 = ArrayList_init_$Create$_0();
42683
+ var _iterator__ex2g4s_1 = ratingList.l();
42684
+ while (_iterator__ex2g4s_1.m()) {
42685
+ var element = _iterator__ex2g4s_1.n();
42686
+ if (!(element.g6x_1 === item_0.g6x_1)) {
42687
+ destination_1.j(element);
42674
42688
  }
42675
42689
  }
42676
- var opponents = destination_0;
42690
+ var opponents = destination_1;
42677
42691
  var totalExpected = 0.0;
42678
42692
  var totalActual = 0.0;
42679
42693
  // Inline function 'kotlin.collections.forEach' call
42680
- var _iterator__ex2g4s_1 = opponents.l();
42681
- while (_iterator__ex2g4s_1.m()) {
42682
- var element_0 = _iterator__ex2g4s_1.n();
42683
- var expected = pBeats($this, item.h6x_1, element_0.h6x_1, cfg.eloScaleFfa);
42684
- var actual = calculatePairwiseResult($this, item, element_0, maxScore, cfg);
42694
+ var _iterator__ex2g4s_2 = opponents.l();
42695
+ while (_iterator__ex2g4s_2.m()) {
42696
+ var element_0 = _iterator__ex2g4s_2.n();
42697
+ var expected = pBeats($this, item_0.h6x_1, element_0.h6x_1, cfg.eloScaleFfa);
42698
+ var actual = calculateFfaPairwiseResult($this, item_0, element_0, playerScores, maxScore, cfg);
42685
42699
  totalExpected = totalExpected + expected;
42686
42700
  totalActual = totalActual + actual;
42687
42701
  }
42688
- var baseKFactor = baseK($this, item.l6x_1, gameComplexityCoefficient, cfg);
42702
+ var baseKFactor = baseK($this, item_0.l6x_1, gameComplexityCoefficient, cfg);
42689
42703
  var ffaScaling = calculateFfaScaling($this, ratingList.o(), cfg);
42690
42704
  var effectiveKFactor = baseKFactor * ffaScaling;
42691
- var ratingChange = effectiveKFactor * (totalActual - totalExpected);
42705
+ var baseRatingChange = effectiveKFactor * (totalActual - totalExpected);
42706
+ var playerEffectivePoints = getEffectivePoints($this, item_0, cfg);
42707
+ var scoreFactor = calculateCloseLossProtection($this, playerEffectivePoints, maxScore, baseRatingChange, cfg);
42708
+ var ratingChange = baseRatingChange * scoreFactor;
42692
42709
  var theoreticalMaxGain = effectiveKFactor * (ratingList.o() - 1 | 0);
42693
42710
  var maxRatingDecrease = theoreticalMaxGain / ratingList.o() * cfg.ffaMaxRatingDecreaseFraction;
42694
42711
  var tmp;
@@ -42698,33 +42715,95 @@
42698
42715
  tmp = ratingChange;
42699
42716
  }
42700
42717
  var limitedRatingChange = tmp;
42701
- var newRating = clampAndRound($this, item.h6x_1 + limitedRatingChange, minUserRating, maxUserRating);
42702
- if (item.j6x_1 && newRating < item.h6x_1 && !(item.k6x_1.equals(AgentType_BOT_REPLACEMENT_getInstance()) && cfg.replacementForcedDecrease)) {
42703
- newRating = item.h6x_1;
42718
+ var newRating = clampAndRound($this, item_0.h6x_1 + limitedRatingChange, minUserRating, maxUserRating);
42719
+ if (item_0.j6x_1 && newRating < item_0.h6x_1 && !(item_0.k6x_1.equals(AgentType_BOT_REPLACEMENT_getInstance()) && cfg.replacementForcedDecrease)) {
42720
+ newRating = item_0.h6x_1;
42704
42721
  }
42705
- tmp$ret$2 = new PlayerRatingOutput(item.g6x_1, item.h6x_1, newRating, item.j6x_1);
42722
+ tmp$ret$5 = new PlayerRatingOutput(item_0.g6x_1, item_0.h6x_1, newRating, item_0.j6x_1);
42706
42723
  }
42707
- destination.j(tmp$ret$2);
42724
+ destination_0.j(tmp$ret$5);
42708
42725
  }
42709
- return destination;
42726
+ return destination_0;
42710
42727
  }
42711
- function calculatePairwiseResult($this, player, opponent, maxScore, cfg) {
42728
+ function calculateFfaPairwiseResult($this, player, opponent, allPlayerScores, maxScore, cfg) {
42712
42729
  var playerEffectivePoints = getEffectivePoints($this, player, cfg);
42713
42730
  var opponentEffectivePoints = getEffectivePoints($this, opponent, cfg);
42714
42731
  var tmp;
42715
42732
  if (cfg.ffaMovEnabled) {
42716
- tmp = calculateMarginAwarePairwiseResult($this, playerEffectivePoints, opponentEffectivePoints, maxScore);
42733
+ tmp = calculateFfaAdaptivePairwiseResult($this, playerEffectivePoints, opponentEffectivePoints, allPlayerScores, maxScore);
42717
42734
  } else {
42718
- tmp = playerEffectivePoints > opponentEffectivePoints ? 1.0 : playerEffectivePoints < opponentEffectivePoints ? 0.0 : 0.5;
42735
+ tmp = calculateProportionalPairwiseResult($this, playerEffectivePoints, opponentEffectivePoints, maxScore);
42719
42736
  }
42720
42737
  return tmp;
42721
42738
  }
42722
- function calculateMarginAwarePairwiseResult($this, playerPoints, opponentPoints, maxScore) {
42739
+ function calculateProportionalPairwiseResult($this, playerPoints, opponentPoints, maxScore) {
42740
+ var tmp;
42741
+ if (maxScore > 0) {
42742
+ // Inline function 'kotlin.math.max' call
42743
+ var b = playerPoints / maxScore;
42744
+ var playerProportion = Math.max(0.0, b);
42745
+ // Inline function 'kotlin.math.max' call
42746
+ var b_0 = opponentPoints / maxScore;
42747
+ var opponentProportion = Math.max(0.0, b_0);
42748
+ var tmp_0;
42749
+ if (playerProportion > opponentProportion) {
42750
+ var tmp_1 = playerProportion - opponentProportion;
42751
+ // Inline function 'kotlin.math.max' call
42752
+ tmp_0 = 0.5 + 0.5 * (tmp_1 / Math.max(playerProportion, opponentProportion));
42753
+ } else if (playerProportion < opponentProportion) {
42754
+ var tmp_2 = opponentProportion - playerProportion;
42755
+ // Inline function 'kotlin.math.max' call
42756
+ tmp_0 = 0.5 - 0.5 * (tmp_2 / Math.max(playerProportion, opponentProportion));
42757
+ } else {
42758
+ tmp_0 = 0.5;
42759
+ }
42760
+ tmp = tmp_0;
42761
+ } else {
42762
+ tmp = playerPoints > opponentPoints ? 1.0 : playerPoints < opponentPoints ? 0.0 : 0.5;
42763
+ }
42764
+ return tmp;
42765
+ }
42766
+ function calculateFfaAdaptivePairwiseResult($this, playerPoints, opponentPoints, allPlayerScores, maxScore) {
42723
42767
  var scoreDiff = playerPoints - opponentPoints | 0;
42724
- var maxPossibleDiff = maxScore;
42725
- var normalizedDiff = coerceIn(scoreDiff / maxPossibleDiff, -1.0, 1.0);
42768
+ var sortedScores = sorted(allPlayerScores);
42769
+ var tmp;
42770
+ if (sortedScores.o() >= 2) {
42771
+ // Inline function 'kotlin.math.max' call
42772
+ var a = last(sortedScores) - sortedScores.p(sortedScores.o() - 2 | 0) | 0;
42773
+ tmp = Math.max(a, 50);
42774
+ } else {
42775
+ tmp = maxScore;
42776
+ }
42777
+ var competitiveRange = tmp;
42778
+ var normalizedDiff = coerceIn(scoreDiff / competitiveRange, -1.0, 1.0);
42726
42779
  return 0.5 + 0.5 * normalizedDiff;
42727
42780
  }
42781
+ function calculateDynamicMaxScore($this, maxScore, playerScores) {
42782
+ var tmp0_elvis_lhs = maxOrNull(playerScores);
42783
+ var maxActualScore = tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs;
42784
+ // Inline function 'kotlin.math.max' call
42785
+ return Math.max(maxScore, maxActualScore);
42786
+ }
42787
+ function calculateProportionalResult($this, playerScore, dynamicMaxScore) {
42788
+ var tmp;
42789
+ if (dynamicMaxScore > 0) {
42790
+ // Inline function 'kotlin.math.max' call
42791
+ var b = playerScore / dynamicMaxScore;
42792
+ tmp = Math.max(0.0, b);
42793
+ } else {
42794
+ tmp = 0.0;
42795
+ }
42796
+ return tmp;
42797
+ }
42798
+ function calculateCloseLossProtection($this, playerScore, originalMaxScore, baseRatingChange, cfg) {
42799
+ var tmp;
42800
+ if (playerScore >= originalMaxScore * cfg.h2hCloseLossThresholdRatio && baseRatingChange < 0) {
42801
+ tmp = calculateScoreFactor($this, originalMaxScore, playerScore, cfg.h2hCloseLossThresholdRatio);
42802
+ } else {
42803
+ tmp = 1.0;
42804
+ }
42805
+ return tmp;
42806
+ }
42728
42807
  function calculateFfaScaling($this, playerCount, cfg) {
42729
42808
  switch (playerCount) {
42730
42809
  case 3:
@@ -42960,8 +43039,19 @@
42960
43039
  destination_2.j(tmp$ret$17);
42961
43040
  }
42962
43041
  var teamAvgLoser = average(destination_2);
42963
- var winnerTeamWon = winnerTeamOriginalScore >= maxScore;
42964
- var loserTeamWon = loserTeamOriginalScore >= maxScore;
43042
+ var winnerActual;
43043
+ var loserActual;
43044
+ if (winnerTeamOriginalScore >= maxScore && loserTeamOriginalScore >= maxScore) {
43045
+ var rawWinnerActual = calculateProportionalResult(this, winnerTeamScore, maxScore);
43046
+ var rawLoserActual = calculateProportionalResult(this, loserTeamScore, maxScore);
43047
+ winnerActual = rawWinnerActual;
43048
+ // Inline function 'kotlin.math.min' call
43049
+ var b = rawWinnerActual * 0.95;
43050
+ loserActual = Math.min(rawLoserActual, b);
43051
+ } else {
43052
+ winnerActual = winnerTeamOriginalScore >= maxScore ? 1.0 : 0.0;
43053
+ loserActual = loserTeamOriginalScore >= maxScore ? 1.0 : 0.0;
43054
+ }
42965
43055
  // Inline function 'kotlin.collections.mutableListOf' call
42966
43056
  var results = ArrayList_init_$Create$_0();
42967
43057
  // Inline function 'kotlin.collections.forEach' call
@@ -42972,23 +43062,18 @@
42972
43062
  results.j(frozenOutput(this, element_5));
42973
43063
  } else {
42974
43064
  var expected = pBeats(this, element_5.h6x_1, teamAvgLoser, ratingConfig.eloScaleH2H);
42975
- var actual = winnerTeamOriginalScore >= maxScore ? 1.0 : 0.0;
42976
43065
  var tmp_3;
42977
43066
  if (element_5.k6x_1.equals(AgentType_BOT_REPLACEMENT_getInstance()) && ratingConfig.replacementForcedDecrease) {
42978
43067
  tmp_3 = 0.0;
42979
43068
  } else {
42980
- tmp_3 = actual;
43069
+ tmp_3 = winnerActual;
42981
43070
  }
42982
43071
  var effectiveActual = tmp_3;
42983
43072
  var kFactor = baseK(this, element_5.l6x_1, gameComplexityCoefficient, ratingConfig);
42984
- var tmp_4;
42985
- if (effectiveActual === 0.0 && loserTeamOriginalScore >= maxScore * ratingConfig.h2hCloseLossThresholdRatio) {
42986
- tmp_4 = calculateScoreFactor(this, maxScore, loserTeamOriginalScore, ratingConfig.h2hCloseLossThresholdRatio);
42987
- } else {
42988
- tmp_4 = 1.0;
42989
- }
42990
- var scoreFactor = tmp_4;
42991
- var ratingChange = kFactor * scoreFactor * (effectiveActual - expected);
43073
+ var baseRatingChange = kFactor * (effectiveActual - expected);
43074
+ var playerEffectivePoints = getEffectivePoints(this, element_5, ratingConfig);
43075
+ var scoreFactor = calculateCloseLossProtection(this, playerEffectivePoints, maxScore, baseRatingChange, ratingConfig);
43076
+ var ratingChange = baseRatingChange * scoreFactor;
42992
43077
  var newRating = clampAndRound(this, element_5.h6x_1 + ratingChange, minUserRating, maxUserRating);
42993
43078
  if (element_5.j6x_1 && newRating < element_5.h6x_1 && !(element_5.k6x_1.equals(AgentType_BOT_REPLACEMENT_getInstance()) && ratingConfig.replacementForcedDecrease)) {
42994
43079
  newRating = element_5.h6x_1;
@@ -43004,16 +43089,19 @@
43004
43089
  results.j(frozenOutput(this, element_6));
43005
43090
  } else {
43006
43091
  var expected_0 = pBeats(this, element_6.h6x_1, teamAvgWinner, ratingConfig.eloScaleH2H);
43007
- var actual_0 = loserTeamOriginalScore >= maxScore ? 1.0 : 0.0;
43008
43092
  var kFactor_0 = baseK(this, element_6.l6x_1, gameComplexityCoefficient, ratingConfig);
43009
- var tmp_5;
43010
- if (actual_0 === 0.0 && loserTeamOriginalScore >= maxScore * ratingConfig.h2hCloseLossThresholdRatio) {
43011
- tmp_5 = calculateScoreFactor(this, maxScore, loserTeamOriginalScore, ratingConfig.h2hCloseLossThresholdRatio);
43012
- } else {
43013
- tmp_5 = 1.0;
43014
- }
43015
- var scoreFactor_0 = tmp_5;
43016
- var ratingChange_0 = kFactor_0 * scoreFactor_0 * (actual_0 - expected_0);
43093
+ var baseRatingChange_0 = kFactor_0 * (loserActual - expected_0);
43094
+ // Inline function 'kotlin.collections.sumOf' call
43095
+ var sum_3 = 0;
43096
+ var _iterator__ex2g4s_9 = losers.l();
43097
+ while (_iterator__ex2g4s_9.m()) {
43098
+ var element_7 = _iterator__ex2g4s_9.n();
43099
+ var tmp_4 = sum_3;
43100
+ sum_3 = tmp_4 + getEffectivePoints(this, element_7, ratingConfig) | 0;
43101
+ }
43102
+ var teamTotalScore = sum_3;
43103
+ var scoreFactor_0 = calculateCloseLossProtection(this, teamTotalScore, maxScore, baseRatingChange_0, ratingConfig);
43104
+ var ratingChange_0 = baseRatingChange_0 * scoreFactor_0;
43017
43105
  var newRating_0 = clampAndRound(this, element_6.h6x_1 + ratingChange_0, minUserRating, maxUserRating);
43018
43106
  results.j(new PlayerRatingOutput(element_6.g6x_1, element_6.h6x_1, newRating_0, element_6.j6x_1));
43019
43107
  }
@@ -53487,17 +53575,7 @@
53487
53575
  function Companion_getInstance_172() {
53488
53576
  return Companion_instance_170;
53489
53577
  }
53490
- function CallbackWrapperLoggerOutput$_init_$lambda_hgxyzw(it) {
53491
- return null;
53492
- }
53493
53578
  function CallbackWrapperLoggerOutput(logger, payloadMapper) {
53494
- var tmp;
53495
- if (payloadMapper === VOID) {
53496
- tmp = CallbackWrapperLoggerOutput$_init_$lambda_hgxyzw;
53497
- } else {
53498
- tmp = payloadMapper;
53499
- }
53500
- payloadMapper = tmp;
53501
53579
  this.w95_1 = logger;
53502
53580
  this.x95_1 = payloadMapper;
53503
53581
  }
@@ -53779,9 +53857,6 @@
53779
53857
  protoOf(sam$kotlinx_coroutines_flow_FlowCollector$0_0).hashCode = function () {
53780
53858
  return hashCode(this.a3());
53781
53859
  };
53782
- function FileLoggerOutputImpl$_init_$lambda_sdog02(it) {
53783
- return null;
53784
- }
53785
53860
  function FileLoggerOutputImpl$observe$$inlined$filter$1($this, $types) {
53786
53861
  this.v96_1 = $this;
53787
53862
  this.w96_1 = $types;
@@ -53796,22 +53871,15 @@
53796
53871
  return this.y27(collector, $completion);
53797
53872
  };
53798
53873
  function FileLoggerOutputImpl(payloadToLoggerKeyMapper, enabled) {
53799
- var tmp;
53800
- if (payloadToLoggerKeyMapper === VOID) {
53801
- tmp = FileLoggerOutputImpl$_init_$lambda_sdog02;
53802
- } else {
53803
- tmp = payloadToLoggerKeyMapper;
53804
- }
53805
- payloadToLoggerKeyMapper = tmp;
53806
53874
  enabled = enabled === VOID ? true : enabled;
53807
53875
  this.x96_1 = payloadToLoggerKeyMapper;
53808
53876
  this.y96_1 = enabled;
53809
- var tmp_0 = this;
53877
+ var tmp = this;
53810
53878
  // Inline function 'kotlinx.atomicfu.locks.reentrantLock' call
53811
- tmp_0.z96_1 = get_atomicfu$reentrantLock();
53812
- var tmp_1 = this;
53879
+ tmp.z96_1 = get_atomicfu$reentrantLock();
53880
+ var tmp_0 = this;
53813
53881
  // Inline function 'kotlin.collections.mutableMapOf' call
53814
- tmp_1.a97_1 = LinkedHashMap_init_$Create$();
53882
+ tmp_0.a97_1 = LinkedHashMap_init_$Create$();
53815
53883
  }
53816
53884
  protoOf(FileLoggerOutputImpl).c1l = function (_set____db54di) {
53817
53885
  this.y96_1 = _set____db54di;