SQLite format 3@ "9'GPKG.c"!: /#  #= #}P7AEgypt 1907 / Red BeltEPSGYPROJCS["Egypt 1907 / Red Belt",GEOGCS["Egypt 1907",DATUM["Egypt_1907",SPHEROID["Helmert 1906",6378200,298.3,AUTHORITY["EPSG","7020"]],AUTHORITY["EPSG","6229"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4229"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",31],PARAMETER["scale_factor",1],PARAMETER["false_easting",615000],PARAMETER["false_northing",810000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","22992"]]f +iWGS 84 geodeticEPSGGEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4326"]]longitude/latitude coordinates in decimal degrees on the WGS 84 spheroid\=mUndefined geographic SRSNONEundefinedundefined geographic coordinate reference system[;kUndefined Cartesian SRSNONEundefinedundefined Cartesian coordinate reference system L]  =polygonsfeaturespolygons2026-01-01T00:00:00.000ZA#%hA(Є%FA#)6A(NT2YW  =linesfeatureslines2026-01-01T00:00:00.000ZA#~X;A(,N#.A#R{A(\VJ?YY  =pointsfeaturespoints2026-01-01T00:00:00.000ZA#|A(бA# "A(hY  polygons  points lines  polygons  points lines  polygons lines points  polygons  points lines polygonsgeomPOLYGONY!linesgeomLINESTRINGYpointsgeomPOINTY polygonsgeom pointsgeomlinesgeom  polygons  points lines     eyl : i  5 l D,gTeuF!'1[GPY" ߉#AمE(AEG-CAI-010marker_mihrabMosque of Al-Hakimمسجد الحاكم بأمر اللهvF!)1[GPY p #Ah(AEG-CAI-010marker_gatewayMosque of Al-Hakimمسجد الحاكم بأمر اللهF!'=qGPY~#&#Ah&_(AEG-CAI-009marker_mihrabSabil-Kuttab of Katkhudaسبيل وكتاب عبد الرحمن كتخداF!)=qGPYḺ#A䟷(AEG-CAI-009marker_gatewaySabil-Kuttab of Katkhudaسبيل وكتاب عبد الرحمن كتخداaF!)+7GPY't#A1٢a(AEG-CAI-008marker_minaretKhan el-Khaliliخان الخليلي`F!'+7GPY:#A#s=+(AEG-CAI-008marker_mihrabKhan el-Khaliliخان الخليليaF!)+7GPY@t#A 9(AEG-CAI-008marker_gatewayKhan el-Khaliliخان الخليليXF!'#/GPY #AN(AEG-CAI-007marker_mihrabBab Zuwaylaباب زويلةYF!)#/GPYӅ#A^8(AEG-CAI-007marker_gatewayBab Zuwaylaباب زويلةaF!)+7GPYB҈#AT(AEG-CAI-006marker_minaretBayt Al-Suhaymiبيت السحيمي`F!'+7GPY^r#A0(AEG-CAI-006marker_mihrabBayt Al-Suhaymiبيت السحيميaF!)+7GPYx3҈#As(AEG-CAI-006marker_gatewayBayt Al-Suhaymiبيت السحيميb F!'/7GPYk•#AϿ(AEG-CAI-005marker_mihrabAl-Hussein Mosqueمسجد الحسينc F!)/7GPY嶌gH#AQfA (AEG-CAI-005marker_gatewayAl-Hussein Mosqueمسجد الحسينe F!)+?GPYbU?##AAc(AEG-CAI-004marker_minaretAl-Azhar Mosqueالجامع الأزهرd F!'+?GPYɘ2p#A 9?(AEG-CAI-004marker_mihrabAl-Azhar Mosqueالجامع الأزهرe F!)+?GPY"#AM(AEG-CAI-004marker_gatewayAl-Azhar Mosqueالجامع الأزهرgF!)-AGPY>#A(AEG-CAI-003marker_minaretIbn Tulun Mosqueمسجد ابن طولونfF!'-AGPYҮ#AUl (AEG-CAI-003marker_mihrabIbn Tulun Mosqueمسجد ابن طولونgF!)-AGPY|#Ab(AEG-CAI-003marker_gatewayIbn Tulun Mosqueمسجد ابن طولونbF!'+;GPY؅#AŤ!(AEG-CAI-002marker_mihrabAl-Rifai Mosqueمسجد الرفاعيcF!)+;GPYj#A (AEG-CAI-002marker_gatewayAl-Rifai Mosqueمسجد الرفاعيF!)EcGPY~'M˄#Asjz(AEG-CAI-001marker_minaretSultan Hassan Mosque-Madrasaمسجد ومدرسة السلطان حسنF!'EcGPYM}D#AQU(AEG-CAI-001marker_mihrabSultan Hassan Mosque-Madrasaمسجد ومدرسة السلطان حسنF!)EcGPYkڹʄ#Am(AEG-CAI-001marker_gatewaySultan Hassan Mosque-Madrasaمسجد ومدرسة السلطان حسن  polygons lines points E^-q!polygonsgeomgpkg_rtree_indexhttp://www.geopackage.org/spec120/#extension_rtreewrite-only[-q!linesgeomgpkg_rtree_indexhttp://www.geopackage.org/spec120/#extension_rtreewrite-only\-q!pointsgeomgpkg_rtree_indexhttp://www.geopackage.org/spec120/#extension_rtreewrite-only "-polygonsgeomgpkg_rtree_index- pointsgeomgpkg_rtree_index-linesgeomgpkg_rtree_index                                - -P$I&WI&XIFmIFoI(I(IFIFI&ZI&\IFIFI,[I,]IFIFI.I.IF9IF;IIIFIFI6I7IFSIFUIIIFIF IIIIIGnIGp IKIKIFIF IIIIIFIF IJCIJDIGJIGL ILILIG IG IFIFIG3IG3IHIHIG0IG0IFIFIG.IG.I.I.IFIFI1I1IFIFICICIG IG IFIFIG XIG ZICICIGIGI=I=IG%IG%I?I?IG"IG"ILILIGDIGDININIGB/IGB1  6l  i  j $7j9 N!%1[GPYш#A{R#A/(A?JV\(Aш#A/(AI%摉#A~An+(A&`#A8-(AEG-CAI-008axial_line_2Khan el-Khaliliخان الخليلي$ N!%+7GPY&2鳇#AG5#A9{t(AϬA(A&2鳇#A9{t(Aҋt#Am>n+(AG5#AϬA(AEG-CAI-008axial_line_1Khan el-Khaliliخان الخليلي N!%#/GPY@鿅#Aע|#A (AE3z(Aע|#A (AWӅ#A 剜(A@鿅#AE3z(AEG-CAI-007axial_line_2Bab Zuwaylaباب زويلة N!%#/GPY\"#Af#AWx(Ap$(A\"#AWx(AWӅ#A 剜(Af#Ap$(AEG-CAI-007axial_line_1Bab Zuwaylaباب زويلة$ N!%+7GPY`z#AVA#A\g(A^O1(A`z#A\g(AqL҈#A0(AVA#A^O1(AEG-CAI-006axial_line_1Bayt Al-Suhaymiبيت السحيمي& N!%/7GPYbLJ#Abo #Ao,(Awyu/(AbLJ#Ao,(AzH#Abə(Abo #Awyu/(AEG-CAI-005axial_line_1Al-Hussein Mosqueمسجد الحسين( N!%+?GPYIPMIG IG; I@ILIG0#IG1 I(I4IF/IF I-I/ 0); ENDY"W-9triggergpkg_tile_matrix_matrix_height_updategpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_matrix_height_update' BEFORE UPDATE OF matrix_height ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: matrix_height cannot be less than 1') WHERE (NEW.matrix_height < 1); ENDH!W-triggergpkg_tile_matrix_matrix_height_insertgpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_matrix_height_insert' BEFORE INSERT ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: matrix_height cannot be less than 1') WHERE (NEW.matrix_height < 1); ENDT U-1triggergpkg_tile_matrix_matrix_width_updategpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_matrix_width_update' BEFORE UPDATE OF matrix_width ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: matrix_width cannot be less than 1') WHERE (NEW.matrix_width < 1); ENDDU-triggergpkg_tile_matrix_matrix_width_insertgpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_matrix_width_insert' BEFORE INSERT ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: matrix_width cannot be less than 1') WHERE (NEW.matrix_width < 1); ENDJQ-!triggergpkg_tile_matrix_zoom_level_updategpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_zoom_level_update' BEFORE UPDATE of zoom_level ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: zoom_level cannot be less than 0') WHERE (NEW.zoom_level < 0); END<Q-triggergpkg_tile_matrix_zoom_level_insertgpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_zoom_level_insert' BEFORE INSERT ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: zoom_level cannot be less than 0') WHERE (NEW.zoom_level < 0); ENDAA-tablertree_polygons_geom_parentrtree_polygons_geom_parentCREATE TABLE "rtree_polygons_geom_parent"(nodeno INTEGER PRIMARY KEY,parentnode)==tablertree_polygons_geom_nodertree_polygons_geom_nodeCREATE TABLE "rtree_polygons_geom_node"(nodeno INTEGER PRIMARY KEY,data) ??!tablertree_polygons_geom_rowidrtree_polygons_geom_rowidCREATE TABLE "rtree_polygons_geom_rowid"(rowid INTEGER PRIMARY KEY,nodeno)SytablepolygonspolygonsCREATE TABLE "polygons" ( "fid" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "geom" POLYGON, "site_id" TEXT, "feature_kind" TEXT, "name_en" TEXT, "name_ar" TEXT, "part_index" INTEGER);;'tablertree_lines_geom_parentrtree_lines_geom_parentCREATE TABLE "rtree_lines_geom_parent"(nodeno INTEGER PRIMARY KEY,parentnode)|77tablertree_lines_geom_nodertree_lines_geom_nodeCREATE TABLE "rtree_lines_geom_node"(nodeno INTEGER PRIMARY KEY,data)  K  O 7oZ !1[ GPY[#A6)#A9Ӳ(A2TN(Al(\#A9Ӳ(A6)#A4c"(A#A2TN(A[#A,N(Al(\#A9Ӳ(AEG-CAI-010enclosureMosque of Al-Hakimمسجد الحاكم بأمر اللهZ !1[GPY%#A[#A2o(An(A {#A2o(A[#A(AP#An(A%#A{(A {#A2o(AEG-CAI-010enclosureMosque of Al-Hakimمسجد الحاكم بأمر اللهk !=qGPY;;=#A&#Aͺ(AU:(A9m>#Aͺ(A&#A..(Ak%#AU:(A;;=#A8&(A9m>#Aͺ(AEG-CAI-009enclosureSabil-Kuttab of Katkhudaسبيل وكتاب عبد الرحمن كتخداE !+7 GPY>#A4 Ɖ#AdG)(AF3(A?#AdG)(A4 Ɖ#A$x(Aʼn#AF3(A>#A@[3(A?#AdG)(AEG-CAI-008enclosureKhan el-Khaliliخان الخليليE !+7GPY#AmJ#Aƥ(A.Z(AKPP#Aƥ(AmJ#AHM(Ad,*#A.Z(A#A8ӯ(AKPP#Aƥ(AEG-CAI-008enclosureKhan el-Khaliliخان الخليلي= !#/GPY=_#A G#AV=A(A!(AC`#AV=A(A G#A:_(A]5"G#A!(A=_#A_M!(AC`#AV=A(AEG-CAI-007enclosureBab Zuwaylaباب زويلةE !+7 GPY/85#Ay##AC6(Au#(A E#AC6(Ay##Apl(A .7##Au#(A/85#A%O#(A E#AC6(AEG-CAI-006enclosureBayt Al-Suhaymiبيت السحيميE !+7GPYJkF^#A%=SF#A﹕(AM(A^#A﹕(A%=SF#A'+A(AmE#AM(AJkF^#Ao`aƟ(A^#A﹕(AEG-CAI-006enclosureBayt Al-Suhaymiبيت السحيميG !/7GPYZԈ#A/#APķH+(Aɤ5(A.Ո#APķH+(A/#AmM?+(A{#Aɤ5(AZԈ#AKkU5(A.Ո#APķH+(AEG-CAI-005enclosureAl-Hussein Mosqueمسجد الحسينI !+?GPY.#Asgu#A:o(A\z(A/#A:o(Asgu#A|Op(Auqx#A\z(A.#Ady(A/#A:o(AEG-CAI-004enclosureAl-Azhar Mosqueالجامع الأزهرK !-A GPYc#AV#A$Uw(Aw(Add#A$Uw(AV#A۲w(A#Aw(Ac#A>(Add#A$Uw(AEG-CAI-003enclosureIbn Tulun Mosqueمسجد ابن طولونK !-AGPYh%#Ac2 #AF%(A퇏(A>&#AF%(Ac2 #A/{(Ag* #A퇏(Ah%#A1 (A>&#AF%(AEG-CAI-003enclosureIbn Tulun Mosqueمسجد ابن طولونG !+; GPYU#Aoj7܆#A[ 4(AQ(AhU#A[ 4(Aoj7܆#A킂Z4(A)遜܆#AQ(AU#A]>(AhU#A[ 4(AEG-CAI-002enclosureAl-Rifai Mosqueمسجد الرفاعيG !+;GPY5.#A,#AA(A=L(A+#AA(A,#AYM1B(A#A=L(A5.#A|K(A+#AA(AEG-CAI-002enclosureAl-Rifai Mosqueمسجد الرفاعيh !EcGPYkyW#A=j%?#AJ(AJq(ArBW#AJ(A=j%?#APe(AncC>#AJq(AkyW#Ao&(ArBW#AJ(AEG-CAI-001enclosureSultan Hassan Mosque-Madrasaمسجد ومدرسة السلطان حسن                      - -P$I"I)IFIFI(I/IF IFbI2I6IFIF~I-InIF&IF~IIYIFIFIExILIF~IGIFIMIG ZIGIBIJ3IG,IG5 ILIQIG4?IG9 I*I2>IFIF I@IGGIG.IG IIIN2IG IG I9IA1IGIG'"IHIP1IG>IGFZIRIWIGEIGJs  ZZ X ' vG-=Ctriggerrtree_points_geom_deletepointsCREATE$Y$U-;triggergpkg_tile_matrix_pixel_x_size_updategpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_pixel_x_size_update' BEFORE UPDATE OF pixel_x_size ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_x_size must be greater than 0') WHERE NOT (NEW.pixel_x_size > 0); ENDx/Striggertrigger_delete_feature_count_pointspointsCREATE TRIGGER "trigger_delete_feature_count_points" AFTER DELETE ON "points" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count - 1 WHERE lower(table_name) = lower('points'); ENDx.Striggertrigger_insert_feature_count_pointspointsCREATE TRIGGER "trigger_insert_feature_count_points" AFTER INSERT ON "points" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count + 1 WHERE lower(table_name) = lower('points'); ENDG-=Ctriggerrtree_points_geom_deletepointsCREATE TRIGGER "rtree_points_geom_delete" AFTER DELETE ON "points" WHEN old."geom" NOT NULL BEGIN DELETE FROM "rtree_points_geom" WHERE id = OLD."fid"; END ,?Ktriggerrtree_points_geom_update4pointsCREATE TRIGGER "rtree_points_geom_update4" AFTER UPDATE ON "points" WHEN OLD."fid" != NEW."fid" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_points_geom" WHERE id IN (OLD."fid", NEW."fid"); END+?]triggerrtree_points_geom_update3pointsCREATE TRIGGER "rtree_points_geom_update3" AFTER UPDATE ON "points" WHEN OLD."fid" != NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_points_geom" WHERE id = OLD."fid"; INSERT OR REPLACE INTO "rtree_points_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END*?Atriggerrtree_points_geom_update2pointsCREATE TRIGGER "rtree_points_geom_update2" AFTER UPDATE OF "geom" ON "points" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_points_geom" WHERE id = OLD."fid"; ENDh)?triggerrtree_points_geom_update1pointsCREATE TRIGGER "rtree_points_geom_update1" AFTER UPDATE OF "geom" ON "points" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN INSERT OR REPLACE INTO "rtree_points_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); ENDC(=;triggerrtree_points_geom_insertpointsCREATE TRIGGER "rtree_points_geom_insert" AFTER INSERT ON "points" WHEN (new."geom" NOT NULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN INSERT OR REPLACE INTO "rtree_points_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END~'//-tablertree_points_geomrtree_points_geomCREATE VIRTUAL TABLE "rtree_points_geom" USING rtree(id, minx, maxx, miny, maxy)Y&U-;triggergpkg_tile_matrix_pixel_y_size_updategpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_update' BEFORE UPDATE OF pixel_y_size ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0') WHERE NOT (NEW.pixel_y_size > 0); ENDI%U-triggergpkg_tile_matrix_pixel_y_size_insertgpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_insert' BEFORE INSERT ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0') WHERE NOT (NEW.pixel_y_size > 0); END B OE  C o j M:AGtriggerrtree_polygons_geom_insertpolygonsCREATE TRIGGER "rtree_polygons_geom_insert" AFTER INSERT ON "polygons" WHEN (new."geom" NOT NULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN INSERT OR REPLACE INTO "rtree_polygons_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END9331tablertree_polygons_geomrtree_polygons_geomCREATE VIRTUAL TABLE "rtree_polygons_geom" USING rtree(id, minx, maxx, miny, maxy)s8Q triggertrigger_delete_feature_count_lineslinesCREATE TRIGGER "trigger_delete_feature_count_lines" AFTER DELETE ON "lines" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count - 1 WHERE lower(table_name) = lower('lines'); ENDs7Q triggertrigger_insert_feature_count_lineslinesCREATE TRIGGER "trigger_insert_feature_count_lines" AFTER INSERT ON "lines" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count + 1 WHERE lower(table_name) = lower('lines'); ENDB6;=triggerrtree_lines_geom_deletelinesCREATE TRIGGER "rtree_lines_geom_delete" AFTER DELETE ON "lines" WHEN old."geom" NOT NULL BEGIN DELETE FROM "rtree_lines_geom" WHERE id = OLD."fid"; END5=Etriggerrtree_lines_geom_update4linesCREATE TRIGGER "rtree_lines_geom_update4" AFTER UPDATE ON "lines" WHEN OLD."fid" != NEW."fid" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_lines_geom" WHERE id IN (OLD."fid", NEW."fid"); END4=Utriggerrtree_lines_geom_update3linesCREATE TRIGGER "rtree_lines_geom_update3" AFTER UPDATE ON "lines" WHEN OLD."fid" != NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_lines_geom" WHERE id = OLD."fid"; INSERT OR REPLACE INTO "rtree_lines_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END3=;triggerrtree_lines_geom_update2linesCREATE TRIGGER "rtree_lines_geom_update2" AFTER UPDATE OF "geom" ON "lines" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_lines_geom" WHERE id = OLD."fid"; ENDc2=}triggerrtree_lines_geom_update1linesCREATE TRIGGER "rtree_lines_geom_update1" AFTER UPDATE OF "geom" ON "lines" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN INSERT OR REPLACE INTO "rtree_lines_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END>1;5triggerrtree_lines_geom_insertlinesCREATE TRIGGER "rtree_lines_geom_insert" AFTER INSERT ON "lines" WHEN (new."geom" NOT NULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN INSERT OR REPLACE INTO "rtree_lines_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END{0--+tablertree_lines_geomrtree_lines_geomCREATE VIRTUAL TABLE "rtree_lines_geom" USING rtree(id, minx, maxx, miny, maxy)  w AWtriggertrigger_delete_feature_count_polygonspolygonsCREATE TRIGGER "trigger_delete_feature_count_polygons" AFTER DELETE ON "polygons" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count - 1 WHERE lower(table_name) = lower('polygons'); END@Wtriggertrigger_insert_feature_count_polygonspolygonsCREATE TRIGGER "trigger_insert_feature_count_polygons" AFTER INSERT ON "polygons" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count + 1 WHERE lower(table_name) = lower('polygons'); ENDQ?AOtriggerrtree_polygons_geom_deletepolygonsCREATE TRIGGER "rtree_polygons_geom_delete" AFTER DELETE ON "polygons" WHEN old."geom" NOT NULL BEGIN DELETE FROM "rtree_polygons_geom" WHERE id = OLD."fid"; END>CWtriggerrtree_polygons_geom_update4polygonsCREATE TRIGGER "rtree_polygons_geom_update4" AFTER UPDATE ON "polygons" WHEN OLD."fid" != NEW."fid" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_polygons_geom" WHERE id IN (OLD."fid", NEW."fid"); END!=Cmtriggerrtree_polygons_geom_update3polygonsCREATE TRIGGER "rtree_polygons_geom_update3" AFTER UPDATE ON "polygons" WHEN OLD."fid" != NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_polygons_geom" WHERE id = OLD."fid"; INSERT OR REPLACE INTO "rtree_polygons_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END<CMtriggerrtree_polygons_geom_update2polygonsCREATE TRIGGER "rtree_polygons_geom_update2" AFTER UPDATE OF "geom" ON "polygons" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_polygons_geom" WHERE id = OLD."fid"; ENDr;Ctriggerrtree_polygons_geom_update1polygonsCREATE TRIGGER "rtree_polygons_geom_update1" AFTER UPDATE OF "geom" ON "polygons" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN INSERT OR REPLACE INTO "rtree_polygons_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END