
/* Automatically generated struct definitions for the Data API.
 * Do not edit manually, changes will be overwritten.           */

#define RNA_RUNTIME

#include <float.h>
#include <stdio.h>
#include <limits.h>
#include <limits>
#include <string.h>

#include <stddef.h>

#include <algorithm>

#include "MEM_guardedalloc.h"

#include "DNA_ID.h"
#include "DNA_scene_types.h"
#include "DNA_node_types.h"
#include "BLI_fileops.h"

#include "BLI_listbase.h"

#include "BLI_path_utils.hh"

#include "BLI_rect.h"

#include "BLI_string.h"

#include "BLI_string_utf8.h"

#include "BLI_utildefines.h"

#include "BKE_context.hh"
#include "BKE_lib_id.hh"
#include "BKE_main.hh"
#include "BKE_report.hh"
#include "RNA_define.hh"
#include "RNA_types.hh"
#include "rna_internal.hh"

#include "rna_prototypes_gen.hh"

#include "rna_main.cc"
#include "rna_main_api.cc"

#pragma GCC diagnostic ignored "-Wunused-parameter"

/* Auto-generated Functions. */


extern PropertyRNA &rna_BlendData_rna_properties;
extern PropertyRNA &rna_BlendData_rna_type;
extern PropertyRNA &rna_BlendData_filepath;
extern PropertyRNA &rna_BlendData_is_dirty;
extern PropertyRNA &rna_BlendData_is_saved;
extern PropertyRNA &rna_BlendData_use_autopack;
extern PropertyRNA &rna_BlendData_version;
extern PropertyRNA &rna_BlendData_cameras;
extern PropertyRNA &rna_BlendData_scenes;
extern PropertyRNA &rna_BlendData_objects;
extern PropertyRNA &rna_BlendData_materials;
extern PropertyRNA &rna_BlendData_node_groups;
extern PropertyRNA &rna_BlendData_meshes;
extern PropertyRNA &rna_BlendData_lights;
extern PropertyRNA &rna_BlendData_libraries;
extern PropertyRNA &rna_BlendData_screens;
extern PropertyRNA &rna_BlendData_window_managers;
extern PropertyRNA &rna_BlendData_images;
extern PropertyRNA &rna_BlendData_lattices;
extern PropertyRNA &rna_BlendData_curves;
extern PropertyRNA &rna_BlendData_metaballs;
extern PropertyRNA &rna_BlendData_fonts;
extern PropertyRNA &rna_BlendData_textures;
extern PropertyRNA &rna_BlendData_brushes;
extern PropertyRNA &rna_BlendData_worlds;
extern PropertyRNA &rna_BlendData_collections;
extern PropertyRNA &rna_BlendData_shape_keys;
extern PropertyRNA &rna_BlendData_texts;
extern PropertyRNA &rna_BlendData_speakers;
extern PropertyRNA &rna_BlendData_sounds;
extern PropertyRNA &rna_BlendData_armatures;
extern PropertyRNA &rna_BlendData_actions;
extern PropertyRNA &rna_BlendData_particles;
extern PropertyRNA &rna_BlendData_palettes;
extern PropertyRNA &rna_BlendData_grease_pencils;
extern PropertyRNA &rna_BlendData_grease_pencils_v3;
extern PropertyRNA &rna_BlendData_movieclips;
extern PropertyRNA &rna_BlendData_masks;
extern PropertyRNA &rna_BlendData_linestyles;
extern PropertyRNA &rna_BlendData_cache_files;
extern PropertyRNA &rna_BlendData_paint_curves;
extern PropertyRNA &rna_BlendData_workspaces;
extern PropertyRNA &rna_BlendData_lightprobes;
extern PropertyRNA &rna_BlendData_hair_curves;
extern PropertyRNA &rna_BlendData_pointclouds;
extern PropertyRNA &rna_BlendData_volumes;


extern PropertyRNA &rna_BlendDataCameras_rna_properties;
extern PropertyRNA &rna_BlendDataCameras_rna_type;

extern FunctionRNA rna_BlendDataCameras_new_func;
extern PropertyRNA &rna_BlendDataCameras_new_name;
extern PropertyRNA &rna_BlendDataCameras_new_camera;

extern FunctionRNA rna_BlendDataCameras_remove_func;
extern PropertyRNA &rna_BlendDataCameras_remove_camera;
extern PropertyRNA &rna_BlendDataCameras_remove_do_unlink;
extern PropertyRNA &rna_BlendDataCameras_remove_do_id_user;
extern PropertyRNA &rna_BlendDataCameras_remove_do_ui_user;

extern FunctionRNA rna_BlendDataCameras_tag_func;
extern PropertyRNA &rna_BlendDataCameras_tag_value;



extern PropertyRNA &rna_BlendDataScenes_rna_properties;
extern PropertyRNA &rna_BlendDataScenes_rna_type;

extern FunctionRNA rna_BlendDataScenes_new_func;
extern PropertyRNA &rna_BlendDataScenes_new_name;
extern PropertyRNA &rna_BlendDataScenes_new_scene;

extern FunctionRNA rna_BlendDataScenes_remove_func;
extern PropertyRNA &rna_BlendDataScenes_remove_scene;
extern PropertyRNA &rna_BlendDataScenes_remove_do_unlink;

extern FunctionRNA rna_BlendDataScenes_tag_func;
extern PropertyRNA &rna_BlendDataScenes_tag_value;



extern PropertyRNA &rna_BlendDataObjects_rna_properties;
extern PropertyRNA &rna_BlendDataObjects_rna_type;

extern FunctionRNA rna_BlendDataObjects_new_func;
extern PropertyRNA &rna_BlendDataObjects_new_name;
extern PropertyRNA &rna_BlendDataObjects_new_object_data;
extern PropertyRNA &rna_BlendDataObjects_new_object;

extern FunctionRNA rna_BlendDataObjects_remove_func;
extern PropertyRNA &rna_BlendDataObjects_remove_object;
extern PropertyRNA &rna_BlendDataObjects_remove_do_unlink;
extern PropertyRNA &rna_BlendDataObjects_remove_do_id_user;
extern PropertyRNA &rna_BlendDataObjects_remove_do_ui_user;

extern FunctionRNA rna_BlendDataObjects_tag_func;
extern PropertyRNA &rna_BlendDataObjects_tag_value;



extern PropertyRNA &rna_BlendDataMaterials_rna_properties;
extern PropertyRNA &rna_BlendDataMaterials_rna_type;

extern FunctionRNA rna_BlendDataMaterials_new_func;
extern PropertyRNA &rna_BlendDataMaterials_new_name;
extern PropertyRNA &rna_BlendDataMaterials_new_material;

extern FunctionRNA rna_BlendDataMaterials_create_gpencil_data_func;
extern PropertyRNA &rna_BlendDataMaterials_create_gpencil_data_material;

extern FunctionRNA rna_BlendDataMaterials_remove_gpencil_data_func;
extern PropertyRNA &rna_BlendDataMaterials_remove_gpencil_data_material;

extern FunctionRNA rna_BlendDataMaterials_remove_func;
extern PropertyRNA &rna_BlendDataMaterials_remove_material;
extern PropertyRNA &rna_BlendDataMaterials_remove_do_unlink;
extern PropertyRNA &rna_BlendDataMaterials_remove_do_id_user;
extern PropertyRNA &rna_BlendDataMaterials_remove_do_ui_user;

extern FunctionRNA rna_BlendDataMaterials_tag_func;
extern PropertyRNA &rna_BlendDataMaterials_tag_value;



extern PropertyRNA &rna_BlendDataNodeTrees_rna_properties;
extern PropertyRNA &rna_BlendDataNodeTrees_rna_type;

extern FunctionRNA rna_BlendDataNodeTrees_new_func;
extern PropertyRNA &rna_BlendDataNodeTrees_new_name;
extern PropertyRNA &rna_BlendDataNodeTrees_new_type;
extern PropertyRNA &rna_BlendDataNodeTrees_new_tree;

extern FunctionRNA rna_BlendDataNodeTrees_remove_func;
extern PropertyRNA &rna_BlendDataNodeTrees_remove_tree;
extern PropertyRNA &rna_BlendDataNodeTrees_remove_do_unlink;
extern PropertyRNA &rna_BlendDataNodeTrees_remove_do_id_user;
extern PropertyRNA &rna_BlendDataNodeTrees_remove_do_ui_user;

extern FunctionRNA rna_BlendDataNodeTrees_tag_func;
extern PropertyRNA &rna_BlendDataNodeTrees_tag_value;



extern PropertyRNA &rna_BlendDataMeshes_rna_properties;
extern PropertyRNA &rna_BlendDataMeshes_rna_type;

extern FunctionRNA rna_BlendDataMeshes_new_func;
extern PropertyRNA &rna_BlendDataMeshes_new_name;
extern PropertyRNA &rna_BlendDataMeshes_new_mesh;

extern FunctionRNA rna_BlendDataMeshes_new_from_object_func;
extern PropertyRNA &rna_BlendDataMeshes_new_from_object_object;
extern PropertyRNA &rna_BlendDataMeshes_new_from_object_preserve_all_data_layers;
extern PropertyRNA &rna_BlendDataMeshes_new_from_object_depsgraph;
extern PropertyRNA &rna_BlendDataMeshes_new_from_object_mesh;

extern FunctionRNA rna_BlendDataMeshes_remove_func;
extern PropertyRNA &rna_BlendDataMeshes_remove_mesh;
extern PropertyRNA &rna_BlendDataMeshes_remove_do_unlink;
extern PropertyRNA &rna_BlendDataMeshes_remove_do_id_user;
extern PropertyRNA &rna_BlendDataMeshes_remove_do_ui_user;

extern FunctionRNA rna_BlendDataMeshes_tag_func;
extern PropertyRNA &rna_BlendDataMeshes_tag_value;



extern PropertyRNA &rna_BlendDataLights_rna_properties;
extern PropertyRNA &rna_BlendDataLights_rna_type;

extern FunctionRNA rna_BlendDataLights_new_func;
extern PropertyRNA &rna_BlendDataLights_new_name;
extern PropertyRNA &rna_BlendDataLights_new_type;
extern PropertyRNA &rna_BlendDataLights_new_light;

extern FunctionRNA rna_BlendDataLights_remove_func;
extern PropertyRNA &rna_BlendDataLights_remove_light;
extern PropertyRNA &rna_BlendDataLights_remove_do_unlink;
extern PropertyRNA &rna_BlendDataLights_remove_do_id_user;
extern PropertyRNA &rna_BlendDataLights_remove_do_ui_user;

extern FunctionRNA rna_BlendDataLights_tag_func;
extern PropertyRNA &rna_BlendDataLights_tag_value;



extern PropertyRNA &rna_BlendDataLibraries_rna_properties;
extern PropertyRNA &rna_BlendDataLibraries_rna_type;

extern FunctionRNA rna_BlendDataLibraries_tag_func;
extern PropertyRNA &rna_BlendDataLibraries_tag_value;

extern FunctionRNA rna_BlendDataLibraries_remove_func;
extern PropertyRNA &rna_BlendDataLibraries_remove_library;
extern PropertyRNA &rna_BlendDataLibraries_remove_do_unlink;
extern PropertyRNA &rna_BlendDataLibraries_remove_do_id_user;
extern PropertyRNA &rna_BlendDataLibraries_remove_do_ui_user;



extern PropertyRNA &rna_BlendDataScreens_rna_properties;
extern PropertyRNA &rna_BlendDataScreens_rna_type;

extern FunctionRNA rna_BlendDataScreens_tag_func;
extern PropertyRNA &rna_BlendDataScreens_tag_value;



extern PropertyRNA &rna_BlendDataWindowManagers_rna_properties;
extern PropertyRNA &rna_BlendDataWindowManagers_rna_type;

extern FunctionRNA rna_BlendDataWindowManagers_tag_func;
extern PropertyRNA &rna_BlendDataWindowManagers_tag_value;



extern PropertyRNA &rna_BlendDataImages_rna_properties;
extern PropertyRNA &rna_BlendDataImages_rna_type;

extern FunctionRNA rna_BlendDataImages_new_func;
extern PropertyRNA &rna_BlendDataImages_new_name;
extern PropertyRNA &rna_BlendDataImages_new_width;
extern PropertyRNA &rna_BlendDataImages_new_height;
extern PropertyRNA &rna_BlendDataImages_new_alpha;
extern PropertyRNA &rna_BlendDataImages_new_float_buffer;
extern PropertyRNA &rna_BlendDataImages_new_stereo3d;
extern PropertyRNA &rna_BlendDataImages_new_is_data;
extern PropertyRNA &rna_BlendDataImages_new_tiled;
extern PropertyRNA &rna_BlendDataImages_new_image;

extern FunctionRNA rna_BlendDataImages_load_func;
extern PropertyRNA &rna_BlendDataImages_load_filepath;
extern PropertyRNA &rna_BlendDataImages_load_check_existing;
extern PropertyRNA &rna_BlendDataImages_load_image;

extern FunctionRNA rna_BlendDataImages_remove_func;
extern PropertyRNA &rna_BlendDataImages_remove_image;
extern PropertyRNA &rna_BlendDataImages_remove_do_unlink;
extern PropertyRNA &rna_BlendDataImages_remove_do_id_user;
extern PropertyRNA &rna_BlendDataImages_remove_do_ui_user;

extern FunctionRNA rna_BlendDataImages_tag_func;
extern PropertyRNA &rna_BlendDataImages_tag_value;



extern PropertyRNA &rna_BlendDataLattices_rna_properties;
extern PropertyRNA &rna_BlendDataLattices_rna_type;

extern FunctionRNA rna_BlendDataLattices_new_func;
extern PropertyRNA &rna_BlendDataLattices_new_name;
extern PropertyRNA &rna_BlendDataLattices_new_lattice;

extern FunctionRNA rna_BlendDataLattices_remove_func;
extern PropertyRNA &rna_BlendDataLattices_remove_lattice;
extern PropertyRNA &rna_BlendDataLattices_remove_do_unlink;
extern PropertyRNA &rna_BlendDataLattices_remove_do_id_user;
extern PropertyRNA &rna_BlendDataLattices_remove_do_ui_user;

extern FunctionRNA rna_BlendDataLattices_tag_func;
extern PropertyRNA &rna_BlendDataLattices_tag_value;



extern PropertyRNA &rna_BlendDataCurves_rna_properties;
extern PropertyRNA &rna_BlendDataCurves_rna_type;

extern FunctionRNA rna_BlendDataCurves_new_func;
extern PropertyRNA &rna_BlendDataCurves_new_name;
extern PropertyRNA &rna_BlendDataCurves_new_type;
extern PropertyRNA &rna_BlendDataCurves_new_curve;

extern FunctionRNA rna_BlendDataCurves_remove_func;
extern PropertyRNA &rna_BlendDataCurves_remove_curve;
extern PropertyRNA &rna_BlendDataCurves_remove_do_unlink;
extern PropertyRNA &rna_BlendDataCurves_remove_do_id_user;
extern PropertyRNA &rna_BlendDataCurves_remove_do_ui_user;

extern FunctionRNA rna_BlendDataCurves_tag_func;
extern PropertyRNA &rna_BlendDataCurves_tag_value;



extern PropertyRNA &rna_BlendDataMetaBalls_rna_properties;
extern PropertyRNA &rna_BlendDataMetaBalls_rna_type;

extern FunctionRNA rna_BlendDataMetaBalls_new_func;
extern PropertyRNA &rna_BlendDataMetaBalls_new_name;
extern PropertyRNA &rna_BlendDataMetaBalls_new_metaball;

extern FunctionRNA rna_BlendDataMetaBalls_remove_func;
extern PropertyRNA &rna_BlendDataMetaBalls_remove_metaball;
extern PropertyRNA &rna_BlendDataMetaBalls_remove_do_unlink;
extern PropertyRNA &rna_BlendDataMetaBalls_remove_do_id_user;
extern PropertyRNA &rna_BlendDataMetaBalls_remove_do_ui_user;

extern FunctionRNA rna_BlendDataMetaBalls_tag_func;
extern PropertyRNA &rna_BlendDataMetaBalls_tag_value;



extern PropertyRNA &rna_BlendDataFonts_rna_properties;
extern PropertyRNA &rna_BlendDataFonts_rna_type;

extern FunctionRNA rna_BlendDataFonts_load_func;
extern PropertyRNA &rna_BlendDataFonts_load_filepath;
extern PropertyRNA &rna_BlendDataFonts_load_check_existing;
extern PropertyRNA &rna_BlendDataFonts_load_vfont;

extern FunctionRNA rna_BlendDataFonts_remove_func;
extern PropertyRNA &rna_BlendDataFonts_remove_vfont;
extern PropertyRNA &rna_BlendDataFonts_remove_do_unlink;
extern PropertyRNA &rna_BlendDataFonts_remove_do_id_user;
extern PropertyRNA &rna_BlendDataFonts_remove_do_ui_user;

extern FunctionRNA rna_BlendDataFonts_tag_func;
extern PropertyRNA &rna_BlendDataFonts_tag_value;



extern PropertyRNA &rna_BlendDataTextures_rna_properties;
extern PropertyRNA &rna_BlendDataTextures_rna_type;

extern FunctionRNA rna_BlendDataTextures_new_func;
extern PropertyRNA &rna_BlendDataTextures_new_name;
extern PropertyRNA &rna_BlendDataTextures_new_type;
extern PropertyRNA &rna_BlendDataTextures_new_texture;

extern FunctionRNA rna_BlendDataTextures_remove_func;
extern PropertyRNA &rna_BlendDataTextures_remove_texture;
extern PropertyRNA &rna_BlendDataTextures_remove_do_unlink;
extern PropertyRNA &rna_BlendDataTextures_remove_do_id_user;
extern PropertyRNA &rna_BlendDataTextures_remove_do_ui_user;

extern FunctionRNA rna_BlendDataTextures_tag_func;
extern PropertyRNA &rna_BlendDataTextures_tag_value;



extern PropertyRNA &rna_BlendDataBrushes_rna_properties;
extern PropertyRNA &rna_BlendDataBrushes_rna_type;

extern FunctionRNA rna_BlendDataBrushes_new_func;
extern PropertyRNA &rna_BlendDataBrushes_new_name;
extern PropertyRNA &rna_BlendDataBrushes_new_mode;
extern PropertyRNA &rna_BlendDataBrushes_new_brush;

extern FunctionRNA rna_BlendDataBrushes_remove_func;
extern PropertyRNA &rna_BlendDataBrushes_remove_brush;
extern PropertyRNA &rna_BlendDataBrushes_remove_do_unlink;
extern PropertyRNA &rna_BlendDataBrushes_remove_do_id_user;
extern PropertyRNA &rna_BlendDataBrushes_remove_do_ui_user;

extern FunctionRNA rna_BlendDataBrushes_tag_func;
extern PropertyRNA &rna_BlendDataBrushes_tag_value;

extern FunctionRNA rna_BlendDataBrushes_create_gpencil_data_func;
extern PropertyRNA &rna_BlendDataBrushes_create_gpencil_data_brush;



extern PropertyRNA &rna_BlendDataWorlds_rna_properties;
extern PropertyRNA &rna_BlendDataWorlds_rna_type;

extern FunctionRNA rna_BlendDataWorlds_new_func;
extern PropertyRNA &rna_BlendDataWorlds_new_name;
extern PropertyRNA &rna_BlendDataWorlds_new_world;

extern FunctionRNA rna_BlendDataWorlds_remove_func;
extern PropertyRNA &rna_BlendDataWorlds_remove_world;
extern PropertyRNA &rna_BlendDataWorlds_remove_do_unlink;
extern PropertyRNA &rna_BlendDataWorlds_remove_do_id_user;
extern PropertyRNA &rna_BlendDataWorlds_remove_do_ui_user;

extern FunctionRNA rna_BlendDataWorlds_tag_func;
extern PropertyRNA &rna_BlendDataWorlds_tag_value;



extern PropertyRNA &rna_BlendDataCollections_rna_properties;
extern PropertyRNA &rna_BlendDataCollections_rna_type;

extern FunctionRNA rna_BlendDataCollections_new_func;
extern PropertyRNA &rna_BlendDataCollections_new_name;
extern PropertyRNA &rna_BlendDataCollections_new_collection;

extern FunctionRNA rna_BlendDataCollections_remove_func;
extern PropertyRNA &rna_BlendDataCollections_remove_collection;
extern PropertyRNA &rna_BlendDataCollections_remove_do_unlink;
extern PropertyRNA &rna_BlendDataCollections_remove_do_id_user;
extern PropertyRNA &rna_BlendDataCollections_remove_do_ui_user;

extern FunctionRNA rna_BlendDataCollections_tag_func;
extern PropertyRNA &rna_BlendDataCollections_tag_value;



extern PropertyRNA &rna_BlendDataTexts_rna_properties;
extern PropertyRNA &rna_BlendDataTexts_rna_type;

extern FunctionRNA rna_BlendDataTexts_new_func;
extern PropertyRNA &rna_BlendDataTexts_new_name;
extern PropertyRNA &rna_BlendDataTexts_new_text;

extern FunctionRNA rna_BlendDataTexts_remove_func;
extern PropertyRNA &rna_BlendDataTexts_remove_text;
extern PropertyRNA &rna_BlendDataTexts_remove_do_unlink;
extern PropertyRNA &rna_BlendDataTexts_remove_do_id_user;
extern PropertyRNA &rna_BlendDataTexts_remove_do_ui_user;

extern FunctionRNA rna_BlendDataTexts_load_func;
extern PropertyRNA &rna_BlendDataTexts_load_filepath;
extern PropertyRNA &rna_BlendDataTexts_load_internal;
extern PropertyRNA &rna_BlendDataTexts_load_text;

extern FunctionRNA rna_BlendDataTexts_tag_func;
extern PropertyRNA &rna_BlendDataTexts_tag_value;



extern PropertyRNA &rna_BlendDataSpeakers_rna_properties;
extern PropertyRNA &rna_BlendDataSpeakers_rna_type;

extern FunctionRNA rna_BlendDataSpeakers_new_func;
extern PropertyRNA &rna_BlendDataSpeakers_new_name;
extern PropertyRNA &rna_BlendDataSpeakers_new_speaker;

extern FunctionRNA rna_BlendDataSpeakers_remove_func;
extern PropertyRNA &rna_BlendDataSpeakers_remove_speaker;
extern PropertyRNA &rna_BlendDataSpeakers_remove_do_unlink;
extern PropertyRNA &rna_BlendDataSpeakers_remove_do_id_user;
extern PropertyRNA &rna_BlendDataSpeakers_remove_do_ui_user;

extern FunctionRNA rna_BlendDataSpeakers_tag_func;
extern PropertyRNA &rna_BlendDataSpeakers_tag_value;



extern PropertyRNA &rna_BlendDataSounds_rna_properties;
extern PropertyRNA &rna_BlendDataSounds_rna_type;

extern FunctionRNA rna_BlendDataSounds_load_func;
extern PropertyRNA &rna_BlendDataSounds_load_filepath;
extern PropertyRNA &rna_BlendDataSounds_load_check_existing;
extern PropertyRNA &rna_BlendDataSounds_load_sound;

extern FunctionRNA rna_BlendDataSounds_remove_func;
extern PropertyRNA &rna_BlendDataSounds_remove_sound;
extern PropertyRNA &rna_BlendDataSounds_remove_do_unlink;
extern PropertyRNA &rna_BlendDataSounds_remove_do_id_user;
extern PropertyRNA &rna_BlendDataSounds_remove_do_ui_user;

extern FunctionRNA rna_BlendDataSounds_tag_func;
extern PropertyRNA &rna_BlendDataSounds_tag_value;



extern PropertyRNA &rna_BlendDataArmatures_rna_properties;
extern PropertyRNA &rna_BlendDataArmatures_rna_type;

extern FunctionRNA rna_BlendDataArmatures_new_func;
extern PropertyRNA &rna_BlendDataArmatures_new_name;
extern PropertyRNA &rna_BlendDataArmatures_new_armature;

extern FunctionRNA rna_BlendDataArmatures_remove_func;
extern PropertyRNA &rna_BlendDataArmatures_remove_armature;
extern PropertyRNA &rna_BlendDataArmatures_remove_do_unlink;
extern PropertyRNA &rna_BlendDataArmatures_remove_do_id_user;
extern PropertyRNA &rna_BlendDataArmatures_remove_do_ui_user;

extern FunctionRNA rna_BlendDataArmatures_tag_func;
extern PropertyRNA &rna_BlendDataArmatures_tag_value;



extern PropertyRNA &rna_BlendDataActions_rna_properties;
extern PropertyRNA &rna_BlendDataActions_rna_type;

extern FunctionRNA rna_BlendDataActions_new_func;
extern PropertyRNA &rna_BlendDataActions_new_name;
extern PropertyRNA &rna_BlendDataActions_new_action;

extern FunctionRNA rna_BlendDataActions_remove_func;
extern PropertyRNA &rna_BlendDataActions_remove_action;
extern PropertyRNA &rna_BlendDataActions_remove_do_unlink;
extern PropertyRNA &rna_BlendDataActions_remove_do_id_user;
extern PropertyRNA &rna_BlendDataActions_remove_do_ui_user;

extern FunctionRNA rna_BlendDataActions_tag_func;
extern PropertyRNA &rna_BlendDataActions_tag_value;



extern PropertyRNA &rna_BlendDataParticles_rna_properties;
extern PropertyRNA &rna_BlendDataParticles_rna_type;

extern FunctionRNA rna_BlendDataParticles_new_func;
extern PropertyRNA &rna_BlendDataParticles_new_name;
extern PropertyRNA &rna_BlendDataParticles_new_particle;

extern FunctionRNA rna_BlendDataParticles_remove_func;
extern PropertyRNA &rna_BlendDataParticles_remove_particle;
extern PropertyRNA &rna_BlendDataParticles_remove_do_unlink;
extern PropertyRNA &rna_BlendDataParticles_remove_do_id_user;
extern PropertyRNA &rna_BlendDataParticles_remove_do_ui_user;

extern FunctionRNA rna_BlendDataParticles_tag_func;
extern PropertyRNA &rna_BlendDataParticles_tag_value;



extern PropertyRNA &rna_BlendDataPalettes_rna_properties;
extern PropertyRNA &rna_BlendDataPalettes_rna_type;

extern FunctionRNA rna_BlendDataPalettes_new_func;
extern PropertyRNA &rna_BlendDataPalettes_new_name;
extern PropertyRNA &rna_BlendDataPalettes_new_palette;

extern FunctionRNA rna_BlendDataPalettes_remove_func;
extern PropertyRNA &rna_BlendDataPalettes_remove_palette;
extern PropertyRNA &rna_BlendDataPalettes_remove_do_unlink;
extern PropertyRNA &rna_BlendDataPalettes_remove_do_id_user;
extern PropertyRNA &rna_BlendDataPalettes_remove_do_ui_user;

extern FunctionRNA rna_BlendDataPalettes_tag_func;
extern PropertyRNA &rna_BlendDataPalettes_tag_value;



extern PropertyRNA &rna_BlendDataGreasePencils_rna_properties;
extern PropertyRNA &rna_BlendDataGreasePencils_rna_type;

extern FunctionRNA rna_BlendDataGreasePencils_tag_func;
extern PropertyRNA &rna_BlendDataGreasePencils_tag_value;

extern FunctionRNA rna_BlendDataGreasePencils_new_func;
extern PropertyRNA &rna_BlendDataGreasePencils_new_name;
extern PropertyRNA &rna_BlendDataGreasePencils_new_grease_pencil;

extern FunctionRNA rna_BlendDataGreasePencils_remove_func;
extern PropertyRNA &rna_BlendDataGreasePencils_remove_grease_pencil;
extern PropertyRNA &rna_BlendDataGreasePencils_remove_do_unlink;
extern PropertyRNA &rna_BlendDataGreasePencils_remove_do_id_user;
extern PropertyRNA &rna_BlendDataGreasePencils_remove_do_ui_user;



extern PropertyRNA &rna_BlendDataGreasePencilsV3_rna_properties;
extern PropertyRNA &rna_BlendDataGreasePencilsV3_rna_type;

extern FunctionRNA rna_BlendDataGreasePencilsV3_tag_func;
extern PropertyRNA &rna_BlendDataGreasePencilsV3_tag_value;

extern FunctionRNA rna_BlendDataGreasePencilsV3_new_func;
extern PropertyRNA &rna_BlendDataGreasePencilsV3_new_name;
extern PropertyRNA &rna_BlendDataGreasePencilsV3_new_grease_pencil;

extern FunctionRNA rna_BlendDataGreasePencilsV3_remove_func;
extern PropertyRNA &rna_BlendDataGreasePencilsV3_remove_grease_pencil;
extern PropertyRNA &rna_BlendDataGreasePencilsV3_remove_do_unlink;
extern PropertyRNA &rna_BlendDataGreasePencilsV3_remove_do_id_user;
extern PropertyRNA &rna_BlendDataGreasePencilsV3_remove_do_ui_user;



extern PropertyRNA &rna_BlendDataMovieClips_rna_properties;
extern PropertyRNA &rna_BlendDataMovieClips_rna_type;

extern FunctionRNA rna_BlendDataMovieClips_tag_func;
extern PropertyRNA &rna_BlendDataMovieClips_tag_value;

extern FunctionRNA rna_BlendDataMovieClips_remove_func;
extern PropertyRNA &rna_BlendDataMovieClips_remove_clip;
extern PropertyRNA &rna_BlendDataMovieClips_remove_do_unlink;
extern PropertyRNA &rna_BlendDataMovieClips_remove_do_id_user;
extern PropertyRNA &rna_BlendDataMovieClips_remove_do_ui_user;

extern FunctionRNA rna_BlendDataMovieClips_load_func;
extern PropertyRNA &rna_BlendDataMovieClips_load_filepath;
extern PropertyRNA &rna_BlendDataMovieClips_load_check_existing;
extern PropertyRNA &rna_BlendDataMovieClips_load_clip;



extern PropertyRNA &rna_BlendDataMasks_rna_properties;
extern PropertyRNA &rna_BlendDataMasks_rna_type;

extern FunctionRNA rna_BlendDataMasks_tag_func;
extern PropertyRNA &rna_BlendDataMasks_tag_value;

extern FunctionRNA rna_BlendDataMasks_new_func;
extern PropertyRNA &rna_BlendDataMasks_new_name;
extern PropertyRNA &rna_BlendDataMasks_new_mask;

extern FunctionRNA rna_BlendDataMasks_remove_func;
extern PropertyRNA &rna_BlendDataMasks_remove_mask;
extern PropertyRNA &rna_BlendDataMasks_remove_do_unlink;
extern PropertyRNA &rna_BlendDataMasks_remove_do_id_user;
extern PropertyRNA &rna_BlendDataMasks_remove_do_ui_user;



extern PropertyRNA &rna_BlendDataLineStyles_rna_properties;
extern PropertyRNA &rna_BlendDataLineStyles_rna_type;

extern FunctionRNA rna_BlendDataLineStyles_tag_func;
extern PropertyRNA &rna_BlendDataLineStyles_tag_value;

extern FunctionRNA rna_BlendDataLineStyles_new_func;
extern PropertyRNA &rna_BlendDataLineStyles_new_name;
extern PropertyRNA &rna_BlendDataLineStyles_new_linestyle;

extern FunctionRNA rna_BlendDataLineStyles_remove_func;
extern PropertyRNA &rna_BlendDataLineStyles_remove_linestyle;
extern PropertyRNA &rna_BlendDataLineStyles_remove_do_unlink;
extern PropertyRNA &rna_BlendDataLineStyles_remove_do_id_user;
extern PropertyRNA &rna_BlendDataLineStyles_remove_do_ui_user;



extern PropertyRNA &rna_BlendDataCacheFiles_rna_properties;
extern PropertyRNA &rna_BlendDataCacheFiles_rna_type;

extern FunctionRNA rna_BlendDataCacheFiles_tag_func;
extern PropertyRNA &rna_BlendDataCacheFiles_tag_value;



extern PropertyRNA &rna_BlendDataPaintCurves_rna_properties;
extern PropertyRNA &rna_BlendDataPaintCurves_rna_type;

extern FunctionRNA rna_BlendDataPaintCurves_tag_func;
extern PropertyRNA &rna_BlendDataPaintCurves_tag_value;



extern PropertyRNA &rna_BlendDataWorkSpaces_rna_properties;
extern PropertyRNA &rna_BlendDataWorkSpaces_rna_type;

extern FunctionRNA rna_BlendDataWorkSpaces_tag_func;
extern PropertyRNA &rna_BlendDataWorkSpaces_tag_value;



extern PropertyRNA &rna_BlendDataProbes_rna_properties;
extern PropertyRNA &rna_BlendDataProbes_rna_type;

extern FunctionRNA rna_BlendDataProbes_new_func;
extern PropertyRNA &rna_BlendDataProbes_new_name;
extern PropertyRNA &rna_BlendDataProbes_new_type;
extern PropertyRNA &rna_BlendDataProbes_new_lightprobe;

extern FunctionRNA rna_BlendDataProbes_remove_func;
extern PropertyRNA &rna_BlendDataProbes_remove_lightprobe;
extern PropertyRNA &rna_BlendDataProbes_remove_do_unlink;
extern PropertyRNA &rna_BlendDataProbes_remove_do_id_user;
extern PropertyRNA &rna_BlendDataProbes_remove_do_ui_user;

extern FunctionRNA rna_BlendDataProbes_tag_func;
extern PropertyRNA &rna_BlendDataProbes_tag_value;



extern PropertyRNA &rna_BlendDataHairCurves_rna_properties;
extern PropertyRNA &rna_BlendDataHairCurves_rna_type;

extern FunctionRNA rna_BlendDataHairCurves_new_func;
extern PropertyRNA &rna_BlendDataHairCurves_new_name;
extern PropertyRNA &rna_BlendDataHairCurves_new_curves;

extern FunctionRNA rna_BlendDataHairCurves_remove_func;
extern PropertyRNA &rna_BlendDataHairCurves_remove_curves;
extern PropertyRNA &rna_BlendDataHairCurves_remove_do_unlink;
extern PropertyRNA &rna_BlendDataHairCurves_remove_do_id_user;
extern PropertyRNA &rna_BlendDataHairCurves_remove_do_ui_user;

extern FunctionRNA rna_BlendDataHairCurves_tag_func;
extern PropertyRNA &rna_BlendDataHairCurves_tag_value;



extern PropertyRNA &rna_BlendDataPointClouds_rna_properties;
extern PropertyRNA &rna_BlendDataPointClouds_rna_type;

extern FunctionRNA rna_BlendDataPointClouds_new_func;
extern PropertyRNA &rna_BlendDataPointClouds_new_name;
extern PropertyRNA &rna_BlendDataPointClouds_new_pointcloud;

extern FunctionRNA rna_BlendDataPointClouds_remove_func;
extern PropertyRNA &rna_BlendDataPointClouds_remove_pointcloud;
extern PropertyRNA &rna_BlendDataPointClouds_remove_do_unlink;
extern PropertyRNA &rna_BlendDataPointClouds_remove_do_id_user;
extern PropertyRNA &rna_BlendDataPointClouds_remove_do_ui_user;

extern FunctionRNA rna_BlendDataPointClouds_tag_func;
extern PropertyRNA &rna_BlendDataPointClouds_tag_value;



extern PropertyRNA &rna_BlendDataVolumes_rna_properties;
extern PropertyRNA &rna_BlendDataVolumes_rna_type;

extern FunctionRNA rna_BlendDataVolumes_new_func;
extern PropertyRNA &rna_BlendDataVolumes_new_name;
extern PropertyRNA &rna_BlendDataVolumes_new_volume;

extern FunctionRNA rna_BlendDataVolumes_remove_func;
extern PropertyRNA &rna_BlendDataVolumes_remove_volume;
extern PropertyRNA &rna_BlendDataVolumes_remove_do_unlink;
extern PropertyRNA &rna_BlendDataVolumes_remove_do_id_user;
extern PropertyRNA &rna_BlendDataVolumes_remove_do_ui_user;

extern FunctionRNA rna_BlendDataVolumes_tag_func;
extern PropertyRNA &rna_BlendDataVolumes_tag_value;


static PointerRNA BlendData_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendData_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_rna_properties_get(iter);
    }
}

extern void BlendData_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_rna_properties_get(iter);
    }
}

extern void BlendData_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendData_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendData_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

extern void BlendData_filepath_get(PointerRNA *ptr, char *value)
{
    PropStringGetFunc fn = rna_Main_filepath_get;
    fn(ptr, value);
}

extern int BlendData_filepath_length(PointerRNA *ptr)
{
    PropStringLengthFunc fn = rna_Main_filepath_length;
    return fn(ptr);
}

extern bool BlendData_is_dirty_get(PointerRNA *ptr)
{
    PropBooleanGetFunc fn = rna_Main_is_dirty_get;
    return fn(ptr);
}

extern bool BlendData_is_saved_get(PointerRNA *ptr)
{
    PropBooleanGetFunc fn = rna_Main_is_saved_get;
    return fn(ptr);
}

extern bool BlendData_use_autopack_get(PointerRNA *ptr)
{
    PropBooleanGetFunc fn = rna_Main_use_autopack_get;
    return fn(ptr);
}

extern void BlendData_use_autopack_set(PointerRNA *ptr, bool value)
{
    PropBooleanSetFunc fn = rna_Main_use_autopack_set;
    fn(ptr, value);
}

extern void BlendData_version_get(PointerRNA *ptr, int values[3])
{
    PropIntArrayGetFunc fn = rna_Main_version_get;
    fn(ptr, values);
}

static PointerRNA BlendData_cameras_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Camera, rna_iterator_listbase_get(iter));
}

extern void BlendData_cameras_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_cameras;

    PropCollectionBeginFunc fn = rna_Main_cameras_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_cameras_get(iter);
    }
}

extern void BlendData_cameras_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_cameras_get(iter);
    }
}

extern void BlendData_cameras_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_scenes_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Scene, rna_iterator_listbase_get(iter));
}

extern void BlendData_scenes_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_scenes;

    PropCollectionBeginFunc fn = rna_Main_scenes_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_scenes_get(iter);
    }
}

extern void BlendData_scenes_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_scenes_get(iter);
    }
}

extern void BlendData_scenes_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_objects_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Object, rna_iterator_listbase_get(iter));
}

extern void BlendData_objects_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_objects;

    PropCollectionBeginFunc fn = rna_Main_objects_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_objects_get(iter);
    }
}

extern void BlendData_objects_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_objects_get(iter);
    }
}

extern void BlendData_objects_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_materials_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Material, rna_iterator_listbase_get(iter));
}

extern void BlendData_materials_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_materials;

    PropCollectionBeginFunc fn = rna_Main_materials_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_materials_get(iter);
    }
}

extern void BlendData_materials_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_materials_get(iter);
    }
}

extern void BlendData_materials_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_node_groups_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_NodeTree, rna_iterator_listbase_get(iter));
}

extern void BlendData_node_groups_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_node_groups;

    PropCollectionBeginFunc fn = rna_Main_nodetrees_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_node_groups_get(iter);
    }
}

extern void BlendData_node_groups_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_node_groups_get(iter);
    }
}

extern void BlendData_node_groups_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_meshes_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Mesh, rna_iterator_listbase_get(iter));
}

extern void BlendData_meshes_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_meshes;

    PropCollectionBeginFunc fn = rna_Main_meshes_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_meshes_get(iter);
    }
}

extern void BlendData_meshes_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_meshes_get(iter);
    }
}

extern void BlendData_meshes_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_lights_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Light, rna_iterator_listbase_get(iter));
}

extern void BlendData_lights_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_lights;

    PropCollectionBeginFunc fn = rna_Main_lights_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_lights_get(iter);
    }
}

extern void BlendData_lights_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_lights_get(iter);
    }
}

extern void BlendData_lights_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_libraries_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Library, rna_iterator_listbase_get(iter));
}

extern void BlendData_libraries_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_libraries;

    PropCollectionBeginFunc fn = rna_Main_libraries_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_libraries_get(iter);
    }
}

extern void BlendData_libraries_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_libraries_get(iter);
    }
}

extern void BlendData_libraries_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_screens_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Screen, rna_iterator_listbase_get(iter));
}

extern void BlendData_screens_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_screens;

    PropCollectionBeginFunc fn = rna_Main_screens_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_screens_get(iter);
    }
}

extern void BlendData_screens_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_screens_get(iter);
    }
}

extern void BlendData_screens_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_window_managers_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_WindowManager, rna_iterator_listbase_get(iter));
}

extern void BlendData_window_managers_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_window_managers;

    PropCollectionBeginFunc fn = rna_Main_wm_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_window_managers_get(iter);
    }
}

extern void BlendData_window_managers_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_window_managers_get(iter);
    }
}

extern void BlendData_window_managers_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_images_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Image, rna_iterator_listbase_get(iter));
}

extern void BlendData_images_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_images;

    PropCollectionBeginFunc fn = rna_Main_images_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_images_get(iter);
    }
}

extern void BlendData_images_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_images_get(iter);
    }
}

extern void BlendData_images_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_lattices_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Lattice, rna_iterator_listbase_get(iter));
}

extern void BlendData_lattices_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_lattices;

    PropCollectionBeginFunc fn = rna_Main_lattices_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_lattices_get(iter);
    }
}

extern void BlendData_lattices_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_lattices_get(iter);
    }
}

extern void BlendData_lattices_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_curves_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Curve, rna_iterator_listbase_get(iter));
}

extern void BlendData_curves_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_curves;

    PropCollectionBeginFunc fn = rna_Main_curves_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_curves_get(iter);
    }
}

extern void BlendData_curves_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_curves_get(iter);
    }
}

extern void BlendData_curves_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_metaballs_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_MetaBall, rna_iterator_listbase_get(iter));
}

extern void BlendData_metaballs_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_metaballs;

    PropCollectionBeginFunc fn = rna_Main_metaballs_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_metaballs_get(iter);
    }
}

extern void BlendData_metaballs_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_metaballs_get(iter);
    }
}

extern void BlendData_metaballs_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_fonts_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_VectorFont, rna_iterator_listbase_get(iter));
}

extern void BlendData_fonts_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_fonts;

    PropCollectionBeginFunc fn = rna_Main_fonts_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_fonts_get(iter);
    }
}

extern void BlendData_fonts_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_fonts_get(iter);
    }
}

extern void BlendData_fonts_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_textures_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Texture, rna_iterator_listbase_get(iter));
}

extern void BlendData_textures_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_textures;

    PropCollectionBeginFunc fn = rna_Main_textures_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_textures_get(iter);
    }
}

extern void BlendData_textures_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_textures_get(iter);
    }
}

extern void BlendData_textures_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_brushes_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Brush, rna_iterator_listbase_get(iter));
}

extern void BlendData_brushes_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_brushes;

    PropCollectionBeginFunc fn = rna_Main_brushes_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_brushes_get(iter);
    }
}

extern void BlendData_brushes_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_brushes_get(iter);
    }
}

extern void BlendData_brushes_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_worlds_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_World, rna_iterator_listbase_get(iter));
}

extern void BlendData_worlds_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_worlds;

    PropCollectionBeginFunc fn = rna_Main_worlds_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_worlds_get(iter);
    }
}

extern void BlendData_worlds_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_worlds_get(iter);
    }
}

extern void BlendData_worlds_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_collections_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Collection, rna_iterator_listbase_get(iter));
}

extern void BlendData_collections_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_collections;

    PropCollectionBeginFunc fn = rna_Main_collections_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_collections_get(iter);
    }
}

extern void BlendData_collections_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_collections_get(iter);
    }
}

extern void BlendData_collections_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_shape_keys_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Key, rna_iterator_listbase_get(iter));
}

extern void BlendData_shape_keys_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_shape_keys;

    PropCollectionBeginFunc fn = rna_Main_shapekeys_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_shape_keys_get(iter);
    }
}

extern void BlendData_shape_keys_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_shape_keys_get(iter);
    }
}

extern void BlendData_shape_keys_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_texts_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Text, rna_iterator_listbase_get(iter));
}

extern void BlendData_texts_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_texts;

    PropCollectionBeginFunc fn = rna_Main_texts_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_texts_get(iter);
    }
}

extern void BlendData_texts_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_texts_get(iter);
    }
}

extern void BlendData_texts_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_speakers_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Speaker, rna_iterator_listbase_get(iter));
}

extern void BlendData_speakers_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_speakers;

    PropCollectionBeginFunc fn = rna_Main_speakers_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_speakers_get(iter);
    }
}

extern void BlendData_speakers_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_speakers_get(iter);
    }
}

extern void BlendData_speakers_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_sounds_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Sound, rna_iterator_listbase_get(iter));
}

extern void BlendData_sounds_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_sounds;

    PropCollectionBeginFunc fn = rna_Main_sounds_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_sounds_get(iter);
    }
}

extern void BlendData_sounds_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_sounds_get(iter);
    }
}

extern void BlendData_sounds_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_armatures_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Armature, rna_iterator_listbase_get(iter));
}

extern void BlendData_armatures_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_armatures;

    PropCollectionBeginFunc fn = rna_Main_armatures_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_armatures_get(iter);
    }
}

extern void BlendData_armatures_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_armatures_get(iter);
    }
}

extern void BlendData_armatures_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_actions_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Action, rna_iterator_listbase_get(iter));
}

extern void BlendData_actions_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_actions;

    PropCollectionBeginFunc fn = rna_Main_actions_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_actions_get(iter);
    }
}

extern void BlendData_actions_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_actions_get(iter);
    }
}

extern void BlendData_actions_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_particles_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_ParticleSettings, rna_iterator_listbase_get(iter));
}

extern void BlendData_particles_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_particles;

    PropCollectionBeginFunc fn = rna_Main_particles_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_particles_get(iter);
    }
}

extern void BlendData_particles_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_particles_get(iter);
    }
}

extern void BlendData_particles_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_palettes_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Palette, rna_iterator_listbase_get(iter));
}

extern void BlendData_palettes_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_palettes;

    PropCollectionBeginFunc fn = rna_Main_palettes_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_palettes_get(iter);
    }
}

extern void BlendData_palettes_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_palettes_get(iter);
    }
}

extern void BlendData_palettes_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_grease_pencils_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_GreasePencil, rna_iterator_listbase_get(iter));
}

extern void BlendData_grease_pencils_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_grease_pencils;

    PropCollectionBeginFunc fn = rna_Main_gpencils_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_grease_pencils_get(iter);
    }
}

extern void BlendData_grease_pencils_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_grease_pencils_get(iter);
    }
}

extern void BlendData_grease_pencils_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_grease_pencils_v3_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_GreasePencilv3, rna_iterator_listbase_get(iter));
}

extern void BlendData_grease_pencils_v3_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_grease_pencils_v3;

    PropCollectionBeginFunc fn = rna_Main_grease_pencils_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_grease_pencils_v3_get(iter);
    }
}

extern void BlendData_grease_pencils_v3_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_grease_pencils_v3_get(iter);
    }
}

extern void BlendData_grease_pencils_v3_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_movieclips_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_MovieClip, rna_iterator_listbase_get(iter));
}

extern void BlendData_movieclips_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_movieclips;

    PropCollectionBeginFunc fn = rna_Main_movieclips_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_movieclips_get(iter);
    }
}

extern void BlendData_movieclips_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_movieclips_get(iter);
    }
}

extern void BlendData_movieclips_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_masks_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Mask, rna_iterator_listbase_get(iter));
}

extern void BlendData_masks_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_masks;

    PropCollectionBeginFunc fn = rna_Main_masks_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_masks_get(iter);
    }
}

extern void BlendData_masks_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_masks_get(iter);
    }
}

extern void BlendData_masks_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_linestyles_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_FreestyleLineStyle, rna_iterator_listbase_get(iter));
}

extern void BlendData_linestyles_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_linestyles;

    PropCollectionBeginFunc fn = rna_Main_linestyles_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_linestyles_get(iter);
    }
}

extern void BlendData_linestyles_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_linestyles_get(iter);
    }
}

extern void BlendData_linestyles_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_cache_files_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_CacheFile, rna_iterator_listbase_get(iter));
}

extern void BlendData_cache_files_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_cache_files;

    PropCollectionBeginFunc fn = rna_Main_cachefiles_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_cache_files_get(iter);
    }
}

extern void BlendData_cache_files_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_cache_files_get(iter);
    }
}

extern void BlendData_cache_files_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_paint_curves_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_PaintCurve, rna_iterator_listbase_get(iter));
}

extern void BlendData_paint_curves_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_paint_curves;

    PropCollectionBeginFunc fn = rna_Main_paintcurves_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_paint_curves_get(iter);
    }
}

extern void BlendData_paint_curves_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_paint_curves_get(iter);
    }
}

extern void BlendData_paint_curves_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_workspaces_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_WorkSpace, rna_iterator_listbase_get(iter));
}

extern void BlendData_workspaces_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_workspaces;

    PropCollectionBeginFunc fn = rna_Main_workspaces_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_workspaces_get(iter);
    }
}

extern void BlendData_workspaces_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_workspaces_get(iter);
    }
}

extern void BlendData_workspaces_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_lightprobes_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_LightProbe, rna_iterator_listbase_get(iter));
}

extern void BlendData_lightprobes_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_lightprobes;

    PropCollectionBeginFunc fn = rna_Main_lightprobes_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_lightprobes_get(iter);
    }
}

extern void BlendData_lightprobes_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_lightprobes_get(iter);
    }
}

extern void BlendData_lightprobes_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_hair_curves_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Curves, rna_iterator_listbase_get(iter));
}

extern void BlendData_hair_curves_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_hair_curves;

    PropCollectionBeginFunc fn = rna_Main_hair_curves_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_hair_curves_get(iter);
    }
}

extern void BlendData_hair_curves_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_hair_curves_get(iter);
    }
}

extern void BlendData_hair_curves_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_pointclouds_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_PointCloud, rna_iterator_listbase_get(iter));
}

extern void BlendData_pointclouds_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_pointclouds;

    PropCollectionBeginFunc fn = rna_Main_pointclouds_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_pointclouds_get(iter);
    }
}

extern void BlendData_pointclouds_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_pointclouds_get(iter);
    }
}

extern void BlendData_pointclouds_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendData_volumes_get(CollectionPropertyIterator *iter)
{
    return RNA_pointer_create_with_parent(iter->parent, &RNA_Volume, rna_iterator_listbase_get(iter));
}

extern void BlendData_volumes_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendData_volumes;

    PropCollectionBeginFunc fn = rna_Main_volumes_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendData_volumes_get(iter);
    }
}

extern void BlendData_volumes_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_iterator_listbase_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendData_volumes_get(iter);
    }
}

extern void BlendData_volumes_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

static PointerRNA BlendDataCameras_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataCameras_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataCameras_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataCameras_rna_properties_get(iter);
    }
}

extern void BlendDataCameras_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataCameras_rna_properties_get(iter);
    }
}

extern void BlendDataCameras_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataCameras_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataCameras_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataScenes_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataScenes_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataScenes_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataScenes_rna_properties_get(iter);
    }
}

extern void BlendDataScenes_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataScenes_rna_properties_get(iter);
    }
}

extern void BlendDataScenes_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataScenes_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataScenes_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataObjects_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataObjects_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataObjects_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataObjects_rna_properties_get(iter);
    }
}

extern void BlendDataObjects_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataObjects_rna_properties_get(iter);
    }
}

extern void BlendDataObjects_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataObjects_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataObjects_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataMaterials_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataMaterials_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataMaterials_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataMaterials_rna_properties_get(iter);
    }
}

extern void BlendDataMaterials_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataMaterials_rna_properties_get(iter);
    }
}

extern void BlendDataMaterials_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataMaterials_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataMaterials_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataNodeTrees_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataNodeTrees_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataNodeTrees_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataNodeTrees_rna_properties_get(iter);
    }
}

extern void BlendDataNodeTrees_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataNodeTrees_rna_properties_get(iter);
    }
}

extern void BlendDataNodeTrees_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataNodeTrees_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataNodeTrees_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataMeshes_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataMeshes_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataMeshes_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataMeshes_rna_properties_get(iter);
    }
}

extern void BlendDataMeshes_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataMeshes_rna_properties_get(iter);
    }
}

extern void BlendDataMeshes_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataMeshes_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataMeshes_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataLights_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataLights_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataLights_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataLights_rna_properties_get(iter);
    }
}

extern void BlendDataLights_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataLights_rna_properties_get(iter);
    }
}

extern void BlendDataLights_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataLights_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataLights_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataLibraries_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataLibraries_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataLibraries_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataLibraries_rna_properties_get(iter);
    }
}

extern void BlendDataLibraries_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataLibraries_rna_properties_get(iter);
    }
}

extern void BlendDataLibraries_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataLibraries_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataLibraries_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataScreens_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataScreens_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataScreens_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataScreens_rna_properties_get(iter);
    }
}

extern void BlendDataScreens_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataScreens_rna_properties_get(iter);
    }
}

extern void BlendDataScreens_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataScreens_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataScreens_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataWindowManagers_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataWindowManagers_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataWindowManagers_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataWindowManagers_rna_properties_get(iter);
    }
}

extern void BlendDataWindowManagers_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataWindowManagers_rna_properties_get(iter);
    }
}

extern void BlendDataWindowManagers_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataWindowManagers_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataWindowManagers_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataImages_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataImages_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataImages_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataImages_rna_properties_get(iter);
    }
}

extern void BlendDataImages_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataImages_rna_properties_get(iter);
    }
}

extern void BlendDataImages_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataImages_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataImages_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataLattices_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataLattices_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataLattices_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataLattices_rna_properties_get(iter);
    }
}

extern void BlendDataLattices_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataLattices_rna_properties_get(iter);
    }
}

extern void BlendDataLattices_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataLattices_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataLattices_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataCurves_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataCurves_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataCurves_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataCurves_rna_properties_get(iter);
    }
}

extern void BlendDataCurves_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataCurves_rna_properties_get(iter);
    }
}

extern void BlendDataCurves_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataCurves_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataCurves_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataMetaBalls_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataMetaBalls_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataMetaBalls_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataMetaBalls_rna_properties_get(iter);
    }
}

extern void BlendDataMetaBalls_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataMetaBalls_rna_properties_get(iter);
    }
}

extern void BlendDataMetaBalls_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataMetaBalls_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataMetaBalls_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataFonts_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataFonts_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataFonts_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataFonts_rna_properties_get(iter);
    }
}

extern void BlendDataFonts_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataFonts_rna_properties_get(iter);
    }
}

extern void BlendDataFonts_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataFonts_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataFonts_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataTextures_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataTextures_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataTextures_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataTextures_rna_properties_get(iter);
    }
}

extern void BlendDataTextures_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataTextures_rna_properties_get(iter);
    }
}

extern void BlendDataTextures_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataTextures_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataTextures_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataBrushes_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataBrushes_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataBrushes_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataBrushes_rna_properties_get(iter);
    }
}

extern void BlendDataBrushes_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataBrushes_rna_properties_get(iter);
    }
}

extern void BlendDataBrushes_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataBrushes_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataBrushes_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataWorlds_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataWorlds_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataWorlds_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataWorlds_rna_properties_get(iter);
    }
}

extern void BlendDataWorlds_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataWorlds_rna_properties_get(iter);
    }
}

extern void BlendDataWorlds_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataWorlds_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataWorlds_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataCollections_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataCollections_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataCollections_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataCollections_rna_properties_get(iter);
    }
}

extern void BlendDataCollections_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataCollections_rna_properties_get(iter);
    }
}

extern void BlendDataCollections_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataCollections_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataCollections_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataTexts_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataTexts_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataTexts_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataTexts_rna_properties_get(iter);
    }
}

extern void BlendDataTexts_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataTexts_rna_properties_get(iter);
    }
}

extern void BlendDataTexts_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataTexts_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataTexts_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataSpeakers_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataSpeakers_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataSpeakers_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataSpeakers_rna_properties_get(iter);
    }
}

extern void BlendDataSpeakers_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataSpeakers_rna_properties_get(iter);
    }
}

extern void BlendDataSpeakers_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataSpeakers_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataSpeakers_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataSounds_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataSounds_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataSounds_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataSounds_rna_properties_get(iter);
    }
}

extern void BlendDataSounds_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataSounds_rna_properties_get(iter);
    }
}

extern void BlendDataSounds_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataSounds_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataSounds_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataArmatures_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataArmatures_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataArmatures_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataArmatures_rna_properties_get(iter);
    }
}

extern void BlendDataArmatures_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataArmatures_rna_properties_get(iter);
    }
}

extern void BlendDataArmatures_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataArmatures_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataArmatures_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataActions_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataActions_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataActions_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataActions_rna_properties_get(iter);
    }
}

extern void BlendDataActions_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataActions_rna_properties_get(iter);
    }
}

extern void BlendDataActions_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataActions_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataActions_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataParticles_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataParticles_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataParticles_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataParticles_rna_properties_get(iter);
    }
}

extern void BlendDataParticles_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataParticles_rna_properties_get(iter);
    }
}

extern void BlendDataParticles_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataParticles_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataParticles_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataPalettes_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataPalettes_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataPalettes_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataPalettes_rna_properties_get(iter);
    }
}

extern void BlendDataPalettes_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataPalettes_rna_properties_get(iter);
    }
}

extern void BlendDataPalettes_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataPalettes_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataPalettes_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataGreasePencils_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataGreasePencils_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataGreasePencils_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataGreasePencils_rna_properties_get(iter);
    }
}

extern void BlendDataGreasePencils_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataGreasePencils_rna_properties_get(iter);
    }
}

extern void BlendDataGreasePencils_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataGreasePencils_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataGreasePencils_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataGreasePencilsV3_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataGreasePencilsV3_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataGreasePencilsV3_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataGreasePencilsV3_rna_properties_get(iter);
    }
}

extern void BlendDataGreasePencilsV3_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataGreasePencilsV3_rna_properties_get(iter);
    }
}

extern void BlendDataGreasePencilsV3_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataGreasePencilsV3_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataGreasePencilsV3_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataMovieClips_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataMovieClips_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataMovieClips_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataMovieClips_rna_properties_get(iter);
    }
}

extern void BlendDataMovieClips_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataMovieClips_rna_properties_get(iter);
    }
}

extern void BlendDataMovieClips_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataMovieClips_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataMovieClips_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataMasks_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataMasks_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataMasks_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataMasks_rna_properties_get(iter);
    }
}

extern void BlendDataMasks_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataMasks_rna_properties_get(iter);
    }
}

extern void BlendDataMasks_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataMasks_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataMasks_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataLineStyles_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataLineStyles_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataLineStyles_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataLineStyles_rna_properties_get(iter);
    }
}

extern void BlendDataLineStyles_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataLineStyles_rna_properties_get(iter);
    }
}

extern void BlendDataLineStyles_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataLineStyles_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataLineStyles_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataCacheFiles_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataCacheFiles_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataCacheFiles_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataCacheFiles_rna_properties_get(iter);
    }
}

extern void BlendDataCacheFiles_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataCacheFiles_rna_properties_get(iter);
    }
}

extern void BlendDataCacheFiles_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataCacheFiles_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataCacheFiles_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataPaintCurves_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataPaintCurves_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataPaintCurves_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataPaintCurves_rna_properties_get(iter);
    }
}

extern void BlendDataPaintCurves_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataPaintCurves_rna_properties_get(iter);
    }
}

extern void BlendDataPaintCurves_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataPaintCurves_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataPaintCurves_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataWorkSpaces_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataWorkSpaces_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataWorkSpaces_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataWorkSpaces_rna_properties_get(iter);
    }
}

extern void BlendDataWorkSpaces_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataWorkSpaces_rna_properties_get(iter);
    }
}

extern void BlendDataWorkSpaces_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataWorkSpaces_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataWorkSpaces_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataProbes_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataProbes_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataProbes_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataProbes_rna_properties_get(iter);
    }
}

extern void BlendDataProbes_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataProbes_rna_properties_get(iter);
    }
}

extern void BlendDataProbes_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataProbes_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataProbes_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataHairCurves_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataHairCurves_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataHairCurves_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataHairCurves_rna_properties_get(iter);
    }
}

extern void BlendDataHairCurves_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataHairCurves_rna_properties_get(iter);
    }
}

extern void BlendDataHairCurves_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataHairCurves_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataHairCurves_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataPointClouds_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataPointClouds_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataPointClouds_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataPointClouds_rna_properties_get(iter);
    }
}

extern void BlendDataPointClouds_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataPointClouds_rna_properties_get(iter);
    }
}

extern void BlendDataPointClouds_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataPointClouds_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataPointClouds_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}

static PointerRNA BlendDataVolumes_rna_properties_get(CollectionPropertyIterator *iter)
{
    PropCollectionGetFunc fn = rna_builtin_properties_get;
    return fn(iter);
}

extern void BlendDataVolumes_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

    *iter = {};
    iter->parent = *ptr;
    iter->prop = &rna_BlendDataVolumes_rna_properties;

    PropCollectionBeginFunc fn = rna_builtin_properties_begin;
    fn(iter, ptr);

    if (iter->valid) {
        iter->ptr = BlendDataVolumes_rna_properties_get(iter);
    }
}

extern void BlendDataVolumes_rna_properties_next(CollectionPropertyIterator *iter)
{
    PropCollectionNextFunc fn = rna_builtin_properties_next;
    fn(iter);

    if (iter->valid) {
        iter->ptr = BlendDataVolumes_rna_properties_get(iter);
    }
}

extern void BlendDataVolumes_rna_properties_end(CollectionPropertyIterator *iter)
{
    PropCollectionEndFunc fn = rna_iterator_listbase_end;
    fn(iter);
}

extern bool BlendDataVolumes_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
    PropCollectionLookupStringFunc fn = rna_builtin_properties_lookup_string;
    return fn(ptr, key, r_ptr);
}

extern PointerRNA BlendDataVolumes_rna_type_get(PointerRNA *ptr)
{
    PropPointerGetFunc fn = rna_builtin_type_get;
    return fn(ptr);
}


extern struct Camera *BlendDataCameras_new_func(struct Main *_self, const char * name)
{
	return rna_Main_cameras_new(_self, name);
}

static void BlendDataCameras_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Camera *camera;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	camera = rna_Main_cameras_new(_self, name);
	*((struct Camera **)_retdata) = camera;
}

extern void BlendDataCameras_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *camera, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, camera, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataCameras_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *camera;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	camera = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, camera, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataCameras_tag_func(struct Main *_self, bool value)
{
	rna_Main_cameras_tag(_self, value);
}

static void BlendDataCameras_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_cameras_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Camera *rna_Main_cameras_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *camera, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_cameras_tag(struct Main *_self, bool value);

extern struct Scene *BlendDataScenes_new_func(struct Main *_self, const char * name)
{
	return rna_Main_scenes_new(_self, name);
}

static void BlendDataScenes_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Scene *scene;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	scene = rna_Main_scenes_new(_self, name);
	*((struct Scene **)_retdata) = scene;
}

extern void BlendDataScenes_remove_func(struct Main *_self, bContext *C, ReportList *reports, struct PointerRNA *scene, bool do_unlink)
{
	rna_Main_scenes_remove(_self, C, reports, scene, do_unlink);
}

static void BlendDataScenes_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *scene;
	bool do_unlink;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	scene = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	
	rna_Main_scenes_remove(_self, C, reports, scene, do_unlink);
}

extern void BlendDataScenes_tag_func(struct Main *_self, bool value)
{
	rna_Main_scenes_tag(_self, value);
}

static void BlendDataScenes_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_scenes_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Scene *rna_Main_scenes_new(struct Main *_self, const char * name);
void rna_Main_scenes_remove(struct Main *_self, bContext *C, ReportList *reports, struct PointerRNA *scene, bool do_unlink);
void rna_Main_scenes_tag(struct Main *_self, bool value);

extern struct Object *BlendDataObjects_new_func(struct Main *_self, ReportList *reports, const char * name, struct ID *object_data)
{
	return rna_Main_objects_new(_self, reports, name, object_data);
}

static void BlendDataObjects_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct ID *object_data;
	struct Object *object;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	object_data = *((struct ID **)_data);
	_data += 8;
	_retdata = _data;
	
	object = rna_Main_objects_new(_self, reports, name, object_data);
	*((struct Object **)_retdata) = object;
}

extern void BlendDataObjects_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *object, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, object, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataObjects_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *object;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	object = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, object, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataObjects_tag_func(struct Main *_self, bool value)
{
	rna_Main_objects_tag(_self, value);
}

static void BlendDataObjects_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_objects_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Object *rna_Main_objects_new(struct Main *_self, ReportList *reports, const char * name, struct ID *object_data);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *object, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_objects_tag(struct Main *_self, bool value);

extern struct Material *BlendDataMaterials_new_func(struct Main *_self, const char * name)
{
	return rna_Main_materials_new(_self, name);
}

static void BlendDataMaterials_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Material *material;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	material = rna_Main_materials_new(_self, name);
	*((struct Material **)_retdata) = material;
}

extern void BlendDataMaterials_create_gpencil_data_func(struct Main *_self, struct PointerRNA *material)
{
	rna_Main_materials_gpencil_data(_self, material);
}

static void BlendDataMaterials_create_gpencil_data_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *material;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	material = ((struct PointerRNA *)_data);
	
	rna_Main_materials_gpencil_data(_self, material);
}

extern void BlendDataMaterials_remove_gpencil_data_func(struct Main *_self, struct PointerRNA *material)
{
	rna_Main_materials_gpencil_remove(_self, material);
}

static void BlendDataMaterials_remove_gpencil_data_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *material;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	material = ((struct PointerRNA *)_data);
	
	rna_Main_materials_gpencil_remove(_self, material);
}

extern void BlendDataMaterials_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *material, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, material, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataMaterials_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *material;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	material = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, material, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataMaterials_tag_func(struct Main *_self, bool value)
{
	rna_Main_materials_tag(_self, value);
}

static void BlendDataMaterials_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_materials_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Material *rna_Main_materials_new(struct Main *_self, const char * name);
void rna_Main_materials_gpencil_data(struct Main *_self, struct PointerRNA *material);
void rna_Main_materials_gpencil_remove(struct Main *_self, struct PointerRNA *material);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *material, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_materials_tag(struct Main *_self, bool value);

extern struct bNodeTree *BlendDataNodeTrees_new_func(struct Main *_self, const char * name, int type)
{
	return rna_Main_nodetree_new(_self, name, type);
}

static void BlendDataNodeTrees_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	int type;
	struct bNodeTree *tree;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	type = *((int *)_data);
	_data += 8;
	_retdata = _data;
	
	tree = rna_Main_nodetree_new(_self, name, type);
	*((struct bNodeTree **)_retdata) = tree;
}

extern void BlendDataNodeTrees_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *tree, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, tree, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataNodeTrees_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *tree;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	tree = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, tree, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataNodeTrees_tag_func(struct Main *_self, bool value)
{
	rna_Main_node_groups_tag(_self, value);
}

static void BlendDataNodeTrees_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_node_groups_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct bNodeTree *rna_Main_nodetree_new(struct Main *_self, const char * name, int type);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *tree, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_node_groups_tag(struct Main *_self, bool value);

extern struct Mesh *BlendDataMeshes_new_func(struct Main *_self, const char * name)
{
	return rna_Main_meshes_new(_self, name);
}

static void BlendDataMeshes_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Mesh *mesh;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	mesh = rna_Main_meshes_new(_self, name);
	*((struct Mesh **)_retdata) = mesh;
}

extern struct Mesh *BlendDataMeshes_new_from_object_func(struct Main *_self, ReportList *reports, struct Object *object, bool preserve_all_data_layers, struct Depsgraph *depsgraph)
{
	return rna_Main_meshes_new_from_object(_self, reports, object, preserve_all_data_layers, depsgraph);
}

static void BlendDataMeshes_new_from_object_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct Object *object;
	bool preserve_all_data_layers;
	struct Depsgraph *depsgraph;
	struct Mesh *mesh;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	object = *((struct Object **)_data);
	_data += 8;
	preserve_all_data_layers = *((bool *)_data);
	_data += 8;
	depsgraph = *((struct Depsgraph **)_data);
	_data += 8;
	_retdata = _data;
	
	mesh = rna_Main_meshes_new_from_object(_self, reports, object, preserve_all_data_layers, depsgraph);
	*((struct Mesh **)_retdata) = mesh;
}

extern void BlendDataMeshes_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *mesh, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, mesh, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataMeshes_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *mesh;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	mesh = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, mesh, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataMeshes_tag_func(struct Main *_self, bool value)
{
	rna_Main_meshes_tag(_self, value);
}

static void BlendDataMeshes_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_meshes_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Mesh *rna_Main_meshes_new(struct Main *_self, const char * name);
struct Mesh *rna_Main_meshes_new_from_object(struct Main *_self, ReportList *reports, struct Object *object, bool preserve_all_data_layers, struct Depsgraph *depsgraph);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *mesh, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_meshes_tag(struct Main *_self, bool value);

extern struct Light *BlendDataLights_new_func(struct Main *_self, const char * name, int type)
{
	return rna_Main_lights_new(_self, name, type);
}

static void BlendDataLights_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	int type;
	struct Light *light;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	type = *((int *)_data);
	_data += 8;
	_retdata = _data;
	
	light = rna_Main_lights_new(_self, name, type);
	*((struct Light **)_retdata) = light;
}

extern void BlendDataLights_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *light, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, light, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataLights_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *light;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	light = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, light, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataLights_tag_func(struct Main *_self, bool value)
{
	rna_Main_lights_tag(_self, value);
}

static void BlendDataLights_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_lights_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Light *rna_Main_lights_new(struct Main *_self, const char * name, int type);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *light, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_lights_tag(struct Main *_self, bool value);

extern void BlendDataLibraries_tag_func(struct Main *_self, bool value)
{
	rna_Main_libraries_tag(_self, value);
}

static void BlendDataLibraries_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_libraries_tag(_self, value);
}

extern void BlendDataLibraries_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *library, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, library, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataLibraries_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *library;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	library = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, library, do_unlink, do_id_user, do_ui_user);
}

/* Repeated prototypes to detect errors */

void rna_Main_libraries_tag(struct Main *_self, bool value);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *library, bool do_unlink, bool do_id_user, bool do_ui_user);

extern void BlendDataScreens_tag_func(struct Main *_self, bool value)
{
	rna_Main_screens_tag(_self, value);
}

static void BlendDataScreens_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_screens_tag(_self, value);
}

/* Repeated prototypes to detect errors */

void rna_Main_screens_tag(struct Main *_self, bool value);

extern void BlendDataWindowManagers_tag_func(struct Main *_self, bool value)
{
	rna_Main_window_managers_tag(_self, value);
}

static void BlendDataWindowManagers_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_window_managers_tag(_self, value);
}

/* Repeated prototypes to detect errors */

void rna_Main_window_managers_tag(struct Main *_self, bool value);

extern struct Image *BlendDataImages_new_func(struct Main *_self, const char * name, int width, int height, bool alpha, bool float_buffer, bool stereo3d, bool is_data, bool tiled)
{
	return rna_Main_images_new(_self, name, width, height, alpha, float_buffer, stereo3d, is_data, tiled);
}

static void BlendDataImages_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	int width;
	int height;
	bool alpha;
	bool float_buffer;
	bool stereo3d;
	bool is_data;
	bool tiled;
	struct Image *image;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	width = *((int *)_data);
	_data += 8;
	height = *((int *)_data);
	_data += 8;
	alpha = *((bool *)_data);
	_data += 8;
	float_buffer = *((bool *)_data);
	_data += 8;
	stereo3d = *((bool *)_data);
	_data += 8;
	is_data = *((bool *)_data);
	_data += 8;
	tiled = *((bool *)_data);
	_data += 8;
	_retdata = _data;
	
	image = rna_Main_images_new(_self, name, width, height, alpha, float_buffer, stereo3d, is_data, tiled);
	*((struct Image **)_retdata) = image;
}

extern struct Image *BlendDataImages_load_func(struct Main *_self, ReportList *reports, const char * filepath, bool check_existing)
{
	return rna_Main_images_load(_self, reports, filepath, check_existing);
}

static void BlendDataImages_load_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * filepath;
	bool check_existing;
	struct Image *image;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	filepath = *((const char * *)_data);
	_data += 8;
	check_existing = *((bool *)_data);
	_data += 8;
	_retdata = _data;
	
	image = rna_Main_images_load(_self, reports, filepath, check_existing);
	*((struct Image **)_retdata) = image;
}

extern void BlendDataImages_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *image, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, image, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataImages_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *image;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	image = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, image, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataImages_tag_func(struct Main *_self, bool value)
{
	rna_Main_images_tag(_self, value);
}

static void BlendDataImages_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_images_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Image *rna_Main_images_new(struct Main *_self, const char * name, int width, int height, bool alpha, bool float_buffer, bool stereo3d, bool is_data, bool tiled);
struct Image *rna_Main_images_load(struct Main *_self, ReportList *reports, const char * filepath, bool check_existing);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *image, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_images_tag(struct Main *_self, bool value);

extern struct Lattice *BlendDataLattices_new_func(struct Main *_self, const char * name)
{
	return rna_Main_lattices_new(_self, name);
}

static void BlendDataLattices_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Lattice *lattice;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	lattice = rna_Main_lattices_new(_self, name);
	*((struct Lattice **)_retdata) = lattice;
}

extern void BlendDataLattices_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *lattice, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, lattice, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataLattices_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *lattice;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	lattice = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, lattice, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataLattices_tag_func(struct Main *_self, bool value)
{
	rna_Main_lattices_tag(_self, value);
}

static void BlendDataLattices_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_lattices_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Lattice *rna_Main_lattices_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *lattice, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_lattices_tag(struct Main *_self, bool value);

extern struct Curve *BlendDataCurves_new_func(struct Main *_self, const char * name, int type)
{
	return rna_Main_curves_new(_self, name, type);
}

static void BlendDataCurves_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	int type;
	struct Curve *curve;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	type = *((int *)_data);
	_data += 8;
	_retdata = _data;
	
	curve = rna_Main_curves_new(_self, name, type);
	*((struct Curve **)_retdata) = curve;
}

extern void BlendDataCurves_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *curve, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, curve, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataCurves_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *curve;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	curve = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, curve, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataCurves_tag_func(struct Main *_self, bool value)
{
	rna_Main_curves_tag(_self, value);
}

static void BlendDataCurves_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_curves_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Curve *rna_Main_curves_new(struct Main *_self, const char * name, int type);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *curve, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_curves_tag(struct Main *_self, bool value);

extern struct MetaBall *BlendDataMetaBalls_new_func(struct Main *_self, const char * name)
{
	return rna_Main_metaballs_new(_self, name);
}

static void BlendDataMetaBalls_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct MetaBall *metaball;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	metaball = rna_Main_metaballs_new(_self, name);
	*((struct MetaBall **)_retdata) = metaball;
}

extern void BlendDataMetaBalls_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *metaball, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, metaball, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataMetaBalls_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *metaball;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	metaball = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, metaball, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataMetaBalls_tag_func(struct Main *_self, bool value)
{
	rna_Main_metaballs_tag(_self, value);
}

static void BlendDataMetaBalls_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_metaballs_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct MetaBall *rna_Main_metaballs_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *metaball, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_metaballs_tag(struct Main *_self, bool value);

extern struct VFont *BlendDataFonts_load_func(struct Main *_self, ReportList *reports, const char * filepath, bool check_existing)
{
	return rna_Main_fonts_load(_self, reports, filepath, check_existing);
}

static void BlendDataFonts_load_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * filepath;
	bool check_existing;
	struct VFont *vfont;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	filepath = *((const char * *)_data);
	_data += 8;
	check_existing = *((bool *)_data);
	_data += 8;
	_retdata = _data;
	
	vfont = rna_Main_fonts_load(_self, reports, filepath, check_existing);
	*((struct VFont **)_retdata) = vfont;
}

extern void BlendDataFonts_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *vfont, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, vfont, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataFonts_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *vfont;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	vfont = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, vfont, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataFonts_tag_func(struct Main *_self, bool value)
{
	rna_Main_fonts_tag(_self, value);
}

static void BlendDataFonts_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_fonts_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct VFont *rna_Main_fonts_load(struct Main *_self, ReportList *reports, const char * filepath, bool check_existing);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *vfont, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_fonts_tag(struct Main *_self, bool value);

extern struct Tex *BlendDataTextures_new_func(struct Main *_self, const char * name, int type)
{
	return rna_Main_textures_new(_self, name, type);
}

static void BlendDataTextures_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	int type;
	struct Tex *texture;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	type = *((int *)_data);
	_data += 8;
	_retdata = _data;
	
	texture = rna_Main_textures_new(_self, name, type);
	*((struct Tex **)_retdata) = texture;
}

extern void BlendDataTextures_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *texture, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, texture, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataTextures_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *texture;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	texture = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, texture, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataTextures_tag_func(struct Main *_self, bool value)
{
	rna_Main_textures_tag(_self, value);
}

static void BlendDataTextures_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_textures_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Tex *rna_Main_textures_new(struct Main *_self, const char * name, int type);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *texture, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_textures_tag(struct Main *_self, bool value);

extern struct Brush *BlendDataBrushes_new_func(struct Main *_self, const char * name, int mode)
{
	return rna_Main_brushes_new(_self, name, mode);
}

static void BlendDataBrushes_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	int mode;
	struct Brush *brush;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	mode = *((int *)_data);
	_data += 8;
	_retdata = _data;
	
	brush = rna_Main_brushes_new(_self, name, mode);
	*((struct Brush **)_retdata) = brush;
}

extern void BlendDataBrushes_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *brush, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, brush, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataBrushes_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *brush;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	brush = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, brush, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataBrushes_tag_func(struct Main *_self, bool value)
{
	rna_Main_brushes_tag(_self, value);
}

static void BlendDataBrushes_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_brushes_tag(_self, value);
}

extern void BlendDataBrushes_create_gpencil_data_func(struct Main *_self, struct PointerRNA *brush)
{
	rna_Main_brush_gpencil_data(_self, brush);
}

static void BlendDataBrushes_create_gpencil_data_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *brush;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	brush = ((struct PointerRNA *)_data);
	
	rna_Main_brush_gpencil_data(_self, brush);
}

/* Repeated prototypes to detect errors */

struct Brush *rna_Main_brushes_new(struct Main *_self, const char * name, int mode);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *brush, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_brushes_tag(struct Main *_self, bool value);
void rna_Main_brush_gpencil_data(struct Main *_self, struct PointerRNA *brush);

extern struct World *BlendDataWorlds_new_func(struct Main *_self, const char * name)
{
	return rna_Main_worlds_new(_self, name);
}

static void BlendDataWorlds_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct World *world;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	world = rna_Main_worlds_new(_self, name);
	*((struct World **)_retdata) = world;
}

extern void BlendDataWorlds_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *world, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, world, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataWorlds_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *world;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	world = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, world, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataWorlds_tag_func(struct Main *_self, bool value)
{
	rna_Main_worlds_tag(_self, value);
}

static void BlendDataWorlds_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_worlds_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct World *rna_Main_worlds_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *world, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_worlds_tag(struct Main *_self, bool value);

extern struct Collection *BlendDataCollections_new_func(struct Main *_self, const char * name)
{
	return rna_Main_collections_new(_self, name);
}

static void BlendDataCollections_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Collection *collection;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	collection = rna_Main_collections_new(_self, name);
	*((struct Collection **)_retdata) = collection;
}

extern void BlendDataCollections_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *collection, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, collection, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataCollections_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *collection;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	collection = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, collection, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataCollections_tag_func(struct Main *_self, bool value)
{
	rna_Main_collections_tag(_self, value);
}

static void BlendDataCollections_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_collections_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Collection *rna_Main_collections_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *collection, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_collections_tag(struct Main *_self, bool value);

extern struct Text *BlendDataTexts_new_func(struct Main *_self, const char * name)
{
	return rna_Main_texts_new(_self, name);
}

static void BlendDataTexts_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Text *text;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	text = rna_Main_texts_new(_self, name);
	*((struct Text **)_retdata) = text;
}

extern void BlendDataTexts_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *text, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, text, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataTexts_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *text;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	text = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, text, do_unlink, do_id_user, do_ui_user);
}

extern struct Text *BlendDataTexts_load_func(struct Main *_self, ReportList *reports, const char * filepath, bool internal)
{
	return rna_Main_texts_load(_self, reports, filepath, internal);
}

static void BlendDataTexts_load_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * filepath;
	bool internal;
	struct Text *text;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	filepath = *((const char * *)_data);
	_data += 8;
	internal = *((bool *)_data);
	_data += 8;
	_retdata = _data;
	
	text = rna_Main_texts_load(_self, reports, filepath, internal);
	*((struct Text **)_retdata) = text;
}

extern void BlendDataTexts_tag_func(struct Main *_self, bool value)
{
	rna_Main_texts_tag(_self, value);
}

static void BlendDataTexts_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_texts_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Text *rna_Main_texts_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *text, bool do_unlink, bool do_id_user, bool do_ui_user);
struct Text *rna_Main_texts_load(struct Main *_self, ReportList *reports, const char * filepath, bool internal);
void rna_Main_texts_tag(struct Main *_self, bool value);

extern struct Speaker *BlendDataSpeakers_new_func(struct Main *_self, const char * name)
{
	return rna_Main_speakers_new(_self, name);
}

static void BlendDataSpeakers_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Speaker *speaker;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	speaker = rna_Main_speakers_new(_self, name);
	*((struct Speaker **)_retdata) = speaker;
}

extern void BlendDataSpeakers_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *speaker, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, speaker, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataSpeakers_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *speaker;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	speaker = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, speaker, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataSpeakers_tag_func(struct Main *_self, bool value)
{
	rna_Main_speakers_tag(_self, value);
}

static void BlendDataSpeakers_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_speakers_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Speaker *rna_Main_speakers_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *speaker, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_speakers_tag(struct Main *_self, bool value);

extern struct bSound *BlendDataSounds_load_func(struct Main *_self, const char * filepath, bool check_existing)
{
	return rna_Main_sounds_load(_self, filepath, check_existing);
}

static void BlendDataSounds_load_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * filepath;
	bool check_existing;
	struct bSound *sound;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	filepath = *((const char * *)_data);
	_data += 8;
	check_existing = *((bool *)_data);
	_data += 8;
	_retdata = _data;
	
	sound = rna_Main_sounds_load(_self, filepath, check_existing);
	*((struct bSound **)_retdata) = sound;
}

extern void BlendDataSounds_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *sound, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, sound, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataSounds_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *sound;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	sound = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, sound, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataSounds_tag_func(struct Main *_self, bool value)
{
	rna_Main_sounds_tag(_self, value);
}

static void BlendDataSounds_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_sounds_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct bSound *rna_Main_sounds_load(struct Main *_self, const char * filepath, bool check_existing);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *sound, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_sounds_tag(struct Main *_self, bool value);

extern struct bArmature *BlendDataArmatures_new_func(struct Main *_self, const char * name)
{
	return rna_Main_armatures_new(_self, name);
}

static void BlendDataArmatures_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct bArmature *armature;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	armature = rna_Main_armatures_new(_self, name);
	*((struct bArmature **)_retdata) = armature;
}

extern void BlendDataArmatures_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *armature, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, armature, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataArmatures_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *armature;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	armature = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, armature, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataArmatures_tag_func(struct Main *_self, bool value)
{
	rna_Main_armatures_tag(_self, value);
}

static void BlendDataArmatures_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_armatures_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct bArmature *rna_Main_armatures_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *armature, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_armatures_tag(struct Main *_self, bool value);

extern struct bAction *BlendDataActions_new_func(struct Main *_self, const char * name)
{
	return rna_Main_actions_new(_self, name);
}

static void BlendDataActions_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct bAction *action;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	action = rna_Main_actions_new(_self, name);
	*((struct bAction **)_retdata) = action;
}

extern void BlendDataActions_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *action, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, action, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataActions_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *action;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	action = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, action, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataActions_tag_func(struct Main *_self, bool value)
{
	rna_Main_actions_tag(_self, value);
}

static void BlendDataActions_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_actions_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct bAction *rna_Main_actions_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *action, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_actions_tag(struct Main *_self, bool value);

extern struct ParticleSettings *BlendDataParticles_new_func(struct Main *_self, const char * name)
{
	return rna_Main_particles_new(_self, name);
}

static void BlendDataParticles_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct ParticleSettings *particle;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	particle = rna_Main_particles_new(_self, name);
	*((struct ParticleSettings **)_retdata) = particle;
}

extern void BlendDataParticles_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *particle, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, particle, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataParticles_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *particle;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	particle = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, particle, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataParticles_tag_func(struct Main *_self, bool value)
{
	rna_Main_particles_tag(_self, value);
}

static void BlendDataParticles_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_particles_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct ParticleSettings *rna_Main_particles_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *particle, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_particles_tag(struct Main *_self, bool value);

extern struct Palette *BlendDataPalettes_new_func(struct Main *_self, const char * name)
{
	return rna_Main_palettes_new(_self, name);
}

static void BlendDataPalettes_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Palette *palette;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	palette = rna_Main_palettes_new(_self, name);
	*((struct Palette **)_retdata) = palette;
}

extern void BlendDataPalettes_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *palette, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, palette, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataPalettes_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *palette;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	palette = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, palette, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataPalettes_tag_func(struct Main *_self, bool value)
{
	rna_Main_palettes_tag(_self, value);
}

static void BlendDataPalettes_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_palettes_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Palette *rna_Main_palettes_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *palette, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_palettes_tag(struct Main *_self, bool value);

extern void BlendDataGreasePencils_tag_func(struct Main *_self, bool value)
{
	rna_Main_gpencils_tag(_self, value);
}

static void BlendDataGreasePencils_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_gpencils_tag(_self, value);
}

extern struct bGPdata *BlendDataGreasePencils_new_func(struct Main *_self, const char * name)
{
	return rna_Main_annotations_new(_self, name);
}

static void BlendDataGreasePencils_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct bGPdata *grease_pencil;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	grease_pencil = rna_Main_annotations_new(_self, name);
	*((struct bGPdata **)_retdata) = grease_pencil;
}

extern void BlendDataGreasePencils_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *grease_pencil, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, grease_pencil, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataGreasePencils_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *grease_pencil;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	grease_pencil = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, grease_pencil, do_unlink, do_id_user, do_ui_user);
}

/* Repeated prototypes to detect errors */

void rna_Main_gpencils_tag(struct Main *_self, bool value);
struct bGPdata *rna_Main_annotations_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *grease_pencil, bool do_unlink, bool do_id_user, bool do_ui_user);

extern void BlendDataGreasePencilsV3_tag_func(struct Main *_self, bool value)
{
	rna_Main_grease_pencils_tag(_self, value);
}

static void BlendDataGreasePencilsV3_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_grease_pencils_tag(_self, value);
}

extern struct GreasePencil *BlendDataGreasePencilsV3_new_func(struct Main *_self, const char * name)
{
	return rna_Main_grease_pencils_new(_self, name);
}

static void BlendDataGreasePencilsV3_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct GreasePencil *grease_pencil;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	grease_pencil = rna_Main_grease_pencils_new(_self, name);
	*((struct GreasePencil **)_retdata) = grease_pencil;
}

extern void BlendDataGreasePencilsV3_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *grease_pencil, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, grease_pencil, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataGreasePencilsV3_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *grease_pencil;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	grease_pencil = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, grease_pencil, do_unlink, do_id_user, do_ui_user);
}

/* Repeated prototypes to detect errors */

void rna_Main_grease_pencils_tag(struct Main *_self, bool value);
struct GreasePencil *rna_Main_grease_pencils_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *grease_pencil, bool do_unlink, bool do_id_user, bool do_ui_user);

extern void BlendDataMovieClips_tag_func(struct Main *_self, bool value)
{
	rna_Main_movieclips_tag(_self, value);
}

static void BlendDataMovieClips_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_movieclips_tag(_self, value);
}

extern void BlendDataMovieClips_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *clip, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, clip, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataMovieClips_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *clip;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	clip = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, clip, do_unlink, do_id_user, do_ui_user);
}

extern struct MovieClip *BlendDataMovieClips_load_func(struct Main *_self, ReportList *reports, const char * filepath, bool check_existing)
{
	return rna_Main_movieclip_load(_self, reports, filepath, check_existing);
}

static void BlendDataMovieClips_load_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * filepath;
	bool check_existing;
	struct MovieClip *clip;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	filepath = *((const char * *)_data);
	_data += 8;
	check_existing = *((bool *)_data);
	_data += 8;
	_retdata = _data;
	
	clip = rna_Main_movieclip_load(_self, reports, filepath, check_existing);
	*((struct MovieClip **)_retdata) = clip;
}

/* Repeated prototypes to detect errors */

void rna_Main_movieclips_tag(struct Main *_self, bool value);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *clip, bool do_unlink, bool do_id_user, bool do_ui_user);
struct MovieClip *rna_Main_movieclip_load(struct Main *_self, ReportList *reports, const char * filepath, bool check_existing);

extern void BlendDataMasks_tag_func(struct Main *_self, bool value)
{
	rna_Main_masks_tag(_self, value);
}

static void BlendDataMasks_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_masks_tag(_self, value);
}

extern struct Mask *BlendDataMasks_new_func(struct Main *_self, const char * name)
{
	return rna_Main_mask_new(_self, name);
}

static void BlendDataMasks_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Mask *mask;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	mask = rna_Main_mask_new(_self, name);
	*((struct Mask **)_retdata) = mask;
}

extern void BlendDataMasks_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *mask, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, mask, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataMasks_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *mask;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	mask = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, mask, do_unlink, do_id_user, do_ui_user);
}

/* Repeated prototypes to detect errors */

void rna_Main_masks_tag(struct Main *_self, bool value);
struct Mask *rna_Main_mask_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *mask, bool do_unlink, bool do_id_user, bool do_ui_user);

extern void BlendDataLineStyles_tag_func(struct Main *_self, bool value)
{
	rna_Main_linestyle_tag(_self, value);
}

static void BlendDataLineStyles_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_linestyle_tag(_self, value);
}

extern struct FreestyleLineStyle *BlendDataLineStyles_new_func(struct Main *_self, const char * name)
{
	return rna_Main_linestyles_new(_self, name);
}

static void BlendDataLineStyles_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct FreestyleLineStyle *linestyle;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	linestyle = rna_Main_linestyles_new(_self, name);
	*((struct FreestyleLineStyle **)_retdata) = linestyle;
}

extern void BlendDataLineStyles_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *linestyle, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, linestyle, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataLineStyles_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *linestyle;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	linestyle = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, linestyle, do_unlink, do_id_user, do_ui_user);
}

/* Repeated prototypes to detect errors */

void rna_Main_linestyle_tag(struct Main *_self, bool value);
struct FreestyleLineStyle *rna_Main_linestyles_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *linestyle, bool do_unlink, bool do_id_user, bool do_ui_user);

extern void BlendDataCacheFiles_tag_func(struct Main *_self, bool value)
{
	rna_Main_cachefiles_tag(_self, value);
}

static void BlendDataCacheFiles_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_cachefiles_tag(_self, value);
}

/* Repeated prototypes to detect errors */

void rna_Main_cachefiles_tag(struct Main *_self, bool value);

extern void BlendDataPaintCurves_tag_func(struct Main *_self, bool value)
{
	rna_Main_paintcurves_tag(_self, value);
}

static void BlendDataPaintCurves_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_paintcurves_tag(_self, value);
}

/* Repeated prototypes to detect errors */

void rna_Main_paintcurves_tag(struct Main *_self, bool value);

extern void BlendDataWorkSpaces_tag_func(struct Main *_self, bool value)
{
	rna_Main_workspaces_tag(_self, value);
}

static void BlendDataWorkSpaces_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_workspaces_tag(_self, value);
}

/* Repeated prototypes to detect errors */

void rna_Main_workspaces_tag(struct Main *_self, bool value);

extern struct LightProbe *BlendDataProbes_new_func(struct Main *_self, const char * name, int type)
{
	return rna_Main_lightprobe_new(_self, name, type);
}

static void BlendDataProbes_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	int type;
	struct LightProbe *lightprobe;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	type = *((int *)_data);
	_data += 8;
	_retdata = _data;
	
	lightprobe = rna_Main_lightprobe_new(_self, name, type);
	*((struct LightProbe **)_retdata) = lightprobe;
}

extern void BlendDataProbes_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *lightprobe, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, lightprobe, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataProbes_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *lightprobe;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	lightprobe = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, lightprobe, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataProbes_tag_func(struct Main *_self, bool value)
{
	rna_Main_lightprobes_tag(_self, value);
}

static void BlendDataProbes_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_lightprobes_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct LightProbe *rna_Main_lightprobe_new(struct Main *_self, const char * name, int type);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *lightprobe, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_lightprobes_tag(struct Main *_self, bool value);

extern struct Curves *BlendDataHairCurves_new_func(struct Main *_self, const char * name)
{
	return rna_Main_hair_curves_new(_self, name);
}

static void BlendDataHairCurves_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Curves *curves;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	curves = rna_Main_hair_curves_new(_self, name);
	*((struct Curves **)_retdata) = curves;
}

extern void BlendDataHairCurves_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *curves, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, curves, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataHairCurves_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *curves;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	curves = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, curves, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataHairCurves_tag_func(struct Main *_self, bool value)
{
	rna_Main_hair_curves_tag(_self, value);
}

static void BlendDataHairCurves_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_hair_curves_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Curves *rna_Main_hair_curves_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *curves, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_hair_curves_tag(struct Main *_self, bool value);

extern struct PointCloud *BlendDataPointClouds_new_func(struct Main *_self, const char * name)
{
	return rna_Main_pointclouds_new(_self, name);
}

static void BlendDataPointClouds_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct PointCloud *pointcloud;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	pointcloud = rna_Main_pointclouds_new(_self, name);
	*((struct PointCloud **)_retdata) = pointcloud;
}

extern void BlendDataPointClouds_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *pointcloud, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, pointcloud, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataPointClouds_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *pointcloud;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	pointcloud = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, pointcloud, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataPointClouds_tag_func(struct Main *_self, bool value)
{
	rna_Main_pointclouds_tag(_self, value);
}

static void BlendDataPointClouds_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_pointclouds_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct PointCloud *rna_Main_pointclouds_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *pointcloud, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_pointclouds_tag(struct Main *_self, bool value);

extern struct Volume *BlendDataVolumes_new_func(struct Main *_self, const char * name)
{
	return rna_Main_volumes_new(_self, name);
}

static void BlendDataVolumes_new_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	const char * name;
	struct Volume *volume;
	char *_data, *_retdata;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	name = *((const char * *)_data);
	_data += 8;
	_retdata = _data;
	
	volume = rna_Main_volumes_new(_self, name);
	*((struct Volume **)_retdata) = volume;
}

extern void BlendDataVolumes_remove_func(struct Main *_self, ReportList *reports, struct PointerRNA *volume, bool do_unlink, bool do_id_user, bool do_ui_user)
{
	rna_Main_ID_remove(_self, reports, volume, do_unlink, do_id_user, do_ui_user);
}

static void BlendDataVolumes_remove_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	struct PointerRNA *volume;
	bool do_unlink;
	bool do_id_user;
	bool do_ui_user;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	volume = *((struct PointerRNA **)_data);
	_data += 8;
	do_unlink = *((bool *)_data);
	_data += 8;
	do_id_user = *((bool *)_data);
	_data += 8;
	do_ui_user = *((bool *)_data);
	
	rna_Main_ID_remove(_self, reports, volume, do_unlink, do_id_user, do_ui_user);
}

extern void BlendDataVolumes_tag_func(struct Main *_self, bool value)
{
	rna_Main_volumes_tag(_self, value);
}

static void BlendDataVolumes_tag_call(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)
{
	struct Main *_self;
	bool value;
	char *_data;
	
	_self = (struct Main *)_ptr->data;
	_data = (char *)_parms->data;
	value = *((bool *)_data);
	
	rna_Main_volumes_tag(_self, value);
}

/* Repeated prototypes to detect errors */

struct Volume *rna_Main_volumes_new(struct Main *_self, const char * name);
void rna_Main_ID_remove(struct Main *_self, ReportList *reports, struct PointerRNA *volume, bool do_unlink, bool do_id_user, bool do_ui_user);
void rna_Main_volumes_tag(struct Main *_self, bool value);

/* Blend-File Data */
static CollectionPropertyRNA rna_BlendData_rna_properties_ = {
	{&rna_BlendData_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendData_rna_properties_begin, BlendData_rna_properties_next, BlendData_rna_properties_end, BlendData_rna_properties_get, nullptr, nullptr, BlendData_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendData_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendData_rna_properties_);

static PointerPropertyRNA rna_BlendData_rna_type_ = {
	{&rna_BlendData_filepath, &rna_BlendData_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendData_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendData_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendData_rna_type_);

static StringPropertyRNA rna_BlendData_filepath_ = {
	{&rna_BlendData_is_dirty, &rna_BlendData_rna_type,
	-1, "filepath", 262144, 0, 0, 0, 0, PropertyPathTemplateType(0), "Filename",
	"Path to the .blend file",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_FILEPATH) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendData_filepath_get, BlendData_filepath_length, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 1024, ""
};
PropertyRNA &rna_BlendData_filepath = reinterpret_cast<PropertyRNA &>(rna_BlendData_filepath_);

static BoolPropertyRNA rna_BlendData_is_dirty_ = {
	{&rna_BlendData_is_saved, &rna_BlendData_filepath,
	-1, "is_dirty", 2, 0, 0, 0, 0, PropertyPathTemplateType(0), "File Has Unsaved Changes",
	"Have recent edits been saved to disk",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendData_is_dirty_get, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendData_is_dirty = reinterpret_cast<PropertyRNA &>(rna_BlendData_is_dirty_);

static BoolPropertyRNA rna_BlendData_is_saved_ = {
	{&rna_BlendData_use_autopack, &rna_BlendData_is_dirty,
	-1, "is_saved", 2, 0, 0, 0, 0, PropertyPathTemplateType(0), "File is Saved",
	"Has the current session been saved to disk as a .blend file",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendData_is_saved_get, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendData_is_saved = reinterpret_cast<PropertyRNA &>(rna_BlendData_is_saved_);

static BoolPropertyRNA rna_BlendData_use_autopack_ = {
	{&rna_BlendData_version, &rna_BlendData_is_saved,
	-1, "use_autopack", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "Use Auto-Pack",
	"Automatically pack all external data into .blend file",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendData_use_autopack_get, BlendData_use_autopack_set, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendData_use_autopack = reinterpret_cast<PropertyRNA &>(rna_BlendData_use_autopack_);

static int rna_BlendData_version_default[3] = {
	0,
	0,
	0
};

static IntPropertyRNA rna_BlendData_version_ = {
	{&rna_BlendData_cameras, &rna_BlendData_use_autopack,
	-1, "version", 8388610, 0, 0, 0, 0, PropertyPathTemplateType(0), "Version",
	"File format version the .blend file was saved with",
	0, "*",
	PROP_INT, PropertySubType(int(PROP_XYZ) | int(PROP_UNIT_NONE)), nullptr, 1, {3, 0, 0}, 3,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, BlendData_version_get, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
	PROP_SCALE_LINEAR, 0, INT_MAX, 0, INT_MAX, 1, nullptr, nullptr, 0, rna_BlendData_version_default
};
PropertyRNA &rna_BlendData_version = reinterpret_cast<PropertyRNA &>(rna_BlendData_version_);

static CollectionPropertyRNA rna_BlendData_cameras_ = {
	{&rna_BlendData_scenes, &rna_BlendData_version,
	-1, "cameras", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Cameras",
	"Camera data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataCameras},
	BlendData_cameras_begin, BlendData_cameras_next, BlendData_cameras_end, BlendData_cameras_get, nullptr, nullptr, nullptr, nullptr, &RNA_Camera
};
PropertyRNA &rna_BlendData_cameras = reinterpret_cast<PropertyRNA &>(rna_BlendData_cameras_);

static CollectionPropertyRNA rna_BlendData_scenes_ = {
	{&rna_BlendData_objects, &rna_BlendData_cameras,
	-1, "scenes", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Scenes",
	"Scene data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataScenes},
	BlendData_scenes_begin, BlendData_scenes_next, BlendData_scenes_end, BlendData_scenes_get, nullptr, nullptr, nullptr, nullptr, &RNA_Scene
};
PropertyRNA &rna_BlendData_scenes = reinterpret_cast<PropertyRNA &>(rna_BlendData_scenes_);

static CollectionPropertyRNA rna_BlendData_objects_ = {
	{&rna_BlendData_materials, &rna_BlendData_scenes,
	-1, "objects", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Objects",
	"Object data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataObjects},
	BlendData_objects_begin, BlendData_objects_next, BlendData_objects_end, BlendData_objects_get, nullptr, nullptr, nullptr, nullptr, &RNA_Object
};
PropertyRNA &rna_BlendData_objects = reinterpret_cast<PropertyRNA &>(rna_BlendData_objects_);

static CollectionPropertyRNA rna_BlendData_materials_ = {
	{&rna_BlendData_node_groups, &rna_BlendData_objects,
	-1, "materials", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Materials",
	"Material data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataMaterials},
	BlendData_materials_begin, BlendData_materials_next, BlendData_materials_end, BlendData_materials_get, nullptr, nullptr, nullptr, nullptr, &RNA_Material
};
PropertyRNA &rna_BlendData_materials = reinterpret_cast<PropertyRNA &>(rna_BlendData_materials_);

static CollectionPropertyRNA rna_BlendData_node_groups_ = {
	{&rna_BlendData_meshes, &rna_BlendData_materials,
	-1, "node_groups", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Node Groups",
	"Node group data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataNodeTrees},
	BlendData_node_groups_begin, BlendData_node_groups_next, BlendData_node_groups_end, BlendData_node_groups_get, nullptr, nullptr, nullptr, nullptr, &RNA_NodeTree
};
PropertyRNA &rna_BlendData_node_groups = reinterpret_cast<PropertyRNA &>(rna_BlendData_node_groups_);

static CollectionPropertyRNA rna_BlendData_meshes_ = {
	{&rna_BlendData_lights, &rna_BlendData_node_groups,
	-1, "meshes", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Meshes",
	"Mesh data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataMeshes},
	BlendData_meshes_begin, BlendData_meshes_next, BlendData_meshes_end, BlendData_meshes_get, nullptr, nullptr, nullptr, nullptr, &RNA_Mesh
};
PropertyRNA &rna_BlendData_meshes = reinterpret_cast<PropertyRNA &>(rna_BlendData_meshes_);

static CollectionPropertyRNA rna_BlendData_lights_ = {
	{&rna_BlendData_libraries, &rna_BlendData_meshes,
	-1, "lights", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Lights",
	"Light data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataLights},
	BlendData_lights_begin, BlendData_lights_next, BlendData_lights_end, BlendData_lights_get, nullptr, nullptr, nullptr, nullptr, &RNA_Light
};
PropertyRNA &rna_BlendData_lights = reinterpret_cast<PropertyRNA &>(rna_BlendData_lights_);

static CollectionPropertyRNA rna_BlendData_libraries_ = {
	{&rna_BlendData_screens, &rna_BlendData_lights,
	-1, "libraries", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Libraries",
	"Library data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataLibraries},
	BlendData_libraries_begin, BlendData_libraries_next, BlendData_libraries_end, BlendData_libraries_get, nullptr, nullptr, nullptr, nullptr, &RNA_Library
};
PropertyRNA &rna_BlendData_libraries = reinterpret_cast<PropertyRNA &>(rna_BlendData_libraries_);

static CollectionPropertyRNA rna_BlendData_screens_ = {
	{&rna_BlendData_window_managers, &rna_BlendData_libraries,
	-1, "screens", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Screens",
	"Screen data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataScreens},
	BlendData_screens_begin, BlendData_screens_next, BlendData_screens_end, BlendData_screens_get, nullptr, nullptr, nullptr, nullptr, &RNA_Screen
};
PropertyRNA &rna_BlendData_screens = reinterpret_cast<PropertyRNA &>(rna_BlendData_screens_);

static CollectionPropertyRNA rna_BlendData_window_managers_ = {
	{&rna_BlendData_images, &rna_BlendData_screens,
	-1, "window_managers", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Window Managers",
	"Window manager data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataWindowManagers},
	BlendData_window_managers_begin, BlendData_window_managers_next, BlendData_window_managers_end, BlendData_window_managers_get, nullptr, nullptr, nullptr, nullptr, &RNA_WindowManager
};
PropertyRNA &rna_BlendData_window_managers = reinterpret_cast<PropertyRNA &>(rna_BlendData_window_managers_);

static CollectionPropertyRNA rna_BlendData_images_ = {
	{&rna_BlendData_lattices, &rna_BlendData_window_managers,
	-1, "images", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Images",
	"Image data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataImages},
	BlendData_images_begin, BlendData_images_next, BlendData_images_end, BlendData_images_get, nullptr, nullptr, nullptr, nullptr, &RNA_Image
};
PropertyRNA &rna_BlendData_images = reinterpret_cast<PropertyRNA &>(rna_BlendData_images_);

static CollectionPropertyRNA rna_BlendData_lattices_ = {
	{&rna_BlendData_curves, &rna_BlendData_images,
	-1, "lattices", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Lattices",
	"Lattice data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataLattices},
	BlendData_lattices_begin, BlendData_lattices_next, BlendData_lattices_end, BlendData_lattices_get, nullptr, nullptr, nullptr, nullptr, &RNA_Lattice
};
PropertyRNA &rna_BlendData_lattices = reinterpret_cast<PropertyRNA &>(rna_BlendData_lattices_);

static CollectionPropertyRNA rna_BlendData_curves_ = {
	{&rna_BlendData_metaballs, &rna_BlendData_lattices,
	-1, "curves", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Curves",
	"Curve data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataCurves},
	BlendData_curves_begin, BlendData_curves_next, BlendData_curves_end, BlendData_curves_get, nullptr, nullptr, nullptr, nullptr, &RNA_Curve
};
PropertyRNA &rna_BlendData_curves = reinterpret_cast<PropertyRNA &>(rna_BlendData_curves_);

static CollectionPropertyRNA rna_BlendData_metaballs_ = {
	{&rna_BlendData_fonts, &rna_BlendData_curves,
	-1, "metaballs", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Metaballs",
	"Metaball data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataMetaBalls},
	BlendData_metaballs_begin, BlendData_metaballs_next, BlendData_metaballs_end, BlendData_metaballs_get, nullptr, nullptr, nullptr, nullptr, &RNA_MetaBall
};
PropertyRNA &rna_BlendData_metaballs = reinterpret_cast<PropertyRNA &>(rna_BlendData_metaballs_);

static CollectionPropertyRNA rna_BlendData_fonts_ = {
	{&rna_BlendData_textures, &rna_BlendData_metaballs,
	-1, "fonts", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Vector Fonts",
	"Vector font data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataFonts},
	BlendData_fonts_begin, BlendData_fonts_next, BlendData_fonts_end, BlendData_fonts_get, nullptr, nullptr, nullptr, nullptr, &RNA_VectorFont
};
PropertyRNA &rna_BlendData_fonts = reinterpret_cast<PropertyRNA &>(rna_BlendData_fonts_);

static CollectionPropertyRNA rna_BlendData_textures_ = {
	{&rna_BlendData_brushes, &rna_BlendData_fonts,
	-1, "textures", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Textures",
	"Texture data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataTextures},
	BlendData_textures_begin, BlendData_textures_next, BlendData_textures_end, BlendData_textures_get, nullptr, nullptr, nullptr, nullptr, &RNA_Texture
};
PropertyRNA &rna_BlendData_textures = reinterpret_cast<PropertyRNA &>(rna_BlendData_textures_);

static CollectionPropertyRNA rna_BlendData_brushes_ = {
	{&rna_BlendData_worlds, &rna_BlendData_textures,
	-1, "brushes", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Brushes",
	"Brush data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataBrushes},
	BlendData_brushes_begin, BlendData_brushes_next, BlendData_brushes_end, BlendData_brushes_get, nullptr, nullptr, nullptr, nullptr, &RNA_Brush
};
PropertyRNA &rna_BlendData_brushes = reinterpret_cast<PropertyRNA &>(rna_BlendData_brushes_);

static CollectionPropertyRNA rna_BlendData_worlds_ = {
	{&rna_BlendData_collections, &rna_BlendData_brushes,
	-1, "worlds", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Worlds",
	"World data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataWorlds},
	BlendData_worlds_begin, BlendData_worlds_next, BlendData_worlds_end, BlendData_worlds_get, nullptr, nullptr, nullptr, nullptr, &RNA_World
};
PropertyRNA &rna_BlendData_worlds = reinterpret_cast<PropertyRNA &>(rna_BlendData_worlds_);

static CollectionPropertyRNA rna_BlendData_collections_ = {
	{&rna_BlendData_shape_keys, &rna_BlendData_worlds,
	-1, "collections", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Collections",
	"Collection data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataCollections},
	BlendData_collections_begin, BlendData_collections_next, BlendData_collections_end, BlendData_collections_get, nullptr, nullptr, nullptr, nullptr, &RNA_Collection
};
PropertyRNA &rna_BlendData_collections = reinterpret_cast<PropertyRNA &>(rna_BlendData_collections_);

static CollectionPropertyRNA rna_BlendData_shape_keys_ = {
	{&rna_BlendData_texts, &rna_BlendData_collections,
	-1, "shape_keys", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Shape Keys",
	"Shape Key data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendData_shape_keys_begin, BlendData_shape_keys_next, BlendData_shape_keys_end, BlendData_shape_keys_get, nullptr, nullptr, nullptr, nullptr, &RNA_Key
};
PropertyRNA &rna_BlendData_shape_keys = reinterpret_cast<PropertyRNA &>(rna_BlendData_shape_keys_);

static CollectionPropertyRNA rna_BlendData_texts_ = {
	{&rna_BlendData_speakers, &rna_BlendData_shape_keys,
	-1, "texts", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Texts",
	"Text data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataTexts},
	BlendData_texts_begin, BlendData_texts_next, BlendData_texts_end, BlendData_texts_get, nullptr, nullptr, nullptr, nullptr, &RNA_Text
};
PropertyRNA &rna_BlendData_texts = reinterpret_cast<PropertyRNA &>(rna_BlendData_texts_);

static CollectionPropertyRNA rna_BlendData_speakers_ = {
	{&rna_BlendData_sounds, &rna_BlendData_texts,
	-1, "speakers", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Speakers",
	"Speaker data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataSpeakers},
	BlendData_speakers_begin, BlendData_speakers_next, BlendData_speakers_end, BlendData_speakers_get, nullptr, nullptr, nullptr, nullptr, &RNA_Speaker
};
PropertyRNA &rna_BlendData_speakers = reinterpret_cast<PropertyRNA &>(rna_BlendData_speakers_);

static CollectionPropertyRNA rna_BlendData_sounds_ = {
	{&rna_BlendData_armatures, &rna_BlendData_speakers,
	-1, "sounds", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Sounds",
	"Sound data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataSounds},
	BlendData_sounds_begin, BlendData_sounds_next, BlendData_sounds_end, BlendData_sounds_get, nullptr, nullptr, nullptr, nullptr, &RNA_Sound
};
PropertyRNA &rna_BlendData_sounds = reinterpret_cast<PropertyRNA &>(rna_BlendData_sounds_);

static CollectionPropertyRNA rna_BlendData_armatures_ = {
	{&rna_BlendData_actions, &rna_BlendData_sounds,
	-1, "armatures", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Armatures",
	"Armature data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataArmatures},
	BlendData_armatures_begin, BlendData_armatures_next, BlendData_armatures_end, BlendData_armatures_get, nullptr, nullptr, nullptr, nullptr, &RNA_Armature
};
PropertyRNA &rna_BlendData_armatures = reinterpret_cast<PropertyRNA &>(rna_BlendData_armatures_);

static CollectionPropertyRNA rna_BlendData_actions_ = {
	{&rna_BlendData_particles, &rna_BlendData_armatures,
	-1, "actions", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Actions",
	"Action data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataActions},
	BlendData_actions_begin, BlendData_actions_next, BlendData_actions_end, BlendData_actions_get, nullptr, nullptr, nullptr, nullptr, &RNA_Action
};
PropertyRNA &rna_BlendData_actions = reinterpret_cast<PropertyRNA &>(rna_BlendData_actions_);

static CollectionPropertyRNA rna_BlendData_particles_ = {
	{&rna_BlendData_palettes, &rna_BlendData_actions,
	-1, "particles", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Particles",
	"Particle data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataParticles},
	BlendData_particles_begin, BlendData_particles_next, BlendData_particles_end, BlendData_particles_get, nullptr, nullptr, nullptr, nullptr, &RNA_ParticleSettings
};
PropertyRNA &rna_BlendData_particles = reinterpret_cast<PropertyRNA &>(rna_BlendData_particles_);

static CollectionPropertyRNA rna_BlendData_palettes_ = {
	{&rna_BlendData_grease_pencils, &rna_BlendData_particles,
	-1, "palettes", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Palettes",
	"Palette data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataPalettes},
	BlendData_palettes_begin, BlendData_palettes_next, BlendData_palettes_end, BlendData_palettes_get, nullptr, nullptr, nullptr, nullptr, &RNA_Palette
};
PropertyRNA &rna_BlendData_palettes = reinterpret_cast<PropertyRNA &>(rna_BlendData_palettes_);

static CollectionPropertyRNA rna_BlendData_grease_pencils_ = {
	{&rna_BlendData_grease_pencils_v3, &rna_BlendData_palettes,
	-1, "grease_pencils", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Annotation",
	"Annotation data-blocks (legacy Grease Pencil)",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataGreasePencils},
	BlendData_grease_pencils_begin, BlendData_grease_pencils_next, BlendData_grease_pencils_end, BlendData_grease_pencils_get, nullptr, nullptr, nullptr, nullptr, &RNA_GreasePencil
};
PropertyRNA &rna_BlendData_grease_pencils = reinterpret_cast<PropertyRNA &>(rna_BlendData_grease_pencils_);

static CollectionPropertyRNA rna_BlendData_grease_pencils_v3_ = {
	{&rna_BlendData_movieclips, &rna_BlendData_grease_pencils,
	-1, "grease_pencils_v3", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Grease Pencil",
	"Grease Pencil data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataGreasePencilsV3},
	BlendData_grease_pencils_v3_begin, BlendData_grease_pencils_v3_next, BlendData_grease_pencils_v3_end, BlendData_grease_pencils_v3_get, nullptr, nullptr, nullptr, nullptr, &RNA_GreasePencilv3
};
PropertyRNA &rna_BlendData_grease_pencils_v3 = reinterpret_cast<PropertyRNA &>(rna_BlendData_grease_pencils_v3_);

static CollectionPropertyRNA rna_BlendData_movieclips_ = {
	{&rna_BlendData_masks, &rna_BlendData_grease_pencils_v3,
	-1, "movieclips", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Movie Clips",
	"Movie Clip data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataMovieClips},
	BlendData_movieclips_begin, BlendData_movieclips_next, BlendData_movieclips_end, BlendData_movieclips_get, nullptr, nullptr, nullptr, nullptr, &RNA_MovieClip
};
PropertyRNA &rna_BlendData_movieclips = reinterpret_cast<PropertyRNA &>(rna_BlendData_movieclips_);

static CollectionPropertyRNA rna_BlendData_masks_ = {
	{&rna_BlendData_linestyles, &rna_BlendData_movieclips,
	-1, "masks", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Masks",
	"Masks data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataMasks},
	BlendData_masks_begin, BlendData_masks_next, BlendData_masks_end, BlendData_masks_get, nullptr, nullptr, nullptr, nullptr, &RNA_Mask
};
PropertyRNA &rna_BlendData_masks = reinterpret_cast<PropertyRNA &>(rna_BlendData_masks_);

static CollectionPropertyRNA rna_BlendData_linestyles_ = {
	{&rna_BlendData_cache_files, &rna_BlendData_masks,
	-1, "linestyles", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Line Styles",
	"Line Style data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataLineStyles},
	BlendData_linestyles_begin, BlendData_linestyles_next, BlendData_linestyles_end, BlendData_linestyles_get, nullptr, nullptr, nullptr, nullptr, &RNA_FreestyleLineStyle
};
PropertyRNA &rna_BlendData_linestyles = reinterpret_cast<PropertyRNA &>(rna_BlendData_linestyles_);

static CollectionPropertyRNA rna_BlendData_cache_files_ = {
	{&rna_BlendData_paint_curves, &rna_BlendData_linestyles,
	-1, "cache_files", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Cache Files",
	"Cache Files data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataCacheFiles},
	BlendData_cache_files_begin, BlendData_cache_files_next, BlendData_cache_files_end, BlendData_cache_files_get, nullptr, nullptr, nullptr, nullptr, &RNA_CacheFile
};
PropertyRNA &rna_BlendData_cache_files = reinterpret_cast<PropertyRNA &>(rna_BlendData_cache_files_);

static CollectionPropertyRNA rna_BlendData_paint_curves_ = {
	{&rna_BlendData_workspaces, &rna_BlendData_cache_files,
	-1, "paint_curves", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Paint Curves",
	"Paint Curves data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataPaintCurves},
	BlendData_paint_curves_begin, BlendData_paint_curves_next, BlendData_paint_curves_end, BlendData_paint_curves_get, nullptr, nullptr, nullptr, nullptr, &RNA_PaintCurve
};
PropertyRNA &rna_BlendData_paint_curves = reinterpret_cast<PropertyRNA &>(rna_BlendData_paint_curves_);

static CollectionPropertyRNA rna_BlendData_workspaces_ = {
	{&rna_BlendData_lightprobes, &rna_BlendData_paint_curves,
	-1, "workspaces", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Workspaces",
	"Workspace data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataWorkSpaces},
	BlendData_workspaces_begin, BlendData_workspaces_next, BlendData_workspaces_end, BlendData_workspaces_get, nullptr, nullptr, nullptr, nullptr, &RNA_WorkSpace
};
PropertyRNA &rna_BlendData_workspaces = reinterpret_cast<PropertyRNA &>(rna_BlendData_workspaces_);

static CollectionPropertyRNA rna_BlendData_lightprobes_ = {
	{&rna_BlendData_hair_curves, &rna_BlendData_workspaces,
	-1, "lightprobes", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Light Probes",
	"Light Probe data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataProbes},
	BlendData_lightprobes_begin, BlendData_lightprobes_next, BlendData_lightprobes_end, BlendData_lightprobes_get, nullptr, nullptr, nullptr, nullptr, &RNA_LightProbe
};
PropertyRNA &rna_BlendData_lightprobes = reinterpret_cast<PropertyRNA &>(rna_BlendData_lightprobes_);

static CollectionPropertyRNA rna_BlendData_hair_curves_ = {
	{&rna_BlendData_pointclouds, &rna_BlendData_lightprobes,
	-1, "hair_curves", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Hair Curves",
	"Hair curve data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataHairCurves},
	BlendData_hair_curves_begin, BlendData_hair_curves_next, BlendData_hair_curves_end, BlendData_hair_curves_get, nullptr, nullptr, nullptr, nullptr, &RNA_Curves
};
PropertyRNA &rna_BlendData_hair_curves = reinterpret_cast<PropertyRNA &>(rna_BlendData_hair_curves_);

static CollectionPropertyRNA rna_BlendData_pointclouds_ = {
	{&rna_BlendData_volumes, &rna_BlendData_hair_curves,
	-1, "pointclouds", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Point Clouds",
	"Point cloud data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataPointClouds},
	BlendData_pointclouds_begin, BlendData_pointclouds_next, BlendData_pointclouds_end, BlendData_pointclouds_get, nullptr, nullptr, nullptr, nullptr, &RNA_PointCloud
};
PropertyRNA &rna_BlendData_pointclouds = reinterpret_cast<PropertyRNA &>(rna_BlendData_pointclouds_);

static CollectionPropertyRNA rna_BlendData_volumes_ = {
	{nullptr, &rna_BlendData_pointclouds,
	-1, "volumes", 128, 0, 0, 0, 0, PropertyPathTemplateType(0), "Volumes",
	"Volume data-blocks",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, &RNA_BlendDataVolumes},
	BlendData_volumes_begin, BlendData_volumes_next, BlendData_volumes_end, BlendData_volumes_get, nullptr, nullptr, nullptr, nullptr, &RNA_Volume
};
PropertyRNA &rna_BlendData_volumes = reinterpret_cast<PropertyRNA &>(rna_BlendData_volumes_);

StructRNA RNA_BlendData = {
	{(ContainerRNA *)&RNA_BlendDataCameras, (ContainerRNA *)&RNA_BlendImportContextItems,
	nullptr,
	{&rna_BlendData_rna_properties, &rna_BlendData_volumes}},
	"BlendData", nullptr, nullptr, 516, nullptr, "Blend-File Data",
	"Main data structure representing a .blend file and all its data-blocks",
	"*", 51,
	nullptr, &rna_BlendData_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{nullptr, nullptr}
};

/* Main Cameras */
static CollectionPropertyRNA rna_BlendDataCameras_rna_properties_ = {
	{&rna_BlendDataCameras_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataCameras_rna_properties_begin, BlendDataCameras_rna_properties_next, BlendDataCameras_rna_properties_end, BlendDataCameras_rna_properties_get, nullptr, nullptr, BlendDataCameras_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataCameras_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataCameras_rna_properties_);

static PointerPropertyRNA rna_BlendDataCameras_rna_type_ = {
	{nullptr, &rna_BlendDataCameras_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataCameras_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataCameras_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataCameras_rna_type_);

static StringPropertyRNA rna_BlendDataCameras_new_name_ = {
	{&rna_BlendDataCameras_new_camera, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Camera"
};
PropertyRNA &rna_BlendDataCameras_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataCameras_new_name_);

static PointerPropertyRNA rna_BlendDataCameras_new_camera_ = {
	{nullptr, &rna_BlendDataCameras_new_name,
	-1, "camera", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New camera data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Camera
};
PropertyRNA &rna_BlendDataCameras_new_camera = reinterpret_cast<PropertyRNA &>(rna_BlendDataCameras_new_camera_);

FunctionRNA rna_BlendDataCameras_new_func = {
	{(FunctionRNA *)&rna_BlendDataCameras_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataCameras_new_name, &rna_BlendDataCameras_new_camera}},
	"new", 0, "Add a new camera to the main database",
	BlendDataCameras_new_call,
	&rna_BlendDataCameras_new_camera
};

static PointerPropertyRNA rna_BlendDataCameras_remove_camera_ = {
	{&rna_BlendDataCameras_remove_do_unlink, nullptr,
	-1, "camera", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Camera to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Camera
};
PropertyRNA &rna_BlendDataCameras_remove_camera = reinterpret_cast<PropertyRNA &>(rna_BlendDataCameras_remove_camera_);

static BoolPropertyRNA rna_BlendDataCameras_remove_do_unlink_ = {
	{&rna_BlendDataCameras_remove_do_id_user, &rna_BlendDataCameras_remove_camera,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this camera before deleting it (WARNING: will also delete objects instancing that camera data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataCameras_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataCameras_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataCameras_remove_do_id_user_ = {
	{&rna_BlendDataCameras_remove_do_ui_user, &rna_BlendDataCameras_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this camera",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataCameras_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataCameras_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataCameras_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataCameras_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this camera",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataCameras_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataCameras_remove_do_ui_user_);

FunctionRNA rna_BlendDataCameras_remove_func = {
	{(FunctionRNA *)&rna_BlendDataCameras_tag_func, (FunctionRNA *)&rna_BlendDataCameras_new_func,
	nullptr,
	{&rna_BlendDataCameras_remove_camera, &rna_BlendDataCameras_remove_do_ui_user}},
	"remove", 16, "Remove a camera from the current blendfile",
	BlendDataCameras_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataCameras_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataCameras_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataCameras_tag_value_);

FunctionRNA rna_BlendDataCameras_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataCameras_remove_func,
	nullptr,
	{&rna_BlendDataCameras_tag_value, &rna_BlendDataCameras_tag_value}},
	"tag", 0, "tag",
	BlendDataCameras_tag_call,
	nullptr
};

StructRNA RNA_BlendDataCameras = {
	{(ContainerRNA *)&RNA_BlendDataScenes, (ContainerRNA *)&RNA_BlendData,
	nullptr,
	{&rna_BlendDataCameras_rna_properties, &rna_BlendDataCameras_rna_type}},
	"BlendDataCameras", nullptr, nullptr, 516, nullptr, "Main Cameras",
	"Collection of cameras",
	"*", 61,
	nullptr, &rna_BlendDataCameras_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataCameras_new_func, (FunctionRNA *)&rna_BlendDataCameras_tag_func}
};

/* Main Scenes */
static CollectionPropertyRNA rna_BlendDataScenes_rna_properties_ = {
	{&rna_BlendDataScenes_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataScenes_rna_properties_begin, BlendDataScenes_rna_properties_next, BlendDataScenes_rna_properties_end, BlendDataScenes_rna_properties_get, nullptr, nullptr, BlendDataScenes_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataScenes_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataScenes_rna_properties_);

static PointerPropertyRNA rna_BlendDataScenes_rna_type_ = {
	{nullptr, &rna_BlendDataScenes_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataScenes_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataScenes_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataScenes_rna_type_);

static StringPropertyRNA rna_BlendDataScenes_new_name_ = {
	{&rna_BlendDataScenes_new_scene, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Scene"
};
PropertyRNA &rna_BlendDataScenes_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataScenes_new_name_);

static PointerPropertyRNA rna_BlendDataScenes_new_scene_ = {
	{nullptr, &rna_BlendDataScenes_new_name,
	-1, "scene", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New scene data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Scene
};
PropertyRNA &rna_BlendDataScenes_new_scene = reinterpret_cast<PropertyRNA &>(rna_BlendDataScenes_new_scene_);

FunctionRNA rna_BlendDataScenes_new_func = {
	{(FunctionRNA *)&rna_BlendDataScenes_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataScenes_new_name, &rna_BlendDataScenes_new_scene}},
	"new", 0, "Add a new scene to the main database",
	BlendDataScenes_new_call,
	&rna_BlendDataScenes_new_scene
};

static PointerPropertyRNA rna_BlendDataScenes_remove_scene_ = {
	{&rna_BlendDataScenes_remove_do_unlink, nullptr,
	-1, "scene", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Scene to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Scene
};
PropertyRNA &rna_BlendDataScenes_remove_scene = reinterpret_cast<PropertyRNA &>(rna_BlendDataScenes_remove_scene_);

static BoolPropertyRNA rna_BlendDataScenes_remove_do_unlink_ = {
	{nullptr, &rna_BlendDataScenes_remove_scene,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this scene before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataScenes_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataScenes_remove_do_unlink_);

FunctionRNA rna_BlendDataScenes_remove_func = {
	{(FunctionRNA *)&rna_BlendDataScenes_tag_func, (FunctionRNA *)&rna_BlendDataScenes_new_func,
	nullptr,
	{&rna_BlendDataScenes_remove_scene, &rna_BlendDataScenes_remove_do_unlink}},
	"remove", 24, "Remove a scene from the current blendfile",
	BlendDataScenes_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataScenes_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataScenes_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataScenes_tag_value_);

FunctionRNA rna_BlendDataScenes_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataScenes_remove_func,
	nullptr,
	{&rna_BlendDataScenes_tag_value, &rna_BlendDataScenes_tag_value}},
	"tag", 0, "tag",
	BlendDataScenes_tag_call,
	nullptr
};

StructRNA RNA_BlendDataScenes = {
	{(ContainerRNA *)&RNA_BlendDataObjects, (ContainerRNA *)&RNA_BlendDataCameras,
	nullptr,
	{&rna_BlendDataScenes_rna_properties, &rna_BlendDataScenes_rna_type}},
	"BlendDataScenes", nullptr, nullptr, 516, nullptr, "Main Scenes",
	"Collection of scenes",
	"*", 61,
	nullptr, &rna_BlendDataScenes_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataScenes_new_func, (FunctionRNA *)&rna_BlendDataScenes_tag_func}
};

/* Main Objects */
static CollectionPropertyRNA rna_BlendDataObjects_rna_properties_ = {
	{&rna_BlendDataObjects_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataObjects_rna_properties_begin, BlendDataObjects_rna_properties_next, BlendDataObjects_rna_properties_end, BlendDataObjects_rna_properties_get, nullptr, nullptr, BlendDataObjects_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataObjects_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataObjects_rna_properties_);

static PointerPropertyRNA rna_BlendDataObjects_rna_type_ = {
	{nullptr, &rna_BlendDataObjects_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataObjects_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataObjects_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataObjects_rna_type_);

static StringPropertyRNA rna_BlendDataObjects_new_name_ = {
	{&rna_BlendDataObjects_new_object_data, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Object"
};
PropertyRNA &rna_BlendDataObjects_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataObjects_new_name_);

static PointerPropertyRNA rna_BlendDataObjects_new_object_data_ = {
	{&rna_BlendDataObjects_new_object, &rna_BlendDataObjects_new_name,
	-1, "object_data", 8388736, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"Object data or None for an empty object",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_ID
};
PropertyRNA &rna_BlendDataObjects_new_object_data = reinterpret_cast<PropertyRNA &>(rna_BlendDataObjects_new_object_data_);

static PointerPropertyRNA rna_BlendDataObjects_new_object_ = {
	{nullptr, &rna_BlendDataObjects_new_object_data,
	-1, "object", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New object data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Object
};
PropertyRNA &rna_BlendDataObjects_new_object = reinterpret_cast<PropertyRNA &>(rna_BlendDataObjects_new_object_);

FunctionRNA rna_BlendDataObjects_new_func = {
	{(FunctionRNA *)&rna_BlendDataObjects_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataObjects_new_name, &rna_BlendDataObjects_new_object}},
	"new", 16, "Add a new object to the main database",
	BlendDataObjects_new_call,
	&rna_BlendDataObjects_new_object
};

static PointerPropertyRNA rna_BlendDataObjects_remove_object_ = {
	{&rna_BlendDataObjects_remove_do_unlink, nullptr,
	-1, "object", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Object to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Object
};
PropertyRNA &rna_BlendDataObjects_remove_object = reinterpret_cast<PropertyRNA &>(rna_BlendDataObjects_remove_object_);

static BoolPropertyRNA rna_BlendDataObjects_remove_do_unlink_ = {
	{&rna_BlendDataObjects_remove_do_id_user, &rna_BlendDataObjects_remove_object,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this object before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataObjects_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataObjects_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataObjects_remove_do_id_user_ = {
	{&rna_BlendDataObjects_remove_do_ui_user, &rna_BlendDataObjects_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this object",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataObjects_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataObjects_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataObjects_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataObjects_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this object",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataObjects_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataObjects_remove_do_ui_user_);

FunctionRNA rna_BlendDataObjects_remove_func = {
	{(FunctionRNA *)&rna_BlendDataObjects_tag_func, (FunctionRNA *)&rna_BlendDataObjects_new_func,
	nullptr,
	{&rna_BlendDataObjects_remove_object, &rna_BlendDataObjects_remove_do_ui_user}},
	"remove", 16, "Remove an object from the current blendfile",
	BlendDataObjects_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataObjects_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataObjects_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataObjects_tag_value_);

FunctionRNA rna_BlendDataObjects_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataObjects_remove_func,
	nullptr,
	{&rna_BlendDataObjects_tag_value, &rna_BlendDataObjects_tag_value}},
	"tag", 0, "tag",
	BlendDataObjects_tag_call,
	nullptr
};

StructRNA RNA_BlendDataObjects = {
	{(ContainerRNA *)&RNA_BlendDataMaterials, (ContainerRNA *)&RNA_BlendDataScenes,
	nullptr,
	{&rna_BlendDataObjects_rna_properties, &rna_BlendDataObjects_rna_type}},
	"BlendDataObjects", nullptr, nullptr, 516, nullptr, "Main Objects",
	"Collection of objects",
	"*", 61,
	nullptr, &rna_BlendDataObjects_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataObjects_new_func, (FunctionRNA *)&rna_BlendDataObjects_tag_func}
};

/* Main Materials */
static CollectionPropertyRNA rna_BlendDataMaterials_rna_properties_ = {
	{&rna_BlendDataMaterials_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataMaterials_rna_properties_begin, BlendDataMaterials_rna_properties_next, BlendDataMaterials_rna_properties_end, BlendDataMaterials_rna_properties_get, nullptr, nullptr, BlendDataMaterials_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataMaterials_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataMaterials_rna_properties_);

static PointerPropertyRNA rna_BlendDataMaterials_rna_type_ = {
	{nullptr, &rna_BlendDataMaterials_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataMaterials_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataMaterials_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataMaterials_rna_type_);

static StringPropertyRNA rna_BlendDataMaterials_new_name_ = {
	{&rna_BlendDataMaterials_new_material, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Material"
};
PropertyRNA &rna_BlendDataMaterials_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataMaterials_new_name_);

static PointerPropertyRNA rna_BlendDataMaterials_new_material_ = {
	{nullptr, &rna_BlendDataMaterials_new_name,
	-1, "material", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New material data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Material
};
PropertyRNA &rna_BlendDataMaterials_new_material = reinterpret_cast<PropertyRNA &>(rna_BlendDataMaterials_new_material_);

FunctionRNA rna_BlendDataMaterials_new_func = {
	{(FunctionRNA *)&rna_BlendDataMaterials_create_gpencil_data_func, nullptr,
	nullptr,
	{&rna_BlendDataMaterials_new_name, &rna_BlendDataMaterials_new_material}},
	"new", 0, "Add a new material to the main database",
	BlendDataMaterials_new_call,
	&rna_BlendDataMaterials_new_material
};

static PointerPropertyRNA rna_BlendDataMaterials_create_gpencil_data_material_ = {
	{nullptr, nullptr,
	-1, "material", 8650880, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Material",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Material
};
PropertyRNA &rna_BlendDataMaterials_create_gpencil_data_material = reinterpret_cast<PropertyRNA &>(rna_BlendDataMaterials_create_gpencil_data_material_);

FunctionRNA rna_BlendDataMaterials_create_gpencil_data_func = {
	{(FunctionRNA *)&rna_BlendDataMaterials_remove_gpencil_data_func, (FunctionRNA *)&rna_BlendDataMaterials_new_func,
	nullptr,
	{&rna_BlendDataMaterials_create_gpencil_data_material, &rna_BlendDataMaterials_create_gpencil_data_material}},
	"create_gpencil_data", 0, "Add Grease Pencil material settings",
	BlendDataMaterials_create_gpencil_data_call,
	nullptr
};

static PointerPropertyRNA rna_BlendDataMaterials_remove_gpencil_data_material_ = {
	{nullptr, nullptr,
	-1, "material", 8650880, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Material",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Material
};
PropertyRNA &rna_BlendDataMaterials_remove_gpencil_data_material = reinterpret_cast<PropertyRNA &>(rna_BlendDataMaterials_remove_gpencil_data_material_);

FunctionRNA rna_BlendDataMaterials_remove_gpencil_data_func = {
	{(FunctionRNA *)&rna_BlendDataMaterials_remove_func, (FunctionRNA *)&rna_BlendDataMaterials_create_gpencil_data_func,
	nullptr,
	{&rna_BlendDataMaterials_remove_gpencil_data_material, &rna_BlendDataMaterials_remove_gpencil_data_material}},
	"remove_gpencil_data", 0, "Remove Grease Pencil material settings",
	BlendDataMaterials_remove_gpencil_data_call,
	nullptr
};

static PointerPropertyRNA rna_BlendDataMaterials_remove_material_ = {
	{&rna_BlendDataMaterials_remove_do_unlink, nullptr,
	-1, "material", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Material to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Material
};
PropertyRNA &rna_BlendDataMaterials_remove_material = reinterpret_cast<PropertyRNA &>(rna_BlendDataMaterials_remove_material_);

static BoolPropertyRNA rna_BlendDataMaterials_remove_do_unlink_ = {
	{&rna_BlendDataMaterials_remove_do_id_user, &rna_BlendDataMaterials_remove_material,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this material before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMaterials_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataMaterials_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataMaterials_remove_do_id_user_ = {
	{&rna_BlendDataMaterials_remove_do_ui_user, &rna_BlendDataMaterials_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this material",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMaterials_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataMaterials_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataMaterials_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataMaterials_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this material",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMaterials_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataMaterials_remove_do_ui_user_);

FunctionRNA rna_BlendDataMaterials_remove_func = {
	{(FunctionRNA *)&rna_BlendDataMaterials_tag_func, (FunctionRNA *)&rna_BlendDataMaterials_remove_gpencil_data_func,
	nullptr,
	{&rna_BlendDataMaterials_remove_material, &rna_BlendDataMaterials_remove_do_ui_user}},
	"remove", 16, "Remove a material from the current blendfile",
	BlendDataMaterials_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataMaterials_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataMaterials_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataMaterials_tag_value_);

FunctionRNA rna_BlendDataMaterials_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataMaterials_remove_func,
	nullptr,
	{&rna_BlendDataMaterials_tag_value, &rna_BlendDataMaterials_tag_value}},
	"tag", 0, "tag",
	BlendDataMaterials_tag_call,
	nullptr
};

StructRNA RNA_BlendDataMaterials = {
	{(ContainerRNA *)&RNA_BlendDataNodeTrees, (ContainerRNA *)&RNA_BlendDataObjects,
	nullptr,
	{&rna_BlendDataMaterials_rna_properties, &rna_BlendDataMaterials_rna_type}},
	"BlendDataMaterials", nullptr, nullptr, 516, nullptr, "Main Materials",
	"Collection of materials",
	"*", 61,
	nullptr, &rna_BlendDataMaterials_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataMaterials_new_func, (FunctionRNA *)&rna_BlendDataMaterials_tag_func}
};

/* Main Node Trees */
static CollectionPropertyRNA rna_BlendDataNodeTrees_rna_properties_ = {
	{&rna_BlendDataNodeTrees_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataNodeTrees_rna_properties_begin, BlendDataNodeTrees_rna_properties_next, BlendDataNodeTrees_rna_properties_end, BlendDataNodeTrees_rna_properties_get, nullptr, nullptr, BlendDataNodeTrees_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataNodeTrees_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataNodeTrees_rna_properties_);

static PointerPropertyRNA rna_BlendDataNodeTrees_rna_type_ = {
	{nullptr, &rna_BlendDataNodeTrees_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataNodeTrees_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataNodeTrees_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataNodeTrees_rna_type_);

static StringPropertyRNA rna_BlendDataNodeTrees_new_name_ = {
	{&rna_BlendDataNodeTrees_new_type, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "NodeGroup"
};
PropertyRNA &rna_BlendDataNodeTrees_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataNodeTrees_new_name_);

static EnumPropertyRNA rna_BlendDataNodeTrees_new_type_ = {
	{&rna_BlendDataNodeTrees_new_tree, &rna_BlendDataNodeTrees_new_name,
	-1, "type", 16777219, 0, 1, 0, 0, PropertyPathTemplateType(0), "Type",
	"The type of node_group to add",
	0, "*",
	PROP_ENUM, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, rna_Main_nodetree_type_itemf, nullptr, nullptr, nullptr, rna_enum_dummy_DEFAULT_items, 1, 0
};
PropertyRNA &rna_BlendDataNodeTrees_new_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataNodeTrees_new_type_);

static PointerPropertyRNA rna_BlendDataNodeTrees_new_tree_ = {
	{nullptr, &rna_BlendDataNodeTrees_new_type,
	-1, "tree", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New node tree data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_NodeTree
};
PropertyRNA &rna_BlendDataNodeTrees_new_tree = reinterpret_cast<PropertyRNA &>(rna_BlendDataNodeTrees_new_tree_);

FunctionRNA rna_BlendDataNodeTrees_new_func = {
	{(FunctionRNA *)&rna_BlendDataNodeTrees_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataNodeTrees_new_name, &rna_BlendDataNodeTrees_new_tree}},
	"new", 0, "Add a new node tree to the main database",
	BlendDataNodeTrees_new_call,
	&rna_BlendDataNodeTrees_new_tree
};

static PointerPropertyRNA rna_BlendDataNodeTrees_remove_tree_ = {
	{&rna_BlendDataNodeTrees_remove_do_unlink, nullptr,
	-1, "tree", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Node tree to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_NodeTree
};
PropertyRNA &rna_BlendDataNodeTrees_remove_tree = reinterpret_cast<PropertyRNA &>(rna_BlendDataNodeTrees_remove_tree_);

static BoolPropertyRNA rna_BlendDataNodeTrees_remove_do_unlink_ = {
	{&rna_BlendDataNodeTrees_remove_do_id_user, &rna_BlendDataNodeTrees_remove_tree,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this node tree before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataNodeTrees_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataNodeTrees_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataNodeTrees_remove_do_id_user_ = {
	{&rna_BlendDataNodeTrees_remove_do_ui_user, &rna_BlendDataNodeTrees_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this node tree",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataNodeTrees_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataNodeTrees_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataNodeTrees_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataNodeTrees_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this node tree",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataNodeTrees_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataNodeTrees_remove_do_ui_user_);

FunctionRNA rna_BlendDataNodeTrees_remove_func = {
	{(FunctionRNA *)&rna_BlendDataNodeTrees_tag_func, (FunctionRNA *)&rna_BlendDataNodeTrees_new_func,
	nullptr,
	{&rna_BlendDataNodeTrees_remove_tree, &rna_BlendDataNodeTrees_remove_do_ui_user}},
	"remove", 16, "Remove a node tree from the current blendfile",
	BlendDataNodeTrees_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataNodeTrees_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataNodeTrees_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataNodeTrees_tag_value_);

FunctionRNA rna_BlendDataNodeTrees_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataNodeTrees_remove_func,
	nullptr,
	{&rna_BlendDataNodeTrees_tag_value, &rna_BlendDataNodeTrees_tag_value}},
	"tag", 0, "tag",
	BlendDataNodeTrees_tag_call,
	nullptr
};

StructRNA RNA_BlendDataNodeTrees = {
	{(ContainerRNA *)&RNA_BlendDataMeshes, (ContainerRNA *)&RNA_BlendDataMaterials,
	nullptr,
	{&rna_BlendDataNodeTrees_rna_properties, &rna_BlendDataNodeTrees_rna_type}},
	"BlendDataNodeTrees", nullptr, nullptr, 516, nullptr, "Main Node Trees",
	"Collection of node trees",
	"*", 61,
	nullptr, &rna_BlendDataNodeTrees_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataNodeTrees_new_func, (FunctionRNA *)&rna_BlendDataNodeTrees_tag_func}
};

/* Main Meshes */
static CollectionPropertyRNA rna_BlendDataMeshes_rna_properties_ = {
	{&rna_BlendDataMeshes_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataMeshes_rna_properties_begin, BlendDataMeshes_rna_properties_next, BlendDataMeshes_rna_properties_end, BlendDataMeshes_rna_properties_get, nullptr, nullptr, BlendDataMeshes_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataMeshes_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_rna_properties_);

static PointerPropertyRNA rna_BlendDataMeshes_rna_type_ = {
	{nullptr, &rna_BlendDataMeshes_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataMeshes_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataMeshes_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_rna_type_);

static StringPropertyRNA rna_BlendDataMeshes_new_name_ = {
	{&rna_BlendDataMeshes_new_mesh, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Mesh"
};
PropertyRNA &rna_BlendDataMeshes_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_new_name_);

static PointerPropertyRNA rna_BlendDataMeshes_new_mesh_ = {
	{nullptr, &rna_BlendDataMeshes_new_name,
	-1, "mesh", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New mesh data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Mesh
};
PropertyRNA &rna_BlendDataMeshes_new_mesh = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_new_mesh_);

FunctionRNA rna_BlendDataMeshes_new_func = {
	{(FunctionRNA *)&rna_BlendDataMeshes_new_from_object_func, nullptr,
	nullptr,
	{&rna_BlendDataMeshes_new_name, &rna_BlendDataMeshes_new_mesh}},
	"new", 0, "Add a new mesh to the main database",
	BlendDataMeshes_new_call,
	&rna_BlendDataMeshes_new_mesh
};

static PointerPropertyRNA rna_BlendDataMeshes_new_from_object_object_ = {
	{&rna_BlendDataMeshes_new_from_object_preserve_all_data_layers, nullptr,
	-1, "object", 8650880, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"Object to create mesh from",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Object
};
PropertyRNA &rna_BlendDataMeshes_new_from_object_object = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_new_from_object_object_);

static BoolPropertyRNA rna_BlendDataMeshes_new_from_object_preserve_all_data_layers_ = {
	{&rna_BlendDataMeshes_new_from_object_depsgraph, &rna_BlendDataMeshes_new_from_object_object,
	-1, "preserve_all_data_layers", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Preserve all data layers in the mesh, like UV maps and vertex groups. By default Blender only computes the subset of data layers needed for viewport display and rendering, for better performance.",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataMeshes_new_from_object_preserve_all_data_layers = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_new_from_object_preserve_all_data_layers_);

static PointerPropertyRNA rna_BlendDataMeshes_new_from_object_depsgraph_ = {
	{&rna_BlendDataMeshes_new_from_object_mesh, &rna_BlendDataMeshes_new_from_object_preserve_all_data_layers,
	-1, "depsgraph", 8388608, 0, 0, 0, 0, PropertyPathTemplateType(0), "Dependency Graph",
	"Evaluated dependency graph which is required when preserve_all_data_layers is true",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Depsgraph
};
PropertyRNA &rna_BlendDataMeshes_new_from_object_depsgraph = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_new_from_object_depsgraph_);

static PointerPropertyRNA rna_BlendDataMeshes_new_from_object_mesh_ = {
	{nullptr, &rna_BlendDataMeshes_new_from_object_depsgraph,
	-1, "mesh", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"Mesh created from object, remove it if it is only used for export",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Mesh
};
PropertyRNA &rna_BlendDataMeshes_new_from_object_mesh = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_new_from_object_mesh_);

FunctionRNA rna_BlendDataMeshes_new_from_object_func = {
	{(FunctionRNA *)&rna_BlendDataMeshes_remove_func, (FunctionRNA *)&rna_BlendDataMeshes_new_func,
	nullptr,
	{&rna_BlendDataMeshes_new_from_object_object, &rna_BlendDataMeshes_new_from_object_mesh}},
	"new_from_object", 16, "Add a new mesh created from given object (undeformed geometry if object is original, and final evaluated geometry, with all modifiers etc., if object is evaluated)",
	BlendDataMeshes_new_from_object_call,
	&rna_BlendDataMeshes_new_from_object_mesh
};

static PointerPropertyRNA rna_BlendDataMeshes_remove_mesh_ = {
	{&rna_BlendDataMeshes_remove_do_unlink, nullptr,
	-1, "mesh", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Mesh to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Mesh
};
PropertyRNA &rna_BlendDataMeshes_remove_mesh = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_remove_mesh_);

static BoolPropertyRNA rna_BlendDataMeshes_remove_do_unlink_ = {
	{&rna_BlendDataMeshes_remove_do_id_user, &rna_BlendDataMeshes_remove_mesh,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this mesh before deleting it (WARNING: will also delete objects instancing that mesh data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMeshes_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataMeshes_remove_do_id_user_ = {
	{&rna_BlendDataMeshes_remove_do_ui_user, &rna_BlendDataMeshes_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this mesh data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMeshes_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataMeshes_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataMeshes_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this mesh data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMeshes_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_remove_do_ui_user_);

FunctionRNA rna_BlendDataMeshes_remove_func = {
	{(FunctionRNA *)&rna_BlendDataMeshes_tag_func, (FunctionRNA *)&rna_BlendDataMeshes_new_from_object_func,
	nullptr,
	{&rna_BlendDataMeshes_remove_mesh, &rna_BlendDataMeshes_remove_do_ui_user}},
	"remove", 16, "Remove a mesh from the current blendfile",
	BlendDataMeshes_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataMeshes_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataMeshes_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataMeshes_tag_value_);

FunctionRNA rna_BlendDataMeshes_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataMeshes_remove_func,
	nullptr,
	{&rna_BlendDataMeshes_tag_value, &rna_BlendDataMeshes_tag_value}},
	"tag", 0, "tag",
	BlendDataMeshes_tag_call,
	nullptr
};

StructRNA RNA_BlendDataMeshes = {
	{(ContainerRNA *)&RNA_BlendDataLights, (ContainerRNA *)&RNA_BlendDataNodeTrees,
	nullptr,
	{&rna_BlendDataMeshes_rna_properties, &rna_BlendDataMeshes_rna_type}},
	"BlendDataMeshes", nullptr, nullptr, 516, nullptr, "Main Meshes",
	"Collection of meshes",
	"*", 61,
	nullptr, &rna_BlendDataMeshes_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataMeshes_new_func, (FunctionRNA *)&rna_BlendDataMeshes_tag_func}
};

/* Main Lights */
static CollectionPropertyRNA rna_BlendDataLights_rna_properties_ = {
	{&rna_BlendDataLights_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataLights_rna_properties_begin, BlendDataLights_rna_properties_next, BlendDataLights_rna_properties_end, BlendDataLights_rna_properties_get, nullptr, nullptr, BlendDataLights_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataLights_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataLights_rna_properties_);

static PointerPropertyRNA rna_BlendDataLights_rna_type_ = {
	{nullptr, &rna_BlendDataLights_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataLights_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataLights_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataLights_rna_type_);

static StringPropertyRNA rna_BlendDataLights_new_name_ = {
	{&rna_BlendDataLights_new_type, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Light"
};
PropertyRNA &rna_BlendDataLights_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataLights_new_name_);

static EnumPropertyRNA rna_BlendDataLights_new_type_ = {
	{&rna_BlendDataLights_new_light, &rna_BlendDataLights_new_name,
	-1, "type", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Type",
	"The type of light to add",
	0, "*",
	PROP_ENUM, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, rna_enum_light_type_items, 4, 0
};
PropertyRNA &rna_BlendDataLights_new_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataLights_new_type_);

static PointerPropertyRNA rna_BlendDataLights_new_light_ = {
	{nullptr, &rna_BlendDataLights_new_type,
	-1, "light", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New light data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Light
};
PropertyRNA &rna_BlendDataLights_new_light = reinterpret_cast<PropertyRNA &>(rna_BlendDataLights_new_light_);

FunctionRNA rna_BlendDataLights_new_func = {
	{(FunctionRNA *)&rna_BlendDataLights_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataLights_new_name, &rna_BlendDataLights_new_light}},
	"new", 0, "Add a new light to the main database",
	BlendDataLights_new_call,
	&rna_BlendDataLights_new_light
};

static PointerPropertyRNA rna_BlendDataLights_remove_light_ = {
	{&rna_BlendDataLights_remove_do_unlink, nullptr,
	-1, "light", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Light to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Light
};
PropertyRNA &rna_BlendDataLights_remove_light = reinterpret_cast<PropertyRNA &>(rna_BlendDataLights_remove_light_);

static BoolPropertyRNA rna_BlendDataLights_remove_do_unlink_ = {
	{&rna_BlendDataLights_remove_do_id_user, &rna_BlendDataLights_remove_light,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this light before deleting it (WARNING: will also delete objects instancing that light data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLights_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataLights_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataLights_remove_do_id_user_ = {
	{&rna_BlendDataLights_remove_do_ui_user, &rna_BlendDataLights_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this light data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLights_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataLights_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataLights_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataLights_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this light data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLights_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataLights_remove_do_ui_user_);

FunctionRNA rna_BlendDataLights_remove_func = {
	{(FunctionRNA *)&rna_BlendDataLights_tag_func, (FunctionRNA *)&rna_BlendDataLights_new_func,
	nullptr,
	{&rna_BlendDataLights_remove_light, &rna_BlendDataLights_remove_do_ui_user}},
	"remove", 16, "Remove a light from the current blendfile",
	BlendDataLights_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataLights_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataLights_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataLights_tag_value_);

FunctionRNA rna_BlendDataLights_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataLights_remove_func,
	nullptr,
	{&rna_BlendDataLights_tag_value, &rna_BlendDataLights_tag_value}},
	"tag", 0, "tag",
	BlendDataLights_tag_call,
	nullptr
};

StructRNA RNA_BlendDataLights = {
	{(ContainerRNA *)&RNA_BlendDataLibraries, (ContainerRNA *)&RNA_BlendDataMeshes,
	nullptr,
	{&rna_BlendDataLights_rna_properties, &rna_BlendDataLights_rna_type}},
	"BlendDataLights", nullptr, nullptr, 516, nullptr, "Main Lights",
	"Collection of lights",
	"*", 61,
	nullptr, &rna_BlendDataLights_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataLights_new_func, (FunctionRNA *)&rna_BlendDataLights_tag_func}
};

/* Main Libraries */
static CollectionPropertyRNA rna_BlendDataLibraries_rna_properties_ = {
	{&rna_BlendDataLibraries_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataLibraries_rna_properties_begin, BlendDataLibraries_rna_properties_next, BlendDataLibraries_rna_properties_end, BlendDataLibraries_rna_properties_get, nullptr, nullptr, BlendDataLibraries_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataLibraries_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataLibraries_rna_properties_);

static PointerPropertyRNA rna_BlendDataLibraries_rna_type_ = {
	{nullptr, &rna_BlendDataLibraries_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataLibraries_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataLibraries_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataLibraries_rna_type_);

static BoolPropertyRNA rna_BlendDataLibraries_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataLibraries_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataLibraries_tag_value_);

FunctionRNA rna_BlendDataLibraries_tag_func = {
	{(FunctionRNA *)&rna_BlendDataLibraries_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataLibraries_tag_value, &rna_BlendDataLibraries_tag_value}},
	"tag", 0, "tag",
	BlendDataLibraries_tag_call,
	nullptr
};

static PointerPropertyRNA rna_BlendDataLibraries_remove_library_ = {
	{&rna_BlendDataLibraries_remove_do_unlink, nullptr,
	-1, "library", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Library to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Library
};
PropertyRNA &rna_BlendDataLibraries_remove_library = reinterpret_cast<PropertyRNA &>(rna_BlendDataLibraries_remove_library_);

static BoolPropertyRNA rna_BlendDataLibraries_remove_do_unlink_ = {
	{&rna_BlendDataLibraries_remove_do_id_user, &rna_BlendDataLibraries_remove_library,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this library before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLibraries_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataLibraries_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataLibraries_remove_do_id_user_ = {
	{&rna_BlendDataLibraries_remove_do_ui_user, &rna_BlendDataLibraries_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this library",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLibraries_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataLibraries_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataLibraries_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataLibraries_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this library",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLibraries_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataLibraries_remove_do_ui_user_);

FunctionRNA rna_BlendDataLibraries_remove_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataLibraries_tag_func,
	nullptr,
	{&rna_BlendDataLibraries_remove_library, &rna_BlendDataLibraries_remove_do_ui_user}},
	"remove", 16, "Remove a library from the current blendfile",
	BlendDataLibraries_remove_call,
	nullptr
};

StructRNA RNA_BlendDataLibraries = {
	{(ContainerRNA *)&RNA_BlendDataScreens, (ContainerRNA *)&RNA_BlendDataLights,
	nullptr,
	{&rna_BlendDataLibraries_rna_properties, &rna_BlendDataLibraries_rna_type}},
	"BlendDataLibraries", nullptr, nullptr, 516, nullptr, "Main Libraries",
	"Collection of libraries",
	"*", 61,
	nullptr, &rna_BlendDataLibraries_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataLibraries_tag_func, (FunctionRNA *)&rna_BlendDataLibraries_remove_func}
};

/* Main Screens */
static CollectionPropertyRNA rna_BlendDataScreens_rna_properties_ = {
	{&rna_BlendDataScreens_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataScreens_rna_properties_begin, BlendDataScreens_rna_properties_next, BlendDataScreens_rna_properties_end, BlendDataScreens_rna_properties_get, nullptr, nullptr, BlendDataScreens_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataScreens_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataScreens_rna_properties_);

static PointerPropertyRNA rna_BlendDataScreens_rna_type_ = {
	{nullptr, &rna_BlendDataScreens_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataScreens_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataScreens_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataScreens_rna_type_);

static BoolPropertyRNA rna_BlendDataScreens_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataScreens_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataScreens_tag_value_);

FunctionRNA rna_BlendDataScreens_tag_func = {
	{nullptr, nullptr,
	nullptr,
	{&rna_BlendDataScreens_tag_value, &rna_BlendDataScreens_tag_value}},
	"tag", 0, "tag",
	BlendDataScreens_tag_call,
	nullptr
};

StructRNA RNA_BlendDataScreens = {
	{(ContainerRNA *)&RNA_BlendDataWindowManagers, (ContainerRNA *)&RNA_BlendDataLibraries,
	nullptr,
	{&rna_BlendDataScreens_rna_properties, &rna_BlendDataScreens_rna_type}},
	"BlendDataScreens", nullptr, nullptr, 516, nullptr, "Main Screens",
	"Collection of screens",
	"*", 61,
	nullptr, &rna_BlendDataScreens_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataScreens_tag_func, (FunctionRNA *)&rna_BlendDataScreens_tag_func}
};

/* Main Window Managers */
static CollectionPropertyRNA rna_BlendDataWindowManagers_rna_properties_ = {
	{&rna_BlendDataWindowManagers_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataWindowManagers_rna_properties_begin, BlendDataWindowManagers_rna_properties_next, BlendDataWindowManagers_rna_properties_end, BlendDataWindowManagers_rna_properties_get, nullptr, nullptr, BlendDataWindowManagers_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataWindowManagers_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataWindowManagers_rna_properties_);

static PointerPropertyRNA rna_BlendDataWindowManagers_rna_type_ = {
	{nullptr, &rna_BlendDataWindowManagers_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataWindowManagers_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataWindowManagers_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataWindowManagers_rna_type_);

static BoolPropertyRNA rna_BlendDataWindowManagers_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataWindowManagers_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataWindowManagers_tag_value_);

FunctionRNA rna_BlendDataWindowManagers_tag_func = {
	{nullptr, nullptr,
	nullptr,
	{&rna_BlendDataWindowManagers_tag_value, &rna_BlendDataWindowManagers_tag_value}},
	"tag", 0, "tag",
	BlendDataWindowManagers_tag_call,
	nullptr
};

StructRNA RNA_BlendDataWindowManagers = {
	{(ContainerRNA *)&RNA_BlendDataImages, (ContainerRNA *)&RNA_BlendDataScreens,
	nullptr,
	{&rna_BlendDataWindowManagers_rna_properties, &rna_BlendDataWindowManagers_rna_type}},
	"BlendDataWindowManagers", nullptr, nullptr, 516, nullptr, "Main Window Managers",
	"Collection of window managers",
	"*", 61,
	nullptr, &rna_BlendDataWindowManagers_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataWindowManagers_tag_func, (FunctionRNA *)&rna_BlendDataWindowManagers_tag_func}
};

/* Main Images */
static CollectionPropertyRNA rna_BlendDataImages_rna_properties_ = {
	{&rna_BlendDataImages_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataImages_rna_properties_begin, BlendDataImages_rna_properties_next, BlendDataImages_rna_properties_end, BlendDataImages_rna_properties_get, nullptr, nullptr, BlendDataImages_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataImages_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_rna_properties_);

static PointerPropertyRNA rna_BlendDataImages_rna_type_ = {
	{nullptr, &rna_BlendDataImages_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataImages_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataImages_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_rna_type_);

static StringPropertyRNA rna_BlendDataImages_new_name_ = {
	{&rna_BlendDataImages_new_width, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Image"
};
PropertyRNA &rna_BlendDataImages_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_new_name_);

static IntPropertyRNA rna_BlendDataImages_new_width_ = {
	{&rna_BlendDataImages_new_height, &rna_BlendDataImages_new_name,
	-1, "width", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"Width of the image",
	0, "*",
	PROP_INT, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
	PROP_SCALE_LINEAR, 1, INT_MAX, 1, INT_MAX, 1, nullptr, nullptr, 1024, nullptr
};
PropertyRNA &rna_BlendDataImages_new_width = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_new_width_);

static IntPropertyRNA rna_BlendDataImages_new_height_ = {
	{&rna_BlendDataImages_new_alpha, &rna_BlendDataImages_new_width,
	-1, "height", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"Height of the image",
	0, "*",
	PROP_INT, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
	PROP_SCALE_LINEAR, 1, INT_MAX, 1, INT_MAX, 1, nullptr, nullptr, 1024, nullptr
};
PropertyRNA &rna_BlendDataImages_new_height = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_new_height_);

static BoolPropertyRNA rna_BlendDataImages_new_alpha_ = {
	{&rna_BlendDataImages_new_float_buffer, &rna_BlendDataImages_new_height,
	-1, "alpha", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "Alpha",
	"Use alpha channel",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataImages_new_alpha = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_new_alpha_);

static BoolPropertyRNA rna_BlendDataImages_new_float_buffer_ = {
	{&rna_BlendDataImages_new_stereo3d, &rna_BlendDataImages_new_alpha,
	-1, "float_buffer", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "Float Buffer",
	"Create an image with floating-point color",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataImages_new_float_buffer = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_new_float_buffer_);

static BoolPropertyRNA rna_BlendDataImages_new_stereo3d_ = {
	{&rna_BlendDataImages_new_is_data, &rna_BlendDataImages_new_float_buffer,
	-1, "stereo3d", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "Stereo 3D",
	"Create left and right views",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataImages_new_stereo3d = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_new_stereo3d_);

static BoolPropertyRNA rna_BlendDataImages_new_is_data_ = {
	{&rna_BlendDataImages_new_tiled, &rna_BlendDataImages_new_stereo3d,
	-1, "is_data", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "Is Data",
	"Create image with non-color data color space",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataImages_new_is_data = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_new_is_data_);

static BoolPropertyRNA rna_BlendDataImages_new_tiled_ = {
	{&rna_BlendDataImages_new_image, &rna_BlendDataImages_new_is_data,
	-1, "tiled", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "Tiled",
	"Create a tiled image",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataImages_new_tiled = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_new_tiled_);

static PointerPropertyRNA rna_BlendDataImages_new_image_ = {
	{nullptr, &rna_BlendDataImages_new_tiled,
	-1, "image", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New image data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Image
};
PropertyRNA &rna_BlendDataImages_new_image = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_new_image_);

FunctionRNA rna_BlendDataImages_new_func = {
	{(FunctionRNA *)&rna_BlendDataImages_load_func, nullptr,
	nullptr,
	{&rna_BlendDataImages_new_name, &rna_BlendDataImages_new_image}},
	"new", 0, "Add a new image to the main database",
	BlendDataImages_new_call,
	&rna_BlendDataImages_new_image
};

static StringPropertyRNA rna_BlendDataImages_load_filepath_ = {
	{&rna_BlendDataImages_load_check_existing, nullptr,
	-1, "filepath", 294913, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"Path of the file to load",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_FILEPATH) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "File Path"
};
PropertyRNA &rna_BlendDataImages_load_filepath = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_load_filepath_);

static BoolPropertyRNA rna_BlendDataImages_load_check_existing_ = {
	{&rna_BlendDataImages_load_image, &rna_BlendDataImages_load_filepath,
	-1, "check_existing", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Using existing data-block if this file is already loaded",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataImages_load_check_existing = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_load_check_existing_);

static PointerPropertyRNA rna_BlendDataImages_load_image_ = {
	{nullptr, &rna_BlendDataImages_load_check_existing,
	-1, "image", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New image data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Image
};
PropertyRNA &rna_BlendDataImages_load_image = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_load_image_);

FunctionRNA rna_BlendDataImages_load_func = {
	{(FunctionRNA *)&rna_BlendDataImages_remove_func, (FunctionRNA *)&rna_BlendDataImages_new_func,
	nullptr,
	{&rna_BlendDataImages_load_filepath, &rna_BlendDataImages_load_image}},
	"load", 16, "Load a new image into the main database",
	BlendDataImages_load_call,
	&rna_BlendDataImages_load_image
};

static PointerPropertyRNA rna_BlendDataImages_remove_image_ = {
	{&rna_BlendDataImages_remove_do_unlink, nullptr,
	-1, "image", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Image to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Image
};
PropertyRNA &rna_BlendDataImages_remove_image = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_remove_image_);

static BoolPropertyRNA rna_BlendDataImages_remove_do_unlink_ = {
	{&rna_BlendDataImages_remove_do_id_user, &rna_BlendDataImages_remove_image,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this image before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataImages_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataImages_remove_do_id_user_ = {
	{&rna_BlendDataImages_remove_do_ui_user, &rna_BlendDataImages_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this image",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataImages_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataImages_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataImages_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this image",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataImages_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_remove_do_ui_user_);

FunctionRNA rna_BlendDataImages_remove_func = {
	{(FunctionRNA *)&rna_BlendDataImages_tag_func, (FunctionRNA *)&rna_BlendDataImages_load_func,
	nullptr,
	{&rna_BlendDataImages_remove_image, &rna_BlendDataImages_remove_do_ui_user}},
	"remove", 16, "Remove an image from the current blendfile",
	BlendDataImages_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataImages_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataImages_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataImages_tag_value_);

FunctionRNA rna_BlendDataImages_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataImages_remove_func,
	nullptr,
	{&rna_BlendDataImages_tag_value, &rna_BlendDataImages_tag_value}},
	"tag", 0, "tag",
	BlendDataImages_tag_call,
	nullptr
};

StructRNA RNA_BlendDataImages = {
	{(ContainerRNA *)&RNA_BlendDataLattices, (ContainerRNA *)&RNA_BlendDataWindowManagers,
	nullptr,
	{&rna_BlendDataImages_rna_properties, &rna_BlendDataImages_rna_type}},
	"BlendDataImages", nullptr, nullptr, 516, nullptr, "Main Images",
	"Collection of images",
	"*", 61,
	nullptr, &rna_BlendDataImages_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataImages_new_func, (FunctionRNA *)&rna_BlendDataImages_tag_func}
};

/* Main Lattices */
static CollectionPropertyRNA rna_BlendDataLattices_rna_properties_ = {
	{&rna_BlendDataLattices_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataLattices_rna_properties_begin, BlendDataLattices_rna_properties_next, BlendDataLattices_rna_properties_end, BlendDataLattices_rna_properties_get, nullptr, nullptr, BlendDataLattices_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataLattices_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataLattices_rna_properties_);

static PointerPropertyRNA rna_BlendDataLattices_rna_type_ = {
	{nullptr, &rna_BlendDataLattices_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataLattices_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataLattices_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataLattices_rna_type_);

static StringPropertyRNA rna_BlendDataLattices_new_name_ = {
	{&rna_BlendDataLattices_new_lattice, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Lattice"
};
PropertyRNA &rna_BlendDataLattices_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataLattices_new_name_);

static PointerPropertyRNA rna_BlendDataLattices_new_lattice_ = {
	{nullptr, &rna_BlendDataLattices_new_name,
	-1, "lattice", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New lattice data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Lattice
};
PropertyRNA &rna_BlendDataLattices_new_lattice = reinterpret_cast<PropertyRNA &>(rna_BlendDataLattices_new_lattice_);

FunctionRNA rna_BlendDataLattices_new_func = {
	{(FunctionRNA *)&rna_BlendDataLattices_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataLattices_new_name, &rna_BlendDataLattices_new_lattice}},
	"new", 0, "Add a new lattice to the main database",
	BlendDataLattices_new_call,
	&rna_BlendDataLattices_new_lattice
};

static PointerPropertyRNA rna_BlendDataLattices_remove_lattice_ = {
	{&rna_BlendDataLattices_remove_do_unlink, nullptr,
	-1, "lattice", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Lattice to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Lattice
};
PropertyRNA &rna_BlendDataLattices_remove_lattice = reinterpret_cast<PropertyRNA &>(rna_BlendDataLattices_remove_lattice_);

static BoolPropertyRNA rna_BlendDataLattices_remove_do_unlink_ = {
	{&rna_BlendDataLattices_remove_do_id_user, &rna_BlendDataLattices_remove_lattice,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this lattice before deleting it (WARNING: will also delete objects instancing that lattice data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLattices_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataLattices_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataLattices_remove_do_id_user_ = {
	{&rna_BlendDataLattices_remove_do_ui_user, &rna_BlendDataLattices_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this lattice data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLattices_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataLattices_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataLattices_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataLattices_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this lattice data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLattices_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataLattices_remove_do_ui_user_);

FunctionRNA rna_BlendDataLattices_remove_func = {
	{(FunctionRNA *)&rna_BlendDataLattices_tag_func, (FunctionRNA *)&rna_BlendDataLattices_new_func,
	nullptr,
	{&rna_BlendDataLattices_remove_lattice, &rna_BlendDataLattices_remove_do_ui_user}},
	"remove", 16, "Remove a lattice from the current blendfile",
	BlendDataLattices_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataLattices_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataLattices_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataLattices_tag_value_);

FunctionRNA rna_BlendDataLattices_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataLattices_remove_func,
	nullptr,
	{&rna_BlendDataLattices_tag_value, &rna_BlendDataLattices_tag_value}},
	"tag", 0, "tag",
	BlendDataLattices_tag_call,
	nullptr
};

StructRNA RNA_BlendDataLattices = {
	{(ContainerRNA *)&RNA_BlendDataCurves, (ContainerRNA *)&RNA_BlendDataImages,
	nullptr,
	{&rna_BlendDataLattices_rna_properties, &rna_BlendDataLattices_rna_type}},
	"BlendDataLattices", nullptr, nullptr, 516, nullptr, "Main Lattices",
	"Collection of lattices",
	"*", 61,
	nullptr, &rna_BlendDataLattices_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataLattices_new_func, (FunctionRNA *)&rna_BlendDataLattices_tag_func}
};

/* Main Curves */
static CollectionPropertyRNA rna_BlendDataCurves_rna_properties_ = {
	{&rna_BlendDataCurves_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataCurves_rna_properties_begin, BlendDataCurves_rna_properties_next, BlendDataCurves_rna_properties_end, BlendDataCurves_rna_properties_get, nullptr, nullptr, BlendDataCurves_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataCurves_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataCurves_rna_properties_);

static PointerPropertyRNA rna_BlendDataCurves_rna_type_ = {
	{nullptr, &rna_BlendDataCurves_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataCurves_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataCurves_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataCurves_rna_type_);

static StringPropertyRNA rna_BlendDataCurves_new_name_ = {
	{&rna_BlendDataCurves_new_type, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Curve"
};
PropertyRNA &rna_BlendDataCurves_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataCurves_new_name_);

static EnumPropertyRNA rna_BlendDataCurves_new_type_ = {
	{&rna_BlendDataCurves_new_curve, &rna_BlendDataCurves_new_name,
	-1, "type", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Type",
	"The type of curve to add",
	0, "*",
	PROP_ENUM, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, rna_enum_object_type_curve_items, 3, 2
};
PropertyRNA &rna_BlendDataCurves_new_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataCurves_new_type_);

static PointerPropertyRNA rna_BlendDataCurves_new_curve_ = {
	{nullptr, &rna_BlendDataCurves_new_type,
	-1, "curve", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New curve data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Curve
};
PropertyRNA &rna_BlendDataCurves_new_curve = reinterpret_cast<PropertyRNA &>(rna_BlendDataCurves_new_curve_);

FunctionRNA rna_BlendDataCurves_new_func = {
	{(FunctionRNA *)&rna_BlendDataCurves_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataCurves_new_name, &rna_BlendDataCurves_new_curve}},
	"new", 0, "Add a new curve to the main database",
	BlendDataCurves_new_call,
	&rna_BlendDataCurves_new_curve
};

static PointerPropertyRNA rna_BlendDataCurves_remove_curve_ = {
	{&rna_BlendDataCurves_remove_do_unlink, nullptr,
	-1, "curve", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Curve to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Curve
};
PropertyRNA &rna_BlendDataCurves_remove_curve = reinterpret_cast<PropertyRNA &>(rna_BlendDataCurves_remove_curve_);

static BoolPropertyRNA rna_BlendDataCurves_remove_do_unlink_ = {
	{&rna_BlendDataCurves_remove_do_id_user, &rna_BlendDataCurves_remove_curve,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this curve before deleting it (WARNING: will also delete objects instancing that curve data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataCurves_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataCurves_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataCurves_remove_do_id_user_ = {
	{&rna_BlendDataCurves_remove_do_ui_user, &rna_BlendDataCurves_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this curve data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataCurves_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataCurves_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataCurves_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataCurves_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this curve data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataCurves_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataCurves_remove_do_ui_user_);

FunctionRNA rna_BlendDataCurves_remove_func = {
	{(FunctionRNA *)&rna_BlendDataCurves_tag_func, (FunctionRNA *)&rna_BlendDataCurves_new_func,
	nullptr,
	{&rna_BlendDataCurves_remove_curve, &rna_BlendDataCurves_remove_do_ui_user}},
	"remove", 16, "Remove a curve from the current blendfile",
	BlendDataCurves_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataCurves_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataCurves_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataCurves_tag_value_);

FunctionRNA rna_BlendDataCurves_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataCurves_remove_func,
	nullptr,
	{&rna_BlendDataCurves_tag_value, &rna_BlendDataCurves_tag_value}},
	"tag", 0, "tag",
	BlendDataCurves_tag_call,
	nullptr
};

StructRNA RNA_BlendDataCurves = {
	{(ContainerRNA *)&RNA_BlendDataMetaBalls, (ContainerRNA *)&RNA_BlendDataLattices,
	nullptr,
	{&rna_BlendDataCurves_rna_properties, &rna_BlendDataCurves_rna_type}},
	"BlendDataCurves", nullptr, nullptr, 516, nullptr, "Main Curves",
	"Collection of curves",
	"*", 61,
	nullptr, &rna_BlendDataCurves_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataCurves_new_func, (FunctionRNA *)&rna_BlendDataCurves_tag_func}
};

/* Main Metaballs */
static CollectionPropertyRNA rna_BlendDataMetaBalls_rna_properties_ = {
	{&rna_BlendDataMetaBalls_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataMetaBalls_rna_properties_begin, BlendDataMetaBalls_rna_properties_next, BlendDataMetaBalls_rna_properties_end, BlendDataMetaBalls_rna_properties_get, nullptr, nullptr, BlendDataMetaBalls_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataMetaBalls_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataMetaBalls_rna_properties_);

static PointerPropertyRNA rna_BlendDataMetaBalls_rna_type_ = {
	{nullptr, &rna_BlendDataMetaBalls_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataMetaBalls_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataMetaBalls_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataMetaBalls_rna_type_);

static StringPropertyRNA rna_BlendDataMetaBalls_new_name_ = {
	{&rna_BlendDataMetaBalls_new_metaball, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "MetaBall"
};
PropertyRNA &rna_BlendDataMetaBalls_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataMetaBalls_new_name_);

static PointerPropertyRNA rna_BlendDataMetaBalls_new_metaball_ = {
	{nullptr, &rna_BlendDataMetaBalls_new_name,
	-1, "metaball", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New metaball data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_MetaBall
};
PropertyRNA &rna_BlendDataMetaBalls_new_metaball = reinterpret_cast<PropertyRNA &>(rna_BlendDataMetaBalls_new_metaball_);

FunctionRNA rna_BlendDataMetaBalls_new_func = {
	{(FunctionRNA *)&rna_BlendDataMetaBalls_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataMetaBalls_new_name, &rna_BlendDataMetaBalls_new_metaball}},
	"new", 0, "Add a new metaball to the main database",
	BlendDataMetaBalls_new_call,
	&rna_BlendDataMetaBalls_new_metaball
};

static PointerPropertyRNA rna_BlendDataMetaBalls_remove_metaball_ = {
	{&rna_BlendDataMetaBalls_remove_do_unlink, nullptr,
	-1, "metaball", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Metaball to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_MetaBall
};
PropertyRNA &rna_BlendDataMetaBalls_remove_metaball = reinterpret_cast<PropertyRNA &>(rna_BlendDataMetaBalls_remove_metaball_);

static BoolPropertyRNA rna_BlendDataMetaBalls_remove_do_unlink_ = {
	{&rna_BlendDataMetaBalls_remove_do_id_user, &rna_BlendDataMetaBalls_remove_metaball,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this metaball before deleting it (WARNING: will also delete objects instancing that metaball data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMetaBalls_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataMetaBalls_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataMetaBalls_remove_do_id_user_ = {
	{&rna_BlendDataMetaBalls_remove_do_ui_user, &rna_BlendDataMetaBalls_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this metaball data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMetaBalls_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataMetaBalls_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataMetaBalls_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataMetaBalls_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this metaball data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMetaBalls_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataMetaBalls_remove_do_ui_user_);

FunctionRNA rna_BlendDataMetaBalls_remove_func = {
	{(FunctionRNA *)&rna_BlendDataMetaBalls_tag_func, (FunctionRNA *)&rna_BlendDataMetaBalls_new_func,
	nullptr,
	{&rna_BlendDataMetaBalls_remove_metaball, &rna_BlendDataMetaBalls_remove_do_ui_user}},
	"remove", 16, "Remove a metaball from the current blendfile",
	BlendDataMetaBalls_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataMetaBalls_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataMetaBalls_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataMetaBalls_tag_value_);

FunctionRNA rna_BlendDataMetaBalls_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataMetaBalls_remove_func,
	nullptr,
	{&rna_BlendDataMetaBalls_tag_value, &rna_BlendDataMetaBalls_tag_value}},
	"tag", 0, "tag",
	BlendDataMetaBalls_tag_call,
	nullptr
};

StructRNA RNA_BlendDataMetaBalls = {
	{(ContainerRNA *)&RNA_BlendDataFonts, (ContainerRNA *)&RNA_BlendDataCurves,
	nullptr,
	{&rna_BlendDataMetaBalls_rna_properties, &rna_BlendDataMetaBalls_rna_type}},
	"BlendDataMetaBalls", nullptr, nullptr, 516, nullptr, "Main Metaballs",
	"Collection of metaballs",
	"*", 61,
	nullptr, &rna_BlendDataMetaBalls_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataMetaBalls_new_func, (FunctionRNA *)&rna_BlendDataMetaBalls_tag_func}
};

/* Main Fonts */
static CollectionPropertyRNA rna_BlendDataFonts_rna_properties_ = {
	{&rna_BlendDataFonts_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataFonts_rna_properties_begin, BlendDataFonts_rna_properties_next, BlendDataFonts_rna_properties_end, BlendDataFonts_rna_properties_get, nullptr, nullptr, BlendDataFonts_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataFonts_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataFonts_rna_properties_);

static PointerPropertyRNA rna_BlendDataFonts_rna_type_ = {
	{nullptr, &rna_BlendDataFonts_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataFonts_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataFonts_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataFonts_rna_type_);

static StringPropertyRNA rna_BlendDataFonts_load_filepath_ = {
	{&rna_BlendDataFonts_load_check_existing, nullptr,
	-1, "filepath", 294913, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"path of the font to load",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_FILEPATH) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "File Path"
};
PropertyRNA &rna_BlendDataFonts_load_filepath = reinterpret_cast<PropertyRNA &>(rna_BlendDataFonts_load_filepath_);

static BoolPropertyRNA rna_BlendDataFonts_load_check_existing_ = {
	{&rna_BlendDataFonts_load_vfont, &rna_BlendDataFonts_load_filepath,
	-1, "check_existing", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Using existing data-block if this file is already loaded",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataFonts_load_check_existing = reinterpret_cast<PropertyRNA &>(rna_BlendDataFonts_load_check_existing_);

static PointerPropertyRNA rna_BlendDataFonts_load_vfont_ = {
	{nullptr, &rna_BlendDataFonts_load_check_existing,
	-1, "vfont", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New font data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_VectorFont
};
PropertyRNA &rna_BlendDataFonts_load_vfont = reinterpret_cast<PropertyRNA &>(rna_BlendDataFonts_load_vfont_);

FunctionRNA rna_BlendDataFonts_load_func = {
	{(FunctionRNA *)&rna_BlendDataFonts_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataFonts_load_filepath, &rna_BlendDataFonts_load_vfont}},
	"load", 16, "Load a new font into the main database",
	BlendDataFonts_load_call,
	&rna_BlendDataFonts_load_vfont
};

static PointerPropertyRNA rna_BlendDataFonts_remove_vfont_ = {
	{&rna_BlendDataFonts_remove_do_unlink, nullptr,
	-1, "vfont", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Font to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_VectorFont
};
PropertyRNA &rna_BlendDataFonts_remove_vfont = reinterpret_cast<PropertyRNA &>(rna_BlendDataFonts_remove_vfont_);

static BoolPropertyRNA rna_BlendDataFonts_remove_do_unlink_ = {
	{&rna_BlendDataFonts_remove_do_id_user, &rna_BlendDataFonts_remove_vfont,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this font before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataFonts_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataFonts_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataFonts_remove_do_id_user_ = {
	{&rna_BlendDataFonts_remove_do_ui_user, &rna_BlendDataFonts_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this font",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataFonts_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataFonts_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataFonts_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataFonts_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this font",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataFonts_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataFonts_remove_do_ui_user_);

FunctionRNA rna_BlendDataFonts_remove_func = {
	{(FunctionRNA *)&rna_BlendDataFonts_tag_func, (FunctionRNA *)&rna_BlendDataFonts_load_func,
	nullptr,
	{&rna_BlendDataFonts_remove_vfont, &rna_BlendDataFonts_remove_do_ui_user}},
	"remove", 16, "Remove a font from the current blendfile",
	BlendDataFonts_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataFonts_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataFonts_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataFonts_tag_value_);

FunctionRNA rna_BlendDataFonts_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataFonts_remove_func,
	nullptr,
	{&rna_BlendDataFonts_tag_value, &rna_BlendDataFonts_tag_value}},
	"tag", 0, "tag",
	BlendDataFonts_tag_call,
	nullptr
};

StructRNA RNA_BlendDataFonts = {
	{(ContainerRNA *)&RNA_BlendDataTextures, (ContainerRNA *)&RNA_BlendDataMetaBalls,
	nullptr,
	{&rna_BlendDataFonts_rna_properties, &rna_BlendDataFonts_rna_type}},
	"BlendDataFonts", nullptr, nullptr, 516, nullptr, "Main Fonts",
	"Collection of fonts",
	"*", 61,
	nullptr, &rna_BlendDataFonts_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataFonts_load_func, (FunctionRNA *)&rna_BlendDataFonts_tag_func}
};

/* Main Textures */
static CollectionPropertyRNA rna_BlendDataTextures_rna_properties_ = {
	{&rna_BlendDataTextures_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataTextures_rna_properties_begin, BlendDataTextures_rna_properties_next, BlendDataTextures_rna_properties_end, BlendDataTextures_rna_properties_get, nullptr, nullptr, BlendDataTextures_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataTextures_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataTextures_rna_properties_);

static PointerPropertyRNA rna_BlendDataTextures_rna_type_ = {
	{nullptr, &rna_BlendDataTextures_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataTextures_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataTextures_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataTextures_rna_type_);

static StringPropertyRNA rna_BlendDataTextures_new_name_ = {
	{&rna_BlendDataTextures_new_type, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Texture"
};
PropertyRNA &rna_BlendDataTextures_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataTextures_new_name_);

static EnumPropertyRNA rna_BlendDataTextures_new_type_ = {
	{&rna_BlendDataTextures_new_texture, &rna_BlendDataTextures_new_name,
	-1, "type", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Type",
	"The type of texture to add",
	0, "*",
	PROP_ENUM, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, rna_enum_texture_type_items, 12, 0
};
PropertyRNA &rna_BlendDataTextures_new_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataTextures_new_type_);

static PointerPropertyRNA rna_BlendDataTextures_new_texture_ = {
	{nullptr, &rna_BlendDataTextures_new_type,
	-1, "texture", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New texture data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Texture
};
PropertyRNA &rna_BlendDataTextures_new_texture = reinterpret_cast<PropertyRNA &>(rna_BlendDataTextures_new_texture_);

FunctionRNA rna_BlendDataTextures_new_func = {
	{(FunctionRNA *)&rna_BlendDataTextures_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataTextures_new_name, &rna_BlendDataTextures_new_texture}},
	"new", 0, "Add a new texture to the main database",
	BlendDataTextures_new_call,
	&rna_BlendDataTextures_new_texture
};

static PointerPropertyRNA rna_BlendDataTextures_remove_texture_ = {
	{&rna_BlendDataTextures_remove_do_unlink, nullptr,
	-1, "texture", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Texture to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Texture
};
PropertyRNA &rna_BlendDataTextures_remove_texture = reinterpret_cast<PropertyRNA &>(rna_BlendDataTextures_remove_texture_);

static BoolPropertyRNA rna_BlendDataTextures_remove_do_unlink_ = {
	{&rna_BlendDataTextures_remove_do_id_user, &rna_BlendDataTextures_remove_texture,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this texture before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataTextures_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataTextures_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataTextures_remove_do_id_user_ = {
	{&rna_BlendDataTextures_remove_do_ui_user, &rna_BlendDataTextures_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this texture",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataTextures_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataTextures_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataTextures_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataTextures_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this texture",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataTextures_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataTextures_remove_do_ui_user_);

FunctionRNA rna_BlendDataTextures_remove_func = {
	{(FunctionRNA *)&rna_BlendDataTextures_tag_func, (FunctionRNA *)&rna_BlendDataTextures_new_func,
	nullptr,
	{&rna_BlendDataTextures_remove_texture, &rna_BlendDataTextures_remove_do_ui_user}},
	"remove", 16, "Remove a texture from the current blendfile",
	BlendDataTextures_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataTextures_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataTextures_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataTextures_tag_value_);

FunctionRNA rna_BlendDataTextures_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataTextures_remove_func,
	nullptr,
	{&rna_BlendDataTextures_tag_value, &rna_BlendDataTextures_tag_value}},
	"tag", 0, "tag",
	BlendDataTextures_tag_call,
	nullptr
};

StructRNA RNA_BlendDataTextures = {
	{(ContainerRNA *)&RNA_BlendDataBrushes, (ContainerRNA *)&RNA_BlendDataFonts,
	nullptr,
	{&rna_BlendDataTextures_rna_properties, &rna_BlendDataTextures_rna_type}},
	"BlendDataTextures", nullptr, nullptr, 516, nullptr, "Main Textures",
	"Collection of textures",
	"*", 61,
	nullptr, &rna_BlendDataTextures_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataTextures_new_func, (FunctionRNA *)&rna_BlendDataTextures_tag_func}
};

/* Main Brushes */
static CollectionPropertyRNA rna_BlendDataBrushes_rna_properties_ = {
	{&rna_BlendDataBrushes_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataBrushes_rna_properties_begin, BlendDataBrushes_rna_properties_next, BlendDataBrushes_rna_properties_end, BlendDataBrushes_rna_properties_get, nullptr, nullptr, BlendDataBrushes_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataBrushes_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataBrushes_rna_properties_);

static PointerPropertyRNA rna_BlendDataBrushes_rna_type_ = {
	{nullptr, &rna_BlendDataBrushes_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataBrushes_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataBrushes_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataBrushes_rna_type_);

static StringPropertyRNA rna_BlendDataBrushes_new_name_ = {
	{&rna_BlendDataBrushes_new_mode, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Brush"
};
PropertyRNA &rna_BlendDataBrushes_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataBrushes_new_name_);

static EnumPropertyRNA rna_BlendDataBrushes_new_mode_ = {
	{&rna_BlendDataBrushes_new_brush, &rna_BlendDataBrushes_new_name,
	-1, "mode", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Paint Mode for the new brush",
	0, "*",
	PROP_ENUM, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, rna_enum_object_mode_items, 14, 16
};
PropertyRNA &rna_BlendDataBrushes_new_mode = reinterpret_cast<PropertyRNA &>(rna_BlendDataBrushes_new_mode_);

static PointerPropertyRNA rna_BlendDataBrushes_new_brush_ = {
	{nullptr, &rna_BlendDataBrushes_new_mode,
	-1, "brush", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New brush data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Brush
};
PropertyRNA &rna_BlendDataBrushes_new_brush = reinterpret_cast<PropertyRNA &>(rna_BlendDataBrushes_new_brush_);

FunctionRNA rna_BlendDataBrushes_new_func = {
	{(FunctionRNA *)&rna_BlendDataBrushes_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataBrushes_new_name, &rna_BlendDataBrushes_new_brush}},
	"new", 0, "Add a new brush to the main database",
	BlendDataBrushes_new_call,
	&rna_BlendDataBrushes_new_brush
};

static PointerPropertyRNA rna_BlendDataBrushes_remove_brush_ = {
	{&rna_BlendDataBrushes_remove_do_unlink, nullptr,
	-1, "brush", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Brush to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Brush
};
PropertyRNA &rna_BlendDataBrushes_remove_brush = reinterpret_cast<PropertyRNA &>(rna_BlendDataBrushes_remove_brush_);

static BoolPropertyRNA rna_BlendDataBrushes_remove_do_unlink_ = {
	{&rna_BlendDataBrushes_remove_do_id_user, &rna_BlendDataBrushes_remove_brush,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this brush before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataBrushes_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataBrushes_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataBrushes_remove_do_id_user_ = {
	{&rna_BlendDataBrushes_remove_do_ui_user, &rna_BlendDataBrushes_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this brush",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataBrushes_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataBrushes_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataBrushes_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataBrushes_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this brush",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataBrushes_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataBrushes_remove_do_ui_user_);

FunctionRNA rna_BlendDataBrushes_remove_func = {
	{(FunctionRNA *)&rna_BlendDataBrushes_tag_func, (FunctionRNA *)&rna_BlendDataBrushes_new_func,
	nullptr,
	{&rna_BlendDataBrushes_remove_brush, &rna_BlendDataBrushes_remove_do_ui_user}},
	"remove", 16, "Remove a brush from the current blendfile",
	BlendDataBrushes_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataBrushes_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataBrushes_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataBrushes_tag_value_);

FunctionRNA rna_BlendDataBrushes_tag_func = {
	{(FunctionRNA *)&rna_BlendDataBrushes_create_gpencil_data_func, (FunctionRNA *)&rna_BlendDataBrushes_remove_func,
	nullptr,
	{&rna_BlendDataBrushes_tag_value, &rna_BlendDataBrushes_tag_value}},
	"tag", 0, "tag",
	BlendDataBrushes_tag_call,
	nullptr
};

static PointerPropertyRNA rna_BlendDataBrushes_create_gpencil_data_brush_ = {
	{nullptr, nullptr,
	-1, "brush", 8650880, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Brush",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Brush
};
PropertyRNA &rna_BlendDataBrushes_create_gpencil_data_brush = reinterpret_cast<PropertyRNA &>(rna_BlendDataBrushes_create_gpencil_data_brush_);

FunctionRNA rna_BlendDataBrushes_create_gpencil_data_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataBrushes_tag_func,
	nullptr,
	{&rna_BlendDataBrushes_create_gpencil_data_brush, &rna_BlendDataBrushes_create_gpencil_data_brush}},
	"create_gpencil_data", 0, "Add Grease Pencil brush settings",
	BlendDataBrushes_create_gpencil_data_call,
	nullptr
};

StructRNA RNA_BlendDataBrushes = {
	{(ContainerRNA *)&RNA_BlendDataWorlds, (ContainerRNA *)&RNA_BlendDataTextures,
	nullptr,
	{&rna_BlendDataBrushes_rna_properties, &rna_BlendDataBrushes_rna_type}},
	"BlendDataBrushes", nullptr, nullptr, 516, nullptr, "Main Brushes",
	"Collection of brushes",
	"*", 61,
	nullptr, &rna_BlendDataBrushes_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataBrushes_new_func, (FunctionRNA *)&rna_BlendDataBrushes_create_gpencil_data_func}
};

/* Main Worlds */
static CollectionPropertyRNA rna_BlendDataWorlds_rna_properties_ = {
	{&rna_BlendDataWorlds_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataWorlds_rna_properties_begin, BlendDataWorlds_rna_properties_next, BlendDataWorlds_rna_properties_end, BlendDataWorlds_rna_properties_get, nullptr, nullptr, BlendDataWorlds_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataWorlds_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorlds_rna_properties_);

static PointerPropertyRNA rna_BlendDataWorlds_rna_type_ = {
	{nullptr, &rna_BlendDataWorlds_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataWorlds_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataWorlds_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorlds_rna_type_);

static StringPropertyRNA rna_BlendDataWorlds_new_name_ = {
	{&rna_BlendDataWorlds_new_world, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "World"
};
PropertyRNA &rna_BlendDataWorlds_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorlds_new_name_);

static PointerPropertyRNA rna_BlendDataWorlds_new_world_ = {
	{nullptr, &rna_BlendDataWorlds_new_name,
	-1, "world", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New world data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_World
};
PropertyRNA &rna_BlendDataWorlds_new_world = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorlds_new_world_);

FunctionRNA rna_BlendDataWorlds_new_func = {
	{(FunctionRNA *)&rna_BlendDataWorlds_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataWorlds_new_name, &rna_BlendDataWorlds_new_world}},
	"new", 0, "Add a new world to the main database",
	BlendDataWorlds_new_call,
	&rna_BlendDataWorlds_new_world
};

static PointerPropertyRNA rna_BlendDataWorlds_remove_world_ = {
	{&rna_BlendDataWorlds_remove_do_unlink, nullptr,
	-1, "world", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"World to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_World
};
PropertyRNA &rna_BlendDataWorlds_remove_world = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorlds_remove_world_);

static BoolPropertyRNA rna_BlendDataWorlds_remove_do_unlink_ = {
	{&rna_BlendDataWorlds_remove_do_id_user, &rna_BlendDataWorlds_remove_world,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this world before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataWorlds_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorlds_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataWorlds_remove_do_id_user_ = {
	{&rna_BlendDataWorlds_remove_do_ui_user, &rna_BlendDataWorlds_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this world",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataWorlds_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorlds_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataWorlds_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataWorlds_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this world",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataWorlds_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorlds_remove_do_ui_user_);

FunctionRNA rna_BlendDataWorlds_remove_func = {
	{(FunctionRNA *)&rna_BlendDataWorlds_tag_func, (FunctionRNA *)&rna_BlendDataWorlds_new_func,
	nullptr,
	{&rna_BlendDataWorlds_remove_world, &rna_BlendDataWorlds_remove_do_ui_user}},
	"remove", 16, "Remove a world from the current blendfile",
	BlendDataWorlds_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataWorlds_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataWorlds_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorlds_tag_value_);

FunctionRNA rna_BlendDataWorlds_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataWorlds_remove_func,
	nullptr,
	{&rna_BlendDataWorlds_tag_value, &rna_BlendDataWorlds_tag_value}},
	"tag", 0, "tag",
	BlendDataWorlds_tag_call,
	nullptr
};

StructRNA RNA_BlendDataWorlds = {
	{(ContainerRNA *)&RNA_BlendDataCollections, (ContainerRNA *)&RNA_BlendDataBrushes,
	nullptr,
	{&rna_BlendDataWorlds_rna_properties, &rna_BlendDataWorlds_rna_type}},
	"BlendDataWorlds", nullptr, nullptr, 516, nullptr, "Main Worlds",
	"Collection of worlds",
	"*", 61,
	nullptr, &rna_BlendDataWorlds_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataWorlds_new_func, (FunctionRNA *)&rna_BlendDataWorlds_tag_func}
};

/* Main Collections */
static CollectionPropertyRNA rna_BlendDataCollections_rna_properties_ = {
	{&rna_BlendDataCollections_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataCollections_rna_properties_begin, BlendDataCollections_rna_properties_next, BlendDataCollections_rna_properties_end, BlendDataCollections_rna_properties_get, nullptr, nullptr, BlendDataCollections_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataCollections_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataCollections_rna_properties_);

static PointerPropertyRNA rna_BlendDataCollections_rna_type_ = {
	{nullptr, &rna_BlendDataCollections_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataCollections_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataCollections_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataCollections_rna_type_);

static StringPropertyRNA rna_BlendDataCollections_new_name_ = {
	{&rna_BlendDataCollections_new_collection, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Collection"
};
PropertyRNA &rna_BlendDataCollections_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataCollections_new_name_);

static PointerPropertyRNA rna_BlendDataCollections_new_collection_ = {
	{nullptr, &rna_BlendDataCollections_new_name,
	-1, "collection", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New collection data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Collection
};
PropertyRNA &rna_BlendDataCollections_new_collection = reinterpret_cast<PropertyRNA &>(rna_BlendDataCollections_new_collection_);

FunctionRNA rna_BlendDataCollections_new_func = {
	{(FunctionRNA *)&rna_BlendDataCollections_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataCollections_new_name, &rna_BlendDataCollections_new_collection}},
	"new", 0, "Add a new collection to the main database",
	BlendDataCollections_new_call,
	&rna_BlendDataCollections_new_collection
};

static PointerPropertyRNA rna_BlendDataCollections_remove_collection_ = {
	{&rna_BlendDataCollections_remove_do_unlink, nullptr,
	-1, "collection", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Collection to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Collection
};
PropertyRNA &rna_BlendDataCollections_remove_collection = reinterpret_cast<PropertyRNA &>(rna_BlendDataCollections_remove_collection_);

static BoolPropertyRNA rna_BlendDataCollections_remove_do_unlink_ = {
	{&rna_BlendDataCollections_remove_do_id_user, &rna_BlendDataCollections_remove_collection,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this collection before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataCollections_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataCollections_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataCollections_remove_do_id_user_ = {
	{&rna_BlendDataCollections_remove_do_ui_user, &rna_BlendDataCollections_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this collection",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataCollections_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataCollections_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataCollections_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataCollections_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this collection",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataCollections_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataCollections_remove_do_ui_user_);

FunctionRNA rna_BlendDataCollections_remove_func = {
	{(FunctionRNA *)&rna_BlendDataCollections_tag_func, (FunctionRNA *)&rna_BlendDataCollections_new_func,
	nullptr,
	{&rna_BlendDataCollections_remove_collection, &rna_BlendDataCollections_remove_do_ui_user}},
	"remove", 16, "Remove a collection from the current blendfile",
	BlendDataCollections_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataCollections_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataCollections_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataCollections_tag_value_);

FunctionRNA rna_BlendDataCollections_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataCollections_remove_func,
	nullptr,
	{&rna_BlendDataCollections_tag_value, &rna_BlendDataCollections_tag_value}},
	"tag", 0, "tag",
	BlendDataCollections_tag_call,
	nullptr
};

StructRNA RNA_BlendDataCollections = {
	{(ContainerRNA *)&RNA_BlendDataTexts, (ContainerRNA *)&RNA_BlendDataWorlds,
	nullptr,
	{&rna_BlendDataCollections_rna_properties, &rna_BlendDataCollections_rna_type}},
	"BlendDataCollections", nullptr, nullptr, 516, nullptr, "Main Collections",
	"Collection of collections",
	"*", 61,
	nullptr, &rna_BlendDataCollections_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataCollections_new_func, (FunctionRNA *)&rna_BlendDataCollections_tag_func}
};

/* Main Texts */
static CollectionPropertyRNA rna_BlendDataTexts_rna_properties_ = {
	{&rna_BlendDataTexts_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataTexts_rna_properties_begin, BlendDataTexts_rna_properties_next, BlendDataTexts_rna_properties_end, BlendDataTexts_rna_properties_get, nullptr, nullptr, BlendDataTexts_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataTexts_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_rna_properties_);

static PointerPropertyRNA rna_BlendDataTexts_rna_type_ = {
	{nullptr, &rna_BlendDataTexts_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataTexts_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataTexts_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_rna_type_);

static StringPropertyRNA rna_BlendDataTexts_new_name_ = {
	{&rna_BlendDataTexts_new_text, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Text"
};
PropertyRNA &rna_BlendDataTexts_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_new_name_);

static PointerPropertyRNA rna_BlendDataTexts_new_text_ = {
	{nullptr, &rna_BlendDataTexts_new_name,
	-1, "text", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New text data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Text
};
PropertyRNA &rna_BlendDataTexts_new_text = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_new_text_);

FunctionRNA rna_BlendDataTexts_new_func = {
	{(FunctionRNA *)&rna_BlendDataTexts_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataTexts_new_name, &rna_BlendDataTexts_new_text}},
	"new", 0, "Add a new text to the main database",
	BlendDataTexts_new_call,
	&rna_BlendDataTexts_new_text
};

static PointerPropertyRNA rna_BlendDataTexts_remove_text_ = {
	{&rna_BlendDataTexts_remove_do_unlink, nullptr,
	-1, "text", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Text to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Text
};
PropertyRNA &rna_BlendDataTexts_remove_text = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_remove_text_);

static BoolPropertyRNA rna_BlendDataTexts_remove_do_unlink_ = {
	{&rna_BlendDataTexts_remove_do_id_user, &rna_BlendDataTexts_remove_text,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this text before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataTexts_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataTexts_remove_do_id_user_ = {
	{&rna_BlendDataTexts_remove_do_ui_user, &rna_BlendDataTexts_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this text",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataTexts_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataTexts_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataTexts_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this text",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataTexts_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_remove_do_ui_user_);

FunctionRNA rna_BlendDataTexts_remove_func = {
	{(FunctionRNA *)&rna_BlendDataTexts_load_func, (FunctionRNA *)&rna_BlendDataTexts_new_func,
	nullptr,
	{&rna_BlendDataTexts_remove_text, &rna_BlendDataTexts_remove_do_ui_user}},
	"remove", 16, "Remove a text from the current blendfile",
	BlendDataTexts_remove_call,
	nullptr
};

static StringPropertyRNA rna_BlendDataTexts_load_filepath_ = {
	{&rna_BlendDataTexts_load_internal, nullptr,
	-1, "filepath", 294913, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"path for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_FILEPATH) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 1024, "Path"
};
PropertyRNA &rna_BlendDataTexts_load_filepath = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_load_filepath_);

static BoolPropertyRNA rna_BlendDataTexts_load_internal_ = {
	{&rna_BlendDataTexts_load_text, &rna_BlendDataTexts_load_filepath,
	-1, "internal", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "Make internal",
	"Make text file internal after loading",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataTexts_load_internal = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_load_internal_);

static PointerPropertyRNA rna_BlendDataTexts_load_text_ = {
	{nullptr, &rna_BlendDataTexts_load_internal,
	-1, "text", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New text data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Text
};
PropertyRNA &rna_BlendDataTexts_load_text = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_load_text_);

FunctionRNA rna_BlendDataTexts_load_func = {
	{(FunctionRNA *)&rna_BlendDataTexts_tag_func, (FunctionRNA *)&rna_BlendDataTexts_remove_func,
	nullptr,
	{&rna_BlendDataTexts_load_filepath, &rna_BlendDataTexts_load_text}},
	"load", 16, "Add a new text to the main database from a file",
	BlendDataTexts_load_call,
	&rna_BlendDataTexts_load_text
};

static BoolPropertyRNA rna_BlendDataTexts_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataTexts_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataTexts_tag_value_);

FunctionRNA rna_BlendDataTexts_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataTexts_load_func,
	nullptr,
	{&rna_BlendDataTexts_tag_value, &rna_BlendDataTexts_tag_value}},
	"tag", 0, "tag",
	BlendDataTexts_tag_call,
	nullptr
};

StructRNA RNA_BlendDataTexts = {
	{(ContainerRNA *)&RNA_BlendDataSpeakers, (ContainerRNA *)&RNA_BlendDataCollections,
	nullptr,
	{&rna_BlendDataTexts_rna_properties, &rna_BlendDataTexts_rna_type}},
	"BlendDataTexts", nullptr, nullptr, 516, nullptr, "Main Texts",
	"Collection of texts",
	"*", 61,
	nullptr, &rna_BlendDataTexts_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataTexts_new_func, (FunctionRNA *)&rna_BlendDataTexts_tag_func}
};

/* Main Speakers */
static CollectionPropertyRNA rna_BlendDataSpeakers_rna_properties_ = {
	{&rna_BlendDataSpeakers_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataSpeakers_rna_properties_begin, BlendDataSpeakers_rna_properties_next, BlendDataSpeakers_rna_properties_end, BlendDataSpeakers_rna_properties_get, nullptr, nullptr, BlendDataSpeakers_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataSpeakers_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataSpeakers_rna_properties_);

static PointerPropertyRNA rna_BlendDataSpeakers_rna_type_ = {
	{nullptr, &rna_BlendDataSpeakers_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataSpeakers_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataSpeakers_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataSpeakers_rna_type_);

static StringPropertyRNA rna_BlendDataSpeakers_new_name_ = {
	{&rna_BlendDataSpeakers_new_speaker, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Speaker"
};
PropertyRNA &rna_BlendDataSpeakers_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataSpeakers_new_name_);

static PointerPropertyRNA rna_BlendDataSpeakers_new_speaker_ = {
	{nullptr, &rna_BlendDataSpeakers_new_name,
	-1, "speaker", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New speaker data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Speaker
};
PropertyRNA &rna_BlendDataSpeakers_new_speaker = reinterpret_cast<PropertyRNA &>(rna_BlendDataSpeakers_new_speaker_);

FunctionRNA rna_BlendDataSpeakers_new_func = {
	{(FunctionRNA *)&rna_BlendDataSpeakers_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataSpeakers_new_name, &rna_BlendDataSpeakers_new_speaker}},
	"new", 0, "Add a new speaker to the main database",
	BlendDataSpeakers_new_call,
	&rna_BlendDataSpeakers_new_speaker
};

static PointerPropertyRNA rna_BlendDataSpeakers_remove_speaker_ = {
	{&rna_BlendDataSpeakers_remove_do_unlink, nullptr,
	-1, "speaker", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Speaker to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Speaker
};
PropertyRNA &rna_BlendDataSpeakers_remove_speaker = reinterpret_cast<PropertyRNA &>(rna_BlendDataSpeakers_remove_speaker_);

static BoolPropertyRNA rna_BlendDataSpeakers_remove_do_unlink_ = {
	{&rna_BlendDataSpeakers_remove_do_id_user, &rna_BlendDataSpeakers_remove_speaker,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this speaker before deleting it (WARNING: will also delete objects instancing that speaker data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataSpeakers_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataSpeakers_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataSpeakers_remove_do_id_user_ = {
	{&rna_BlendDataSpeakers_remove_do_ui_user, &rna_BlendDataSpeakers_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this speaker data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataSpeakers_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataSpeakers_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataSpeakers_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataSpeakers_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this speaker data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataSpeakers_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataSpeakers_remove_do_ui_user_);

FunctionRNA rna_BlendDataSpeakers_remove_func = {
	{(FunctionRNA *)&rna_BlendDataSpeakers_tag_func, (FunctionRNA *)&rna_BlendDataSpeakers_new_func,
	nullptr,
	{&rna_BlendDataSpeakers_remove_speaker, &rna_BlendDataSpeakers_remove_do_ui_user}},
	"remove", 16, "Remove a speaker from the current blendfile",
	BlendDataSpeakers_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataSpeakers_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataSpeakers_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataSpeakers_tag_value_);

FunctionRNA rna_BlendDataSpeakers_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataSpeakers_remove_func,
	nullptr,
	{&rna_BlendDataSpeakers_tag_value, &rna_BlendDataSpeakers_tag_value}},
	"tag", 0, "tag",
	BlendDataSpeakers_tag_call,
	nullptr
};

StructRNA RNA_BlendDataSpeakers = {
	{(ContainerRNA *)&RNA_BlendDataSounds, (ContainerRNA *)&RNA_BlendDataTexts,
	nullptr,
	{&rna_BlendDataSpeakers_rna_properties, &rna_BlendDataSpeakers_rna_type}},
	"BlendDataSpeakers", nullptr, nullptr, 516, nullptr, "Main Speakers",
	"Collection of speakers",
	"*", 61,
	nullptr, &rna_BlendDataSpeakers_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataSpeakers_new_func, (FunctionRNA *)&rna_BlendDataSpeakers_tag_func}
};

/* Main Sounds */
static CollectionPropertyRNA rna_BlendDataSounds_rna_properties_ = {
	{&rna_BlendDataSounds_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataSounds_rna_properties_begin, BlendDataSounds_rna_properties_next, BlendDataSounds_rna_properties_end, BlendDataSounds_rna_properties_get, nullptr, nullptr, BlendDataSounds_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataSounds_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataSounds_rna_properties_);

static PointerPropertyRNA rna_BlendDataSounds_rna_type_ = {
	{nullptr, &rna_BlendDataSounds_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataSounds_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataSounds_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataSounds_rna_type_);

static StringPropertyRNA rna_BlendDataSounds_load_filepath_ = {
	{&rna_BlendDataSounds_load_check_existing, nullptr,
	-1, "filepath", 294913, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"path for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_FILEPATH) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 1024, "Path"
};
PropertyRNA &rna_BlendDataSounds_load_filepath = reinterpret_cast<PropertyRNA &>(rna_BlendDataSounds_load_filepath_);

static BoolPropertyRNA rna_BlendDataSounds_load_check_existing_ = {
	{&rna_BlendDataSounds_load_sound, &rna_BlendDataSounds_load_filepath,
	-1, "check_existing", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Using existing data-block if this file is already loaded",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataSounds_load_check_existing = reinterpret_cast<PropertyRNA &>(rna_BlendDataSounds_load_check_existing_);

static PointerPropertyRNA rna_BlendDataSounds_load_sound_ = {
	{nullptr, &rna_BlendDataSounds_load_check_existing,
	-1, "sound", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New text data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Sound
};
PropertyRNA &rna_BlendDataSounds_load_sound = reinterpret_cast<PropertyRNA &>(rna_BlendDataSounds_load_sound_);

FunctionRNA rna_BlendDataSounds_load_func = {
	{(FunctionRNA *)&rna_BlendDataSounds_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataSounds_load_filepath, &rna_BlendDataSounds_load_sound}},
	"load", 0, "Add a new sound to the main database from a file",
	BlendDataSounds_load_call,
	&rna_BlendDataSounds_load_sound
};

static PointerPropertyRNA rna_BlendDataSounds_remove_sound_ = {
	{&rna_BlendDataSounds_remove_do_unlink, nullptr,
	-1, "sound", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Sound to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Sound
};
PropertyRNA &rna_BlendDataSounds_remove_sound = reinterpret_cast<PropertyRNA &>(rna_BlendDataSounds_remove_sound_);

static BoolPropertyRNA rna_BlendDataSounds_remove_do_unlink_ = {
	{&rna_BlendDataSounds_remove_do_id_user, &rna_BlendDataSounds_remove_sound,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this sound before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataSounds_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataSounds_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataSounds_remove_do_id_user_ = {
	{&rna_BlendDataSounds_remove_do_ui_user, &rna_BlendDataSounds_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this sound",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataSounds_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataSounds_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataSounds_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataSounds_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this sound",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataSounds_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataSounds_remove_do_ui_user_);

FunctionRNA rna_BlendDataSounds_remove_func = {
	{(FunctionRNA *)&rna_BlendDataSounds_tag_func, (FunctionRNA *)&rna_BlendDataSounds_load_func,
	nullptr,
	{&rna_BlendDataSounds_remove_sound, &rna_BlendDataSounds_remove_do_ui_user}},
	"remove", 16, "Remove a sound from the current blendfile",
	BlendDataSounds_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataSounds_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataSounds_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataSounds_tag_value_);

FunctionRNA rna_BlendDataSounds_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataSounds_remove_func,
	nullptr,
	{&rna_BlendDataSounds_tag_value, &rna_BlendDataSounds_tag_value}},
	"tag", 0, "tag",
	BlendDataSounds_tag_call,
	nullptr
};

StructRNA RNA_BlendDataSounds = {
	{(ContainerRNA *)&RNA_BlendDataArmatures, (ContainerRNA *)&RNA_BlendDataSpeakers,
	nullptr,
	{&rna_BlendDataSounds_rna_properties, &rna_BlendDataSounds_rna_type}},
	"BlendDataSounds", nullptr, nullptr, 516, nullptr, "Main Sounds",
	"Collection of sounds",
	"*", 61,
	nullptr, &rna_BlendDataSounds_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataSounds_load_func, (FunctionRNA *)&rna_BlendDataSounds_tag_func}
};

/* Main Armatures */
static CollectionPropertyRNA rna_BlendDataArmatures_rna_properties_ = {
	{&rna_BlendDataArmatures_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataArmatures_rna_properties_begin, BlendDataArmatures_rna_properties_next, BlendDataArmatures_rna_properties_end, BlendDataArmatures_rna_properties_get, nullptr, nullptr, BlendDataArmatures_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataArmatures_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataArmatures_rna_properties_);

static PointerPropertyRNA rna_BlendDataArmatures_rna_type_ = {
	{nullptr, &rna_BlendDataArmatures_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataArmatures_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataArmatures_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataArmatures_rna_type_);

static StringPropertyRNA rna_BlendDataArmatures_new_name_ = {
	{&rna_BlendDataArmatures_new_armature, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Armature"
};
PropertyRNA &rna_BlendDataArmatures_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataArmatures_new_name_);

static PointerPropertyRNA rna_BlendDataArmatures_new_armature_ = {
	{nullptr, &rna_BlendDataArmatures_new_name,
	-1, "armature", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New armature data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Armature
};
PropertyRNA &rna_BlendDataArmatures_new_armature = reinterpret_cast<PropertyRNA &>(rna_BlendDataArmatures_new_armature_);

FunctionRNA rna_BlendDataArmatures_new_func = {
	{(FunctionRNA *)&rna_BlendDataArmatures_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataArmatures_new_name, &rna_BlendDataArmatures_new_armature}},
	"new", 0, "Add a new armature to the main database",
	BlendDataArmatures_new_call,
	&rna_BlendDataArmatures_new_armature
};

static PointerPropertyRNA rna_BlendDataArmatures_remove_armature_ = {
	{&rna_BlendDataArmatures_remove_do_unlink, nullptr,
	-1, "armature", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Armature to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Armature
};
PropertyRNA &rna_BlendDataArmatures_remove_armature = reinterpret_cast<PropertyRNA &>(rna_BlendDataArmatures_remove_armature_);

static BoolPropertyRNA rna_BlendDataArmatures_remove_do_unlink_ = {
	{&rna_BlendDataArmatures_remove_do_id_user, &rna_BlendDataArmatures_remove_armature,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this armature before deleting it (WARNING: will also delete objects instancing that armature data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataArmatures_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataArmatures_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataArmatures_remove_do_id_user_ = {
	{&rna_BlendDataArmatures_remove_do_ui_user, &rna_BlendDataArmatures_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this armature data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataArmatures_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataArmatures_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataArmatures_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataArmatures_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this armature data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataArmatures_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataArmatures_remove_do_ui_user_);

FunctionRNA rna_BlendDataArmatures_remove_func = {
	{(FunctionRNA *)&rna_BlendDataArmatures_tag_func, (FunctionRNA *)&rna_BlendDataArmatures_new_func,
	nullptr,
	{&rna_BlendDataArmatures_remove_armature, &rna_BlendDataArmatures_remove_do_ui_user}},
	"remove", 16, "Remove an armature from the current blendfile",
	BlendDataArmatures_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataArmatures_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataArmatures_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataArmatures_tag_value_);

FunctionRNA rna_BlendDataArmatures_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataArmatures_remove_func,
	nullptr,
	{&rna_BlendDataArmatures_tag_value, &rna_BlendDataArmatures_tag_value}},
	"tag", 0, "tag",
	BlendDataArmatures_tag_call,
	nullptr
};

StructRNA RNA_BlendDataArmatures = {
	{(ContainerRNA *)&RNA_BlendDataActions, (ContainerRNA *)&RNA_BlendDataSounds,
	nullptr,
	{&rna_BlendDataArmatures_rna_properties, &rna_BlendDataArmatures_rna_type}},
	"BlendDataArmatures", nullptr, nullptr, 516, nullptr, "Main Armatures",
	"Collection of armatures",
	"*", 61,
	nullptr, &rna_BlendDataArmatures_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataArmatures_new_func, (FunctionRNA *)&rna_BlendDataArmatures_tag_func}
};

/* Main Actions */
static CollectionPropertyRNA rna_BlendDataActions_rna_properties_ = {
	{&rna_BlendDataActions_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataActions_rna_properties_begin, BlendDataActions_rna_properties_next, BlendDataActions_rna_properties_end, BlendDataActions_rna_properties_get, nullptr, nullptr, BlendDataActions_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataActions_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataActions_rna_properties_);

static PointerPropertyRNA rna_BlendDataActions_rna_type_ = {
	{nullptr, &rna_BlendDataActions_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataActions_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataActions_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataActions_rna_type_);

static StringPropertyRNA rna_BlendDataActions_new_name_ = {
	{&rna_BlendDataActions_new_action, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Action"
};
PropertyRNA &rna_BlendDataActions_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataActions_new_name_);

static PointerPropertyRNA rna_BlendDataActions_new_action_ = {
	{nullptr, &rna_BlendDataActions_new_name,
	-1, "action", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New action data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Action
};
PropertyRNA &rna_BlendDataActions_new_action = reinterpret_cast<PropertyRNA &>(rna_BlendDataActions_new_action_);

FunctionRNA rna_BlendDataActions_new_func = {
	{(FunctionRNA *)&rna_BlendDataActions_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataActions_new_name, &rna_BlendDataActions_new_action}},
	"new", 0, "Add a new action to the main database",
	BlendDataActions_new_call,
	&rna_BlendDataActions_new_action
};

static PointerPropertyRNA rna_BlendDataActions_remove_action_ = {
	{&rna_BlendDataActions_remove_do_unlink, nullptr,
	-1, "action", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Action to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Action
};
PropertyRNA &rna_BlendDataActions_remove_action = reinterpret_cast<PropertyRNA &>(rna_BlendDataActions_remove_action_);

static BoolPropertyRNA rna_BlendDataActions_remove_do_unlink_ = {
	{&rna_BlendDataActions_remove_do_id_user, &rna_BlendDataActions_remove_action,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this action before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataActions_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataActions_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataActions_remove_do_id_user_ = {
	{&rna_BlendDataActions_remove_do_ui_user, &rna_BlendDataActions_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this action",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataActions_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataActions_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataActions_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataActions_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this action",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataActions_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataActions_remove_do_ui_user_);

FunctionRNA rna_BlendDataActions_remove_func = {
	{(FunctionRNA *)&rna_BlendDataActions_tag_func, (FunctionRNA *)&rna_BlendDataActions_new_func,
	nullptr,
	{&rna_BlendDataActions_remove_action, &rna_BlendDataActions_remove_do_ui_user}},
	"remove", 16, "Remove an action from the current blendfile",
	BlendDataActions_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataActions_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataActions_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataActions_tag_value_);

FunctionRNA rna_BlendDataActions_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataActions_remove_func,
	nullptr,
	{&rna_BlendDataActions_tag_value, &rna_BlendDataActions_tag_value}},
	"tag", 0, "tag",
	BlendDataActions_tag_call,
	nullptr
};

StructRNA RNA_BlendDataActions = {
	{(ContainerRNA *)&RNA_BlendDataParticles, (ContainerRNA *)&RNA_BlendDataArmatures,
	nullptr,
	{&rna_BlendDataActions_rna_properties, &rna_BlendDataActions_rna_type}},
	"BlendDataActions", nullptr, nullptr, 516, nullptr, "Main Actions",
	"Collection of actions",
	"*", 61,
	nullptr, &rna_BlendDataActions_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataActions_new_func, (FunctionRNA *)&rna_BlendDataActions_tag_func}
};

/* Main Particle Settings */
static CollectionPropertyRNA rna_BlendDataParticles_rna_properties_ = {
	{&rna_BlendDataParticles_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataParticles_rna_properties_begin, BlendDataParticles_rna_properties_next, BlendDataParticles_rna_properties_end, BlendDataParticles_rna_properties_get, nullptr, nullptr, BlendDataParticles_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataParticles_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataParticles_rna_properties_);

static PointerPropertyRNA rna_BlendDataParticles_rna_type_ = {
	{nullptr, &rna_BlendDataParticles_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataParticles_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataParticles_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataParticles_rna_type_);

static StringPropertyRNA rna_BlendDataParticles_new_name_ = {
	{&rna_BlendDataParticles_new_particle, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "ParticleSettings"
};
PropertyRNA &rna_BlendDataParticles_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataParticles_new_name_);

static PointerPropertyRNA rna_BlendDataParticles_new_particle_ = {
	{nullptr, &rna_BlendDataParticles_new_name,
	-1, "particle", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New particle settings data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_ParticleSettings
};
PropertyRNA &rna_BlendDataParticles_new_particle = reinterpret_cast<PropertyRNA &>(rna_BlendDataParticles_new_particle_);

FunctionRNA rna_BlendDataParticles_new_func = {
	{(FunctionRNA *)&rna_BlendDataParticles_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataParticles_new_name, &rna_BlendDataParticles_new_particle}},
	"new", 0, "Add a new particle settings instance to the main database",
	BlendDataParticles_new_call,
	&rna_BlendDataParticles_new_particle
};

static PointerPropertyRNA rna_BlendDataParticles_remove_particle_ = {
	{&rna_BlendDataParticles_remove_do_unlink, nullptr,
	-1, "particle", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Particle Settings to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_ParticleSettings
};
PropertyRNA &rna_BlendDataParticles_remove_particle = reinterpret_cast<PropertyRNA &>(rna_BlendDataParticles_remove_particle_);

static BoolPropertyRNA rna_BlendDataParticles_remove_do_unlink_ = {
	{&rna_BlendDataParticles_remove_do_id_user, &rna_BlendDataParticles_remove_particle,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of those particle settings before deleting them",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataParticles_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataParticles_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataParticles_remove_do_id_user_ = {
	{&rna_BlendDataParticles_remove_do_ui_user, &rna_BlendDataParticles_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this particle settings",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataParticles_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataParticles_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataParticles_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataParticles_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this particle settings",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataParticles_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataParticles_remove_do_ui_user_);

FunctionRNA rna_BlendDataParticles_remove_func = {
	{(FunctionRNA *)&rna_BlendDataParticles_tag_func, (FunctionRNA *)&rna_BlendDataParticles_new_func,
	nullptr,
	{&rna_BlendDataParticles_remove_particle, &rna_BlendDataParticles_remove_do_ui_user}},
	"remove", 16, "Remove a particle settings instance from the current blendfile",
	BlendDataParticles_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataParticles_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataParticles_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataParticles_tag_value_);

FunctionRNA rna_BlendDataParticles_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataParticles_remove_func,
	nullptr,
	{&rna_BlendDataParticles_tag_value, &rna_BlendDataParticles_tag_value}},
	"tag", 0, "tag",
	BlendDataParticles_tag_call,
	nullptr
};

StructRNA RNA_BlendDataParticles = {
	{(ContainerRNA *)&RNA_BlendDataPalettes, (ContainerRNA *)&RNA_BlendDataActions,
	nullptr,
	{&rna_BlendDataParticles_rna_properties, &rna_BlendDataParticles_rna_type}},
	"BlendDataParticles", nullptr, nullptr, 516, nullptr, "Main Particle Settings",
	"Collection of particle settings",
	"*", 61,
	nullptr, &rna_BlendDataParticles_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataParticles_new_func, (FunctionRNA *)&rna_BlendDataParticles_tag_func}
};

/* Main Palettes */
static CollectionPropertyRNA rna_BlendDataPalettes_rna_properties_ = {
	{&rna_BlendDataPalettes_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataPalettes_rna_properties_begin, BlendDataPalettes_rna_properties_next, BlendDataPalettes_rna_properties_end, BlendDataPalettes_rna_properties_get, nullptr, nullptr, BlendDataPalettes_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataPalettes_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataPalettes_rna_properties_);

static PointerPropertyRNA rna_BlendDataPalettes_rna_type_ = {
	{nullptr, &rna_BlendDataPalettes_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataPalettes_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataPalettes_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataPalettes_rna_type_);

static StringPropertyRNA rna_BlendDataPalettes_new_name_ = {
	{&rna_BlendDataPalettes_new_palette, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Palette"
};
PropertyRNA &rna_BlendDataPalettes_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataPalettes_new_name_);

static PointerPropertyRNA rna_BlendDataPalettes_new_palette_ = {
	{nullptr, &rna_BlendDataPalettes_new_name,
	-1, "palette", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New palette data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Palette
};
PropertyRNA &rna_BlendDataPalettes_new_palette = reinterpret_cast<PropertyRNA &>(rna_BlendDataPalettes_new_palette_);

FunctionRNA rna_BlendDataPalettes_new_func = {
	{(FunctionRNA *)&rna_BlendDataPalettes_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataPalettes_new_name, &rna_BlendDataPalettes_new_palette}},
	"new", 0, "Add a new palette to the main database",
	BlendDataPalettes_new_call,
	&rna_BlendDataPalettes_new_palette
};

static PointerPropertyRNA rna_BlendDataPalettes_remove_palette_ = {
	{&rna_BlendDataPalettes_remove_do_unlink, nullptr,
	-1, "palette", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Palette to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Palette
};
PropertyRNA &rna_BlendDataPalettes_remove_palette = reinterpret_cast<PropertyRNA &>(rna_BlendDataPalettes_remove_palette_);

static BoolPropertyRNA rna_BlendDataPalettes_remove_do_unlink_ = {
	{&rna_BlendDataPalettes_remove_do_id_user, &rna_BlendDataPalettes_remove_palette,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this palette before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataPalettes_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataPalettes_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataPalettes_remove_do_id_user_ = {
	{&rna_BlendDataPalettes_remove_do_ui_user, &rna_BlendDataPalettes_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this palette",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataPalettes_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataPalettes_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataPalettes_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataPalettes_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this palette",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataPalettes_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataPalettes_remove_do_ui_user_);

FunctionRNA rna_BlendDataPalettes_remove_func = {
	{(FunctionRNA *)&rna_BlendDataPalettes_tag_func, (FunctionRNA *)&rna_BlendDataPalettes_new_func,
	nullptr,
	{&rna_BlendDataPalettes_remove_palette, &rna_BlendDataPalettes_remove_do_ui_user}},
	"remove", 16, "Remove a palette from the current blendfile",
	BlendDataPalettes_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataPalettes_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataPalettes_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataPalettes_tag_value_);

FunctionRNA rna_BlendDataPalettes_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataPalettes_remove_func,
	nullptr,
	{&rna_BlendDataPalettes_tag_value, &rna_BlendDataPalettes_tag_value}},
	"tag", 0, "tag",
	BlendDataPalettes_tag_call,
	nullptr
};

StructRNA RNA_BlendDataPalettes = {
	{(ContainerRNA *)&RNA_BlendDataGreasePencils, (ContainerRNA *)&RNA_BlendDataParticles,
	nullptr,
	{&rna_BlendDataPalettes_rna_properties, &rna_BlendDataPalettes_rna_type}},
	"BlendDataPalettes", nullptr, nullptr, 516, nullptr, "Main Palettes",
	"Collection of palettes",
	"*", 61,
	nullptr, &rna_BlendDataPalettes_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataPalettes_new_func, (FunctionRNA *)&rna_BlendDataPalettes_tag_func}
};

/* Main Annotations */
static CollectionPropertyRNA rna_BlendDataGreasePencils_rna_properties_ = {
	{&rna_BlendDataGreasePencils_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataGreasePencils_rna_properties_begin, BlendDataGreasePencils_rna_properties_next, BlendDataGreasePencils_rna_properties_end, BlendDataGreasePencils_rna_properties_get, nullptr, nullptr, BlendDataGreasePencils_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataGreasePencils_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencils_rna_properties_);

static PointerPropertyRNA rna_BlendDataGreasePencils_rna_type_ = {
	{nullptr, &rna_BlendDataGreasePencils_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataGreasePencils_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataGreasePencils_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencils_rna_type_);

static BoolPropertyRNA rna_BlendDataGreasePencils_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataGreasePencils_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencils_tag_value_);

FunctionRNA rna_BlendDataGreasePencils_tag_func = {
	{(FunctionRNA *)&rna_BlendDataGreasePencils_new_func, nullptr,
	nullptr,
	{&rna_BlendDataGreasePencils_tag_value, &rna_BlendDataGreasePencils_tag_value}},
	"tag", 0, "tag",
	BlendDataGreasePencils_tag_call,
	nullptr
};

static StringPropertyRNA rna_BlendDataGreasePencils_new_name_ = {
	{&rna_BlendDataGreasePencils_new_grease_pencil, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "GreasePencil"
};
PropertyRNA &rna_BlendDataGreasePencils_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencils_new_name_);

static PointerPropertyRNA rna_BlendDataGreasePencils_new_grease_pencil_ = {
	{nullptr, &rna_BlendDataGreasePencils_new_name,
	-1, "grease_pencil", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New annotation data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_GreasePencil
};
PropertyRNA &rna_BlendDataGreasePencils_new_grease_pencil = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencils_new_grease_pencil_);

FunctionRNA rna_BlendDataGreasePencils_new_func = {
	{(FunctionRNA *)&rna_BlendDataGreasePencils_remove_func, (FunctionRNA *)&rna_BlendDataGreasePencils_tag_func,
	nullptr,
	{&rna_BlendDataGreasePencils_new_name, &rna_BlendDataGreasePencils_new_grease_pencil}},
	"new", 0, "Add a new annotation datablock to the main database",
	BlendDataGreasePencils_new_call,
	&rna_BlendDataGreasePencils_new_grease_pencil
};

static PointerPropertyRNA rna_BlendDataGreasePencils_remove_grease_pencil_ = {
	{&rna_BlendDataGreasePencils_remove_do_unlink, nullptr,
	-1, "grease_pencil", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Grease Pencil to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_GreasePencil
};
PropertyRNA &rna_BlendDataGreasePencils_remove_grease_pencil = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencils_remove_grease_pencil_);

static BoolPropertyRNA rna_BlendDataGreasePencils_remove_do_unlink_ = {
	{&rna_BlendDataGreasePencils_remove_do_id_user, &rna_BlendDataGreasePencils_remove_grease_pencil,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this annotation before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataGreasePencils_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencils_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataGreasePencils_remove_do_id_user_ = {
	{&rna_BlendDataGreasePencils_remove_do_ui_user, &rna_BlendDataGreasePencils_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this annotation",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataGreasePencils_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencils_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataGreasePencils_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataGreasePencils_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this annotation",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataGreasePencils_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencils_remove_do_ui_user_);

FunctionRNA rna_BlendDataGreasePencils_remove_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataGreasePencils_new_func,
	nullptr,
	{&rna_BlendDataGreasePencils_remove_grease_pencil, &rna_BlendDataGreasePencils_remove_do_ui_user}},
	"remove", 16, "Remove annotation instance from the current blendfile",
	BlendDataGreasePencils_remove_call,
	nullptr
};

StructRNA RNA_BlendDataGreasePencils = {
	{(ContainerRNA *)&RNA_BlendDataGreasePencilsV3, (ContainerRNA *)&RNA_BlendDataPalettes,
	nullptr,
	{&rna_BlendDataGreasePencils_rna_properties, &rna_BlendDataGreasePencils_rna_type}},
	"BlendDataGreasePencils", nullptr, nullptr, 516, nullptr, "Main Annotations",
	"Collection of annotations",
	"*", 61,
	nullptr, &rna_BlendDataGreasePencils_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataGreasePencils_tag_func, (FunctionRNA *)&rna_BlendDataGreasePencils_remove_func}
};

/* Main Grease Pencils */
static CollectionPropertyRNA rna_BlendDataGreasePencilsV3_rna_properties_ = {
	{&rna_BlendDataGreasePencilsV3_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataGreasePencilsV3_rna_properties_begin, BlendDataGreasePencilsV3_rna_properties_next, BlendDataGreasePencilsV3_rna_properties_end, BlendDataGreasePencilsV3_rna_properties_get, nullptr, nullptr, BlendDataGreasePencilsV3_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataGreasePencilsV3_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencilsV3_rna_properties_);

static PointerPropertyRNA rna_BlendDataGreasePencilsV3_rna_type_ = {
	{nullptr, &rna_BlendDataGreasePencilsV3_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataGreasePencilsV3_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataGreasePencilsV3_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencilsV3_rna_type_);

static BoolPropertyRNA rna_BlendDataGreasePencilsV3_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataGreasePencilsV3_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencilsV3_tag_value_);

FunctionRNA rna_BlendDataGreasePencilsV3_tag_func = {
	{(FunctionRNA *)&rna_BlendDataGreasePencilsV3_new_func, nullptr,
	nullptr,
	{&rna_BlendDataGreasePencilsV3_tag_value, &rna_BlendDataGreasePencilsV3_tag_value}},
	"tag", 0, "tag",
	BlendDataGreasePencilsV3_tag_call,
	nullptr
};

static StringPropertyRNA rna_BlendDataGreasePencilsV3_new_name_ = {
	{&rna_BlendDataGreasePencilsV3_new_grease_pencil, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "GreasePencil"
};
PropertyRNA &rna_BlendDataGreasePencilsV3_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencilsV3_new_name_);

static PointerPropertyRNA rna_BlendDataGreasePencilsV3_new_grease_pencil_ = {
	{nullptr, &rna_BlendDataGreasePencilsV3_new_name,
	-1, "grease_pencil", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New Grease Pencil data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_GreasePencilv3
};
PropertyRNA &rna_BlendDataGreasePencilsV3_new_grease_pencil = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencilsV3_new_grease_pencil_);

FunctionRNA rna_BlendDataGreasePencilsV3_new_func = {
	{(FunctionRNA *)&rna_BlendDataGreasePencilsV3_remove_func, (FunctionRNA *)&rna_BlendDataGreasePencilsV3_tag_func,
	nullptr,
	{&rna_BlendDataGreasePencilsV3_new_name, &rna_BlendDataGreasePencilsV3_new_grease_pencil}},
	"new", 0, "Add a new Grease Pencil datablock to the main database",
	BlendDataGreasePencilsV3_new_call,
	&rna_BlendDataGreasePencilsV3_new_grease_pencil
};

static PointerPropertyRNA rna_BlendDataGreasePencilsV3_remove_grease_pencil_ = {
	{&rna_BlendDataGreasePencilsV3_remove_do_unlink, nullptr,
	-1, "grease_pencil", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Grease Pencil to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_GreasePencilv3
};
PropertyRNA &rna_BlendDataGreasePencilsV3_remove_grease_pencil = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencilsV3_remove_grease_pencil_);

static BoolPropertyRNA rna_BlendDataGreasePencilsV3_remove_do_unlink_ = {
	{&rna_BlendDataGreasePencilsV3_remove_do_id_user, &rna_BlendDataGreasePencilsV3_remove_grease_pencil,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this Grease Pencil before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataGreasePencilsV3_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencilsV3_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataGreasePencilsV3_remove_do_id_user_ = {
	{&rna_BlendDataGreasePencilsV3_remove_do_ui_user, &rna_BlendDataGreasePencilsV3_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this Grease Pencil",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataGreasePencilsV3_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencilsV3_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataGreasePencilsV3_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataGreasePencilsV3_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this Grease Pencil",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataGreasePencilsV3_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataGreasePencilsV3_remove_do_ui_user_);

FunctionRNA rna_BlendDataGreasePencilsV3_remove_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataGreasePencilsV3_new_func,
	nullptr,
	{&rna_BlendDataGreasePencilsV3_remove_grease_pencil, &rna_BlendDataGreasePencilsV3_remove_do_ui_user}},
	"remove", 16, "Remove a Grease Pencil instance from the current blendfile",
	BlendDataGreasePencilsV3_remove_call,
	nullptr
};

StructRNA RNA_BlendDataGreasePencilsV3 = {
	{(ContainerRNA *)&RNA_BlendDataMovieClips, (ContainerRNA *)&RNA_BlendDataGreasePencils,
	nullptr,
	{&rna_BlendDataGreasePencilsV3_rna_properties, &rna_BlendDataGreasePencilsV3_rna_type}},
	"BlendDataGreasePencilsV3", nullptr, nullptr, 516, nullptr, "Main Grease Pencils",
	"Collection of Grease Pencils",
	"*", 61,
	nullptr, &rna_BlendDataGreasePencilsV3_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataGreasePencilsV3_tag_func, (FunctionRNA *)&rna_BlendDataGreasePencilsV3_remove_func}
};

/* Main Movie Clips */
static CollectionPropertyRNA rna_BlendDataMovieClips_rna_properties_ = {
	{&rna_BlendDataMovieClips_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataMovieClips_rna_properties_begin, BlendDataMovieClips_rna_properties_next, BlendDataMovieClips_rna_properties_end, BlendDataMovieClips_rna_properties_get, nullptr, nullptr, BlendDataMovieClips_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataMovieClips_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataMovieClips_rna_properties_);

static PointerPropertyRNA rna_BlendDataMovieClips_rna_type_ = {
	{nullptr, &rna_BlendDataMovieClips_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataMovieClips_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataMovieClips_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataMovieClips_rna_type_);

static BoolPropertyRNA rna_BlendDataMovieClips_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataMovieClips_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataMovieClips_tag_value_);

FunctionRNA rna_BlendDataMovieClips_tag_func = {
	{(FunctionRNA *)&rna_BlendDataMovieClips_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataMovieClips_tag_value, &rna_BlendDataMovieClips_tag_value}},
	"tag", 0, "tag",
	BlendDataMovieClips_tag_call,
	nullptr
};

static PointerPropertyRNA rna_BlendDataMovieClips_remove_clip_ = {
	{&rna_BlendDataMovieClips_remove_do_unlink, nullptr,
	-1, "clip", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Movie clip to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_MovieClip
};
PropertyRNA &rna_BlendDataMovieClips_remove_clip = reinterpret_cast<PropertyRNA &>(rna_BlendDataMovieClips_remove_clip_);

static BoolPropertyRNA rna_BlendDataMovieClips_remove_do_unlink_ = {
	{&rna_BlendDataMovieClips_remove_do_id_user, &rna_BlendDataMovieClips_remove_clip,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this movie clip before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMovieClips_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataMovieClips_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataMovieClips_remove_do_id_user_ = {
	{&rna_BlendDataMovieClips_remove_do_ui_user, &rna_BlendDataMovieClips_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this movie clip",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMovieClips_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataMovieClips_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataMovieClips_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataMovieClips_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this movie clip",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMovieClips_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataMovieClips_remove_do_ui_user_);

FunctionRNA rna_BlendDataMovieClips_remove_func = {
	{(FunctionRNA *)&rna_BlendDataMovieClips_load_func, (FunctionRNA *)&rna_BlendDataMovieClips_tag_func,
	nullptr,
	{&rna_BlendDataMovieClips_remove_clip, &rna_BlendDataMovieClips_remove_do_ui_user}},
	"remove", 16, "Remove a movie clip from the current blendfile.",
	BlendDataMovieClips_remove_call,
	nullptr
};

static StringPropertyRNA rna_BlendDataMovieClips_load_filepath_ = {
	{&rna_BlendDataMovieClips_load_check_existing, nullptr,
	-1, "filepath", 294913, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"path for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_FILEPATH) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 1024, "Path"
};
PropertyRNA &rna_BlendDataMovieClips_load_filepath = reinterpret_cast<PropertyRNA &>(rna_BlendDataMovieClips_load_filepath_);

static BoolPropertyRNA rna_BlendDataMovieClips_load_check_existing_ = {
	{&rna_BlendDataMovieClips_load_clip, &rna_BlendDataMovieClips_load_filepath,
	-1, "check_existing", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Using existing data-block if this file is already loaded",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataMovieClips_load_check_existing = reinterpret_cast<PropertyRNA &>(rna_BlendDataMovieClips_load_check_existing_);

static PointerPropertyRNA rna_BlendDataMovieClips_load_clip_ = {
	{nullptr, &rna_BlendDataMovieClips_load_check_existing,
	-1, "clip", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New movie clip data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_MovieClip
};
PropertyRNA &rna_BlendDataMovieClips_load_clip = reinterpret_cast<PropertyRNA &>(rna_BlendDataMovieClips_load_clip_);

FunctionRNA rna_BlendDataMovieClips_load_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataMovieClips_remove_func,
	nullptr,
	{&rna_BlendDataMovieClips_load_filepath, &rna_BlendDataMovieClips_load_clip}},
	"load", 16, "Add a new movie clip to the main database from a file (while ``check_existing`` is disabled for consistency with other load functions, behavior with multiple movie-clips using the same file may incorrectly generate proxies)",
	BlendDataMovieClips_load_call,
	&rna_BlendDataMovieClips_load_clip
};

StructRNA RNA_BlendDataMovieClips = {
	{(ContainerRNA *)&RNA_BlendDataMasks, (ContainerRNA *)&RNA_BlendDataGreasePencilsV3,
	nullptr,
	{&rna_BlendDataMovieClips_rna_properties, &rna_BlendDataMovieClips_rna_type}},
	"BlendDataMovieClips", nullptr, nullptr, 516, nullptr, "Main Movie Clips",
	"Collection of movie clips",
	"*", 61,
	nullptr, &rna_BlendDataMovieClips_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataMovieClips_tag_func, (FunctionRNA *)&rna_BlendDataMovieClips_load_func}
};

/* Main Masks */
static CollectionPropertyRNA rna_BlendDataMasks_rna_properties_ = {
	{&rna_BlendDataMasks_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataMasks_rna_properties_begin, BlendDataMasks_rna_properties_next, BlendDataMasks_rna_properties_end, BlendDataMasks_rna_properties_get, nullptr, nullptr, BlendDataMasks_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataMasks_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataMasks_rna_properties_);

static PointerPropertyRNA rna_BlendDataMasks_rna_type_ = {
	{nullptr, &rna_BlendDataMasks_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataMasks_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataMasks_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataMasks_rna_type_);

static BoolPropertyRNA rna_BlendDataMasks_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataMasks_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataMasks_tag_value_);

FunctionRNA rna_BlendDataMasks_tag_func = {
	{(FunctionRNA *)&rna_BlendDataMasks_new_func, nullptr,
	nullptr,
	{&rna_BlendDataMasks_tag_value, &rna_BlendDataMasks_tag_value}},
	"tag", 0, "tag",
	BlendDataMasks_tag_call,
	nullptr
};

static StringPropertyRNA rna_BlendDataMasks_new_name_ = {
	{&rna_BlendDataMasks_new_mask, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "Mask",
	"Name of new mask data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 64, ""
};
PropertyRNA &rna_BlendDataMasks_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataMasks_new_name_);

static PointerPropertyRNA rna_BlendDataMasks_new_mask_ = {
	{nullptr, &rna_BlendDataMasks_new_name,
	-1, "mask", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New mask data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Mask
};
PropertyRNA &rna_BlendDataMasks_new_mask = reinterpret_cast<PropertyRNA &>(rna_BlendDataMasks_new_mask_);

FunctionRNA rna_BlendDataMasks_new_func = {
	{(FunctionRNA *)&rna_BlendDataMasks_remove_func, (FunctionRNA *)&rna_BlendDataMasks_tag_func,
	nullptr,
	{&rna_BlendDataMasks_new_name, &rna_BlendDataMasks_new_mask}},
	"new", 0, "Add a new mask with a given name to the main database",
	BlendDataMasks_new_call,
	&rna_BlendDataMasks_new_mask
};

static PointerPropertyRNA rna_BlendDataMasks_remove_mask_ = {
	{&rna_BlendDataMasks_remove_do_unlink, nullptr,
	-1, "mask", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Mask to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Mask
};
PropertyRNA &rna_BlendDataMasks_remove_mask = reinterpret_cast<PropertyRNA &>(rna_BlendDataMasks_remove_mask_);

static BoolPropertyRNA rna_BlendDataMasks_remove_do_unlink_ = {
	{&rna_BlendDataMasks_remove_do_id_user, &rna_BlendDataMasks_remove_mask,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this mask before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMasks_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataMasks_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataMasks_remove_do_id_user_ = {
	{&rna_BlendDataMasks_remove_do_ui_user, &rna_BlendDataMasks_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this mask",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMasks_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataMasks_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataMasks_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataMasks_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this mask",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataMasks_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataMasks_remove_do_ui_user_);

FunctionRNA rna_BlendDataMasks_remove_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataMasks_new_func,
	nullptr,
	{&rna_BlendDataMasks_remove_mask, &rna_BlendDataMasks_remove_do_ui_user}},
	"remove", 16, "Remove a mask from the current blendfile",
	BlendDataMasks_remove_call,
	nullptr
};

StructRNA RNA_BlendDataMasks = {
	{(ContainerRNA *)&RNA_BlendDataLineStyles, (ContainerRNA *)&RNA_BlendDataMovieClips,
	nullptr,
	{&rna_BlendDataMasks_rna_properties, &rna_BlendDataMasks_rna_type}},
	"BlendDataMasks", nullptr, nullptr, 516, nullptr, "Main Masks",
	"Collection of masks",
	"*", 61,
	nullptr, &rna_BlendDataMasks_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataMasks_tag_func, (FunctionRNA *)&rna_BlendDataMasks_remove_func}
};

/* Main Line Styles */
static CollectionPropertyRNA rna_BlendDataLineStyles_rna_properties_ = {
	{&rna_BlendDataLineStyles_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataLineStyles_rna_properties_begin, BlendDataLineStyles_rna_properties_next, BlendDataLineStyles_rna_properties_end, BlendDataLineStyles_rna_properties_get, nullptr, nullptr, BlendDataLineStyles_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataLineStyles_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataLineStyles_rna_properties_);

static PointerPropertyRNA rna_BlendDataLineStyles_rna_type_ = {
	{nullptr, &rna_BlendDataLineStyles_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataLineStyles_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataLineStyles_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataLineStyles_rna_type_);

static BoolPropertyRNA rna_BlendDataLineStyles_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataLineStyles_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataLineStyles_tag_value_);

FunctionRNA rna_BlendDataLineStyles_tag_func = {
	{(FunctionRNA *)&rna_BlendDataLineStyles_new_func, nullptr,
	nullptr,
	{&rna_BlendDataLineStyles_tag_value, &rna_BlendDataLineStyles_tag_value}},
	"tag", 0, "tag",
	BlendDataLineStyles_tag_call,
	nullptr
};

static StringPropertyRNA rna_BlendDataLineStyles_new_name_ = {
	{&rna_BlendDataLineStyles_new_linestyle, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "FreestyleLineStyle"
};
PropertyRNA &rna_BlendDataLineStyles_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataLineStyles_new_name_);

static PointerPropertyRNA rna_BlendDataLineStyles_new_linestyle_ = {
	{nullptr, &rna_BlendDataLineStyles_new_name,
	-1, "linestyle", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New line style data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_FreestyleLineStyle
};
PropertyRNA &rna_BlendDataLineStyles_new_linestyle = reinterpret_cast<PropertyRNA &>(rna_BlendDataLineStyles_new_linestyle_);

FunctionRNA rna_BlendDataLineStyles_new_func = {
	{(FunctionRNA *)&rna_BlendDataLineStyles_remove_func, (FunctionRNA *)&rna_BlendDataLineStyles_tag_func,
	nullptr,
	{&rna_BlendDataLineStyles_new_name, &rna_BlendDataLineStyles_new_linestyle}},
	"new", 0, "Add a new line style instance to the main database",
	BlendDataLineStyles_new_call,
	&rna_BlendDataLineStyles_new_linestyle
};

static PointerPropertyRNA rna_BlendDataLineStyles_remove_linestyle_ = {
	{&rna_BlendDataLineStyles_remove_do_unlink, nullptr,
	-1, "linestyle", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Line style to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_FreestyleLineStyle
};
PropertyRNA &rna_BlendDataLineStyles_remove_linestyle = reinterpret_cast<PropertyRNA &>(rna_BlendDataLineStyles_remove_linestyle_);

static BoolPropertyRNA rna_BlendDataLineStyles_remove_do_unlink_ = {
	{&rna_BlendDataLineStyles_remove_do_id_user, &rna_BlendDataLineStyles_remove_linestyle,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this line style before deleting it",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLineStyles_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataLineStyles_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataLineStyles_remove_do_id_user_ = {
	{&rna_BlendDataLineStyles_remove_do_ui_user, &rna_BlendDataLineStyles_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this line style",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLineStyles_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataLineStyles_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataLineStyles_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataLineStyles_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this line style",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataLineStyles_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataLineStyles_remove_do_ui_user_);

FunctionRNA rna_BlendDataLineStyles_remove_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataLineStyles_new_func,
	nullptr,
	{&rna_BlendDataLineStyles_remove_linestyle, &rna_BlendDataLineStyles_remove_do_ui_user}},
	"remove", 16, "Remove a line style instance from the current blendfile",
	BlendDataLineStyles_remove_call,
	nullptr
};

StructRNA RNA_BlendDataLineStyles = {
	{(ContainerRNA *)&RNA_BlendDataCacheFiles, (ContainerRNA *)&RNA_BlendDataMasks,
	nullptr,
	{&rna_BlendDataLineStyles_rna_properties, &rna_BlendDataLineStyles_rna_type}},
	"BlendDataLineStyles", nullptr, nullptr, 516, nullptr, "Main Line Styles",
	"Collection of line styles",
	"*", 61,
	nullptr, &rna_BlendDataLineStyles_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataLineStyles_tag_func, (FunctionRNA *)&rna_BlendDataLineStyles_remove_func}
};

/* Main Cache Files */
static CollectionPropertyRNA rna_BlendDataCacheFiles_rna_properties_ = {
	{&rna_BlendDataCacheFiles_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataCacheFiles_rna_properties_begin, BlendDataCacheFiles_rna_properties_next, BlendDataCacheFiles_rna_properties_end, BlendDataCacheFiles_rna_properties_get, nullptr, nullptr, BlendDataCacheFiles_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataCacheFiles_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataCacheFiles_rna_properties_);

static PointerPropertyRNA rna_BlendDataCacheFiles_rna_type_ = {
	{nullptr, &rna_BlendDataCacheFiles_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataCacheFiles_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataCacheFiles_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataCacheFiles_rna_type_);

static BoolPropertyRNA rna_BlendDataCacheFiles_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataCacheFiles_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataCacheFiles_tag_value_);

FunctionRNA rna_BlendDataCacheFiles_tag_func = {
	{nullptr, nullptr,
	nullptr,
	{&rna_BlendDataCacheFiles_tag_value, &rna_BlendDataCacheFiles_tag_value}},
	"tag", 0, "tag",
	BlendDataCacheFiles_tag_call,
	nullptr
};

StructRNA RNA_BlendDataCacheFiles = {
	{(ContainerRNA *)&RNA_BlendDataPaintCurves, (ContainerRNA *)&RNA_BlendDataLineStyles,
	nullptr,
	{&rna_BlendDataCacheFiles_rna_properties, &rna_BlendDataCacheFiles_rna_type}},
	"BlendDataCacheFiles", nullptr, nullptr, 516, nullptr, "Main Cache Files",
	"Collection of cache files",
	"*", 61,
	nullptr, &rna_BlendDataCacheFiles_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataCacheFiles_tag_func, (FunctionRNA *)&rna_BlendDataCacheFiles_tag_func}
};

/* Main Paint Curves */
static CollectionPropertyRNA rna_BlendDataPaintCurves_rna_properties_ = {
	{&rna_BlendDataPaintCurves_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataPaintCurves_rna_properties_begin, BlendDataPaintCurves_rna_properties_next, BlendDataPaintCurves_rna_properties_end, BlendDataPaintCurves_rna_properties_get, nullptr, nullptr, BlendDataPaintCurves_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataPaintCurves_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataPaintCurves_rna_properties_);

static PointerPropertyRNA rna_BlendDataPaintCurves_rna_type_ = {
	{nullptr, &rna_BlendDataPaintCurves_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataPaintCurves_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataPaintCurves_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataPaintCurves_rna_type_);

static BoolPropertyRNA rna_BlendDataPaintCurves_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataPaintCurves_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataPaintCurves_tag_value_);

FunctionRNA rna_BlendDataPaintCurves_tag_func = {
	{nullptr, nullptr,
	nullptr,
	{&rna_BlendDataPaintCurves_tag_value, &rna_BlendDataPaintCurves_tag_value}},
	"tag", 0, "tag",
	BlendDataPaintCurves_tag_call,
	nullptr
};

StructRNA RNA_BlendDataPaintCurves = {
	{(ContainerRNA *)&RNA_BlendDataWorkSpaces, (ContainerRNA *)&RNA_BlendDataCacheFiles,
	nullptr,
	{&rna_BlendDataPaintCurves_rna_properties, &rna_BlendDataPaintCurves_rna_type}},
	"BlendDataPaintCurves", nullptr, nullptr, 516, nullptr, "Main Paint Curves",
	"Collection of paint curves",
	"*", 61,
	nullptr, &rna_BlendDataPaintCurves_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataPaintCurves_tag_func, (FunctionRNA *)&rna_BlendDataPaintCurves_tag_func}
};

/* Main Workspaces */
static CollectionPropertyRNA rna_BlendDataWorkSpaces_rna_properties_ = {
	{&rna_BlendDataWorkSpaces_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataWorkSpaces_rna_properties_begin, BlendDataWorkSpaces_rna_properties_next, BlendDataWorkSpaces_rna_properties_end, BlendDataWorkSpaces_rna_properties_get, nullptr, nullptr, BlendDataWorkSpaces_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataWorkSpaces_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorkSpaces_rna_properties_);

static PointerPropertyRNA rna_BlendDataWorkSpaces_rna_type_ = {
	{nullptr, &rna_BlendDataWorkSpaces_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataWorkSpaces_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataWorkSpaces_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorkSpaces_rna_type_);

static BoolPropertyRNA rna_BlendDataWorkSpaces_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataWorkSpaces_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataWorkSpaces_tag_value_);

FunctionRNA rna_BlendDataWorkSpaces_tag_func = {
	{nullptr, nullptr,
	nullptr,
	{&rna_BlendDataWorkSpaces_tag_value, &rna_BlendDataWorkSpaces_tag_value}},
	"tag", 0, "tag",
	BlendDataWorkSpaces_tag_call,
	nullptr
};

StructRNA RNA_BlendDataWorkSpaces = {
	{(ContainerRNA *)&RNA_BlendDataProbes, (ContainerRNA *)&RNA_BlendDataPaintCurves,
	nullptr,
	{&rna_BlendDataWorkSpaces_rna_properties, &rna_BlendDataWorkSpaces_rna_type}},
	"BlendDataWorkSpaces", nullptr, nullptr, 516, nullptr, "Main Workspaces",
	"Collection of workspaces",
	"*", 61,
	nullptr, &rna_BlendDataWorkSpaces_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataWorkSpaces_tag_func, (FunctionRNA *)&rna_BlendDataWorkSpaces_tag_func}
};

/* Main Light Probes */
static CollectionPropertyRNA rna_BlendDataProbes_rna_properties_ = {
	{&rna_BlendDataProbes_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataProbes_rna_properties_begin, BlendDataProbes_rna_properties_next, BlendDataProbes_rna_properties_end, BlendDataProbes_rna_properties_get, nullptr, nullptr, BlendDataProbes_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataProbes_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataProbes_rna_properties_);

static PointerPropertyRNA rna_BlendDataProbes_rna_type_ = {
	{nullptr, &rna_BlendDataProbes_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataProbes_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataProbes_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataProbes_rna_type_);

static StringPropertyRNA rna_BlendDataProbes_new_name_ = {
	{&rna_BlendDataProbes_new_type, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Probe"
};
PropertyRNA &rna_BlendDataProbes_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataProbes_new_name_);

static EnumPropertyRNA rna_BlendDataProbes_new_type_ = {
	{&rna_BlendDataProbes_new_lightprobe, &rna_BlendDataProbes_new_name,
	-1, "type", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Type",
	"The type of light probe to add",
	0, "*",
	PROP_ENUM, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, rna_enum_lightprobes_type_items, 3, 0
};
PropertyRNA &rna_BlendDataProbes_new_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataProbes_new_type_);

static PointerPropertyRNA rna_BlendDataProbes_new_lightprobe_ = {
	{nullptr, &rna_BlendDataProbes_new_type,
	-1, "lightprobe", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New light probe data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_LightProbe
};
PropertyRNA &rna_BlendDataProbes_new_lightprobe = reinterpret_cast<PropertyRNA &>(rna_BlendDataProbes_new_lightprobe_);

FunctionRNA rna_BlendDataProbes_new_func = {
	{(FunctionRNA *)&rna_BlendDataProbes_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataProbes_new_name, &rna_BlendDataProbes_new_lightprobe}},
	"new", 0, "Add a new light probe to the main database",
	BlendDataProbes_new_call,
	&rna_BlendDataProbes_new_lightprobe
};

static PointerPropertyRNA rna_BlendDataProbes_remove_lightprobe_ = {
	{&rna_BlendDataProbes_remove_do_unlink, nullptr,
	-1, "lightprobe", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Light probe to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_LightProbe
};
PropertyRNA &rna_BlendDataProbes_remove_lightprobe = reinterpret_cast<PropertyRNA &>(rna_BlendDataProbes_remove_lightprobe_);

static BoolPropertyRNA rna_BlendDataProbes_remove_do_unlink_ = {
	{&rna_BlendDataProbes_remove_do_id_user, &rna_BlendDataProbes_remove_lightprobe,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this light probe before deleting it (WARNING: will also delete objects instancing that light probe data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataProbes_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataProbes_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataProbes_remove_do_id_user_ = {
	{&rna_BlendDataProbes_remove_do_ui_user, &rna_BlendDataProbes_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this light probe",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataProbes_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataProbes_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataProbes_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataProbes_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this light probe",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataProbes_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataProbes_remove_do_ui_user_);

FunctionRNA rna_BlendDataProbes_remove_func = {
	{(FunctionRNA *)&rna_BlendDataProbes_tag_func, (FunctionRNA *)&rna_BlendDataProbes_new_func,
	nullptr,
	{&rna_BlendDataProbes_remove_lightprobe, &rna_BlendDataProbes_remove_do_ui_user}},
	"remove", 16, "Remove a light probe from the current blendfile",
	BlendDataProbes_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataProbes_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataProbes_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataProbes_tag_value_);

FunctionRNA rna_BlendDataProbes_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataProbes_remove_func,
	nullptr,
	{&rna_BlendDataProbes_tag_value, &rna_BlendDataProbes_tag_value}},
	"tag", 0, "tag",
	BlendDataProbes_tag_call,
	nullptr
};

StructRNA RNA_BlendDataProbes = {
	{(ContainerRNA *)&RNA_BlendDataHairCurves, (ContainerRNA *)&RNA_BlendDataWorkSpaces,
	nullptr,
	{&rna_BlendDataProbes_rna_properties, &rna_BlendDataProbes_rna_type}},
	"BlendDataProbes", nullptr, nullptr, 516, nullptr, "Main Light Probes",
	"Collection of light probes",
	"*", 61,
	nullptr, &rna_BlendDataProbes_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataProbes_new_func, (FunctionRNA *)&rna_BlendDataProbes_tag_func}
};

/* Main Hair Curves */
static CollectionPropertyRNA rna_BlendDataHairCurves_rna_properties_ = {
	{&rna_BlendDataHairCurves_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataHairCurves_rna_properties_begin, BlendDataHairCurves_rna_properties_next, BlendDataHairCurves_rna_properties_end, BlendDataHairCurves_rna_properties_get, nullptr, nullptr, BlendDataHairCurves_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataHairCurves_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataHairCurves_rna_properties_);

static PointerPropertyRNA rna_BlendDataHairCurves_rna_type_ = {
	{nullptr, &rna_BlendDataHairCurves_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataHairCurves_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataHairCurves_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataHairCurves_rna_type_);

static StringPropertyRNA rna_BlendDataHairCurves_new_name_ = {
	{&rna_BlendDataHairCurves_new_curves, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Curves"
};
PropertyRNA &rna_BlendDataHairCurves_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataHairCurves_new_name_);

static PointerPropertyRNA rna_BlendDataHairCurves_new_curves_ = {
	{nullptr, &rna_BlendDataHairCurves_new_name,
	-1, "curves", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New curves data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Curves
};
PropertyRNA &rna_BlendDataHairCurves_new_curves = reinterpret_cast<PropertyRNA &>(rna_BlendDataHairCurves_new_curves_);

FunctionRNA rna_BlendDataHairCurves_new_func = {
	{(FunctionRNA *)&rna_BlendDataHairCurves_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataHairCurves_new_name, &rna_BlendDataHairCurves_new_curves}},
	"new", 0, "Add a new hair to the main database",
	BlendDataHairCurves_new_call,
	&rna_BlendDataHairCurves_new_curves
};

static PointerPropertyRNA rna_BlendDataHairCurves_remove_curves_ = {
	{&rna_BlendDataHairCurves_remove_do_unlink, nullptr,
	-1, "curves", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Curves data-block to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Curves
};
PropertyRNA &rna_BlendDataHairCurves_remove_curves = reinterpret_cast<PropertyRNA &>(rna_BlendDataHairCurves_remove_curves_);

static BoolPropertyRNA rna_BlendDataHairCurves_remove_do_unlink_ = {
	{&rna_BlendDataHairCurves_remove_do_id_user, &rna_BlendDataHairCurves_remove_curves,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this curves before deleting it (WARNING: will also delete objects instancing that curves data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataHairCurves_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataHairCurves_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataHairCurves_remove_do_id_user_ = {
	{&rna_BlendDataHairCurves_remove_do_ui_user, &rna_BlendDataHairCurves_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this curves data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataHairCurves_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataHairCurves_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataHairCurves_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataHairCurves_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this curves data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataHairCurves_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataHairCurves_remove_do_ui_user_);

FunctionRNA rna_BlendDataHairCurves_remove_func = {
	{(FunctionRNA *)&rna_BlendDataHairCurves_tag_func, (FunctionRNA *)&rna_BlendDataHairCurves_new_func,
	nullptr,
	{&rna_BlendDataHairCurves_remove_curves, &rna_BlendDataHairCurves_remove_do_ui_user}},
	"remove", 16, "Remove a curves data-block from the current blendfile",
	BlendDataHairCurves_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataHairCurves_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataHairCurves_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataHairCurves_tag_value_);

FunctionRNA rna_BlendDataHairCurves_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataHairCurves_remove_func,
	nullptr,
	{&rna_BlendDataHairCurves_tag_value, &rna_BlendDataHairCurves_tag_value}},
	"tag", 0, "tag",
	BlendDataHairCurves_tag_call,
	nullptr
};

StructRNA RNA_BlendDataHairCurves = {
	{(ContainerRNA *)&RNA_BlendDataPointClouds, (ContainerRNA *)&RNA_BlendDataProbes,
	nullptr,
	{&rna_BlendDataHairCurves_rna_properties, &rna_BlendDataHairCurves_rna_type}},
	"BlendDataHairCurves", nullptr, nullptr, 516, nullptr, "Main Hair Curves",
	"Collection of hair curves",
	"*", 61,
	nullptr, &rna_BlendDataHairCurves_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataHairCurves_new_func, (FunctionRNA *)&rna_BlendDataHairCurves_tag_func}
};

/* Main Point Clouds */
static CollectionPropertyRNA rna_BlendDataPointClouds_rna_properties_ = {
	{&rna_BlendDataPointClouds_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataPointClouds_rna_properties_begin, BlendDataPointClouds_rna_properties_next, BlendDataPointClouds_rna_properties_end, BlendDataPointClouds_rna_properties_get, nullptr, nullptr, BlendDataPointClouds_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataPointClouds_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataPointClouds_rna_properties_);

static PointerPropertyRNA rna_BlendDataPointClouds_rna_type_ = {
	{nullptr, &rna_BlendDataPointClouds_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataPointClouds_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataPointClouds_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataPointClouds_rna_type_);

static StringPropertyRNA rna_BlendDataPointClouds_new_name_ = {
	{&rna_BlendDataPointClouds_new_pointcloud, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "PointCloud"
};
PropertyRNA &rna_BlendDataPointClouds_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataPointClouds_new_name_);

static PointerPropertyRNA rna_BlendDataPointClouds_new_pointcloud_ = {
	{nullptr, &rna_BlendDataPointClouds_new_name,
	-1, "pointcloud", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New point cloud data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_PointCloud
};
PropertyRNA &rna_BlendDataPointClouds_new_pointcloud = reinterpret_cast<PropertyRNA &>(rna_BlendDataPointClouds_new_pointcloud_);

FunctionRNA rna_BlendDataPointClouds_new_func = {
	{(FunctionRNA *)&rna_BlendDataPointClouds_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataPointClouds_new_name, &rna_BlendDataPointClouds_new_pointcloud}},
	"new", 0, "Add a new point cloud to the main database",
	BlendDataPointClouds_new_call,
	&rna_BlendDataPointClouds_new_pointcloud
};

static PointerPropertyRNA rna_BlendDataPointClouds_remove_pointcloud_ = {
	{&rna_BlendDataPointClouds_remove_do_unlink, nullptr,
	-1, "pointcloud", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Point cloud to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_PointCloud
};
PropertyRNA &rna_BlendDataPointClouds_remove_pointcloud = reinterpret_cast<PropertyRNA &>(rna_BlendDataPointClouds_remove_pointcloud_);

static BoolPropertyRNA rna_BlendDataPointClouds_remove_do_unlink_ = {
	{&rna_BlendDataPointClouds_remove_do_id_user, &rna_BlendDataPointClouds_remove_pointcloud,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this point cloud before deleting it (WARNING: will also delete objects instancing that point cloud data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataPointClouds_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataPointClouds_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataPointClouds_remove_do_id_user_ = {
	{&rna_BlendDataPointClouds_remove_do_ui_user, &rna_BlendDataPointClouds_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this point cloud data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataPointClouds_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataPointClouds_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataPointClouds_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataPointClouds_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this point cloud data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataPointClouds_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataPointClouds_remove_do_ui_user_);

FunctionRNA rna_BlendDataPointClouds_remove_func = {
	{(FunctionRNA *)&rna_BlendDataPointClouds_tag_func, (FunctionRNA *)&rna_BlendDataPointClouds_new_func,
	nullptr,
	{&rna_BlendDataPointClouds_remove_pointcloud, &rna_BlendDataPointClouds_remove_do_ui_user}},
	"remove", 16, "Remove a point cloud from the current blendfile",
	BlendDataPointClouds_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataPointClouds_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataPointClouds_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataPointClouds_tag_value_);

FunctionRNA rna_BlendDataPointClouds_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataPointClouds_remove_func,
	nullptr,
	{&rna_BlendDataPointClouds_tag_value, &rna_BlendDataPointClouds_tag_value}},
	"tag", 0, "tag",
	BlendDataPointClouds_tag_call,
	nullptr
};

StructRNA RNA_BlendDataPointClouds = {
	{(ContainerRNA *)&RNA_BlendDataVolumes, (ContainerRNA *)&RNA_BlendDataHairCurves,
	nullptr,
	{&rna_BlendDataPointClouds_rna_properties, &rna_BlendDataPointClouds_rna_type}},
	"BlendDataPointClouds", nullptr, nullptr, 516, nullptr, "Main Point Clouds",
	"Collection of point clouds",
	"*", 61,
	nullptr, &rna_BlendDataPointClouds_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataPointClouds_new_func, (FunctionRNA *)&rna_BlendDataPointClouds_tag_func}
};

/* Main Volumes */
static CollectionPropertyRNA rna_BlendDataVolumes_rna_properties_ = {
	{&rna_BlendDataVolumes_rna_type, nullptr,
	-1, "rna_properties", 0, 0, 0, 1, 0, PropertyPathTemplateType(0), "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataVolumes_rna_properties_begin, BlendDataVolumes_rna_properties_next, BlendDataVolumes_rna_properties_end, BlendDataVolumes_rna_properties_get, nullptr, nullptr, BlendDataVolumes_rna_properties_lookup_string, nullptr, &RNA_Property
};
PropertyRNA &rna_BlendDataVolumes_rna_properties = reinterpret_cast<PropertyRNA &>(rna_BlendDataVolumes_rna_properties_);

static PointerPropertyRNA rna_BlendDataVolumes_rna_type_ = {
	{nullptr, &rna_BlendDataVolumes_rna_properties,
	-1, "rna_type", 8912896, 0, 0, 0, 0, PropertyPathTemplateType(0), "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	BlendDataVolumes_rna_type_get, nullptr, nullptr, nullptr,&RNA_Struct
};
PropertyRNA &rna_BlendDataVolumes_rna_type = reinterpret_cast<PropertyRNA &>(rna_BlendDataVolumes_rna_type_);

static StringPropertyRNA rna_BlendDataVolumes_new_name_ = {
	{&rna_BlendDataVolumes_new_volume, nullptr,
	-1, "name", 262145, 0, 1, 0, 0, PropertyPathTemplateType(0), "",
	"New name for the data-block",
	0, "*",
	PROP_STRING, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, eStringPropertySearchFlag(0), nullptr, 0, "Volume"
};
PropertyRNA &rna_BlendDataVolumes_new_name = reinterpret_cast<PropertyRNA &>(rna_BlendDataVolumes_new_name_);

static PointerPropertyRNA rna_BlendDataVolumes_new_volume_ = {
	{nullptr, &rna_BlendDataVolumes_new_name,
	-1, "volume", 8388736, 0, 2, 0, 0, PropertyPathTemplateType(0), "",
	"New volume data-block",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Volume
};
PropertyRNA &rna_BlendDataVolumes_new_volume = reinterpret_cast<PropertyRNA &>(rna_BlendDataVolumes_new_volume_);

FunctionRNA rna_BlendDataVolumes_new_func = {
	{(FunctionRNA *)&rna_BlendDataVolumes_remove_func, nullptr,
	nullptr,
	{&rna_BlendDataVolumes_new_name, &rna_BlendDataVolumes_new_volume}},
	"new", 0, "Add a new volume to the main database",
	BlendDataVolumes_new_call,
	&rna_BlendDataVolumes_new_volume
};

static PointerPropertyRNA rna_BlendDataVolumes_remove_volume_ = {
	{&rna_BlendDataVolumes_remove_do_unlink, nullptr,
	-1, "volume", 262272, 0, 5, 0, 0, PropertyPathTemplateType(0), "",
	"Volume to remove",
	0, "*",
	PROP_POINTER, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr,&RNA_Volume
};
PropertyRNA &rna_BlendDataVolumes_remove_volume = reinterpret_cast<PropertyRNA &>(rna_BlendDataVolumes_remove_volume_);

static BoolPropertyRNA rna_BlendDataVolumes_remove_do_unlink_ = {
	{&rna_BlendDataVolumes_remove_do_id_user, &rna_BlendDataVolumes_remove_volume,
	-1, "do_unlink", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Unlink all usages of this volume before deleting it (WARNING: will also delete objects instancing that volume data)",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataVolumes_remove_do_unlink = reinterpret_cast<PropertyRNA &>(rna_BlendDataVolumes_remove_do_unlink_);

static BoolPropertyRNA rna_BlendDataVolumes_remove_do_id_user_ = {
	{&rna_BlendDataVolumes_remove_do_ui_user, &rna_BlendDataVolumes_remove_do_unlink,
	-1, "do_id_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Decrement user counter of all datablocks used by this volume data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataVolumes_remove_do_id_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataVolumes_remove_do_id_user_);

static BoolPropertyRNA rna_BlendDataVolumes_remove_do_ui_user_ = {
	{nullptr, &rna_BlendDataVolumes_remove_do_id_user,
	-1, "do_ui_user", 3, 0, 0, 0, 0, PropertyPathTemplateType(0), "",
	"Make sure interface does not reference this volume data",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1, nullptr
};
PropertyRNA &rna_BlendDataVolumes_remove_do_ui_user = reinterpret_cast<PropertyRNA &>(rna_BlendDataVolumes_remove_do_ui_user_);

FunctionRNA rna_BlendDataVolumes_remove_func = {
	{(FunctionRNA *)&rna_BlendDataVolumes_tag_func, (FunctionRNA *)&rna_BlendDataVolumes_new_func,
	nullptr,
	{&rna_BlendDataVolumes_remove_volume, &rna_BlendDataVolumes_remove_do_ui_user}},
	"remove", 16, "Remove a volume from the current blendfile",
	BlendDataVolumes_remove_call,
	nullptr
};

static BoolPropertyRNA rna_BlendDataVolumes_tag_value_ = {
	{nullptr, nullptr,
	-1, "value", 3, 0, 1, 0, 0, PropertyPathTemplateType(0), "Value",
	"",
	0, "*",
	PROP_BOOLEAN, PropertySubType(int(PROP_NONE) | int(PROP_UNIT_NONE)), nullptr, 0, {0, 0, 0}, 0,
	nullptr, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
	0, PROP_RAW_UNSET, nullptr},
	nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, nullptr
};
PropertyRNA &rna_BlendDataVolumes_tag_value = reinterpret_cast<PropertyRNA &>(rna_BlendDataVolumes_tag_value_);

FunctionRNA rna_BlendDataVolumes_tag_func = {
	{nullptr, (FunctionRNA *)&rna_BlendDataVolumes_remove_func,
	nullptr,
	{&rna_BlendDataVolumes_tag_value, &rna_BlendDataVolumes_tag_value}},
	"tag", 0, "tag",
	BlendDataVolumes_tag_call,
	nullptr
};

StructRNA RNA_BlendDataVolumes = {
	{(ContainerRNA *)&RNA_FluidDomainSettings, (ContainerRNA *)&RNA_BlendDataPointClouds,
	nullptr,
	{&rna_BlendDataVolumes_rna_properties, &rna_BlendDataVolumes_rna_type}},
	"BlendDataVolumes", nullptr, nullptr, 516, nullptr, "Main Volumes",
	"Collection of volumes",
	"*", 61,
	nullptr, &rna_BlendDataVolumes_rna_properties,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	{(FunctionRNA *)&rna_BlendDataVolumes_new_func, (FunctionRNA *)&rna_BlendDataVolumes_tag_func}
};

