Nikita Malyavin
2e2b2a0469
MDEV-15990 Refactor write_record and fix idempotent replication
...
See also MDEV-30046.
Idempotent write_row works same as REPLACE: if there is a duplicating
record in the table, then it will be deleted and re-inserted, with the
same update optimization.
The code in Rows:log_event::write_row was basically copy-pasted from
write_record.
What's done:
REPLACE operation was unified across replication and sql. It is now
representred as a Write_record class, that holds the whole state, and allows
re-using some resources in between the row writes.
Replace, IODKU and single insert implementations are split across different
methods, reluting in a much cleaner code.
The entry point is preserved as a single Write_record::write_record() call.
The implementation to call is chosen on the constructor stage.
This allowed several optimizations to be done:
1. The table key list is not iterated for every row. We find last unique key in
the order of checking once and preserve it across the rows. See last_uniq_key().
2. ib_handler::referenced_by_foreign_key acquires a global lock. This call was
done per row as well. Not all the table config that allows optimized replace is
folded into a single boolean field can_optimize. All the fields to check are
even stored in a single register on a 64-bit platform.
3. DUP_REPLACE and DUP_UPDATE cases now have one less level of indirection
4. modified_non_trans_tables is checked and set only when it's really needed.
5. Obsolete bitmap manipulations are removed.
Also:
* Unify replace initialization step across implementations:
add prepare_for_replace and finalize_replace
* alloca is removed in favor of mem_root allocation. This memory is reused
across the rows.
* An rpl-related callback is added to the replace branch, meaning that an extra
check is made per row replace even for the common case. It can be avoided with
templates if considered a problem.
2025-08-04 17:44:05 +02:00
..
2024-10-17 21:37:37 +02:00
2025-01-05 16:40:11 +02:00
2025-01-05 16:40:11 +02:00
2024-10-29 15:24:38 +01:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-05-28 16:33:49 +10:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2024-09-18 18:39:26 +07:00
2024-07-04 15:24:49 +03:00
2024-07-08 21:52:08 +04:00
2024-07-08 21:52:08 +04:00
2024-07-22 15:14:50 +02:00
2024-07-04 15:24:49 +03:00
2024-07-08 21:52:08 +04:00
2024-07-08 21:52:08 +04:00
2025-07-17 09:18:17 +02:00
2025-07-17 09:18:17 +02:00
2024-10-17 21:37:37 +02:00
2025-04-28 12:38:01 +03:00
2025-04-28 12:38:01 +03:00
2025-07-17 09:18:18 +02:00
2025-06-02 14:02:53 +03:00
2025-06-02 14:02:53 +03:00
2025-03-15 11:15:54 +01:00
2024-07-02 17:11:32 +10:00
2024-07-02 17:11:32 +10:00
2025-01-09 11:22:11 +11:00
2025-01-09 11:22:11 +11:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2024-12-12 18:02:00 +02:00
2024-10-03 09:31:39 +03:00
2025-07-17 09:18:17 +02:00
2025-07-17 09:18:17 +02:00
2025-06-16 17:42:29 +03:00
2025-06-16 17:42:29 +03:00
2024-08-29 12:30:05 +02:00
2024-08-29 12:30:05 +02:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-07-08 11:44:49 +03:00
2025-07-08 11:44:49 +03:00
2025-02-26 12:40:07 +02:00
2025-02-26 12:40:07 +02:00
2025-01-09 10:00:35 +01:00
2025-01-09 10:00:35 +01:00
2024-10-17 21:37:37 +02:00
2024-10-29 14:20:03 +01:00
2024-10-29 14:20:03 +01:00
2024-08-12 09:32:30 +01:00
2024-09-18 18:39:26 +07:00
2025-01-08 12:51:26 +02:00
2024-07-03 13:20:33 +03:00
2024-07-03 13:20:33 +03:00
2024-10-01 18:29:11 +02:00
2024-10-01 18:29:11 +02:00
2024-06-11 12:50:10 +03:00
2024-06-11 12:50:10 +03:00
2024-07-03 13:27:23 +02:00
2024-10-29 15:24:38 +01:00
2024-09-25 11:44:28 +07:00
2024-10-29 15:24:38 +01:00
2025-05-28 16:33:49 +10:00
2025-01-30 11:55:13 +01:00
2025-07-17 09:18:18 +02:00
2025-06-12 16:58:52 +05:30
2024-11-02 12:47:28 +04:00
2024-07-04 11:08:47 +04:00
2024-07-04 11:08:47 +04:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2025-06-12 16:58:52 +05:30
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2024-11-14 16:06:04 +04:00
2024-11-14 16:06:04 +04:00
2024-11-29 13:43:17 +02:00
2024-11-29 13:43:17 +02:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2024-10-29 14:20:03 +01:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2025-06-12 16:58:52 +05:30
2024-10-03 10:55:08 +03:00
2024-07-04 11:52:07 +02:00
2024-07-04 11:52:07 +02:00
2024-06-28 16:45:50 +07:00
2024-09-25 11:44:28 +07:00
2025-01-24 11:36:47 +04:00
2025-01-24 11:36:47 +04:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2024-06-28 16:45:50 +07:00
2024-07-04 11:52:07 +02:00
2024-07-03 13:27:23 +02:00
2024-06-20 11:30:02 +04:00
2024-07-04 11:52:07 +02:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2025-02-26 12:40:07 +02:00
2024-07-04 11:52:07 +02:00
2025-06-12 16:58:52 +05:30
2025-01-30 11:55:13 +01:00
2025-01-24 11:36:47 +04:00
2025-01-24 11:36:47 +04:00
2024-07-03 13:27:23 +02:00
2024-07-03 13:27:23 +02:00
2024-06-28 16:45:50 +07:00
2024-07-03 13:27:23 +02:00
2024-07-04 11:52:07 +02:00
2024-08-14 11:36:52 +03:00
2024-10-03 10:55:08 +03:00
2024-07-04 11:52:07 +02:00
2024-11-18 11:34:13 +04:00
2024-11-18 11:34:13 +04:00
2024-06-28 16:45:50 +07:00
2024-09-18 18:39:26 +07:00
2025-01-17 15:39:55 +04:00
2025-01-17 15:39:55 +04:00
2024-07-04 11:52:07 +02:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-07-28 18:06:31 +02:00
2025-07-28 18:06:31 +02:00
2024-10-29 15:24:38 +01:00
2025-01-29 10:43:29 +01:00
2025-01-29 10:43:29 +01:00
2024-10-17 21:37:37 +02:00
2024-10-29 15:24:38 +01:00
2024-10-15 09:25:05 +02:00
2024-07-16 16:20:17 +07:00
2024-07-16 16:20:17 +07:00
2025-04-26 10:47:03 +02:00
2025-04-26 10:47:03 +02:00
2025-01-05 16:40:11 +02:00
2025-01-05 16:40:11 +02:00
2025-07-22 20:52:11 +03:00
2025-07-22 20:52:11 +03:00
2025-04-26 10:47:03 +02:00
2024-10-03 09:31:39 +03:00
2025-06-03 23:03:39 +05:30
2025-06-13 14:36:10 +05:30
2024-07-04 11:52:07 +02:00
2024-07-04 11:52:07 +02:00
2024-07-02 10:11:33 +07:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2024-10-29 15:24:38 +01:00
2024-09-18 18:39:26 +07:00
2024-10-18 16:42:52 +05:30
2024-10-18 16:42:52 +05:30
2024-10-18 16:42:52 +05:30
2024-10-18 16:42:52 +05:30
2025-01-05 16:40:11 +02:00
2025-01-05 16:40:11 +02:00
2025-01-20 09:57:37 +02:00
2025-01-15 12:34:25 +02:00
2024-11-25 18:29:13 +04:00
2024-11-25 18:29:13 +04:00
2024-07-22 15:14:50 +02:00
2024-10-17 21:37:37 +02:00
2024-10-03 09:31:39 +03:00
2024-10-09 15:48:14 +02:00
2024-10-09 15:48:14 +02:00
2024-10-03 09:31:39 +03:00
2024-09-18 18:39:26 +07:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00
2024-10-17 21:37:37 +02:00
2024-11-22 14:54:08 +04:00
2024-11-22 14:54:08 +04:00
2024-12-13 11:09:29 +01:00
2024-12-13 11:09:29 +01:00
2024-10-03 10:55:08 +03:00
2024-09-18 18:39:26 +07:00
2024-11-25 10:37:02 +04:00
2024-11-25 10:37:02 +04:00
2024-11-25 16:13:16 +04:00
2024-11-25 16:13:16 +04:00
2024-10-17 21:37:37 +02:00
2024-09-18 18:39:26 +07:00
2024-06-28 16:45:50 +07:00
2024-09-18 18:39:26 +07:00
2024-10-03 10:55:08 +03:00
2025-06-12 16:58:52 +05:30
2025-06-13 14:36:10 +05:30
2024-07-04 11:52:07 +02:00
2024-07-04 11:52:07 +02:00
2025-07-28 18:06:31 +02:00
2025-07-28 18:06:31 +02:00
2025-04-17 11:38:33 -04:00
2025-04-17 11:38:33 -04:00
2025-01-08 12:51:26 +02:00
2025-01-08 12:51:26 +02:00
2024-11-29 13:43:17 +02:00
2024-11-29 13:43:17 +02:00
2025-03-31 12:12:50 +02:00
2025-03-31 12:12:50 +02:00
2024-11-01 12:40:43 +04:00
2024-11-01 12:40:43 +04:00
2024-11-29 13:43:17 +02:00
2025-07-17 09:18:18 +02:00
2024-07-04 11:52:07 +02:00
2024-06-28 16:45:50 +07:00
2024-09-18 18:39:26 +07:00
2024-10-03 10:55:08 +03:00
2024-10-03 10:55:08 +03:00
2024-10-29 15:24:38 +01:00
2024-10-03 10:55:08 +03:00
2024-06-28 16:45:50 +07:00
2025-02-06 13:17:47 +11:00
2025-02-06 13:17:47 +11:00
2025-06-12 16:58:52 +05:30
2025-03-27 08:01:47 +02:00
2025-07-17 09:18:18 +02:00
2024-10-29 14:20:03 +01:00
2024-10-15 12:44:24 +02:00
2024-10-03 09:31:39 +03:00
2024-11-21 21:43:44 +11:00
2024-11-21 21:43:44 +11:00
2024-10-03 10:55:08 +03:00
2024-10-03 10:55:08 +03:00
2025-04-16 03:34:40 +02:00
2025-04-14 10:47:27 +02:00
2024-07-02 10:11:33 +07:00
2025-03-20 10:31:34 +11:00
2025-03-20 10:31:34 +11:00
2024-09-18 18:39:26 +07:00
2025-07-22 06:46:56 +11:00
2025-07-22 06:46:56 +11:00
2024-10-17 21:37:37 +02:00
2024-08-14 10:56:11 +03:00
2024-10-17 21:37:37 +02:00
2024-07-22 15:14:50 +02:00
2025-06-21 06:21:26 -04:00
2025-06-21 06:21:26 -04:00
2024-06-28 16:45:50 +07:00
2024-10-03 10:55:08 +03:00
2024-10-03 10:55:08 +03:00
2025-01-08 12:51:26 +02:00
2024-10-03 09:31:39 +03:00
2024-09-18 18:39:26 +07:00
2024-10-03 09:31:39 +03:00
2024-12-12 18:02:00 +02:00
2025-04-26 10:41:52 +02:00
2025-04-25 15:10:36 +02:00
2025-04-26 10:47:03 +02:00
2025-04-25 12:58:24 +02:00
2024-10-29 15:24:38 +01:00
2025-04-26 10:41:52 +02:00
2025-07-17 09:18:18 +02:00
2025-06-04 14:09:23 +02:00
2025-05-29 12:34:06 +03:00
2024-10-17 21:37:37 +02:00
2024-10-29 15:24:38 +01:00
2024-10-17 21:37:37 +02:00
2025-07-17 09:18:18 +02:00
2024-08-29 09:32:29 +02:00
2024-08-29 09:32:29 +02:00
2025-05-28 16:33:49 +10:00
2025-05-28 16:33:49 +10:00
2025-05-28 16:33:49 +10:00
2025-02-27 16:47:25 +07:00
2025-02-27 16:47:25 +07:00
2025-03-26 15:52:54 +02:00
2025-03-26 15:52:54 +02:00
2025-03-26 15:52:54 +02:00
2024-10-25 18:02:14 +03:00
2024-10-25 18:02:14 +03:00
2024-10-29 15:24:38 +01:00
2024-10-29 15:24:38 +01:00
2024-09-18 18:39:26 +07:00
2025-04-22 14:57:57 +03:00
2025-04-22 14:57:57 +03:00
2025-07-05 10:44:07 +10:00
2025-07-05 10:44:07 +10:00
2024-07-04 11:52:07 +02:00
2024-07-04 11:52:07 +02:00
2024-09-18 18:39:26 +07:00
2024-10-17 21:37:37 +02:00
2025-01-29 11:17:38 +01:00
2025-01-29 11:17:38 +01:00
2024-10-17 21:37:37 +02:00
2025-03-26 17:05:44 +02:00
2025-03-26 17:05:44 +02:00
2025-03-26 17:05:44 +02:00
2024-09-18 18:39:26 +07:00
2025-01-07 16:31:39 +01:00
2024-12-13 15:44:01 +11:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2024-10-29 15:24:38 +01:00
2025-07-01 23:17:26 +04:00
2025-07-01 23:17:26 +04:00
2025-01-30 11:55:13 +01:00
2024-10-03 09:31:39 +03:00
2024-09-30 13:50:51 +02:00
2024-09-30 13:50:51 +02:00
2024-07-02 11:26:13 +03:00
2024-07-02 11:26:13 +03:00
2024-07-02 11:26:13 +03:00
2024-07-04 15:24:49 +03:00
2024-10-03 09:31:39 +03:00
2025-01-10 13:14:42 +01:00
2025-01-10 13:14:42 +01:00
2025-06-23 01:47:21 -04:00
2025-06-23 01:47:21 -04:00
2024-10-03 09:31:39 +03:00
2025-06-25 14:14:50 +03:00
2025-06-25 14:14:50 +03:00
2025-08-04 17:44:05 +02:00
2025-08-04 17:44:05 +02:00
2025-07-16 13:02:44 +02:00
2025-07-28 18:06:31 +02:00
2025-01-07 16:31:39 +01:00
2025-07-25 12:28:30 +02:00
2025-07-25 12:28:30 +02:00
2025-07-25 12:28:30 +02:00
2025-07-25 12:28:30 +02:00
2025-07-16 13:02:44 +02:00
2025-07-16 13:02:44 +02:00
2025-07-17 09:18:17 +02:00
2025-07-17 09:18:17 +02:00
2025-04-24 18:10:09 +02:00
2024-09-18 18:39:26 +07:00
2024-09-25 11:44:28 +07:00
2025-04-25 15:10:36 +02:00
2025-04-25 15:10:36 +02:00
2025-03-31 18:37:06 +02:00
2025-03-31 18:37:06 +02:00
2024-06-19 23:08:35 +03:00
2024-06-19 23:08:35 +03:00
2024-10-17 21:37:37 +02:00
2024-09-18 18:39:26 +07:00
2024-09-25 14:17:21 -04:00
2024-09-25 14:17:21 -04:00
2025-04-09 09:42:15 +10:00
2025-04-09 09:42:15 +10:00
2025-07-01 23:17:26 +04:00
2025-07-01 23:17:26 +04:00
2025-01-05 16:40:11 +02:00
2025-01-05 16:40:11 +02:00
2025-04-26 10:47:03 +02:00
2025-04-26 10:47:03 +02:00
2025-01-10 13:14:42 +01:00
2025-04-26 10:47:03 +02:00
2025-04-21 21:13:52 +02:00
2025-02-23 19:09:05 +02:00
2025-02-23 19:09:05 +02:00
2025-02-23 19:09:05 +02:00
2024-10-03 09:31:39 +03:00
2024-10-17 21:37:37 +02:00
2025-01-05 16:40:11 +02:00
2025-03-06 09:40:55 +02:00
2025-03-06 09:40:55 +02:00
2024-10-17 10:08:24 +02:00
2024-10-29 15:24:38 +01:00
2025-01-09 10:00:36 +01:00
2025-01-09 10:00:36 +01:00
2024-11-29 12:37:46 +02:00
2024-11-26 13:57:55 +04:00
2024-07-13 04:38:10 +02:00
2024-06-17 16:38:48 +04:00
2025-02-26 12:40:07 +02:00
2024-06-17 16:38:48 +04:00
2025-03-31 17:57:43 +02:00
2025-03-31 17:57:43 +02:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-01-30 11:55:13 +01:00
2024-06-07 14:07:54 +02:00
2025-07-10 13:46:45 -06:00
2025-01-09 10:00:36 +01:00
2024-12-17 11:06:09 +11:00
2024-12-16 10:04:07 +11:00
2024-07-22 15:14:50 +02:00
2024-12-17 11:06:09 +11:00
2024-12-16 10:04:07 +11:00
2024-12-05 10:11:58 +01:00
2024-12-05 08:17:35 +01:00
2025-01-07 16:31:39 +01:00
2024-10-03 10:55:08 +03:00
2025-06-04 14:09:23 +02:00
2025-06-04 14:09:23 +02:00
2024-10-17 21:37:37 +02:00
2024-07-17 21:25:40 +02:00
2025-01-30 11:55:13 +01:00
2024-10-03 09:31:39 +03:00
2025-01-17 15:39:55 +04:00
2024-07-17 21:25:40 +02:00
2025-01-30 11:55:13 +01:00
2024-12-17 11:06:09 +11:00
2025-03-31 17:57:43 +02:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2025-07-10 18:31:36 -06:00
2025-03-31 17:57:43 +02:00
2025-03-21 14:01:52 +04:00
2025-03-21 14:01:52 +04:00
2024-10-17 21:37:37 +02:00
2024-10-17 21:37:37 +02:00
2024-10-09 08:38:48 +02:00
2025-03-17 18:11:51 +07:00
2025-03-17 18:11:51 +07:00
2024-07-22 15:14:50 +02:00
2024-07-24 11:27:05 +02:00
2024-10-17 21:37:37 +02:00
2024-10-03 09:31:39 +03:00
2025-06-12 16:58:52 +05:30
2024-10-03 10:55:08 +03:00
2024-07-16 16:20:17 +07:00
2024-07-18 16:25:33 +02:00
2025-01-30 11:55:13 +01:00
2025-04-28 01:25:05 -04:00
2024-07-02 10:11:33 +07:00
2025-04-28 01:25:05 -04:00
2024-07-02 10:11:33 +07:00
2025-04-28 01:25:05 -04:00
2024-07-02 10:11:33 +07:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2024-10-29 15:24:38 +01:00
2024-10-18 15:42:05 +03:00
2024-07-04 11:52:07 +02:00
2025-07-17 09:18:18 +02:00
2025-01-08 12:51:26 +02:00
2024-10-03 10:55:08 +03:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2024-10-03 09:31:39 +03:00
2024-10-17 21:37:37 +02:00
2024-10-03 09:31:39 +03:00
2024-10-17 21:37:37 +02:00
2024-09-18 18:39:26 +07:00
2024-10-29 15:24:38 +01:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2024-10-03 09:31:39 +03:00
2024-12-12 18:02:00 +02:00
2024-07-17 21:25:40 +02:00
2024-07-17 21:25:40 +02:00
2024-10-29 15:24:38 +01:00
2024-07-22 15:14:50 +02:00
2025-04-01 19:45:30 +02:00
2025-04-01 19:45:30 +02:00
2024-12-05 10:11:58 +01:00
2024-12-03 13:08:12 +01:00
2024-06-18 13:25:39 +10:00
2024-06-18 13:25:39 +10:00
2024-07-22 15:14:50 +02:00
2024-10-29 15:24:38 +01:00
2024-10-29 15:24:38 +01:00
2024-09-18 18:39:26 +07:00
2024-10-17 21:37:37 +02:00
2024-09-18 18:39:26 +07:00
2024-10-17 21:37:37 +02:00
2024-10-17 21:37:37 +02:00
2024-10-17 21:37:37 +02:00
2024-10-17 21:37:37 +02:00
2024-10-17 21:37:37 +02:00
2025-01-13 17:51:51 +04:00
2025-01-13 17:51:51 +04:00
2024-10-17 21:37:37 +02:00
2024-12-13 01:45:35 +01:00
2024-12-13 01:45:35 +01:00
2024-10-29 14:20:03 +01:00
2024-10-29 14:20:03 +01:00
2025-07-17 09:18:18 +02:00
2024-10-03 09:31:39 +03:00
2024-10-03 10:55:08 +03:00
2025-07-28 18:06:31 +02:00
2025-07-18 21:46:12 +05:30
2024-09-18 18:39:26 +07:00
2024-09-18 18:39:26 +07:00
2024-09-18 18:39:26 +07:00
2024-09-18 18:39:26 +07:00
2024-10-17 21:37:37 +02:00
2024-09-18 18:39:26 +07:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2024-07-04 11:52:07 +02:00
2025-02-27 15:29:42 +02:00
2025-02-27 15:29:42 +02:00
2024-10-03 09:31:39 +03:00
2024-07-04 11:52:07 +02:00
2024-07-03 13:27:23 +02:00
2025-07-08 17:44:11 +03:00
2025-07-08 17:44:11 +03:00
2024-10-17 21:37:37 +02:00
2024-10-17 21:37:37 +02:00
2024-06-17 14:08:32 +03:00
2024-07-30 11:59:01 +05:30
2024-12-12 18:02:00 +02:00
2024-06-17 14:08:32 +03:00
2024-06-27 10:26:09 +03:00
2024-06-17 14:08:32 +03:00
2024-07-22 15:14:50 +02:00
2025-02-10 21:14:01 +02:00
2025-02-10 21:14:01 +02:00
2025-07-17 09:18:18 +02:00
2024-09-18 18:39:26 +07:00
2025-01-05 16:40:11 +02:00
2024-10-17 21:37:37 +02:00
2025-01-05 16:40:11 +02:00
2024-10-17 21:37:37 +02:00
2025-01-05 16:40:11 +02:00
2024-10-17 21:37:37 +02:00
2024-10-03 09:31:39 +03:00
2024-10-29 15:24:38 +01:00
2024-10-02 10:52:09 +03:00
2024-10-29 15:24:38 +01:00
2024-10-04 12:49:37 +03:00
2025-01-13 11:56:19 +11:00
2025-01-13 11:56:19 +11:00
2024-10-08 15:31:02 +02:00
2024-10-08 15:31:02 +02:00
2025-01-08 12:51:26 +02:00
2025-01-05 16:40:11 +02:00
2024-10-03 10:55:08 +03:00
2024-09-09 11:34:19 +10:00
2025-06-27 22:04:14 +05:30
2025-06-27 22:04:14 +05:30
2024-10-03 10:55:08 +03:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2024-09-18 18:39:26 +07:00
2025-03-27 08:01:47 +02:00
2025-03-27 08:01:47 +02:00
2025-01-29 11:17:38 +01:00
2025-01-25 20:37:51 +01:00
2024-10-03 09:31:39 +03:00
2025-07-23 09:34:47 +07:00
2025-07-23 09:34:47 +07:00
2025-03-26 17:09:57 +02:00
2025-03-21 09:25:15 +01:00
2024-10-17 21:37:37 +02:00
2024-10-29 15:24:38 +01:00
2025-07-17 09:18:18 +02:00
2025-04-22 21:06:55 +03:00
2025-03-27 08:01:47 +02:00
2025-03-27 08:01:47 +02:00
2024-06-11 12:50:10 +03:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:17 +02:00
2025-07-17 09:18:17 +02:00
2025-01-09 11:22:11 +11:00
2025-01-09 11:22:11 +11:00
2024-10-17 21:37:37 +02:00
2025-07-17 09:18:17 +02:00
2025-07-17 09:18:17 +02:00
2025-01-16 23:04:59 +01:00
2025-01-20 09:57:37 +02:00
2025-06-11 15:28:37 +07:00
2025-06-11 15:28:37 +07:00
2025-07-10 13:46:45 -06:00
2025-07-17 09:18:18 +02:00
2024-09-18 18:39:26 +07:00
2024-10-03 09:31:39 +03:00
2024-11-29 12:37:46 +02:00
2025-07-17 09:18:18 +02:00
2024-11-29 12:37:46 +02:00
2025-06-14 06:32:34 +11:00
2025-06-14 06:32:34 +11:00
2024-09-18 18:39:26 +07:00
2025-04-25 15:10:36 +02:00
2025-04-25 15:10:36 +02:00
2024-10-03 09:31:39 +03:00
2024-10-17 21:37:37 +02:00
2024-08-25 16:05:00 +03:00
2024-08-25 16:05:00 +03:00
2024-11-29 13:43:17 +02:00
2024-10-30 16:48:36 +07:00
2024-10-03 09:31:39 +03:00
2024-11-29 13:43:17 +02:00
2024-10-30 16:48:36 +07:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2024-10-29 15:24:38 +01:00
2024-10-29 15:24:38 +01:00
2024-10-29 15:24:38 +01:00
2024-09-18 18:39:26 +07:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2025-05-28 16:33:49 +10:00
2025-01-02 12:39:56 +02:00
2025-01-02 12:39:56 +02:00
2025-01-02 12:39:56 +02:00
2025-01-02 12:39:56 +02:00
2025-01-02 12:39:56 +02:00
2025-06-13 22:54:09 -04:00
2025-06-13 22:54:09 -04:00
2024-10-29 15:24:38 +01:00
2025-02-24 12:10:32 +11:00
2025-02-24 12:10:32 +11:00
2024-07-02 10:11:33 +07:00
2024-10-17 21:37:37 +02:00
2024-07-04 11:52:07 +02:00
2024-07-04 11:52:07 +02:00
2024-11-13 17:39:47 +11:00
2025-03-31 11:10:12 +02:00
2025-03-31 17:57:43 +02:00
2024-09-26 11:50:20 +02:00
2024-09-26 11:50:20 +02:00
2024-09-18 18:39:26 +07:00
2025-01-17 23:42:56 +01:00
2025-01-17 23:42:56 +01:00
2025-03-27 08:01:47 +02:00
2025-03-27 08:01:47 +02:00
2025-01-17 15:39:55 +04:00
2025-07-17 09:18:18 +02:00
2025-07-17 09:18:18 +02:00
2024-10-29 15:24:38 +01:00
2024-10-29 15:24:38 +01:00
2025-04-18 12:44:17 -04:00
2025-04-18 12:44:17 -04:00
2025-06-12 16:58:52 +05:30
2024-10-03 09:31:39 +03:00
2025-04-18 12:44:17 -04:00
2025-04-18 12:44:17 -04:00
2024-10-14 09:36:17 +02:00
2024-10-14 09:36:17 +02:00
2024-10-03 09:31:39 +03:00
2024-10-29 15:24:38 +01:00
2024-10-08 11:58:46 +02:00
2024-10-29 15:24:38 +01:00
2024-10-29 15:24:38 +01:00
2024-10-03 10:55:08 +03:00
2024-11-29 13:43:17 +02:00
2024-11-29 13:43:17 +02:00
2024-10-08 11:58:46 +02:00
2024-10-08 11:58:46 +02:00
2024-11-29 13:43:17 +02:00
2024-11-29 12:37:46 +02:00
2025-02-28 09:00:16 +02:00
2024-07-18 08:17:53 +04:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2024-10-08 11:58:46 +02:00
2024-10-08 11:58:46 +02:00
2024-10-08 11:58:46 +02:00
2024-10-29 15:24:38 +01:00
2025-07-17 09:18:18 +02:00
2025-04-18 12:44:17 -04:00
2025-04-18 12:44:17 -04:00
2024-10-29 15:24:38 +01:00
2024-10-08 11:58:46 +02:00
2024-10-03 09:31:39 +03:00
2024-09-18 18:39:26 +07:00
2025-01-05 16:40:11 +02:00
2025-07-17 09:18:18 +02:00
2024-10-17 21:37:37 +02:00
2025-01-31 11:45:16 +02:00
2025-01-31 11:45:16 +02:00
2024-10-17 21:37:37 +02:00
2024-10-03 09:31:39 +03:00
2024-10-03 10:55:08 +03:00
2025-04-13 12:19:56 +02:00
2025-04-13 12:19:56 +02:00
2024-10-17 21:37:37 +02:00
2025-01-08 12:51:26 +02:00
2025-01-08 12:51:26 +02:00
2025-04-21 11:23:11 +02:00
2025-04-21 11:23:11 +02:00
2025-04-26 10:47:03 +02:00
2025-04-26 10:47:03 +02:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00
2025-01-09 11:35:09 +07:00
2025-01-09 11:35:09 +07:00
2025-01-30 11:55:13 +01:00
2025-01-29 11:17:38 +01:00
2024-09-18 18:39:26 +07:00
2025-07-27 12:16:03 +02:00
2025-07-27 12:16:03 +02:00
2024-06-28 16:45:50 +07:00
2024-06-28 16:45:50 +07:00