// 2025-2026 Богданович Давид Когут Прихожденко (кдб.дійсність.укр)

взяти визначення мавка/пристрій;

простір мавка {
  простір пристрій {
    внутрішня дія дія_перебору_задіяних_виводу(М: *Машина, задіяні: Задіяні, розмір_позиційних: п32, позиція: п32, значення: Значення, аргумент: адреса) {
      змінна розмір_відступів = (аргумент як *природне)::вміст;

      вивести_значення(М, значення, розмір_відступів, 0);

      якщо (позиція != (розмір_позиційних - 1)) {
        вивести_кд(М, " ");
      }
    }

    внутрішня дія рідна_дія_вивести(
      М: *Машина,
      діяльність: *Діяльність
    ) -> ЗначенняАбоСтанПадіння {
      змінна задіяні = діяльність.задіяні;

      змінна розмір_відступів: природне = 2;

      якщо задіяні.розмір > 0 {
        перебрати_позиційні_задіяні(
          М,
          задіяні,
          дія_перебору_задіяних_виводу,
          розмір_відступів::адреса
        );
      }

      вернути НЕДІЙСНЕ;
    }

    внутрішня дія рідна_дія_друк(
      М: *Машина,
      діяльність: *Діяльність
    ) -> ЗначенняАбоСтанПадіння {
      змінна задіяні = діяльність.задіяні;

      змінна розмір_відступів: природне = 2;

      якщо задіяні.розмір > 0 {
        перебрати_позиційні_задіяні(
          М,
          задіяні,
          дія_перебору_задіяних_виводу,
          розмір_відступів::адреса
        );
      }

      вивести_кд(М, "");

      вернути НЕДІЙСНЕ;
    }

    дія визначити_глобально_мавка(М: *Машина) {
      змінна модуль_мавка = створити_модуль(
        М,
        створити_текст(М, "мавка")
      );

      змінна версія_мавки_кд: кд;
      пристрій_мавки_отримати_версію(версія_мавки_кд.розмір::адреса, версія_мавки_кд.дані::адреса);
      змінна версія_мавка = створити_текст_без_копіювання(М, версія_мавки_кд.розмір, версія_мавки_кд.дані);

      записати_властивість_модуля(
        М,
        модуль_мавка,
        створити_текст(М, "версія"),
        ПРЕДМЕТ(версія_мавка)
      );

      записати_в_дійсність(
        М,
        М.глобальна_дійсність,
        створити_текст(М, "мавка"),
        ПРЕДМЕТ(модуль_мавка)
      );
    }

    дія визначити_глобальні_виводу(М: *Машина) {
      змінна дія_вивести = створити_рідну_дію(
        М,
        створити_текст(М, "вивести"),
        М.пуста_послідовність,
        пусто,
        рідна_дія_вивести,
        пусто
      );
      записати_в_дійсність(
        М,
        М.глобальна_дійсність,
        створити_текст(М, "вивести"),
        ПРЕДМЕТ(дія_вивести)
      );

      змінна дія_друк = створити_рідну_дію(
        М,
        створити_текст(М, "друк"),
        М.пуста_послідовність,
        пусто,
        рідна_дія_друк,
        пусто
      );
      записати_в_дійсність(
        М,
        М.глобальна_дійсність,
        створити_текст(М, "друк"),
        ПРЕДМЕТ(дія_друк)
      );
    }
  }
}