What files are required to run an ev3 program? I'm working on a project that aims to help beginning Lego Mindstorms programmers. I'm developing certain "modules" (moving straight, making a turn) for students to try, and I want to develop a program that can pull an .ev3 file, unzip the .ev3 to reveal its files, and analyze any of these files that are useful in determining "module" correctness. After unzipping a typical MyProgram.ev3 file, I find:


___CopyrightYear (txt)
___ProjectTitle (txt)
Activity.x3a (xml)
ActivityAssets.laz (I've read that this is a compressed folder, but I am unable to unzip this)
Program.ev3p (xml)
Project.lvprojx (xml)


Only one of these file (Program.ev3p) seems to contain information about the actual instructions of the EV3 program. Does the EV3 brick interpret this file to execute the program instructions? Is there any other program information in the mentioned files that I am missing?
The titles headed with underscores are unneeded. The title is not necessarily required, and the copyright is obviously useless to the machine.

However, none of the other files can be skipped or removed and still allow the program to work.

These others are written in XML, Extensible Markup Language, and are designed for use by both human and machine. The microcontroller needs all the information in these files.