@timardex/cluemart-shared 1.6.130 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/ad-BUYzE6zx.d.ts +181 -0
  2. package/dist/ad-BhLoEul3.d.mts +181 -0
  3. package/dist/affiliate-BbtjeUP4.d.mts +73 -0
  4. package/dist/affiliate-C51nzKsw.d.ts +73 -0
  5. package/dist/apollo/index.d.mts +3 -3
  6. package/dist/apollo/index.d.ts +3 -3
  7. package/dist/auth/index.cjs +951 -2546
  8. package/dist/auth/index.cjs.map +1 -1
  9. package/dist/auth/index.d.mts +30 -28
  10. package/dist/auth/index.d.ts +30 -28
  11. package/dist/auth/index.mjs +25 -24
  12. package/dist/auth/index.mjs.map +1 -1
  13. package/dist/chunk-32MKHJTX.mjs +1207 -0
  14. package/dist/chunk-32MKHJTX.mjs.map +1 -0
  15. package/dist/chunk-AYO3E4DM.mjs +224 -0
  16. package/dist/chunk-AYO3E4DM.mjs.map +1 -0
  17. package/dist/chunk-BIJ5NDXW.mjs +962 -0
  18. package/dist/chunk-BIJ5NDXW.mjs.map +1 -0
  19. package/dist/chunk-DQ7ZHIXW.mjs +26 -0
  20. package/dist/chunk-DQ7ZHIXW.mjs.map +1 -0
  21. package/dist/chunk-ILILH7E2.mjs +219 -0
  22. package/dist/chunk-ILILH7E2.mjs.map +1 -0
  23. package/dist/{chunk-OHHJ3KJJ.mjs → chunk-LBEJECG3.mjs} +64 -71
  24. package/dist/chunk-LBEJECG3.mjs.map +1 -0
  25. package/dist/chunk-NPFJ2CN2.mjs +109 -0
  26. package/dist/chunk-NPFJ2CN2.mjs.map +1 -0
  27. package/dist/chunk-R6PCFOYO.mjs +3650 -0
  28. package/dist/chunk-R6PCFOYO.mjs.map +1 -0
  29. package/dist/{chunk-NWWKI4PJ.mjs → chunk-SD42WIMV.mjs} +5 -5
  30. package/dist/chunk-SD42WIMV.mjs.map +1 -0
  31. package/dist/chunk-VA5YN2K3.mjs +48 -0
  32. package/dist/chunk-VA5YN2K3.mjs.map +1 -0
  33. package/dist/{chunk-DATBGC2K.mjs → chunk-VPANTTZI.mjs} +23 -108
  34. package/dist/chunk-VPANTTZI.mjs.map +1 -0
  35. package/dist/chunk-X3OLM35T.mjs +278 -0
  36. package/dist/chunk-X3OLM35T.mjs.map +1 -0
  37. package/dist/contactUs--NoohZBu.d.ts +11 -0
  38. package/dist/contactUs-CBWzefUS.d.mts +11 -0
  39. package/dist/enums/index.cjs +229 -2
  40. package/dist/enums/index.cjs.map +1 -1
  41. package/dist/enums/index.d.mts +170 -5
  42. package/dist/enums/index.d.ts +170 -5
  43. package/dist/enums/index.mjs +41 -1
  44. package/dist/formFields/index.cjs +112 -284
  45. package/dist/formFields/index.cjs.map +1 -1
  46. package/dist/formFields/index.d.mts +2 -4
  47. package/dist/formFields/index.d.ts +2 -4
  48. package/dist/formFields/index.mjs +50 -919
  49. package/dist/formFields/index.mjs.map +1 -1
  50. package/dist/global-CUYYxpy2.d.ts +699 -0
  51. package/dist/global-DePDtOFt.d.mts +699 -0
  52. package/dist/graphql/index.cjs +2304 -2872
  53. package/dist/graphql/index.cjs.map +1 -1
  54. package/dist/graphql/index.d.mts +469 -422
  55. package/dist/graphql/index.d.ts +469 -422
  56. package/dist/graphql/index.mjs +160 -2547
  57. package/dist/graphql/index.mjs.map +1 -1
  58. package/dist/hooks/index.cjs +3869 -534
  59. package/dist/hooks/index.cjs.map +1 -1
  60. package/dist/hooks/index.d.mts +9 -10
  61. package/dist/hooks/index.d.ts +9 -10
  62. package/dist/hooks/index.mjs +72 -54
  63. package/dist/hooks/index.mjs.map +1 -1
  64. package/dist/images/index.mjs +21 -86
  65. package/dist/images/index.mjs.map +1 -1
  66. package/dist/index.cjs +4477 -5723
  67. package/dist/index.cjs.map +1 -1
  68. package/dist/index.d.mts +1679 -2539
  69. package/dist/index.d.ts +1679 -2539
  70. package/dist/index.mjs +4453 -5682
  71. package/dist/index.mjs.map +1 -1
  72. package/dist/map/index.d.mts +2 -3
  73. package/dist/map/index.d.ts +2 -3
  74. package/dist/resourceActivities-CMUcn2P7.d.ts +130 -0
  75. package/dist/resourceActivities-CwbJFGIp.d.mts +130 -0
  76. package/dist/sharing/index.cjs +19 -23
  77. package/dist/sharing/index.cjs.map +1 -1
  78. package/dist/sharing/index.d.mts +3 -16
  79. package/dist/sharing/index.d.ts +3 -16
  80. package/dist/sharing/index.mjs +29 -183
  81. package/dist/sharing/index.mjs.map +1 -1
  82. package/dist/subscription-BU8GvH2K.d.ts +12 -0
  83. package/dist/subscription-bmAdrnfi.d.mts +12 -0
  84. package/dist/theme/index.mjs +5 -41
  85. package/dist/theme/index.mjs.map +1 -1
  86. package/dist/types/index.cjs +123 -868
  87. package/dist/types/index.cjs.map +1 -1
  88. package/dist/types/index.d.mts +15 -234
  89. package/dist/types/index.d.ts +15 -234
  90. package/dist/types/index.mjs +31 -61
  91. package/dist/user-D47MLFyH.d.ts +134 -0
  92. package/dist/user-DE8edl3u.d.mts +134 -0
  93. package/dist/utils/index.cjs +117 -292
  94. package/dist/utils/index.cjs.map +1 -1
  95. package/dist/utils/index.d.mts +23 -25
  96. package/dist/utils/index.d.ts +23 -25
  97. package/dist/utils/index.mjs +5 -6
  98. package/package.json +3 -10
  99. package/dist/affiliate-Bqqlffw8.d.mts +0 -36
  100. package/dist/affiliate-Btlp5XUp.d.ts +0 -36
  101. package/dist/affiliateAdapters-BW3BY7c5.d.mts +0 -118
  102. package/dist/affiliateAdapters-C51ISmuA.d.ts +0 -118
  103. package/dist/auth-BOmAO53v.d.ts +0 -169
  104. package/dist/auth-CsITA95p.d.mts +0 -169
  105. package/dist/chunk-DATBGC2K.mjs.map +0 -1
  106. package/dist/chunk-DDHECBJR.mjs +0 -726
  107. package/dist/chunk-DDHECBJR.mjs.map +0 -1
  108. package/dist/chunk-INQCDU24.mjs +0 -139
  109. package/dist/chunk-INQCDU24.mjs.map +0 -1
  110. package/dist/chunk-NWWKI4PJ.mjs.map +0 -1
  111. package/dist/chunk-OHHJ3KJJ.mjs.map +0 -1
  112. package/dist/chunk-TOEFAEF2.mjs +0 -69
  113. package/dist/chunk-TOEFAEF2.mjs.map +0 -1
  114. package/dist/chunk-UKW7NZEQ.mjs +0 -2813
  115. package/dist/chunk-UKW7NZEQ.mjs.map +0 -1
  116. package/dist/dailyClue-C6WXY73z.d.mts +0 -105
  117. package/dist/dailyClue-C6WXY73z.d.ts +0 -105
  118. package/dist/event-C9K7CSg4.d.ts +0 -53
  119. package/dist/event-W0NhL5Cd.d.mts +0 -53
  120. package/dist/global-BbSFfYdd.d.ts +0 -181
  121. package/dist/global-C6v9tRji.d.mts +0 -181
  122. package/dist/graphql-CDOfA79A.d.ts +0 -1253
  123. package/dist/graphql-CcvzTs9k.d.mts +0 -1253
  124. package/dist/resourceActivities-CS8YRIIL.d.mts +0 -89
  125. package/dist/resourceActivities-DOdNPkhW.d.ts +0 -89
  126. package/dist/subscription-Cj_qBA7u.d.mts +0 -20
  127. package/dist/subscription-OiJ50uJb.d.ts +0 -20
  128. package/dist/vendor-DmMi2qmx.d.mts +0 -73
  129. package/dist/vendor-M9hVZlni.d.ts +0 -73
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/enums/clientEnums.ts","../src/formFields/vendor/vendor.ts","../src/generated/graphql.ts","../src/types/game/dailyClue.ts","../src/utils/date.ts","../src/utils/mapArrayToOptions.ts","../src/utils/dailyClueGame.ts","../src/sharing/relationShareTypes.ts","../src/sharing/constants.ts","../src/sharing/joinShareDescriptionSections.ts","../src/sharing/normalizeShareDescription.ts","../src/types/global.ts","../src/types/eventAdapters.ts","../src/types/vendorAdapters.ts","../src/auth/permissions/permissions.ts","../src/auth/permissions/rolePermissions.ts","../src/auth/permissions/helpers.ts","../src/auth/permissions/adminAppAccess.ts","../src/types/userAdapters.ts","../src/types/partnerAdapters.ts","../src/types/game/global.ts","../src/types/schoolAdapters.ts","../src/types/subscription.ts","../src/types/affiliateAdapters.ts","../src/utils/utils.ts","../src/utils/resourceImage.ts","../src/utils/school.ts","../src/utils/eventDateStatus.ts","../src/calendar/eventCalendar.ts","../src/formFields/categories/clothingAndFashion.ts","../src/formFields/categories/electronicsAndTechnology.ts","../src/formFields/categories/foodAndBeverages.ts","../src/formFields/categories/handmadeAndLocalProducts.ts","../src/formFields/categories/healthAndWellness.ts","../src/formFields/categories/homeGardenHousehold.ts","../src/formFields/categories/petProductsAndAnimalGoods.ts","../src/formFields/categories/serviceAndExperience.ts","../src/formFields/categories/toysChildren.ts","../src/formFields/categories/vintageAndAntique.ts","../src/formFields/categories/index.ts","../src/eventStallholders/eventStallholderFilters.ts","../src/vendorEvents/vendorEventFilters.ts","../src/utils/affiliate.ts","../src/utils/irdNumber.ts","../src/utils/isTransientNetworkError.ts","../src/utils/toUserFacingErrorMessage.ts","../src/formFields/vendor/vendorInfo.ts","../src/formFields/event/event.ts","../src/formFields/global.ts","../src/formFields/event/eventInfo.ts","../src/formFields/auth.ts","../src/formFields/user.ts","../src/formFields/socialMedia.ts","../src/formFields/contactUs.ts","../src/formFields/partner.ts","../src/generated/operations.ts","../src/graphql/toGraphqlQueryString.ts","../src/graphql/hooks/admin/hooksMutation.ts","../src/graphql/mutations/admin.ts","../src/graphql/hooks/auth.ts","../src/graphql/mutations/auth.ts","../src/graphql/hooks/chat/hooksMutation.ts","../src/graphql/mutations/chat.ts","../src/graphql/hooks/chat/hooksQuery.ts","../src/graphql/subscriptions/chat.ts","../src/graphql/hooks/contactUs.ts","../src/graphql/mutations/contactUs.ts","../src/graphql/hooks/event/hooksMutation.ts","../src/graphql/mutations/event.ts","../src/graphql/hooks/event/hooksQuery.ts","../src/graphql/hooks/notifications/hooksMutation.ts","../src/graphql/mutations/notification.ts","../src/graphql/hooks/notifications/hooksQuery.ts","../src/graphql/hooks/notifications/hooksSubscription.ts","../src/graphql/subscriptions/notification.ts","../src/graphql/hooks/poster.ts","../src/graphql/mutations/poster.ts","../src/graphql/hooks/pushToken.ts","../src/graphql/mutations/pushToken.ts","../src/graphql/hooks/relation/hooksMutation.ts","../src/graphql/mutations/relation.ts","../src/graphql/hooks/relation/hooksQuery.ts","../src/graphql/hooks/vendor/hooksMutation.ts","../src/graphql/mutations/vendor.ts","../src/graphql/hooks/vendor/hooksQuery.ts","../src/graphql/hooks/user/hooksMutation.ts","../src/graphql/mutations/user.ts","../src/graphql/hooks/user/hooksQuery.ts","../src/graphql/hooks/ad/hooksMutation.ts","../src/graphql/hooks/ad/hooksQuery.ts","../src/graphql/hooks/resourceActivities/hooksMutation.ts","../src/graphql/mutations/resourceActivities.ts","../src/graphql/hooks/resourceActivities/hooksQuery.ts","../src/graphql/hooks/stripe/hooksMutation.ts","../src/graphql/mutations/stripe.ts","../src/graphql/hooks/stripe/hooksQuery.ts","../src/graphql/hooks/partner/hooksMutation.ts","../src/graphql/mutations/partner.ts","../src/graphql/hooks/partner/hooksQuery.ts","../src/graphql/hooks/post/hooksMutation.ts","../src/graphql/mutations/post.ts","../src/graphql/hooks/post/hooksQuery.ts","../src/graphql/hooks/appSettings/hooksMutation.ts","../src/graphql/mutations/appSettings.ts","../src/graphql/hooks/appSettings/hooksQuery.ts","../src/graphql/hooks/game/hooksMutation.ts","../src/graphql/mutations/game.ts","../src/graphql/hooks/game/hooksQuery.ts","../src/graphql/hooks/school/hooksMutation.ts","../src/graphql/mutations/school.ts","../src/graphql/hooks/school/hooksQuery.ts","../src/graphql/hooks/affiliate/hooksQuery.ts","../src/graphql/hooks/affiliate/hooksMutation.ts","../src/graphql/mutations/affiliate.ts","../src/images/index.ts","../src/sharing/formatCategoryLabel.ts","../src/sharing/buildRelationShareDescription.ts","../src/sharing/buildPublicShareDescription.ts","../src/sharing/buildShareUrl.ts","../src/sharing/normalizeShareRouteId.ts","../src/sharing/shareSlugResource.ts","../src/sharing/toShareSocialImageCacheVersion.ts","../src/storage/index.ts","../src/theme/index.ts"],"sourcesContent":["/**\n * Client-side-only enums that have no GraphQL schema equivalent.\n * Schema-backed enums are generated by codegen in src/generated/graphql.ts.\n */\n\nexport enum EnumFoodType {\n ADDITIVE_FREE = \"Additive_Free\",\n AIR_FRIED = \"Air_Fried\",\n ALLERGEN_FRIENDLY = \"Allergen_Friendly\",\n ATHLETE_FRIENDLY = \"Athlete_Friendly\",\n BAKED = \"Baked\",\n DAIRY_FREE = \"Dairy_Free\",\n DIABETIC_FRIENDLY = \"Diabetic_Friendly\",\n EGG_FREE = \"Egg_Free\",\n FRESH = \"Fresh\",\n GLUTEN_FREE = \"Gluten_Free\",\n GRILLED = \"Grilled\",\n HALAL = \"Halal\",\n HEART_HEALTHY = \"Heart_Healthy\",\n HIGH_FIBER = \"High_Fiber\",\n HIGH_PROTEIN = \"High_Protein\",\n KETO = \"Keto\",\n KOSHER = \"Kosher\",\n LACTOSE_FREE = \"Lactose_Free\",\n LOW_CALORIE = \"Low_Calorie\",\n LOW_CARB = \"Low_Carb\",\n LOW_FAT = \"Low_Fat\",\n LOW_SODIUM = \"Low_Sodium\",\n NO_ADDED_SUGAR = \"No_Added_Sugar\",\n NO_PRESERVATIVES = \"No_Preservatives\",\n NON_GMO = \"Non_GMO\",\n NUT_FREE = \"Nut_Free\",\n ORGANIC = \"Organic\",\n PALEO = \"Paleo\",\n PLANT_BASED = \"Plant_Based\",\n RAW = \"Raw\",\n SMOKED = \"Smoked\",\n SOY_FREE = \"Soy_Free\",\n SUGAR_FREE = \"Sugar_Free\",\n VEGAN = \"Vegan\",\n VEGETARIAN = \"Vegetarian\",\n}\n\nexport enum EnumRegions {\n All = \"All Regions\",\n Auckland = \"Auckland\",\n BayOfPlentyGisborne = \"Bay of Plenty & Gisborne\",\n CanterburyWestCoast = \"Canterbury & West Coast\",\n HawkesBay = \"Hawke's Bay\",\n ManawatuWanganui = \"Manawatu-Wanganui\",\n MarlboroughNelsonTasman = \"Marlborough & Nelson & Tasman\",\n Northland = \"Northland\",\n Otago = \"Otago\",\n Southland = \"Southland\",\n Taranaki = \"Taranaki\",\n Waikato = \"Waikato\",\n Wellington = \"Wellington\",\n}\n\nexport enum ImageTypeEnum {\n AVATAR = \"avatar\",\n COVER = \"cover\",\n IMAGE = \"image\",\n LOGO = \"logo\",\n}\n","import { FormDateField, FormField, OptionItem } from \"../../types/global\";\n\nexport const vendorBasicInfoFields: FormField[] = [\n {\n helperText: \"Business Name *\",\n name: \"name\",\n placeholder: \"Business Name\",\n },\n {\n helperText: \"Description *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n\nexport const vendorFullAddress: FormField = {\n helperText: \"Enter address\",\n name: \"fullAddress\",\n placeholder: \"Start typing to find address\",\n};\n\nexport const vendorStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const vendorEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const vendorAvailability: FormField[] = [\n {\n name: \"availability.school\",\n placeholder: \"School events\",\n },\n {\n name: \"availability.private\",\n placeholder: \"Private events\",\n },\n {\n name: \"availability.corporate\",\n placeholder: \"Corporate events\",\n },\n];\n\nexport const vendorLocationDescription: FormField = {\n helperText: \"Description\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n};\n\nexport const vendorMenuFields: FormField[] = [\n {\n helperText: \"Item name\",\n name: \"name\",\n placeholder: \"Item name\",\n },\n {\n helperText: \"Price\",\n keyboardType: \"decimal-pad\",\n name: \"price\",\n placeholder: \"Price\",\n },\n {\n helperText: \"Item Description\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Item Description\",\n },\n];\n\nexport const productLabelGroups = [\n {\n category: \"Food Sensitivity\",\n items: [\n { abbreviation: \"DF\", fullName: \"Dairy-Free\" },\n { abbreviation: \"EF\", fullName: \"Egg-Free\" },\n { abbreviation: \"GF\", fullName: \"Gluten-Free\" },\n { abbreviation: \"NF\", fullName: \"Nut-Free\" },\n ],\n },\n {\n category: \"Lifestyle\",\n items: [\n { abbreviation: \"KETO\", fullName: \"Keto-Friendly\" },\n { abbreviation: \"P\", fullName: \"Paleo\" },\n { abbreviation: \"V\", fullName: \"Vegan\" },\n { abbreviation: \"VG\", fullName: \"Vegetarian\" },\n { abbreviation: \"KID\", fullName: \"Kid-Friendly\" }, // Gyerekbarát\n { abbreviation: \"PET\", fullName: \"Pet-Friendly Product\" }, // Állatok\n ],\n },\n {\n category: \"Natural\",\n items: [\n { abbreviation: \"ECO\", fullName: \"Eco-Friendly\" },\n { abbreviation: \"ORGANIC\", fullName: \"Organic Product\" },\n { abbreviation: \"NAT\", fullName: \"Natural Product\" }, // Természetesség\n { abbreviation: \"NPF\", fullName: \"Non-Pesticide / Chemical-Free\" },\n { abbreviation: \"PLN\", fullName: \"Plant-Based\" },\n ],\n },\n {\n category: \"Market Character\",\n items: [\n { abbreviation: \"HM\", fullName: \"Handmade\" },\n { abbreviation: \"LOC\", fullName: \"Local Product\" },\n { abbreviation: \"ART\", fullName: \"Artisan\" },\n { abbreviation: \"LTD\", fullName: \"Limited Edition\" },\n ],\n },\n {\n category: \"Cosmetic / Natural\",\n items: [\n { abbreviation: \"AROM\", fullName: \"Aromatherapy\" },\n { abbreviation: \"CRF\", fullName: \"Cruelty-Free\" },\n { abbreviation: \"HYPO\", fullName: \"Hypoallergenic\" },\n { abbreviation: \"BODY\", fullName: \"Body Care\" }, // Testápolás\n ],\n },\n {\n category: \"Wellbeing\",\n items: [\n { abbreviation: \"CARE\", fullName: \"Health Support Product\" }, // Egészség / testi jóllét\n { abbreviation: \"PHYS\", fullName: \"Physical Wellbeing\" }, // Fizikai jóllét\n { abbreviation: \"MENTAL\", fullName: \"Mental Wellbeing\" }, // Mentális jóllét\n { abbreviation: \"RELAX\", fullName: \"Relaxation Product\" }, // Relaxáció / lazítás\n { abbreviation: \"SPIRIT\", fullName: \"Spiritual Wellbeing\" }, // Lelki jóllét\n ],\n },\n {\n category: \"Tech & Digital\",\n items: [\n { abbreviation: \"TECH\", fullName: \"Technology Product\" }, // Technológia\n { abbreviation: \"DIGI\", fullName: \"Digital Technology\" }, // Digitális technológia\n ],\n },\n {\n category: \"Practical & Home\",\n items: [\n { abbreviation: \"PRAC\", fullName: \"Practical Solution\" }, // Praktikum\n { abbreviation: \"HOME\", fullName: \"Home & Living\" }, // Otthon / lakókörnyezet\n ],\n },\n {\n category: \"Sustainability\",\n items: [\n { abbreviation: \"ZWP\", fullName: \"Zero-Waste Product\" },\n { abbreviation: \"SUST\", fullName: \"Sustainable Product\" }, // Fenntarthatóság\n ],\n },\n];\n\nexport const priceUnits: OptionItem[] = [\n { label: \"Piece\", value: \"PIECE\" },\n { label: \"Portion\", value: \"PORTION\" },\n { label: \"Slice\", value: \"SLICE\" },\n { label: \"Cup\", value: \"CUP\" },\n { label: \"Bottle\", value: \"BOTTLE\" },\n { label: \"Can\", value: \"CAN\" },\n { label: \"Jar\", value: \"JAR\" },\n { label: \"Box\", value: \"BOX\" },\n { label: \"Pack\", value: \"PACK\" },\n { label: \"Bag\", value: \"BAG\" },\n { label: \"Bunch\", value: \"BUNCH\" },\n { label: \"Tray\", value: \"TRAY\" },\n { label: \"Punnet\", value: \"PUNNET\" },\n { label: \"Gr\", value: \"GRAM\" },\n { label: \"Kg\", value: \"KILOGRAM\" },\n { label: \"L\", value: \"LITRE\" },\n { label: \"Ml\", value: \"MILLILITRE\" },\n { label: \"Dozen\", value: \"DOZEN\" },\n { label: \"Half dozen\", value: \"HALF_DOZEN\" },\n];\n","import { PosterAssetId } from '../images';\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string; }\n String: { input: string; output: string; }\n Boolean: { input: boolean; output: boolean; }\n Int: { input: number; output: number; }\n Float: { input: number; output: number; }\n Date: { input: string; output: string; }\n PosterAssetId: { input: PosterAssetId; output: PosterAssetId; }\n Upload: { input: any; output: any; }\n};\n\n/** Activity enum type */\nexport enum ActivityEnumType {\n Favorite = 'FAVORITE',\n Going = 'GOING',\n Interested = 'INTERESTED',\n Present = 'PRESENT',\n View = 'VIEW'\n}\n\n/** Ad input type */\nexport type AdInputType = {\n active: Scalars['Boolean']['input'];\n end: Scalars['Date']['input'];\n resource: AdResourceInputType;\n showOn: Array<InputMaybe<AdShowOnEnum>>;\n start: Scalars['Date']['input'];\n status: AdStatusTypeEnum;\n targetRegion: Array<InputMaybe<Scalars['String']['input']>>;\n};\n\n/** Ad resource input type */\nexport type AdResourceInputType = {\n adDescription: Scalars['String']['input'];\n adImage: Scalars['String']['input'];\n adStyle: AdStyleEnum;\n adTitle: Scalars['String']['input'];\n adType: AdTypeEnum;\n resourceId: Scalars['String']['input'];\n resourceName: Scalars['String']['input'];\n resourceRegion: Scalars['String']['input'];\n resourceSlug: Scalars['String']['input'];\n resourceType: ResourceTypeEnum;\n};\n\n/** Ad resource type */\nexport type AdResourceType = {\n adDescription: Scalars['String']['output'];\n adImage: Scalars['String']['output'];\n adStyle: AdStyleEnum;\n adTitle: Scalars['String']['output'];\n adType: AdTypeEnum;\n resourceId: Scalars['String']['output'];\n resourceName: Scalars['String']['output'];\n resourceRegion: Scalars['String']['output'];\n resourceSlug: Scalars['String']['output'];\n resourceType: ResourceTypeEnum;\n};\n\n/** Ad show on enum */\nexport enum AdShowOnEnum {\n EventsPage = 'Events_page',\n FrontPage = 'Front_page',\n PartnersPage = 'Partners_page',\n VendorsPage = 'Vendors_page'\n}\n\n/** Ad status type enum */\nexport enum AdStatusTypeEnum {\n Active = 'Active',\n Expired = 'Expired',\n Paused = 'Paused'\n}\n\n/** Ad style enum */\nexport enum AdStyleEnum {\n Bloom = 'Bloom',\n Rise = 'Rise'\n}\n\n/** Ad type */\nexport type AdType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n clicks?: Maybe<Scalars['Int']['output']>;\n createdAt: Scalars['Date']['output'];\n end: Scalars['Date']['output'];\n impressions?: Maybe<Scalars['Int']['output']>;\n resource: AdResourceType;\n showOn: Array<Maybe<AdShowOnEnum>>;\n start: Scalars['Date']['output'];\n status: AdStatusTypeEnum;\n targetRegion: Array<Maybe<Scalars['String']['output']>>;\n updatedAt: Scalars['Date']['output'];\n};\n\n/** Ad type enum */\nexport enum AdTypeEnum {\n Free = 'Free',\n Sponsored = 'Sponsored'\n}\n\nexport type AddParticipantToChatResponse = {\n data?: Maybe<ChatType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AddUserFavouriteResourceResponse = {\n data?: Maybe<UserType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AddUserGoingResourceResponse = {\n data?: Maybe<UserType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AddUserInterestResourceResponse = {\n data?: Maybe<UserType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AddUserPresentResourceResponse = {\n data?: Maybe<UserType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AdminPermanentlyDeleteResourceResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AdminResendUserVerificationEmailResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AdminUpdateResourceInputType = {\n active: Scalars['Boolean']['input'];\n resourceId: Scalars['ID']['input'];\n resourceType: ResourceTypeEnum;\n};\n\n/** Admin update resource type */\nexport type AdminUpdateResourceType = {\n active: Scalars['Boolean']['output'];\n resourceId: Scalars['ID']['output'];\n resourceType: ResourceTypeEnum;\n};\n\nexport type AdminUpdateResourceTypeResponse = {\n data?: Maybe<AdminUpdateResourceType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AffiliateBankAccountDetailsInputType = {\n accountHolderName: Scalars['String']['input'];\n accountNumber: Scalars['String']['input'];\n};\n\n/** Affiliate bank account details type */\nexport type AffiliateBankAccountDetailsType = {\n accountHolderName: Scalars['String']['output'];\n accountNumber: Scalars['String']['output'];\n};\n\nexport type AffiliateContactDetailsInputType = {\n mobilePhone: Scalars['String']['input'];\n};\n\n/** Affiliate contact details type */\nexport type AffiliateContactDetailsType = {\n mobilePhone: Scalars['String']['output'];\n};\n\nexport type AffiliateDetailsInputType = {\n bankAccountDetails: AffiliateBankAccountDetailsInputType;\n contactDetails: AffiliateContactDetailsInputType;\n irdNumber: Scalars['String']['input'];\n location: LocationInputType;\n participantType: AffiliateParticipantTypeEnum;\n socialMedia?: InputMaybe<Array<InputMaybe<SocialMediaInputType>>>;\n termsAgreement: TermsAgreementInputType;\n};\n\n/** Affiliate details type */\nexport type AffiliateDetailsType = {\n bankAccountDetails: AffiliateBankAccountDetailsType;\n contactDetails: AffiliateContactDetailsType;\n email: Scalars['String']['output'];\n firstName: Scalars['String']['output'];\n irdNumber: Scalars['String']['output'];\n lastName: Scalars['String']['output'];\n location: LocationType;\n participantType: AffiliateParticipantTypeEnum;\n socialMedia?: Maybe<Array<SocialMediaType>>;\n termsAgreement: TermsAgreementType;\n};\n\n/** Affiliate participant type enum */\nexport enum AffiliateParticipantTypeEnum {\n Company = 'COMPANY',\n Individual = 'INDIVIDUAL',\n SoleTrader = 'SOLE_TRADER'\n}\n\n/** Affiliate resource type */\nexport type AffiliateResourceType = {\n resourceActive: Scalars['Boolean']['output'];\n resourceDeletedAt?: Maybe<Scalars['Date']['output']>;\n resourceId: Scalars['ID']['output'];\n resourceName: Scalars['String']['output'];\n resourceOwner: OwnerType;\n resourceType: ResourceTypeEnum;\n rewards: Array<AffiliateRewardType>;\n};\n\n/** Affiliate reward type enum */\nexport enum AffiliateRewardEnumType {\n ActiveEventWithVendorRegistrations = 'ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS',\n ActiveVendorBonusReward = 'ACTIVE_VENDOR_BONUS_REWARD',\n ActiveVendorProSubscription = 'ACTIVE_VENDOR_PRO_SUBSCRIPTION',\n ActiveVendorStandardSubscription = 'ACTIVE_VENDOR_STANDARD_SUBSCRIPTION',\n NewEventRegistration = 'NEW_EVENT_REGISTRATION',\n NewVendorRegistration = 'NEW_VENDOR_REGISTRATION'\n}\n\n/** Affiliate reward type */\nexport type AffiliateRewardType = {\n createdAt: Scalars['Date']['output'];\n redeemedAt?: Maybe<Scalars['Date']['output']>;\n rewardDescription: Scalars['String']['output'];\n rewardType: AffiliateRewardEnumType;\n rewardValue: Scalars['Int']['output'];\n};\n\n/** Affiliate type */\nexport type AffiliateType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n affiliateBonusRewards: Array<AffiliateRewardType>;\n affiliateCode?: Maybe<Scalars['String']['output']>;\n affiliateDetails?: Maybe<AffiliateDetailsType>;\n affiliateResources: Array<AffiliateResourceType>;\n approvedAt?: Maybe<Scalars['Date']['output']>;\n createdAt: Scalars['Date']['output'];\n deletedAt?: Maybe<Scalars['Date']['output']>;\n overallPoints: Scalars['Int']['output'];\n owner: OwnerType;\n redeemHistory: Array<RedeemHistoryType>;\n updatedAt?: Maybe<Scalars['Date']['output']>;\n};\n\nexport type AppSettingsInputType = {\n appVersion: Scalars['String']['input'];\n isOfflineMode: Scalars['Boolean']['input'];\n minimumRedeemableAffiliatePoints: Scalars['Int']['input'];\n};\n\n/** App settings type */\nexport type AppSettingsType = {\n _id: Scalars['String']['output'];\n appVersion: Scalars['String']['output'];\n createdAt: Scalars['Date']['output'];\n isOfflineMode: Scalars['Boolean']['output'];\n key: Scalars['String']['output'];\n minimumRedeemableAffiliatePoints: Scalars['Int']['output'];\n updatedAt: Scalars['Date']['output'];\n};\n\nexport type AssignAffiliateBonusRewardResponse = {\n data?: Maybe<AffiliateType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AssignAffiliateResourceRewardResponse = {\n data?: Maybe<AffiliateType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Auth Payload Type */\nexport type AuthPayloadType = {\n refreshToken?: Maybe<Scalars['String']['output']>;\n token: Scalars['String']['output'];\n user: UserType;\n};\n\n/** Base game input type */\nexport type BaseGameInputType = {\n dailyClue?: InputMaybe<DailyClueBaseGameInputType>;\n gameTitle: Scalars['String']['input'];\n gameType: GameTypeEnumType;\n gameTypeId: Scalars['ID']['input'];\n miniQuiz?: InputMaybe<PuzzleBaseGameInputType>;\n oddOneOut?: InputMaybe<PuzzleBaseGameInputType>;\n};\n\n/** Base game type */\nexport type BaseGameType = {\n dailyClue?: Maybe<DailyClueBaseGameType>;\n gameTitle: Scalars['String']['output'];\n gameType: GameTypeEnumType;\n gameTypeId: Scalars['ID']['output'];\n miniQuiz?: Maybe<PuzzleBaseGameType>;\n oddOneOut?: Maybe<PuzzleBaseGameType>;\n};\n\n/** Billing period enum type */\nexport enum BillingPeriodEnumType {\n MonthlyCancelAnytime = 'monthly_cancel_anytime',\n YearlyAnnualBilled = 'yearly_annual_billed',\n YearlyMonthlyBilled = 'yearly_monthly_billed'\n}\n\nexport type CancelSubscriptionResponse = {\n data?: Maybe<Scalars['String']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Category input type */\nexport type CategoryInputType = {\n id: Scalars['String']['input'];\n name: Scalars['String']['input'];\n subcategories: Array<InputMaybe<SubcategoryInputType>>;\n};\n\n/** Category type */\nexport type CategoryType = {\n id: Scalars['String']['output'];\n name: Scalars['String']['output'];\n subcategories?: Maybe<Array<SubcategoryType>>;\n};\n\n/** Message input type */\nexport type ChatMessageInputType = {\n content: Scalars['String']['input'];\n replyToMessageId?: InputMaybe<Scalars['String']['input']>;\n senderId: Scalars['String']['input'];\n};\n\n/** Chat message reaction */\nexport type ChatMessageReactionType = {\n createdAt: Scalars['Date']['output'];\n userId: Scalars['String']['output'];\n};\n\n/** Chat message reply preview */\nexport type ChatMessageReplyPreviewType = {\n contentPreview: Scalars['String']['output'];\n senderId: Scalars['String']['output'];\n senderName: Scalars['String']['output'];\n};\n\n/** Chat message seen status */\nexport type ChatMessageSeenType = {\n seenAt: Scalars['Date']['output'];\n userId: Scalars['String']['output'];\n};\n\n/** Chat message type */\nexport type ChatMessageType = {\n _id: Scalars['ID']['output'];\n content: Scalars['String']['output'];\n createdAt: Scalars['Date']['output'];\n likedBy?: Maybe<Array<Maybe<ChatMessageReactionType>>>;\n replyPreview?: Maybe<ChatMessageReplyPreviewType>;\n replyToMessageId?: Maybe<Scalars['ID']['output']>;\n seenBy?: Maybe<Array<Maybe<ChatMessageSeenType>>>;\n senderId: Scalars['String']['output'];\n updatedAt: Scalars['Date']['output'];\n};\n\n/** Participant type */\nexport type ChatParticipantType = {\n active: Scalars['Boolean']['output'];\n userAvatar?: Maybe<Scalars['String']['output']>;\n userEmail: Scalars['String']['output'];\n userId: Scalars['String']['output'];\n userName: Scalars['String']['output'];\n};\n\n/** Chat report reason enum */\nexport enum ChatReportReasonEnum {\n HarassmentOrBullying = 'Harassment_or_Bullying',\n HateSpeech = 'Hate_Speech',\n InappropriateContent = 'Inappropriate_Content',\n Other = 'Other',\n SpamOrScam = 'Spam_or_Scam',\n ViolenceOrDangerousBehavior = 'Violence_or_Dangerous_Behavior'\n}\n\n/** Chat type */\nexport type ChatType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n chatDescription?: Maybe<Scalars['String']['output']>;\n chatName: Scalars['String']['output'];\n chatType: ChatTypeEnum;\n createdAt: Scalars['Date']['output'];\n deletedAt?: Maybe<Scalars['Date']['output']>;\n /** List of messages in the chat */\n messages?: Maybe<Array<Maybe<ChatMessageType>>>;\n /** List of participants in the chat */\n participants: Array<Maybe<ChatParticipantType>>;\n region?: Maybe<Scalars['String']['output']>;\n updatedAt: Scalars['Date']['output'];\n};\n\n/** Chat type enum */\nexport enum ChatTypeEnum {\n Group = 'group',\n Private = 'private',\n Relation = 'relation'\n}\n\n/** Stripe Checkout Session result */\nexport type CheckoutSessionResultType = {\n checkoutUrl: Scalars['String']['output'];\n sessionId: Scalars['ID']['output'];\n};\n\n/** Contact details input type */\nexport type ContactDetailsInputType = {\n email?: InputMaybe<Scalars['String']['input']>;\n landlinePhone?: InputMaybe<Scalars['String']['input']>;\n mobilePhone?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Contact details type */\nexport type ContactDetailsType = {\n email?: Maybe<Scalars['String']['output']>;\n landlinePhone?: Maybe<Scalars['String']['output']>;\n mobilePhone?: Maybe<Scalars['String']['output']>;\n};\n\n/** Contact us input type */\nexport type ContactUsInputType = {\n email: Scalars['String']['input'];\n firstName: Scalars['String']['input'];\n lastName: Scalars['String']['input'];\n message: Scalars['String']['input'];\n};\n\nexport type ContactUsResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Content data input type */\nexport type ContentDataInputType = {\n game?: InputMaybe<BaseGameInputType>;\n images?: InputMaybe<Array<InputMaybe<ResourceImageInputType>>>;\n imagesUpload?: InputMaybe<Array<InputMaybe<ResourceImageUploadInputType>>>;\n list?: InputMaybe<ListContentDataInputType>;\n textarea?: InputMaybe<TextareaContentDataInputType>;\n video?: InputMaybe<VideoContentDataInputType>;\n};\n\nexport type CrawlGoogleMarketsResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreateAdResponse = {\n data?: Maybe<AdType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Input for creating multiple notifications for multiple users */\nexport type CreateBulkNotificationInput = {\n data?: InputMaybe<NotificationDataTypeInput>;\n message: Scalars['String']['input'];\n title: Scalars['String']['input'];\n type?: InputMaybe<NotificationEnumType>;\n userIds: Array<Scalars['ID']['input']>;\n};\n\nexport type CreateBulkNotificationsResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreateCheckoutSessionResponse = {\n data?: Maybe<CheckoutSessionResultType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreateCustomerPortalResponse = {\n data?: Maybe<CustomerPortalResultType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreateEventInfoResponse = {\n data?: Maybe<EventInfoType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreateEventResponse = {\n data?: Maybe<EventType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreatePartnerResponse = {\n data?: Maybe<PartnerType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreatePostResponse = {\n data?: Maybe<PostType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreatePosterResponse = {\n data?: Maybe<PosterType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreatePrivateChatResponse = {\n data?: Maybe<ChatType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreatePushTokenResponse = {\n data?: Maybe<PushTokenType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreateRelationResponse = {\n data?: Maybe<RelationType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreateResourceActivityResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreateSchoolResponse = {\n data?: Maybe<SchoolType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreateUnregisteredVendorResponse = {\n data?: Maybe<UnregisteredVendorType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreateVendorInfoResponse = {\n data?: Maybe<VendorInfoType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CreateVendorResponse = {\n data?: Maybe<VendorType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Stripe Customer Portal result */\nexport type CustomerPortalResultType = {\n portalUrl: Scalars['String']['output'];\n};\n\n/** Daily clue base game input type */\nexport type DailyClueBaseGameInputType = {\n gameDate: GameDateInputType;\n gameSolution: Scalars['String']['input'];\n};\n\nexport type DailyClueBaseGameType = {\n gameDate: GameDateType;\n gameSolution: Scalars['String']['output'];\n};\n\n/** Daily clue game data type */\nexport type DailyClueGameDataType = {\n gameFields?: Maybe<DailyClueBaseGameType>;\n lastFoundDate?: Maybe<Scalars['Date']['output']>;\n letterInfo: DailyClueLetterType;\n points: Scalars['Int']['output'];\n streak: Scalars['Int']['output'];\n};\n\n/** Daily clue letter type */\nexport type DailyClueLetterType = {\n collected?: Maybe<Array<Maybe<Scalars['String']['output']>>>;\n solutionShuffled: Array<Maybe<Scalars['String']['output']>>;\n todaysClue?: Maybe<Scalars['String']['output']>;\n todaysLetter?: Maybe<Scalars['String']['output']>;\n todaysPlacement?: Maybe<Scalars['String']['output']>;\n};\n\n/** Date time input type */\nexport type DateTimeInputType = {\n dateStatus: EventDateStatusEnumType;\n endDate: Scalars['String']['input'];\n endTime: Scalars['String']['input'];\n startDate: Scalars['String']['input'];\n startTime: Scalars['String']['input'];\n};\n\n/** Date time type */\nexport type DateTimeType = {\n dateStatus: EventDateStatusEnumType;\n endDate: Scalars['String']['output'];\n endTime: Scalars['String']['output'];\n startDate: Scalars['String']['output'];\n startTime: Scalars['String']['output'];\n};\n\n/** Date time with price input type */\nexport type DateTimeWithPriceInputType = {\n dateStatus: EventDateStatusEnumType;\n endDate: Scalars['String']['input'];\n endTime: Scalars['String']['input'];\n stallTypes?: InputMaybe<Array<InputMaybe<StallTypeInputType>>>;\n startDate: Scalars['String']['input'];\n startTime: Scalars['String']['input'];\n};\n\nexport type DeleteAdResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeleteAffiliateResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeleteAllNotificationsResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeleteChatResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeleteEventResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeleteNotificationResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeletePartnerResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeletePostResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeleteRelationResponse = {\n data?: Maybe<RelationType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeleteSchoolResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeleteUnregisteredVendorResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeleteUserResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DeleteVendorResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Depth width type */\nexport type DepthWidthType = {\n depth: Scalars['String']['output'];\n width: Scalars['String']['output'];\n};\n\n/** Event date status enum type */\nexport enum EventDateStatusEnumType {\n Canceled = 'Canceled',\n Ended = 'Ended',\n Invalid = 'Invalid',\n NextWeek = 'Next_Week',\n Rescheduled = 'Rescheduled',\n Started = 'Started',\n StartingSoon = 'Starting_Soon',\n ThisWeek = 'This_Week',\n Today = 'Today',\n Tomorrow = 'Tomorrow',\n Upcoming = 'Upcoming'\n}\n\n/** Event Date time with price type */\nexport type EventDateTimeWithPriceType = {\n dateStatus: EventDateStatusEnumType;\n endDate: Scalars['String']['output'];\n endTime: Scalars['String']['output'];\n stallTypes: Array<StallTypeType>;\n startDate: Scalars['String']['output'];\n startTime: Scalars['String']['output'];\n};\n\n/** Event type enum */\nexport enum EventEnumType {\n Expo = 'Expo',\n Fair = 'Fair',\n Festival = 'Festival',\n Market = 'Market'\n}\n\n/** Event info input type */\nexport type EventInfoInputType = {\n applicationDeadlineHours: Scalars['Float']['input'];\n dateTime: Array<InputMaybe<DateTimeWithPriceInputType>>;\n eventId: Scalars['ID']['input'];\n packInTime: Scalars['Float']['input'];\n paymentDueHours: Scalars['Float']['input'];\n paymentInfo: Array<InputMaybe<PaymentInfoInputType>>;\n refundPolicy: Array<InputMaybe<RefundPolicyInputType>>;\n requirements?: InputMaybe<Array<InputMaybe<RequirementInputType>>>;\n};\n\n/** Event info type */\nexport type EventInfoType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n applicationDeadlineHours: Scalars['Float']['output'];\n dateTime: Array<EventDateTimeWithPriceType>;\n eventId: Scalars['ID']['output'];\n packInTime: Scalars['Float']['output'];\n paymentDueHours: Scalars['Float']['output'];\n paymentInfo: Array<PaymentInfoType>;\n refundPolicy: Array<RefundPolicyType>;\n requirements?: Maybe<Array<RequirementType>>;\n};\n\n/** Event input type */\nexport type EventInputType = {\n active: Scalars['Boolean']['input'];\n claimed?: InputMaybe<Scalars['Boolean']['input']>;\n contactDetails?: InputMaybe<ContactDetailsInputType>;\n cover: ResourceImageInputType;\n coverUpload?: InputMaybe<ResourceImageUploadInputType>;\n dateTime: Array<InputMaybe<DateTimeInputType>>;\n description: Scalars['String']['input'];\n eventType: EventEnumType;\n googlePlaceId?: InputMaybe<Scalars['String']['input']>;\n images?: InputMaybe<Array<InputMaybe<ResourceImageInputType>>>;\n imagesUpload?: InputMaybe<Array<InputMaybe<ResourceImageUploadInputType>>>;\n location: LocationInputType;\n logo?: InputMaybe<ResourceImageInputType>;\n logoUpload?: InputMaybe<ResourceImageUploadInputType>;\n name: Scalars['String']['input'];\n nzbn: Scalars['String']['input'];\n promoCodes?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n provider?: InputMaybe<Scalars['String']['input']>;\n rainOrShine: Scalars['Boolean']['input'];\n region: Scalars['String']['input'];\n socialMedia?: InputMaybe<Array<InputMaybe<SocialMediaInputType>>>;\n tags: Array<InputMaybe<Scalars['String']['input']>>;\n termsAgreement: TermsAgreementInputType;\n};\n\n/** Event list item type */\nexport type EventListItemType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n approvedAt?: Maybe<Scalars['Date']['output']>;\n claimed: Scalars['Boolean']['output'];\n cover?: Maybe<ResourceImageType>;\n createdAt: Scalars['Date']['output'];\n dateTime: Array<DateTimeType>;\n deletedAt?: Maybe<Scalars['Date']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n eventType: EventEnumType;\n googlePlaceId?: Maybe<Scalars['String']['output']>;\n images?: Maybe<Array<ResourceImageType>>;\n location: LocationType;\n logo?: Maybe<ResourceImageType>;\n name: Scalars['String']['output'];\n rainOrShine: Scalars['Boolean']['output'];\n rating?: Maybe<Scalars['Float']['output']>;\n region: Scalars['String']['output'];\n relations?: Maybe<Array<ResourceRelationType>>;\n reviewCount?: Maybe<Scalars['Int']['output']>;\n slug: Scalars['String']['output'];\n updatedAt: Scalars['Date']['output'];\n};\n\n/** Reference to an event with ID and start date */\nexport type EventReferenceType = {\n dateTime: DateTimeType;\n resourceId: Scalars['ID']['output'];\n};\n\n/** Event type */\nexport type EventType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n adIds?: Maybe<Array<Maybe<Scalars['ID']['output']>>>;\n approvedAt?: Maybe<Scalars['Date']['output']>;\n claimed: Scalars['Boolean']['output'];\n contactDetails?: Maybe<ContactDetailsType>;\n cover: ResourceImageType;\n createdAt: Scalars['Date']['output'];\n dateTime: Array<DateTimeType>;\n deletedAt?: Maybe<Scalars['Date']['output']>;\n description: Scalars['String']['output'];\n eventInfoId?: Maybe<Scalars['ID']['output']>;\n eventType: EventEnumType;\n googlePlaceId?: Maybe<Scalars['String']['output']>;\n images?: Maybe<Array<ResourceImageType>>;\n location: LocationType;\n logo?: Maybe<ResourceImageType>;\n name: Scalars['String']['output'];\n nzbn: Scalars['String']['output'];\n owner: OwnerType;\n posterUsage?: Maybe<PosterUsageType>;\n promoCodes?: Maybe<Array<Scalars['String']['output']>>;\n provider?: Maybe<Scalars['String']['output']>;\n rainOrShine: Scalars['Boolean']['output'];\n rating?: Maybe<Scalars['Float']['output']>;\n region: Scalars['String']['output'];\n relatedPost?: Maybe<RelatedPostType>;\n relations?: Maybe<Array<ResourceRelationType>>;\n reviewCount?: Maybe<Scalars['Int']['output']>;\n sharePublic?: Maybe<SocialShareResourceType>;\n shareRelation?: Maybe<SocialShareResourceType>;\n slug: Scalars['String']['output'];\n socialMedia?: Maybe<Array<SocialMediaType>>;\n tags: Array<Scalars['String']['output']>;\n termsAgreement?: Maybe<TermsAgreementType>;\n updatedAt: Scalars['Date']['output'];\n};\n\n/** Food flavor enum */\nexport enum FoodFlavorEnumType {\n NotApplicable = 'Not_Applicable',\n Salty = 'Salty',\n Savoury = 'Savoury',\n Spicy = 'Spicy',\n Sweet = 'Sweet'\n}\n\n/** Game data type */\nexport type GameDataType = {\n dailyClue?: Maybe<DailyClueGameDataType>;\n miniQuiz?: Maybe<PuzzleGameDataType>;\n oddOneOut?: Maybe<PuzzleGameDataType>;\n};\n\nexport type GameDateInputType = {\n endDate: Scalars['Date']['input'];\n startDate: Scalars['Date']['input'];\n};\n\nexport type GameDateType = {\n endDate: Scalars['Date']['output'];\n startDate: Scalars['Date']['output'];\n};\n\n/** Game document type */\nexport type GameDocType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n createdAt: Scalars['Date']['output'];\n deletedAt?: Maybe<Scalars['Date']['output']>;\n games?: Maybe<Array<Maybe<GameType>>>;\n owner: OwnerType;\n points: Scalars['Int']['output'];\n updatedAt: Scalars['Date']['output'];\n};\n\n/** Game history type */\nexport type GameHistoryType = {\n createdAt: Scalars['Date']['output'];\n gameDate: GameDateType;\n gameStatus: GameStatusEnumType;\n gameTitle: Scalars['String']['output'];\n gameType: GameTypeEnumType;\n gameTypeId: Scalars['String']['output'];\n overallGamePoints: Scalars['Int']['output'];\n pointsEarned: Scalars['Int']['output'];\n};\n\n/** Game leaderboard type */\nexport type GameLeaderboardType = {\n gameHistory?: Maybe<Array<Maybe<GameHistoryType>>>;\n overallPoints: Scalars['Int']['output'];\n owner: OwnerType;\n};\n\n/** Game status enum */\nexport enum GameStatusEnumType {\n GameCompleted = 'GAME_COMPLETED',\n GameInProgress = 'GAME_IN_PROGRESS',\n GameLeft = 'GAME_LEFT',\n GameStarted = 'GAME_STARTED'\n}\n\n/** Game entry type */\nexport type GameType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n createdAt: Scalars['Date']['output'];\n gameData?: Maybe<GameDataType>;\n gameHistory?: Maybe<Array<Maybe<GameHistoryType>>>;\n gameTitle: Scalars['String']['output'];\n gameType: GameTypeEnumType;\n gameTypeId: Scalars['ID']['output'];\n updatedAt: Scalars['Date']['output'];\n};\n\n/** Game type enum */\nexport enum GameTypeEnumType {\n DailyClue = 'dailyClue',\n MiniQuiz = 'miniQuiz',\n OddOneOut = 'oddOneOut'\n}\n\n/** Invite enum */\nexport enum InviteEnumType {\n Accepted = 'Accepted',\n Completed = 'Completed',\n Expired = 'Expired',\n NoStatus = 'No_Status',\n Pending = 'Pending',\n Rejected = 'Rejected',\n Unavailable = 'Unavailable'\n}\n\nexport type LastUpdateByInputType = {\n resourceId: Scalars['String']['input'];\n userEmail: Scalars['String']['input'];\n};\n\nexport type LastUpdateByType = {\n resourceId?: Maybe<Scalars['String']['output']>;\n userEmail?: Maybe<Scalars['String']['output']>;\n};\n\nexport type LeaveGameResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Licences enum */\nexport enum LicencesEnumType {\n ProEvent = 'pro_event',\n ProPlusEvent = 'pro_plus_event',\n ProPlusVendor = 'pro_plus_vendor',\n ProVendor = 'pro_vendor',\n StandardAffiliate = 'standard_affiliate',\n StandardEvent = 'standard_event',\n StandardPartner = 'standard_partner',\n StandardSchool = 'standard_school',\n StandardVendor = 'standard_vendor'\n}\n\n/** List content data input type */\nexport type ListContentDataInputType = {\n items: Array<InputMaybe<ListItemInputType>>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** List content data type */\nexport type ListContentDataType = {\n items: Array<Maybe<ListItemType>>;\n title?: Maybe<Scalars['String']['output']>;\n};\n\n/** List item input type */\nexport type ListItemInputType = {\n text: Scalars['String']['input'];\n};\n\n/** List item type */\nexport type ListItemType = {\n text: Scalars['String']['output'];\n};\n\n/** Location geo input type */\nexport type LocationGeoInputType = {\n coordinates: Array<Scalars['Float']['input']>;\n type?: Scalars['String']['input'];\n};\n\n/** Location geo type */\nexport type LocationGeoType = {\n coordinates: Array<Scalars['Float']['output']>;\n type: Scalars['String']['output'];\n};\n\n/** Location input type */\nexport type LocationInputType = {\n city: Scalars['String']['input'];\n country: Scalars['String']['input'];\n fullAddress: Scalars['String']['input'];\n geo: LocationGeoInputType;\n latitude: Scalars['Float']['input'];\n longitude: Scalars['Float']['input'];\n region: Scalars['String']['input'];\n};\n\n/** Location type */\nexport type LocationType = {\n city: Scalars['String']['output'];\n country: Scalars['String']['output'];\n fullAddress: Scalars['String']['output'];\n geo: LocationGeoType;\n latitude: Scalars['Float']['output'];\n longitude: Scalars['Float']['output'];\n region: Scalars['String']['output'];\n};\n\n/** Login input type */\nexport type LoginInputType = {\n email: Scalars['String']['input'];\n isAdminPage?: InputMaybe<Scalars['Boolean']['input']>;\n password: Scalars['String']['input'];\n platform?: InputMaybe<OsPlatformEnumType>;\n};\n\nexport type LoginResponse = {\n data?: Maybe<AuthPayloadType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type LogoutResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type MarkAllNotificationsReadResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type MarkChatMessagesSeenResponse = {\n data?: Maybe<ChatType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type MarkNotificationReadResponse = {\n data?: Maybe<Notification>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Marketing material request input type */\nexport type MarketingMaterialRequestInputType = {\n posterName: Scalars['PosterAssetId']['input'];\n resourceId: Scalars['String']['input'];\n};\n\nexport type MarketingMaterialRequestResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Max min type */\nexport type MaxMinType = {\n max: Scalars['String']['output'];\n min: Scalars['String']['output'];\n};\n\nexport type Mutation = {\n /** Add participant to an existing chat */\n addParticipantToChat?: Maybe<AddParticipantToChatResponse>;\n /** Add a user favourite resource */\n addUserFavouriteResource?: Maybe<AddUserFavouriteResourceResponse>;\n /** Add a user going resource */\n addUserGoingResource?: Maybe<AddUserGoingResourceResponse>;\n /** Add a user interest resource */\n addUserInterestResource?: Maybe<AddUserInterestResourceResponse>;\n /** Add a user present resource */\n addUserPresentResource?: Maybe<AddUserPresentResourceResponse>;\n /** Permanently delete a resource */\n adminPermanentlyDeleteResource?: Maybe<AdminPermanentlyDeleteResourceResponse>;\n /** Resend user verification email */\n adminResendUserVerificationEmail?: Maybe<AdminResendUserVerificationEmailResponse>;\n /** Admin update resource type */\n adminUpdateResourceType?: Maybe<AdminUpdateResourceTypeResponse>;\n /** Assign a bonus reward to an affiliate (super admin) */\n assignAffiliateBonusReward?: Maybe<AssignAffiliateBonusRewardResponse>;\n /** Assign a reward to an existing affiliate resource (super admin) */\n assignAffiliateResourceReward?: Maybe<AssignAffiliateResourceRewardResponse>;\n /** Cancel the current user's subscription */\n cancelSubscription?: Maybe<CancelSubscriptionResponse>;\n /** Send a message through the contact us form */\n contactUs?: Maybe<ContactUsResponse>;\n /** Crawl Markets from Google */\n crawlGoogleMarkets?: Maybe<CrawlGoogleMarketsResponse>;\n /** Create a new ad */\n createAd?: Maybe<CreateAdResponse>;\n /** Creates multiple notifications */\n createBulkNotifications?: Maybe<CreateBulkNotificationsResponse>;\n /** Create a Stripe checkout session for subscription. Monthly available for Standard/Pro only. Yearly available for Standard/Pro/ProPlus. Defaults to monthly cancel-anytime if not specified. */\n createCheckoutSession?: Maybe<CreateCheckoutSessionResponse>;\n /** Create a Stripe Customer Portal session. Allows customers to manage their subscription, payment methods, and billing history. */\n createCustomerPortal?: Maybe<CreateCustomerPortalResponse>;\n /** Create a new event */\n createEvent?: Maybe<CreateEventResponse>;\n /** Create a new event info */\n createEventInfo?: Maybe<CreateEventInfoResponse>;\n /** Create a new partner */\n createPartner?: Maybe<CreatePartnerResponse>;\n /** Create a new post */\n createPost?: Maybe<CreatePostResponse>;\n /** Create a poster for a event or vendor */\n createPoster?: Maybe<CreatePosterResponse>;\n /** Create a private chat with another user */\n createPrivateChat?: Maybe<CreatePrivateChatResponse>;\n /** Create a push token for push notifications */\n createPushToken?: Maybe<CreatePushTokenResponse>;\n /** Create relation */\n createRelation?: Maybe<CreateRelationResponse>;\n /** Create or update resource activity */\n createResourceActivity?: Maybe<CreateResourceActivityResponse>;\n /** Create a new school */\n createSchool?: Maybe<CreateSchoolResponse>;\n /** Create a new unregistered vendor */\n createUnregisteredVendor?: Maybe<CreateUnregisteredVendorResponse>;\n /** Create a new vendor */\n createVendor?: Maybe<CreateVendorResponse>;\n /** Create a new vendor info */\n createVendorInfo?: Maybe<CreateVendorInfoResponse>;\n /** Delete an ad */\n deleteAd?: Maybe<DeleteAdResponse>;\n /** Delete an affiliate */\n deleteAffiliate?: Maybe<DeleteAffiliateResponse>;\n /** Deletes all notifications */\n deleteAllNotifications?: Maybe<DeleteAllNotificationsResponse>;\n /** Delete a chat by ID */\n deleteChat?: Maybe<DeleteChatResponse>;\n /** Delete an event */\n deleteEvent?: Maybe<DeleteEventResponse>;\n /** Deletes a notification */\n deleteNotification?: Maybe<DeleteNotificationResponse>;\n /** Delete a partner */\n deletePartner?: Maybe<DeletePartnerResponse>;\n /** Delete a post */\n deletePost?: Maybe<DeletePostResponse>;\n /** Delete relation */\n deleteRelation?: Maybe<DeleteRelationResponse>;\n /** Delete a school */\n deleteSchool?: Maybe<DeleteSchoolResponse>;\n /** Delete an unregistered vendor */\n deleteUnregisteredVendor?: Maybe<DeleteUnregisteredVendorResponse>;\n /** Delete a user */\n deleteUser?: Maybe<DeleteUserResponse>;\n /** Delete a vendor */\n deleteVendor?: Maybe<DeleteVendorResponse>;\n /** Leave an active game */\n leaveGame?: Maybe<LeaveGameResponse>;\n /** Login mutation */\n login?: Maybe<LoginResponse>;\n /** Logout mutation */\n logout?: Maybe<LogoutResponse>;\n /** Marks all notifications as read */\n markAllNotificationsRead?: Maybe<MarkAllNotificationsReadResponse>;\n /** Mark messages as seen */\n markChatMessagesSeen?: Maybe<MarkChatMessagesSeenResponse>;\n /** Marks a notification as read */\n markNotificationRead?: Maybe<MarkNotificationReadResponse>;\n /** Redeem available affiliate reward points */\n redeemAffiliateReward?: Maybe<RedeemAffiliateRewardResponse>;\n /** Redeem a reward */\n redeemReward?: Maybe<RedeemRewardResponse>;\n /** Refresh token mutation */\n refreshToken?: Maybe<RefreshTokenResponse>;\n /** Register mutation */\n register?: Maybe<RegisterResponse>;\n /** Remove a participant from a chat */\n removeParticipantFromChat?: Maybe<RemoveParticipantFromChatResponse>;\n /** Remove a user favourite resource */\n removeUserFavouriteResource?: Maybe<RemoveUserFavouriteResourceResponse>;\n /** Remove a user going resource */\n removeUserGoingResource?: Maybe<RemoveUserGoingResourceResponse>;\n /** Remove a user interest resource */\n removeUserInterestResource?: Maybe<RemoveUserInterestResourceResponse>;\n /** Remove a user present resource */\n removeUserPresentResource?: Maybe<RemoveUserPresentResourceResponse>;\n /** Report a user in a chat */\n reportChatUser?: Maybe<ReportChatUserResponse>;\n /** Request marketing material for a school */\n requestMarketingMaterial?: Maybe<MarketingMaterialRequestResponse>;\n /** Request password reset mutation */\n requestPasswordReset?: Maybe<RequestPasswordResetResponse>;\n /** Reset password mutation */\n resetPassword?: Maybe<ResetPasswordResponse>;\n /** Select a standard package for a user (local licence) */\n selectStandardPackage?: Maybe<SelectStandardPackageResponse>;\n /** Send a message in a chat */\n sendChatMessage?: Maybe<SendChatMessageResponse>;\n /** Start a new game */\n startGame?: Maybe<StartGameResponse>;\n /** Toggle a message like */\n toggleChatMessageLike?: Maybe<ToggleChatMessageLikeResponse>;\n /** Unlink an unregistered vendor from an inviter by removing the corresponding invitation */\n unlinkUnregisteredVendorByInviterId?: Maybe<UnlinkUnregisteredVendorByInviterIdResponse>;\n /** Update an ad */\n updateAd?: Maybe<UpdateAdResponse>;\n /** Update affiliate profile details */\n updateAffiliateDetails?: Maybe<UpdateAffiliateDetailsResponse>;\n /** Update application settings */\n updateAppSettings?: Maybe<UpdateAppSettingsResponse>;\n /** Update the daily clue game with a found letter */\n updateDailyClueGame?: Maybe<UpdateDailyClueGameResponse>;\n /** Update an event */\n updateEvent?: Maybe<UpdateEventResponse>;\n /** Update event info */\n updateEventInfo?: Maybe<UpdateEventInfoResponse>;\n /** Update Google imported markets */\n updateGoogleImportedMarkets?: Maybe<UpdateGoogleImportedMarketsResponse>;\n /** Update a partner */\n updatePartner?: Maybe<UpdatePartnerResponse>;\n /** Update a post */\n updatePost?: Maybe<UpdatePostResponse>;\n /** Update the puzzle game with answered questions */\n updatePuzzleGame?: Maybe<UpdatePuzzleGameResponse>;\n /** Update status for relation */\n updateRelation?: Maybe<UpdateRelationResponse>;\n /** Update a school */\n updateSchool?: Maybe<UpdateSchoolResponse>;\n /** Update user subscription to a different plan and/or billing period. Monthly available for Standard/Pro only. Yearly available for Standard/Pro/ProPlus. Defaults to monthly cancel-anytime if not specified. */\n updateSubscriptionPlan?: Maybe<UpdateSubscriptionPlanResponse>;\n /** Update an unregistered vendor */\n updateUnregisteredVendor?: Maybe<UpdateUnregisteredVendorResponse>;\n /** Update a user */\n updateUser?: Maybe<UpdateUserResponse>;\n /** Update a vendor */\n updateVendor?: Maybe<UpdateVendorResponse>;\n /** Update a vendor info */\n updateVendorInfo?: Maybe<UpdateVendorInfoResponse>;\n /** Validate verification token mutation */\n validateVerificationToken?: Maybe<ValidateVerificationTokenResponse>;\n};\n\n\nexport type MutationAddParticipantToChatArgs = {\n chatId: Scalars['ID']['input'];\n userId: Scalars['ID']['input'];\n};\n\n\nexport type MutationAddUserFavouriteResourceArgs = {\n resourceId: Scalars['ID']['input'];\n resourceType: ResourceTypeEnum;\n};\n\n\nexport type MutationAddUserGoingResourceArgs = {\n input: UserActivityInputType;\n};\n\n\nexport type MutationAddUserInterestResourceArgs = {\n input: UserActivityInputType;\n};\n\n\nexport type MutationAddUserPresentResourceArgs = {\n input: UserActivityInputType;\n};\n\n\nexport type MutationAdminPermanentlyDeleteResourceArgs = {\n resourceId: Scalars['ID']['input'];\n resourceType: ResourceTypeEnum;\n};\n\n\nexport type MutationAdminResendUserVerificationEmailArgs = {\n userId: Scalars['ID']['input'];\n};\n\n\nexport type MutationAdminUpdateResourceTypeArgs = {\n input: AdminUpdateResourceInputType;\n};\n\n\nexport type MutationAssignAffiliateBonusRewardArgs = {\n affiliateId: Scalars['ID']['input'];\n rewardType: AffiliateRewardEnumType;\n};\n\n\nexport type MutationAssignAffiliateResourceRewardArgs = {\n affiliateId: Scalars['ID']['input'];\n resourceId: Scalars['ID']['input'];\n resourceType: ResourceTypeEnum;\n rewardType: AffiliateRewardEnumType;\n};\n\n\nexport type MutationContactUsArgs = {\n input: ContactUsInputType;\n};\n\n\nexport type MutationCreateAdArgs = {\n input: AdInputType;\n};\n\n\nexport type MutationCreateBulkNotificationsArgs = {\n input: CreateBulkNotificationInput;\n};\n\n\nexport type MutationCreateCheckoutSessionArgs = {\n billingPeriod?: InputMaybe<BillingPeriodEnumType>;\n planId: LicencesEnumType;\n};\n\n\nexport type MutationCreateCustomerPortalArgs = {\n returnUrl?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationCreateEventArgs = {\n input: EventInputType;\n};\n\n\nexport type MutationCreateEventInfoArgs = {\n input: EventInfoInputType;\n};\n\n\nexport type MutationCreatePartnerArgs = {\n input: PartnerInputType;\n};\n\n\nexport type MutationCreatePostArgs = {\n input: PostInputType;\n};\n\n\nexport type MutationCreatePosterArgs = {\n input: PosterInputType;\n};\n\n\nexport type MutationCreatePrivateChatArgs = {\n userId: Scalars['ID']['input'];\n};\n\n\nexport type MutationCreatePushTokenArgs = {\n input: PushTokenInput;\n};\n\n\nexport type MutationCreateRelationArgs = {\n input: RelationInputType;\n};\n\n\nexport type MutationCreateResourceActivityArgs = {\n input: ResourceActivityInputType;\n};\n\n\nexport type MutationCreateSchoolArgs = {\n input: SchoolInputType;\n};\n\n\nexport type MutationCreateUnregisteredVendorArgs = {\n input: UnregisteredVendorInputType;\n};\n\n\nexport type MutationCreateVendorArgs = {\n input: VendorInputType;\n};\n\n\nexport type MutationCreateVendorInfoArgs = {\n input: VendorInfoInputType;\n};\n\n\nexport type MutationDeleteAdArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationDeleteAffiliateArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationDeleteChatArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationDeleteEventArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationDeleteNotificationArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationDeletePartnerArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationDeletePostArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationDeleteRelationArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationDeleteSchoolArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationDeleteUnregisteredVendorArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationDeleteUserArgs = {\n email: Scalars['String']['input'];\n};\n\n\nexport type MutationDeleteVendorArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationLeaveGameArgs = {\n _id: Scalars['ID']['input'];\n gameType: GameTypeEnumType;\n gameTypeId: Scalars['String']['input'];\n};\n\n\nexport type MutationLoginArgs = {\n input: LoginInputType;\n};\n\n\nexport type MutationMarkChatMessagesSeenArgs = {\n chatId: Scalars['ID']['input'];\n messageIds: Array<InputMaybe<Scalars['ID']['input']>>;\n};\n\n\nexport type MutationMarkNotificationReadArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type MutationRedeemAffiliateRewardArgs = {\n affiliateId: Scalars['ID']['input'];\n};\n\n\nexport type MutationRedeemRewardArgs = {\n input: RedeemRewardInputType;\n};\n\n\nexport type MutationRefreshTokenArgs = {\n input: RefreshTokenInputType;\n};\n\n\nexport type MutationRegisterArgs = {\n input: RegisterInputType;\n};\n\n\nexport type MutationRemoveParticipantFromChatArgs = {\n chatId: Scalars['ID']['input'];\n userId: Scalars['ID']['input'];\n};\n\n\nexport type MutationRemoveUserFavouriteResourceArgs = {\n resourceId: Scalars['ID']['input'];\n resourceType: ResourceTypeEnum;\n};\n\n\nexport type MutationRemoveUserGoingResourceArgs = {\n input: UserActivityInputType;\n};\n\n\nexport type MutationRemoveUserInterestResourceArgs = {\n input: UserActivityInputType;\n};\n\n\nexport type MutationRemoveUserPresentResourceArgs = {\n input: UserActivityInputType;\n};\n\n\nexport type MutationReportChatUserArgs = {\n input: ReportChatUserInputType;\n};\n\n\nexport type MutationRequestMarketingMaterialArgs = {\n input: MarketingMaterialRequestInputType;\n};\n\n\nexport type MutationRequestPasswordResetArgs = {\n input: RequestPasswordResetInputType;\n};\n\n\nexport type MutationResetPasswordArgs = {\n input: ResetPasswordInputType;\n};\n\n\nexport type MutationSelectStandardPackageArgs = {\n selectedLicence: LicencesEnumType;\n};\n\n\nexport type MutationSendChatMessageArgs = {\n _id: Scalars['ID']['input'];\n input: ChatMessageInputType;\n};\n\n\nexport type MutationStartGameArgs = {\n input: BaseGameInputType;\n};\n\n\nexport type MutationToggleChatMessageLikeArgs = {\n chatId: Scalars['ID']['input'];\n messageId: Scalars['ID']['input'];\n};\n\n\nexport type MutationUnlinkUnregisteredVendorByInviterIdArgs = {\n _id: Scalars['ID']['input'];\n inviterId: Scalars['ID']['input'];\n};\n\n\nexport type MutationUpdateAdArgs = {\n _id: Scalars['ID']['input'];\n input: AdInputType;\n};\n\n\nexport type MutationUpdateAffiliateDetailsArgs = {\n affiliateId: Scalars['ID']['input'];\n input: AffiliateDetailsInputType;\n};\n\n\nexport type MutationUpdateAppSettingsArgs = {\n input: AppSettingsInputType;\n};\n\n\nexport type MutationUpdateDailyClueGameArgs = {\n _id: Scalars['ID']['input'];\n foundLetter: Scalars['String']['input'];\n gameType: GameTypeEnumType;\n gameTypeId: Scalars['String']['input'];\n};\n\n\nexport type MutationUpdateEventArgs = {\n _id: Scalars['ID']['input'];\n input: EventInputType;\n};\n\n\nexport type MutationUpdateEventInfoArgs = {\n _id: Scalars['ID']['input'];\n input: EventInfoInputType;\n};\n\n\nexport type MutationUpdatePartnerArgs = {\n _id: Scalars['ID']['input'];\n input: PartnerInputType;\n};\n\n\nexport type MutationUpdatePostArgs = {\n _id: Scalars['ID']['input'];\n input: PostInputType;\n};\n\n\nexport type MutationUpdatePuzzleGameArgs = {\n _id: Scalars['ID']['input'];\n answeredQuestions: Array<PuzzleAnsweredQuestionInputType>;\n gameType: GameTypeEnumType;\n gameTypeId: Scalars['String']['input'];\n};\n\n\nexport type MutationUpdateRelationArgs = {\n _id: Scalars['ID']['input'];\n input: RelationInputType;\n};\n\n\nexport type MutationUpdateSchoolArgs = {\n _id: Scalars['ID']['input'];\n input: SchoolInputType;\n};\n\n\nexport type MutationUpdateSubscriptionPlanArgs = {\n billingPeriod?: InputMaybe<BillingPeriodEnumType>;\n newPlanId: LicencesEnumType;\n};\n\n\nexport type MutationUpdateUnregisteredVendorArgs = {\n _id: Scalars['ID']['input'];\n input: UnregisteredVendorInputType;\n};\n\n\nexport type MutationUpdateUserArgs = {\n _id: Scalars['ID']['input'];\n input: UserInputType;\n};\n\n\nexport type MutationUpdateVendorArgs = {\n _id: Scalars['ID']['input'];\n input: VendorInputType;\n};\n\n\nexport type MutationUpdateVendorInfoArgs = {\n _id: Scalars['ID']['input'];\n input: VendorInfoInputType;\n};\n\n\nexport type MutationValidateVerificationTokenArgs = {\n input: ValidateVerificationTokenInputType;\n};\n\n/** A notification object */\nexport type Notification = {\n _id: Scalars['ID']['output'];\n createdAt?: Maybe<Scalars['Date']['output']>;\n data?: Maybe<NotificationDataType>;\n isRead?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n title?: Maybe<Scalars['String']['output']>;\n type?: Maybe<NotificationEnumType>;\n updatedAt?: Maybe<Scalars['Date']['output']>;\n userId: Scalars['ID']['output'];\n};\n\n/** Notification count information */\nexport type NotificationCount = {\n total?: Maybe<Scalars['Int']['output']>;\n unread?: Maybe<Scalars['Int']['output']>;\n};\n\n/** Data related to the notification */\nexport type NotificationDataType = {\n resourceId?: Maybe<Scalars['String']['output']>;\n resourceName?: Maybe<Scalars['String']['output']>;\n resourceType?: Maybe<NotificationResourceEnumType>;\n};\n\n/** Input for notification data */\nexport type NotificationDataTypeInput = {\n resourceId?: InputMaybe<Scalars['String']['input']>;\n resourceName?: InputMaybe<Scalars['String']['input']>;\n resourceType?: InputMaybe<NotificationResourceEnumType>;\n};\n\n/** Notification enum type */\nexport enum NotificationEnumType {\n Chat = 'chat',\n Event = 'event',\n Relation = 'relation',\n System = 'system',\n Vendor = 'vendor'\n}\n\n/** Notification resource enum type */\nexport enum NotificationResourceEnumType {\n AffiliateRewardReceived = 'affiliate_reward_received',\n ApprovedAffiliate = 'approved_affiliate',\n ApprovedEvent = 'approved_event',\n ApprovedPartner = 'approved_partner',\n ApprovedSchool = 'approved_school',\n ApprovedVendor = 'approved_vendor',\n CreatedEvent = 'created_event',\n CreatedPartner = 'created_partner',\n CreatedVendor = 'created_vendor',\n DailyClueGame = 'daily_clue_game',\n DeactivatedEvent = 'deactivated_event',\n DeactivatedPartner = 'deactivated_partner',\n DeactivatedVendor = 'deactivated_vendor',\n DeclinedEvent = 'declined_event',\n DeclinedPartner = 'declined_partner',\n DeclinedVendor = 'declined_vendor',\n DowngradedEvent = 'downgraded_event',\n DowngradedPartner = 'downgraded_partner',\n DowngradedVendor = 'downgraded_vendor',\n EventInviteVendor = 'event_invite_vendor',\n EventStartingSoon = 'event_starting_soon',\n EventUpdateRelationToVendor = 'event_update_relation_to_vendor',\n ExpirationReminderEvent = 'expiration_reminder_event',\n ExpirationReminderPartner = 'expiration_reminder_partner',\n ExpirationReminderVendor = 'expiration_reminder_vendor',\n NewChatMessage = 'new_chat_message',\n NewPostCreated = 'new_post_created',\n RegisteredUserBySchoolCode = 'registered_user_by_school_code',\n SystemAlert = 'system_alert',\n VendorApplicationToEvent = 'vendor_application_to_event',\n VendorUpdateRelationToEvent = 'vendor_update_relation_to_event'\n}\n\n/** Operating system enum */\nexport enum OsPlatformEnumType {\n Android = 'android',\n Ios = 'ios',\n Web = 'web'\n}\n\n/** Owner type */\nexport type OwnerType = {\n email: Scalars['String']['output'];\n userId: Scalars['ID']['output'];\n};\n\n/** Partner type enum */\nexport enum PartnerEnumType {\n CharityPartner = 'Charity_Partner',\n MediaPartner = 'Media_Partner',\n SupportingPartner = 'Supporting_Partner'\n}\n\n/** Partner input type */\nexport type PartnerInputType = {\n active: Scalars['Boolean']['input'];\n contactDetails?: InputMaybe<ContactDetailsInputType>;\n cover: ResourceImageInputType;\n coverUpload?: InputMaybe<ResourceImageUploadInputType>;\n description: Scalars['String']['input'];\n images?: InputMaybe<Array<InputMaybe<ResourceImageInputType>>>;\n imagesUpload?: InputMaybe<Array<InputMaybe<ResourceImageUploadInputType>>>;\n location: LocationInputType;\n logo?: InputMaybe<ResourceImageInputType>;\n logoUpload?: InputMaybe<ResourceImageUploadInputType>;\n name: Scalars['String']['input'];\n nzbn: Scalars['String']['input'];\n partnerType: PartnerEnumType;\n promoCodes?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n region: Scalars['String']['input'];\n socialMedia?: InputMaybe<Array<InputMaybe<SocialMediaInputType>>>;\n termsAgreement: TermsAgreementInputType;\n};\n\n/** Partner type */\nexport type PartnerType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n adIds?: Maybe<Array<Maybe<Scalars['ID']['output']>>>;\n approvedAt?: Maybe<Scalars['Date']['output']>;\n contactDetails?: Maybe<ContactDetailsType>;\n cover: ResourceImageType;\n createdAt: Scalars['Date']['output'];\n deletedAt?: Maybe<Scalars['Date']['output']>;\n description: Scalars['String']['output'];\n images?: Maybe<Array<ResourceImageType>>;\n location: LocationType;\n logo?: Maybe<ResourceImageType>;\n name: Scalars['String']['output'];\n nzbn: Scalars['String']['output'];\n owner: OwnerType;\n partnerType: PartnerEnumType;\n posterUsage?: Maybe<PosterUsageType>;\n promoCodes?: Maybe<Array<Scalars['String']['output']>>;\n rating?: Maybe<Scalars['Float']['output']>;\n region: Scalars['String']['output'];\n relatedPost?: Maybe<RelatedPostType>;\n reviewCount?: Maybe<Scalars['Int']['output']>;\n sharePublic?: Maybe<SocialShareResourceType>;\n slug: Scalars['String']['output'];\n socialMedia?: Maybe<Array<SocialMediaType>>;\n termsAgreement?: Maybe<TermsAgreementType>;\n updatedAt: Scalars['Date']['output'];\n};\n\nexport type PaymentInfoInputType = {\n accountHolderName?: InputMaybe<Scalars['String']['input']>;\n accountNumber?: InputMaybe<Scalars['String']['input']>;\n link?: InputMaybe<Scalars['String']['input']>;\n paymentMethod: PaymentMethodEnumType;\n};\n\nexport type PaymentInfoType = {\n accountHolderName?: Maybe<Scalars['String']['output']>;\n accountNumber?: Maybe<Scalars['String']['output']>;\n link?: Maybe<Scalars['String']['output']>;\n paymentMethod: PaymentMethodEnumType;\n};\n\n/** Payment method enum type */\nexport enum PaymentMethodEnumType {\n BankTransfer = 'bank_transfer',\n Cash = 'cash',\n Eftpos = 'eftpos',\n Paypal = 'paypal',\n Stripe = 'stripe'\n}\n\n/** Content data type */\nexport type PostContentData = {\n game?: Maybe<BaseGameType>;\n images?: Maybe<Array<Maybe<ResourceImageType>>>;\n list?: Maybe<ListContentDataType>;\n textarea?: Maybe<TextareaContentDataType>;\n video?: Maybe<VideoContentDataType>;\n};\n\n/** Post content enum */\nexport enum PostContentEnum {\n Game = 'game',\n Image = 'image',\n List = 'list',\n Textarea = 'textarea',\n Video = 'video'\n}\n\n/** Post content input type */\nexport type PostContentInputType = {\n contentData?: InputMaybe<ContentDataInputType>;\n contentOrder: Scalars['Float']['input'];\n contentType: PostContentEnum;\n};\n\n/** Post content type */\nexport type PostContentType = {\n contentData?: Maybe<PostContentData>;\n contentOrder: Scalars['Float']['output'];\n contentType: PostContentEnum;\n};\n\n/** Post input type */\nexport type PostInputType = {\n active: Scalars['Boolean']['input'];\n caption: Scalars['String']['input'];\n content: Array<InputMaybe<PostContentInputType>>;\n cover?: InputMaybe<ResourceImageInputType>;\n coverUpload?: InputMaybe<ResourceImageUploadInputType>;\n notifyUsers?: InputMaybe<Scalars['Boolean']['input']>;\n postType: PostTypeEnum;\n resource?: InputMaybe<PostResourceInputType>;\n tags?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n title: Scalars['String']['input'];\n};\n\n/** Post resource input type */\nexport type PostResourceInputType = {\n resourceId: Scalars['String']['input'];\n resourceRegion: Scalars['String']['input'];\n resourceSlug: Scalars['String']['input'];\n resourceType: ResourceTypeEnum;\n};\n\n/** Post resource type */\nexport type PostResourceType = {\n resourceId: Scalars['String']['output'];\n resourceRegion: Scalars['String']['output'];\n resourceSlug: Scalars['String']['output'];\n resourceType: ResourceTypeEnum;\n};\n\n/** Post type */\nexport type PostType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n approvedAt?: Maybe<Scalars['Date']['output']>;\n caption: Scalars['String']['output'];\n content: Array<Maybe<PostContentType>>;\n cover?: Maybe<ResourceImageType>;\n createdAt: Scalars['Date']['output'];\n deletedAt?: Maybe<Scalars['Date']['output']>;\n postType: PostTypeEnum;\n resource?: Maybe<PostResourceType>;\n sharePublic?: Maybe<SocialShareResourceType>;\n slug: Scalars['String']['output'];\n tags?: Maybe<Array<Maybe<Scalars['String']['output']>>>;\n title: Scalars['String']['output'];\n updatedAt: Scalars['Date']['output'];\n};\n\n/** Post type enum */\nexport enum PostTypeEnum {\n ClueBites = 'clue_bites',\n MarketFaces = 'market_faces',\n PlayAndWin = 'play_and_win'\n}\n\n/** Poster input type */\nexport type PosterInputType = {\n description: Scalars['String']['input'];\n posterName: Scalars['PosterAssetId']['input'];\n resourceId: Scalars['String']['input'];\n resourceType: ResourceTypeEnum;\n};\n\n/** Poster type */\nexport type PosterType = {\n posterUsage?: Maybe<PosterUsageType>;\n};\n\n/** Poster usage type */\nexport type PosterUsageType = {\n count: Scalars['Int']['output'];\n month: Scalars['String']['output'];\n};\n\n/** Input type for push token */\nexport type PushTokenInput = {\n platform: OsPlatformEnumType;\n token?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Push token response type */\nexport type PushTokenType = {\n success: Scalars['Boolean']['output'];\n};\n\n/** Puzzle answer input type */\nexport type PuzzleAnswerInputType = {\n answer: Scalars['String']['input'];\n answerId: Scalars['ID']['input'];\n correct: Scalars['Boolean']['input'];\n};\n\n/** Puzzle question answer type */\nexport type PuzzleAnswerType = {\n answer: Scalars['String']['output'];\n answerId: Scalars['ID']['output'];\n correct: Scalars['Boolean']['output'];\n};\n\n/** Puzzle answered question input type */\nexport type PuzzleAnsweredQuestionInputType = {\n questionId: Scalars['ID']['input'];\n selectedAnswerId: Scalars['ID']['input'];\n};\n\n/** Puzzle answered question type */\nexport type PuzzleAnsweredQuestionType = {\n questionId: Scalars['ID']['output'];\n selectedAnswerId: Scalars['ID']['output'];\n};\n\n/** Puzzle base game input type */\nexport type PuzzleBaseGameInputType = {\n questions: Array<PuzzleQuestionInputType>;\n};\n\n/** Puzzle base game type */\nexport type PuzzleBaseGameType = {\n questions: Array<PuzzleQuestionType>;\n};\n\n/** Puzzle game data type */\nexport type PuzzleGameDataType = {\n answeredQuestions: Array<PuzzleAnsweredQuestionType>;\n gameFields?: Maybe<PuzzleBaseGameType>;\n points: Scalars['Int']['output'];\n streak: Scalars['Int']['output'];\n};\n\n/** Puzzle question input type */\nexport type PuzzleQuestionInputType = {\n answers: Array<PuzzleAnswerInputType>;\n question: Scalars['String']['input'];\n questionId: Scalars['ID']['input'];\n};\n\n/** Puzzle question type */\nexport type PuzzleQuestionType = {\n answers: Array<PuzzleAnswerType>;\n question: Scalars['String']['output'];\n questionId: Scalars['ID']['output'];\n};\n\nexport type Query = {\n /** Get a single ad by ID */\n ad?: Maybe<AdType>;\n /** Get all ads */\n ads?: Maybe<Array<Maybe<AdType>>>;\n /** Get ads by region */\n adsByRegion?: Maybe<Array<Maybe<AdType>>>;\n /** Get an affiliate by ID */\n affiliate?: Maybe<AffiliateType>;\n /** Get all affiliates */\n affiliates?: Maybe<Array<AffiliateType>>;\n /** Get application settings */\n appSettings: AppSettingsType;\n /** Get a chat by ID */\n chat?: Maybe<ChatType>;\n /** Get all group chats for a region */\n chatsByRegion?: Maybe<Array<ChatType>>;\n /** Get a event by ID */\n event?: Maybe<EventType>;\n /** Get event by Google Place ID */\n eventByPlaceId?: Maybe<EventListItemType>;\n /** Get a shareable event by public URL slug */\n eventBySlug?: Maybe<EventListItemType>;\n /** Get event info by event ID */\n eventInfo?: Maybe<EventInfoType>;\n /** Get all relations for a specific event */\n eventRelations?: Maybe<Array<Maybe<RelationType>>>;\n /** Get all events */\n events?: Maybe<Array<EventListItemType>>;\n /** Get events by region */\n eventsByRegion?: Maybe<Array<EventListItemType>>;\n /** Get events near a specific location */\n eventsNearMe?: Maybe<Array<EventListItemType>>;\n /** Search events */\n eventsSearch?: Maybe<Array<EventListItemType>>;\n /** Get a game by ID */\n game?: Maybe<GameDocType>;\n /** Get the game leaderboard */\n gameLeaderboard?: Maybe<Array<Maybe<GameLeaderboardType>>>;\n /** Get all games */\n games?: Maybe<Array<GameDocType>>;\n /** Get all available subscription plans with pricing. Applies discounts for new users (25% off annual) and testers (50% off annual). Discounts exclude cancel-anytime plans and are valid for one year only. */\n getSubscriptionPlans: SubscriptionPlansResponseType;\n /** Get the current user's subscription status */\n getSubscriptionStatus: SubscriptionStatusType;\n /** Get notification count for a user */\n notificationCount?: Maybe<NotificationCount>;\n /** Get a partner by ID */\n partner?: Maybe<PartnerType>;\n /** Get a shareable partner by public URL slug */\n partnerBySlug?: Maybe<PartnerType>;\n /** Get all partners */\n partners?: Maybe<Array<PartnerType>>;\n /** Get partners by region */\n partnersByRegion?: Maybe<Array<PartnerType>>;\n /** Search partners */\n partnersSearch?: Maybe<Array<PartnerType>>;\n /** Get a post by ID */\n post?: Maybe<PostType>;\n /** Get a shareable post by public URL slug and post type */\n postBySlug?: Maybe<PostType>;\n /** Get all posts */\n posts?: Maybe<Array<PostType>>;\n /** Get posts by type */\n postsByType?: Maybe<Array<PostType>>;\n /** Get a relation by ID */\n relation?: Maybe<RelationType>;\n /** Get relation for a specific vendor and event combination */\n relationByEventAndVendor?: Maybe<RelationType>;\n /** Get resource activities by resource ID and type */\n resourceActivity?: Maybe<ResourceActivityType>;\n /** Get all connections for a specific resource */\n resourceConnections?: Maybe<ResourceConnections>;\n /** Get a school by ID */\n school?: Maybe<SchoolReturnType>;\n /** Get all schools */\n schools?: Maybe<Array<SchoolType>>;\n /** Get an unregistered vendor by ID */\n unregisteredVendor?: Maybe<UnregisteredVendorType>;\n /** Get all unregistered vendors */\n unregisteredVendors?: Maybe<Array<UnregisteredVendorType>>;\n /** Get unregistered vendors by inviter ID (only includes invitations from that inviter) */\n unregisteredVendorsByInviterId?: Maybe<Array<UnregisteredVendorType>>;\n /** Get a user by ID */\n user?: Maybe<UserType>;\n /** Get all activities of the user */\n userActivities?: Maybe<UserActivities>;\n /** Get all chats for a user */\n userChats?: Maybe<Array<ChatType>>;\n /** Get all events owned by the user */\n userEvents: Array<Maybe<EventType>>;\n /** Get user notifications with pagination */\n userNotifications?: Maybe<Array<Maybe<Notification>>>;\n /** Get the partners of the user */\n userPartners: Array<Maybe<PartnerType>>;\n /** Get all resources owned by the user */\n userResources?: Maybe<UserResources>;\n /** Get the vendors of the user */\n userVendors: Array<Maybe<VendorType>>;\n /** Get all users */\n users?: Maybe<Array<UserType>>;\n /** Get a vendor by ID */\n vendor?: Maybe<VendorType>;\n /** Get a shareable vendor by public URL slug */\n vendorBySlug?: Maybe<VendorType>;\n /** Get a vendor info by vendor ID */\n vendorInfo?: Maybe<VendorInfoType>;\n /** Get all relations for a specific vendor */\n vendorRelations?: Maybe<Array<Maybe<RelationType>>>;\n /** Search vendors */\n vendorSearch?: Maybe<Array<VendorType>>;\n /** Get all vendors */\n vendors?: Maybe<Array<VendorType>>;\n /** Get vendors by Region */\n vendorsByRegion?: Maybe<Array<VendorType>>;\n};\n\n\nexport type QueryAdArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type QueryAdsByRegionArgs = {\n region: Scalars['String']['input'];\n status?: InputMaybe<AdStatusTypeEnum>;\n};\n\n\nexport type QueryAffiliateArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type QueryChatArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type QueryChatsByRegionArgs = {\n region: Scalars['String']['input'];\n};\n\n\nexport type QueryEventArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type QueryEventByPlaceIdArgs = {\n googlePlaceId: Scalars['String']['input'];\n};\n\n\nexport type QueryEventBySlugArgs = {\n slug: Scalars['String']['input'];\n};\n\n\nexport type QueryEventInfoArgs = {\n eventId: Scalars['ID']['input'];\n};\n\n\nexport type QueryEventRelationsArgs = {\n eventId: Scalars['ID']['input'];\n};\n\n\nexport type QueryEventsArgs = {\n dateStatus?: InputMaybe<EventDateStatusEnumType>;\n};\n\n\nexport type QueryEventsByRegionArgs = {\n dateStatus?: InputMaybe<EventDateStatusEnumType>;\n options?: InputMaybe<ResourcesByRegionOptions>;\n region: Scalars['String']['input'];\n};\n\n\nexport type QueryEventsNearMeArgs = {\n dateStatus?: InputMaybe<EventDateStatusEnumType>;\n latitude: Scalars['Float']['input'];\n longitude: Scalars['Float']['input'];\n radius?: InputMaybe<Scalars['Int']['input']>;\n};\n\n\nexport type QueryEventsSearchArgs = {\n dateStatus?: InputMaybe<EventDateStatusEnumType>;\n region: Scalars['String']['input'];\n search?: InputMaybe<Scalars['String']['input']>;\n tags?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type QueryGameArgs = {\n _id?: InputMaybe<Scalars['ID']['input']>;\n};\n\n\nexport type QueryPartnerArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type QueryPartnerBySlugArgs = {\n slug: Scalars['String']['input'];\n};\n\n\nexport type QueryPartnersByRegionArgs = {\n options?: InputMaybe<ResourcesByRegionOptions>;\n region: Scalars['String']['input'];\n};\n\n\nexport type QueryPartnersSearchArgs = {\n region: Scalars['String']['input'];\n search: Scalars['String']['input'];\n};\n\n\nexport type QueryPostArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type QueryPostBySlugArgs = {\n postType: PostTypeEnum;\n slug: Scalars['String']['input'];\n};\n\n\nexport type QueryPostsByTypeArgs = {\n postType: PostTypeEnum;\n};\n\n\nexport type QueryRelationArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type QueryRelationByEventAndVendorArgs = {\n eventId: Scalars['ID']['input'];\n vendorId: Scalars['ID']['input'];\n};\n\n\nexport type QueryResourceActivityArgs = {\n resourceId: Scalars['ID']['input'];\n resourceType: ResourceTypeEnum;\n};\n\n\nexport type QueryResourceConnectionsArgs = {\n resourceId: Scalars['ID']['input'];\n resourceType: ResourceTypeEnum;\n};\n\n\nexport type QuerySchoolArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type QueryUnregisteredVendorArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type QueryUnregisteredVendorsByInviterIdArgs = {\n inviterId: Scalars['ID']['input'];\n};\n\n\nexport type QueryUserArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type QueryUserNotificationsArgs = {\n limit?: InputMaybe<Scalars['Int']['input']>;\n offset?: InputMaybe<Scalars['Int']['input']>;\n};\n\n\nexport type QueryUserResourcesArgs = {\n userId: Scalars['ID']['input'];\n};\n\n\nexport type QueryVendorArgs = {\n _id: Scalars['ID']['input'];\n};\n\n\nexport type QueryVendorBySlugArgs = {\n slug: Scalars['String']['input'];\n};\n\n\nexport type QueryVendorInfoArgs = {\n vendorId: Scalars['ID']['input'];\n};\n\n\nexport type QueryVendorRelationsArgs = {\n vendorId: Scalars['ID']['input'];\n};\n\n\nexport type QueryVendorSearchArgs = {\n region: Scalars['String']['input'];\n search: Scalars['String']['input'];\n};\n\n\nexport type QueryVendorsByRegionArgs = {\n options?: InputMaybe<ResourcesByRegionOptions>;\n region: Scalars['String']['input'];\n};\n\nexport type RedeemAffiliateRewardResponse = {\n data?: Maybe<AffiliateType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Redeem history type */\nexport type RedeemHistoryType = {\n paidAt?: Maybe<Scalars['Date']['output']>;\n redeemedAt: Scalars['Date']['output'];\n rewardValue: Scalars['Int']['output'];\n};\n\n/** Redeem reward input type */\nexport type RedeemRewardInputType = {\n reward: RewardEnumType;\n};\n\nexport type RedeemRewardResponse = {\n data?: Maybe<RedeemRewardResponseType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Redeem reward response data */\nexport type RedeemRewardResponseType = {\n userId: Scalars['ID']['output'];\n};\n\n/** Redeemed reward type */\nexport type RedeemedRewardType = {\n name: RewardEnumType;\n pointsUsed: Scalars['Int']['output'];\n redeemedAt: Scalars['Date']['output'];\n};\n\n/** Refresh token input type */\nexport type RefreshTokenInputType = {\n refreshToken: Scalars['String']['input'];\n};\n\n/** Refresh token payload type */\nexport type RefreshTokenPayloadType = {\n refreshToken: Scalars['String']['output'];\n token: Scalars['String']['output'];\n};\n\nexport type RefreshTokenResponse = {\n data?: Maybe<RefreshTokenPayloadType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type RefundPolicyInputType = {\n category: Scalars['String']['input'];\n label: Scalars['String']['input'];\n value: Scalars['Boolean']['input'];\n};\n\nexport type RefundPolicyType = {\n category: Scalars['String']['output'];\n label: Scalars['String']['output'];\n value: Scalars['Boolean']['output'];\n};\n\n/** Register input type */\nexport type RegisterInputType = {\n email: Scalars['String']['input'];\n firstName: Scalars['String']['input'];\n lastName: Scalars['String']['input'];\n password: Scalars['String']['input'];\n platform?: InputMaybe<OsPlatformEnumType>;\n preferredRegion: Scalars['String']['input'];\n promoCode?: InputMaybe<Scalars['String']['input']>;\n termsAgreement: TermsAgreementInputType;\n};\n\nexport type RegisterResponse = {\n data?: Maybe<AuthPayloadType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Related post type */\nexport type RelatedPostType = {\n postActive: Scalars['Boolean']['output'];\n postId: Scalars['ID']['output'];\n postSlug: Scalars['String']['output'];\n postType: PostTypeEnum;\n};\n\n/** Relation date input type */\nexport type RelationDateInputType = {\n dateTime: RelationDateTimeInputType;\n lastUpdateBy: LastUpdateByInputType;\n paymentReference?: InputMaybe<Scalars['String']['input']>;\n status: InviteEnumType;\n};\n\n/** Relation date time input type */\nexport type RelationDateTimeInputType = {\n dateStatus: EventDateStatusEnumType;\n endDate: Scalars['String']['input'];\n endTime: Scalars['String']['input'];\n stallType: StallTypeInputType;\n startDate: Scalars['String']['input'];\n startTime: Scalars['String']['input'];\n};\n\n/** Relation date time type */\nexport type RelationDateTimeType = {\n dateStatus: EventDateStatusEnumType;\n endDate: Scalars['String']['output'];\n endTime: Scalars['String']['output'];\n stallType?: Maybe<StallTypeType>;\n startDate: Scalars['String']['output'];\n startTime: Scalars['String']['output'];\n};\n\n/** Relation date type */\nexport type RelationDateType = {\n dateTime: RelationDateTimeType;\n lastUpdateBy?: Maybe<LastUpdateByType>;\n paymentReference?: Maybe<Scalars['String']['output']>;\n status: InviteEnumType;\n};\n\n/** Relation input type */\nexport type RelationInputType = {\n active: Scalars['Boolean']['input'];\n chatId?: InputMaybe<Scalars['ID']['input']>;\n eventId: Scalars['ID']['input'];\n lastUpdateBy: ResourceTypeEnum;\n relationDates: Array<InputMaybe<RelationDateInputType>>;\n relationType: RelationTypeEnum;\n vendorId: Scalars['ID']['input'];\n};\n\n/** Relation type */\nexport type RelationType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n chatId: Scalars['ID']['output'];\n createdAt?: Maybe<Scalars['Date']['output']>;\n deletedAt?: Maybe<Scalars['Date']['output']>;\n eventId: Scalars['ID']['output'];\n lastUpdateBy: ResourceTypeEnum;\n relationDates: Array<RelationDateType>;\n relationType: RelationTypeEnum;\n updatedAt?: Maybe<Scalars['Date']['output']>;\n vendorId: Scalars['ID']['output'];\n};\n\n/** Resource relation type enum */\nexport enum RelationTypeEnum {\n EventInviteVendor = 'event_invite_vendor',\n EventUpdateRelationToVendor = 'event_update_relation_to_vendor',\n VendorApplicationToEvent = 'vendor_application_to_event',\n VendorUpdateRelationToEvent = 'vendor_update_relation_to_event'\n}\n\nexport type RemoveParticipantFromChatPayload = {\n region?: Maybe<Scalars['String']['output']>;\n success: Scalars['Boolean']['output'];\n};\n\nexport type RemoveParticipantFromChatResponse = {\n data?: Maybe<RemoveParticipantFromChatPayload>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type RemoveUserFavouriteResourceResponse = {\n data?: Maybe<UserType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type RemoveUserGoingResourceResponse = {\n data?: Maybe<UserType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type RemoveUserInterestResourceResponse = {\n data?: Maybe<UserType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type RemoveUserPresentResourceResponse = {\n data?: Maybe<UserType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Report chat reason input type */\nexport type ReportChatReasonInputType = {\n details?: InputMaybe<Scalars['String']['input']>;\n reasonType: ChatReportReasonEnum;\n};\n\n/** Report chat reason type */\nexport type ReportChatReasonType = {\n details?: Maybe<Scalars['String']['output']>;\n reasonType: ChatReportReasonEnum;\n};\n\n/** Report chat user input type */\nexport type ReportChatUserInputType = {\n chatId: Scalars['ID']['input'];\n reason: ReportChatReasonInputType;\n reportedUserId: Scalars['ID']['input'];\n};\n\nexport type ReportChatUserResponse = {\n data?: Maybe<ReportChatUserType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Report chat user type */\nexport type ReportChatUserType = {\n _id: Scalars['ID']['output'];\n chatId: Scalars['ID']['output'];\n createdAt: Scalars['Date']['output'];\n reason: ReportChatReasonType;\n reportedUserId: Scalars['ID']['output'];\n reporterUserId: Scalars['ID']['output'];\n resolved: Scalars['Boolean']['output'];\n updatedAt?: Maybe<Scalars['Date']['output']>;\n};\n\n/** Request password reset input type */\nexport type RequestPasswordResetInputType = {\n email: Scalars['String']['input'];\n};\n\nexport type RequestPasswordResetResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type RequirementInputType = {\n category: Scalars['String']['input'];\n label: Scalars['String']['input'];\n value: Scalars['Boolean']['input'];\n};\n\nexport type RequirementType = {\n category: Scalars['String']['output'];\n label: Scalars['String']['output'];\n value: Scalars['Boolean']['output'];\n};\n\n/** Reset password input type */\nexport type ResetPasswordInputType = {\n confirmPassword: Scalars['String']['input'];\n email: Scalars['String']['input'];\n password: Scalars['String']['input'];\n};\n\nexport type ResetPasswordResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Resource view entry type */\nexport type ResourceActivityEntryType = {\n activityType: ActivityEnumType;\n dateStatus?: Maybe<EventDateStatusEnumType>;\n location?: Maybe<LocationGeoType>;\n startDate?: Maybe<Scalars['String']['output']>;\n startTime?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Date']['output']>;\n userAgent?: Maybe<OsPlatformEnumType>;\n userId?: Maybe<Scalars['String']['output']>;\n};\n\n/** Resource activity input type */\nexport type ResourceActivityInputType = {\n activity: ResourceViewEntryInputType;\n resourceId: Scalars['ID']['input'];\n resourceType: ResourceTypeEnum;\n};\n\n/** Resource activities type */\nexport type ResourceActivityType = {\n _id: Scalars['ID']['output'];\n activity?: Maybe<Array<Maybe<ResourceActivityEntryType>>>;\n resourceId: Scalars['ID']['output'];\n resourceType: ResourceTypeEnum;\n};\n\nexport type ResourceConnections = {\n /** List of events connected to the resource */\n events?: Maybe<Array<Maybe<EventListItemType>>>;\n /** List of vendors connected to the resource */\n vendors?: Maybe<Array<Maybe<VendorType>>>;\n};\n\n/** Resource image input type */\nexport type ResourceImageInputType = {\n active?: InputMaybe<Scalars['Boolean']['input']>;\n source?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Resource image type */\nexport type ResourceImageType = {\n active: Scalars['Boolean']['output'];\n fullUrl?: Maybe<Scalars['String']['output']>;\n source: Scalars['String']['output'];\n title: Scalars['String']['output'];\n};\n\n/** Resource image upload input type */\nexport type ResourceImageUploadInputType = {\n source?: InputMaybe<Scalars['Upload']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ResourceRelationType = {\n relationDates: Array<RelationDateType>;\n relationId: Scalars['ID']['output'];\n};\n\n/** Resource type enum */\nexport enum ResourceTypeEnum {\n Affiliate = 'affiliate',\n Event = 'event',\n Partner = 'partner',\n School = 'school',\n Vendor = 'vendor'\n}\n\n/** Resource view entry input type */\nexport type ResourceViewEntryInputType = {\n activityType: ActivityEnumType;\n location?: InputMaybe<LocationGeoInputType>;\n startDate?: InputMaybe<Scalars['String']['input']>;\n startTime?: InputMaybe<Scalars['String']['input']>;\n userAgent?: InputMaybe<OsPlatformEnumType>;\n userId?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Resources by region options */\nexport type ResourcesByRegionOptions = {\n limit?: InputMaybe<Scalars['Int']['input']>;\n offset?: InputMaybe<Scalars['Int']['input']>;\n onlyClaimed?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** Reward enum */\nexport enum RewardEnumType {\n MysteryDeluxeBox = 'mystery_deluxe_box',\n MysteryJoyBox = 'mystery_joy_box',\n MysterySqueezeBox = 'mystery_squeeze_box'\n}\n\n/** School campaign type */\nexport type SchoolCampaignType = {\n endDate: Scalars['Date']['output'];\n name: Scalars['String']['output'];\n startDate: Scalars['Date']['output'];\n};\n\n/** School input type */\nexport type SchoolInputType = {\n active: Scalars['Boolean']['input'];\n contactDetails: ContactDetailsInputType;\n location: LocationInputType;\n logo?: InputMaybe<ResourceImageInputType>;\n logoUpload?: InputMaybe<ResourceImageUploadInputType>;\n name: Scalars['String']['input'];\n region: Scalars['String']['input'];\n socialMedia?: InputMaybe<Array<InputMaybe<SocialMediaInputType>>>;\n studentCount: Scalars['Int']['input'];\n termsAgreement: TermsAgreementInputType;\n};\n\n/** School registered user type */\nexport type SchoolRegisteredUserType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n avatar?: Maybe<ResourceImageType>;\n email: Scalars['String']['output'];\n firstName: Scalars['String']['output'];\n lastName: Scalars['String']['output'];\n};\n\n/** School return type */\nexport type SchoolReturnType = {\n school: SchoolType;\n users?: Maybe<Array<SchoolRegisteredUserType>>;\n};\n\n/** School type */\nexport type SchoolType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n approvedAt?: Maybe<Scalars['Date']['output']>;\n campaigns?: Maybe<Array<SchoolCampaignType>>;\n contactDetails: ContactDetailsType;\n createdAt: Scalars['Date']['output'];\n deletedAt?: Maybe<Scalars['Date']['output']>;\n location: LocationType;\n logo?: Maybe<ResourceImageType>;\n name: Scalars['String']['output'];\n overallPoints?: Maybe<Scalars['Int']['output']>;\n owner: OwnerType;\n ranking?: Maybe<Scalars['Int']['output']>;\n region: Scalars['String']['output'];\n schoolCode: Scalars['String']['output'];\n socialMedia?: Maybe<Array<SocialMediaType>>;\n studentCount: Scalars['Int']['output'];\n termsAgreement: TermsAgreementType;\n updatedAt: Scalars['Date']['output'];\n};\n\n/** Select standard package result data */\nexport type SelectStandardPackageDataType = {\n licences?: Maybe<Array<UserLicenceType>>;\n userId: Scalars['ID']['output'];\n};\n\nexport type SelectStandardPackageResponse = {\n data?: Maybe<SelectStandardPackageDataType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type SendChatMessageResponse = {\n data?: Maybe<ChatType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Social media enum type */\nexport enum SocialMediaEnumType {\n Facebook = 'facebook',\n Instagram = 'instagram',\n Tiktok = 'tiktok',\n Twitter = 'twitter',\n Website = 'website',\n Youtube = 'youtube'\n}\n\n/** Social media input type */\nexport type SocialMediaInputType = {\n link: Scalars['String']['input'];\n name: SocialMediaEnumType;\n};\n\n/** Social media type */\nexport type SocialMediaType = {\n link: Scalars['String']['output'];\n name: SocialMediaEnumType;\n};\n\n/** Social share resource type */\nexport type SocialShareResourceType = {\n qrCode: ResourceImageType;\n socialImage: ResourceImageType;\n};\n\n/** Stall type input type */\nexport type StallTypeInputType = {\n label: Scalars['String']['input'];\n price: Scalars['Float']['input'];\n stallCapacity: Scalars['Float']['input'];\n};\n\n/** Stall type object */\nexport type StallTypeType = {\n label: Scalars['String']['output'];\n price: Scalars['Float']['output'];\n stallCapacity: Scalars['Float']['output'];\n};\n\nexport type StartGameResponse = {\n data?: Maybe<GameDocType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Stripe subscription type */\nexport type StripeSubscriptionType = {\n currentPlan?: Maybe<LicencesEnumType>;\n customerId?: Maybe<Scalars['String']['output']>;\n endDate?: Maybe<Scalars['Date']['output']>;\n startDate?: Maybe<Scalars['Date']['output']>;\n status?: Maybe<SubscriptionStatusEnumType>;\n subscriptionId?: Maybe<Scalars['String']['output']>;\n};\n\n/** Subcategory input type */\nexport type SubcategoryInputType = {\n id: Scalars['String']['input'];\n items?: InputMaybe<Array<InputMaybe<SubcategoryItemInputType>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Subcategory item input type */\nexport type SubcategoryItemInputType = {\n id?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Subcategory item type */\nexport type SubcategoryItemType = {\n id?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n};\n\n/** Subcategory type */\nexport type SubcategoryType = {\n id: Scalars['String']['output'];\n items?: Maybe<Array<SubcategoryItemType>>;\n name?: Maybe<Scalars['String']['output']>;\n};\n\n/** The root subscription type */\nexport type Subscription = {\n /** Subscribe to chat messages */\n getChatMessage?: Maybe<ChatType>;\n /** Subscribe to notification count updates */\n getNotificationCount?: Maybe<NotificationCount>;\n /** Subscribe to user notifications */\n getUserNotifications?: Maybe<Array<Maybe<Notification>>>;\n};\n\n/** Subscription plan with pricing, discounts, and Stripe metadata */\nexport type SubscriptionPlanType = {\n /** Billing period (monthly, yearly_annual_billed, yearly_monthly_billed) */\n billingPeriod: BillingPeriodEnumType;\n /** Plan description */\n description?: Maybe<Scalars['String']['output']>;\n /** Whether this plan is eligible for discount (annual plans only) */\n isEligibleForDiscount: Scalars['Boolean']['output'];\n /** Licence type (standard_vendor, pro_event, etc.) */\n licenceType: LicencesEnumType;\n /** Plan name (e.g., 'Standard Vendor') */\n name: Scalars['String']['output'];\n /** Pricing details with discounts applied */\n pricing: SubscriptionPricingType;\n /** Stripe price ID */\n stripePriceId: Scalars['String']['output'];\n /** Stripe product ID */\n stripeProductId: Scalars['String']['output'];\n};\n\n/** Response containing subscription plans with pricing */\nexport type SubscriptionPlansResponseType = {\n /** Type of discount applied: 'none', 'new_user', or 'tester' */\n appliedDiscountType: Scalars['String']['output'];\n /** Whether the user is a new user (no previous subscriptions) */\n isNewUser: Scalars['Boolean']['output'];\n /** Whether the user is a tester */\n isTester: Scalars['Boolean']['output'];\n /** List of available subscription plans */\n plans: Array<SubscriptionPlanType>;\n};\n\n/** Pricing details for a subscription plan */\nexport type SubscriptionPricingType = {\n /** Base price in cents */\n basePrice: Scalars['Int']['output'];\n /** Currency code (e.g., 'nzd', 'usd') */\n currency: Scalars['String']['output'];\n /** Discount amount in cents (if applicable) */\n discountAmount?: Maybe<Scalars['Int']['output']>;\n /** Discount percentage (if applicable) */\n discountPercent?: Maybe<Scalars['Float']['output']>;\n /** Final price after discount in cents (if applicable) */\n discountedPrice?: Maybe<Scalars['Int']['output']>;\n /** Formatted base price (e.g., '$99.00') */\n formattedBasePrice: Scalars['String']['output'];\n /** Formatted discounted price (e.g., '$74.25') */\n formattedDiscountedPrice?: Maybe<Scalars['String']['output']>;\n /** Whether a discount is applied */\n hasDiscount: Scalars['Boolean']['output'];\n};\n\n/** Subscription status enum type */\nexport enum SubscriptionStatusEnumType {\n Active = 'active',\n Cancelled = 'cancelled',\n Inactive = 'inactive',\n NoSubscription = 'no_subscription',\n PastDue = 'past_due',\n Trialing = 'trialing'\n}\n\n/** Subscription status information */\nexport type SubscriptionStatusType = {\n currentPlan?: Maybe<LicencesEnumType>;\n priceId?: Maybe<Scalars['String']['output']>;\n status?: Maybe<SubscriptionStatusEnumType>;\n subscriptionId?: Maybe<Scalars['String']['output']>;\n};\n\n/** Terms agreement input type */\nexport type TermsAgreementInputType = {\n appBuildNumber: Scalars['String']['input'];\n appId: Scalars['String']['input'];\n appVersion: Scalars['String']['input'];\n brand: Scalars['String']['input'];\n deviceName: Scalars['String']['input'];\n installationId: Scalars['String']['input'];\n manufacturer: Scalars['String']['input'];\n modelName: Scalars['String']['input'];\n osName: Scalars['String']['input'];\n osVersion: Scalars['String']['input'];\n termVersion: Scalars['String']['input'];\n timestamp: Scalars['String']['input'];\n};\n\n/** Terms agreement type */\nexport type TermsAgreementType = {\n appBuildNumber: Scalars['String']['output'];\n appId: Scalars['String']['output'];\n appVersion: Scalars['String']['output'];\n brand: Scalars['String']['output'];\n deviceName: Scalars['String']['output'];\n installationId: Scalars['String']['output'];\n manufacturer: Scalars['String']['output'];\n modelName: Scalars['String']['output'];\n osName: Scalars['String']['output'];\n osVersion: Scalars['String']['output'];\n termVersion: Scalars['String']['output'];\n timestamp: Scalars['String']['output'];\n};\n\n/** Textarea content data input type */\nexport type TextareaContentDataInputType = {\n data: Scalars['String']['input'];\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Textarea content data type */\nexport type TextareaContentDataType = {\n data: Scalars['String']['output'];\n title?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ToggleChatMessageLikeResponse = {\n data?: Maybe<ChatType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UnlinkUnregisteredVendorByInviterIdResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Unregistered vendor input type */\nexport type UnregisteredVendorInputType = {\n categoryIds: Array<InputMaybe<Scalars['String']['input']>>;\n dateTime: Array<InputMaybe<DateTimeInputType>>;\n email?: InputMaybe<Scalars['String']['input']>;\n inviterId: Scalars['ID']['input'];\n name: Scalars['String']['input'];\n region: Scalars['String']['input'];\n};\n\n/** Unregistered vendor invitation type */\nexport type UnregisteredVendorInvitationType = {\n dateTime: Array<DateTimeType>;\n inviterId: Scalars['ID']['output'];\n};\n\n/** Unregistered vendor type */\nexport type UnregisteredVendorType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n categoryIds: Array<Scalars['String']['output']>;\n claimed: Scalars['Boolean']['output'];\n claimedAt?: Maybe<Scalars['Date']['output']>;\n claimedByUserId?: Maybe<Scalars['ID']['output']>;\n createdAt: Scalars['Date']['output'];\n deletedAt?: Maybe<Scalars['Date']['output']>;\n email?: Maybe<Scalars['String']['output']>;\n invitations: Array<UnregisteredVendorInvitationType>;\n name: Scalars['String']['output'];\n region: Scalars['String']['output'];\n updatedAt: Scalars['Date']['output'];\n};\n\nexport type UpdateAdResponse = {\n data?: Maybe<AdType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateAffiliateDetailsResponse = {\n data?: Maybe<AffiliateType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateAppSettingsResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateDailyClueGameResponse = {\n data?: Maybe<GameDocType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateEventInfoResponse = {\n data?: Maybe<EventInfoType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateEventResponse = {\n data?: Maybe<EventType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateGoogleImportedMarketsResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdatePartnerResponse = {\n data?: Maybe<PartnerType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdatePostResponse = {\n data?: Maybe<PostType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdatePuzzleGameResponse = {\n data?: Maybe<GameDocType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateRelationResponse = {\n data?: Maybe<RelationType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateSchoolResponse = {\n data?: Maybe<SchoolType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateSubscriptionPlanResponse = {\n data?: Maybe<SubscriptionStatusType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateUnregisteredVendorResponse = {\n data?: Maybe<UnregisteredVendorType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateUserResponse = {\n data?: Maybe<UserType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateVendorInfoResponse = {\n data?: Maybe<VendorInfoType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UpdateVendorResponse = {\n data?: Maybe<VendorType>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UserActivities = {\n /** Favourites of the user */\n favourites?: Maybe<UserFavourites>;\n /** Going events of the user */\n going?: Maybe<UserGoingEvents>;\n /** Interested events of the user */\n interested?: Maybe<UserInterestedEvents>;\n /** Present events of the user */\n present?: Maybe<UserPresentEvents>;\n};\n\n/** User activity input type */\nexport type UserActivityInputType = {\n dateTime: DateTimeInputType;\n resourceId: Scalars['ID']['input'];\n};\n\n/** User activity type */\nexport type UserActivityType = {\n favourites?: Maybe<UserFavouritesType>;\n going?: Maybe<UserGoingType>;\n interested?: Maybe<UserInterestedType>;\n present?: Maybe<UserPresentType>;\n};\n\nexport type UserFavourites = {\n /** List of favourite events */\n events?: Maybe<Array<Maybe<EventListItemType>>>;\n /** List of favourite partners */\n partners?: Maybe<Array<Maybe<PartnerType>>>;\n /** List of favourite vendors */\n vendors?: Maybe<Array<Maybe<VendorType>>>;\n};\n\n/** User favourites type */\nexport type UserFavouritesType = {\n /** List of favourite events */\n events?: Maybe<Array<Scalars['ID']['output']>>;\n /** List of favourite partners */\n partners?: Maybe<Array<Scalars['ID']['output']>>;\n /** List of favourite vendors */\n vendors?: Maybe<Array<Scalars['ID']['output']>>;\n};\n\nexport type UserGoingEvents = {\n /** List of going events */\n events?: Maybe<Array<Maybe<EventListItemType>>>;\n};\n\n/** User going events */\nexport type UserGoingType = {\n events?: Maybe<Array<EventReferenceType>>;\n};\n\n/** User input type */\nexport type UserInputType = {\n active: Scalars['Boolean']['input'];\n avatar?: InputMaybe<ResourceImageInputType>;\n avatarUpload?: InputMaybe<ResourceImageUploadInputType>;\n email: Scalars['String']['input'];\n firstName: Scalars['String']['input'];\n isTester: Scalars['Boolean']['input'];\n lastName: Scalars['String']['input'];\n location?: InputMaybe<LocationInputType>;\n password?: InputMaybe<Scalars['String']['input']>;\n platform?: InputMaybe<OsPlatformEnumType>;\n preferredRegion: Scalars['String']['input'];\n termsAgreement?: InputMaybe<TermsAgreementInputType>;\n};\n\nexport type UserInterestedEvents = {\n /** List of interested events */\n events?: Maybe<Array<Maybe<EventListItemType>>>;\n};\n\n/** User interested events */\nexport type UserInterestedType = {\n events?: Maybe<Array<EventReferenceType>>;\n};\n\n/** User licence type */\nexport type UserLicenceType = {\n expiryDate: Scalars['Date']['output'];\n issuedDate: Scalars['Date']['output'];\n licenceType: LicencesEnumType;\n prevLicenceType?: Maybe<LicencesEnumType>;\n};\n\nexport type UserPresentEvents = {\n /** List of present events */\n events?: Maybe<Array<Maybe<EventListItemType>>>;\n};\n\n/** User present events */\nexport type UserPresentType = {\n events?: Maybe<Array<EventReferenceType>>;\n};\n\nexport type UserResource = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n logo: Scalars['String']['output'];\n name: Scalars['String']['output'];\n resourceType: ResourceTypeEnum;\n};\n\nexport type UserResources = {\n /** List of resources owned by the user */\n resources?: Maybe<Array<UserResource>>;\n};\n\n/** User role enum type */\nexport enum UserRoleEnumType {\n Admin = 'admin',\n Affiliate = 'affiliate',\n Customer = 'customer',\n Event = 'event',\n Partner = 'partner',\n School = 'school',\n SuperAdmin = 'super_admin',\n Vendor = 'vendor'\n}\n\n/** User type */\nexport type UserType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n affiliate?: Maybe<Scalars['ID']['output']>;\n avatar?: Maybe<ResourceImageType>;\n createdAt: Scalars['Date']['output'];\n deletedAt?: Maybe<Scalars['Date']['output']>;\n email: Scalars['String']['output'];\n events?: Maybe<Array<Scalars['ID']['output']>>;\n firstName: Scalars['String']['output'];\n game?: Maybe<Scalars['ID']['output']>;\n isTester: Scalars['Boolean']['output'];\n lastName: Scalars['String']['output'];\n licences?: Maybe<Array<UserLicenceType>>;\n location?: Maybe<LocationType>;\n overallPoints?: Maybe<Scalars['Int']['output']>;\n partner?: Maybe<Scalars['ID']['output']>;\n permissions: Array<Scalars['String']['output']>;\n platform?: Maybe<OsPlatformEnumType>;\n preferredRegion: Scalars['String']['output'];\n promoCodes?: Maybe<Array<Scalars['String']['output']>>;\n redeemedRewards?: Maybe<Array<RedeemedRewardType>>;\n roles: Array<UserRoleEnumType>;\n school?: Maybe<Scalars['ID']['output']>;\n stripe?: Maybe<StripeSubscriptionType>;\n termsAgreement?: Maybe<TermsAgreementType>;\n updatedAt: Scalars['Date']['output'];\n userActivity?: Maybe<UserActivityType>;\n vendor?: Maybe<Scalars['ID']['output']>;\n};\n\n/** Verify password reset token input type */\nexport type ValidateVerificationTokenInputType = {\n email: Scalars['String']['input'];\n verificationToken: Scalars['String']['input'];\n verificationType?: InputMaybe<VerificationEnumType>;\n};\n\nexport type ValidateVerificationTokenResponse = {\n data?: Maybe<Scalars['Boolean']['output']>;\n message?: Maybe<Scalars['String']['output']>;\n};\n\n/** Vendor apply form price range input type */\nexport type VendorApplyFormPriceRangeInputType = {\n max: Scalars['String']['input'];\n min: Scalars['String']['input'];\n};\n\n/** Vendor apply form stall size input type */\nexport type VendorApplyFormStallSizeInputType = {\n depth: Scalars['String']['input'];\n width: Scalars['String']['input'];\n};\n\n/** Vendor attributes input type */\nexport type VendorAttributesInputType = {\n details?: InputMaybe<Scalars['String']['input']>;\n isRequired: Scalars['Boolean']['input'];\n};\n\n/** Vendor attributes type */\nexport type VendorAttributesType = {\n details?: Maybe<Scalars['String']['output']>;\n isRequired: Scalars['Boolean']['output'];\n};\n\n/** Vendor availability input type */\nexport type VendorAvailabilityInputType = {\n corporate?: InputMaybe<Scalars['Boolean']['input']>;\n private?: InputMaybe<Scalars['Boolean']['input']>;\n school?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** Vendor availability type */\nexport type VendorAvailabilityType = {\n corporate: Scalars['Boolean']['output'];\n private: Scalars['Boolean']['output'];\n school: Scalars['Boolean']['output'];\n};\n\n/** Vendor calendar input type */\nexport type VendorCalendarInputType = {\n active?: InputMaybe<Scalars['Boolean']['input']>;\n calendarData?: InputMaybe<Array<InputMaybe<VendorLocationsInputType>>>;\n};\n\n/** Vendor calendar type */\nexport type VendorCalendarType = {\n active?: Maybe<Scalars['Boolean']['output']>;\n calendarData?: Maybe<Array<VendorLocationsType>>;\n};\n\n/** Vendor compliance input type */\nexport type VendorComplianceInputType = {\n foodBeverageLicense?: InputMaybe<Scalars['Boolean']['input']>;\n liabilityInsurance?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** Vendor compliance type */\nexport type VendorComplianceType = {\n foodBeverageLicense: Scalars['Boolean']['output'];\n liabilityInsurance: Scalars['Boolean']['output'];\n};\n\n/** Vendor Date time type */\nexport type VendorDateTimeType = {\n dateStatus?: Maybe<EventDateStatusEnumType>;\n endDate?: Maybe<Scalars['String']['output']>;\n endTime?: Maybe<Scalars['String']['output']>;\n startDate?: Maybe<Scalars['String']['output']>;\n startTime?: Maybe<Scalars['String']['output']>;\n};\n\n/** Vendor type enum */\nexport enum VendorEnumType {\n Shop = 'Shop',\n Stallholder = 'Stallholder'\n}\n\n/** Vendor info input type */\nexport type VendorInfoInputType = {\n compliance?: InputMaybe<VendorComplianceInputType>;\n documents?: InputMaybe<Array<InputMaybe<ResourceImageInputType>>>;\n documentsUpload?: InputMaybe<Array<InputMaybe<ResourceImageUploadInputType>>>;\n product: VendorProductInputType;\n requirements?: InputMaybe<VendorRequirementsInputType>;\n stallInfo: VendorStallInfoInputType;\n vendorId: Scalars['String']['input'];\n};\n\n/** Vendor info type */\nexport type VendorInfoType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n compliance?: Maybe<VendorComplianceType>;\n documents?: Maybe<Array<ResourceImageType>>;\n product: VendorProductType;\n requirements?: Maybe<VendorRequirementsType>;\n stallInfo: VendorStallInfoType;\n vendorId: Scalars['ID']['output'];\n};\n\n/** Vendor input type */\nexport type VendorInputType = {\n active: Scalars['Boolean']['input'];\n availability?: InputMaybe<VendorAvailabilityInputType>;\n calendar?: InputMaybe<VendorCalendarInputType>;\n categories: Array<InputMaybe<CategoryInputType>>;\n claimed?: InputMaybe<Scalars['Boolean']['input']>;\n contactDetails?: InputMaybe<ContactDetailsInputType>;\n cover: ResourceImageInputType;\n coverUpload?: InputMaybe<ResourceImageUploadInputType>;\n description: Scalars['String']['input'];\n foodTruck: Scalars['Boolean']['input'];\n images?: InputMaybe<Array<InputMaybe<ResourceImageInputType>>>;\n imagesUpload?: InputMaybe<Array<InputMaybe<ResourceImageUploadInputType>>>;\n logo?: InputMaybe<ResourceImageInputType>;\n logoUpload?: InputMaybe<ResourceImageUploadInputType>;\n name: Scalars['String']['input'];\n products?: InputMaybe<VendorProductsInputType>;\n promoCodes?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n region: Scalars['String']['input'];\n socialMedia?: InputMaybe<Array<InputMaybe<SocialMediaInputType>>>;\n termsAgreement: TermsAgreementInputType;\n unregisteredVendorId?: InputMaybe<Scalars['ID']['input']>;\n vendorType: VendorEnumType;\n};\n\n/** Vendor location date time input type */\nexport type VendorLocationDateTimeInputType = {\n dateStatus?: InputMaybe<EventDateStatusEnumType>;\n endDate?: InputMaybe<Scalars['String']['input']>;\n endTime?: InputMaybe<Scalars['String']['input']>;\n startDate?: InputMaybe<Scalars['String']['input']>;\n startTime?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Vendor locations input type */\nexport type VendorLocationsInputType = {\n dateTime?: InputMaybe<VendorLocationDateTimeInputType>;\n description?: InputMaybe<Scalars['String']['input']>;\n location?: InputMaybe<LocationInputType>;\n resourceCover?: InputMaybe<Scalars['String']['input']>;\n resourceId?: InputMaybe<Scalars['String']['input']>;\n resourceLogo?: InputMaybe<Scalars['String']['input']>;\n resourceName?: InputMaybe<Scalars['String']['input']>;\n resourceType?: InputMaybe<ResourceTypeEnum>;\n};\n\n/** Vendor locations type */\nexport type VendorLocationsType = {\n dateTime?: Maybe<VendorDateTimeType>;\n description?: Maybe<Scalars['String']['output']>;\n location?: Maybe<LocationType>;\n};\n\n/** Vendor product input type */\nexport type VendorProductInputType = {\n foodFlavors: Array<InputMaybe<FoodFlavorEnumType>>;\n packaging: Array<InputMaybe<Scalars['String']['input']>>;\n priceRange: VendorApplyFormPriceRangeInputType;\n producedIn?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n/** Vendor product list input type */\nexport type VendorProductListInputType = {\n description?: InputMaybe<Scalars['String']['input']>;\n name: Scalars['String']['input'];\n price: Scalars['Float']['input'];\n priceUnit: Scalars['String']['input'];\n productGroups?: InputMaybe<Array<Scalars['String']['input']>>;\n};\n\n/** Vendor product list type */\nexport type VendorProductListType = {\n description?: Maybe<Scalars['String']['output']>;\n name: Scalars['String']['output'];\n price: Scalars['Float']['output'];\n priceUnit: Scalars['String']['output'];\n productGroups?: Maybe<Array<Scalars['String']['output']>>;\n};\n\n/** Vendor product type */\nexport type VendorProductType = {\n foodFlavors: Array<FoodFlavorEnumType>;\n packaging?: Maybe<Array<Scalars['String']['output']>>;\n priceRange: MaxMinType;\n producedIn?: Maybe<Array<Scalars['String']['output']>>;\n};\n\n/** Vendor products input type */\nexport type VendorProductsInputType = {\n active?: InputMaybe<Scalars['Boolean']['input']>;\n productsList?: InputMaybe<Array<InputMaybe<VendorProductListInputType>>>;\n};\n\n/** Vendor products type */\nexport type VendorProductsType = {\n active?: Maybe<Scalars['Boolean']['output']>;\n productsList?: Maybe<Array<VendorProductListType>>;\n};\n\n/** Vendor requirements input type */\nexport type VendorRequirementsInputType = {\n electricity: VendorAttributesInputType;\n gazebo: VendorAttributesInputType;\n table: VendorAttributesInputType;\n};\n\n/** Vendor requirements type */\nexport type VendorRequirementsType = {\n electricity: VendorAttributesType;\n gazebo: VendorAttributesType;\n table: VendorAttributesType;\n};\n\n/** Vendor stall info input type */\nexport type VendorStallInfoInputType = {\n size: VendorApplyFormStallSizeInputType;\n};\n\n/** Vendor stall info type */\nexport type VendorStallInfoType = {\n size: DepthWidthType;\n};\n\n/** Vendor type */\nexport type VendorType = {\n _id: Scalars['ID']['output'];\n active: Scalars['Boolean']['output'];\n adIds?: Maybe<Array<Maybe<Scalars['ID']['output']>>>;\n approvedAt?: Maybe<Scalars['Date']['output']>;\n availability?: Maybe<VendorAvailabilityType>;\n calendar?: Maybe<VendorCalendarType>;\n categories: Array<CategoryType>;\n claimed: Scalars['Boolean']['output'];\n contactDetails?: Maybe<ContactDetailsType>;\n cover: ResourceImageType;\n createdAt: Scalars['Date']['output'];\n deletedAt?: Maybe<Scalars['Date']['output']>;\n description: Scalars['String']['output'];\n foodTruck: Scalars['Boolean']['output'];\n images?: Maybe<Array<ResourceImageType>>;\n logo?: Maybe<ResourceImageType>;\n name: Scalars['String']['output'];\n owner: OwnerType;\n posterUsage?: Maybe<PosterUsageType>;\n products?: Maybe<VendorProductsType>;\n promoCodes?: Maybe<Array<Scalars['String']['output']>>;\n rating?: Maybe<Scalars['Float']['output']>;\n region: Scalars['String']['output'];\n relatedPost?: Maybe<RelatedPostType>;\n relations?: Maybe<Array<ResourceRelationType>>;\n reviewCount?: Maybe<Scalars['Int']['output']>;\n sharePublic?: Maybe<SocialShareResourceType>;\n shareRelation?: Maybe<SocialShareResourceType>;\n slug: Scalars['String']['output'];\n socialMedia?: Maybe<Array<SocialMediaType>>;\n termsAgreement?: Maybe<TermsAgreementType>;\n unregisteredVendorId?: Maybe<Scalars['ID']['output']>;\n updatedAt: Scalars['Date']['output'];\n vendorInfoId?: Maybe<Scalars['ID']['output']>;\n vendorType: VendorEnumType;\n};\n\n/** Verification type enum */\nexport enum VerificationEnumType {\n Register = 'register',\n ResetPassword = 'resetPassword'\n}\n\n/** Video content data input type */\nexport type VideoContentDataInputType = {\n source: Scalars['String']['input'];\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Video content data type */\nexport type VideoContentDataType = {\n source: Scalars['String']['output'];\n title?: Maybe<Scalars['String']['output']>;\n};\n","const OBJECT_ID_PATH_SEGMENT = \"[a-f0-9]{24}\";\nconst OBJECT_ID_PATH_SEGMENT_END = `${OBJECT_ID_PATH_SEGMENT}$`;\n\nexport const gameScreenIdentifierList = [\n {\n clue: \"Where your actions turn into a timeline.\",\n id: \"activities\",\n match: \"/profile/activities\",\n },\n {\n clue: \"Where conversations happen without speaking.\",\n id: \"chat\",\n match: \"/profile/chat\",\n },\n {\n clue: \"The place to redefine who you are.\",\n id: \"edit-profile\",\n match: \"/profile/edit-profile\",\n },\n {\n clue: \"A single moment worth showing up for.\",\n id: \"single-event\",\n match: new RegExp(`^/events/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"What’s happening around you, right now.\",\n id: \"events-near-me\",\n match: \"/events/events-near-me\",\n },\n {\n clue: \"Where events appear as pins on a map.\",\n id: \"events-map\",\n match: \"/events/events-map\",\n },\n {\n clue: \"A collection of events worth attending.\",\n id: \"events\",\n match: \"/events\",\n },\n {\n clue: \"What’s happening in a wider area — not just nearby.\",\n id: \"events-region\",\n match: /^\\/events\\/region\\/[^/]+$/,\n },\n {\n clue: \"Where fun becomes a challenge.\",\n id: \"games\",\n match: \"/games\",\n },\n {\n clue: \"Your starting point for everything.\",\n id: \"home\",\n match: \"/\",\n },\n {\n clue: \"Where the app whispers what you shouldn’t miss.\",\n id: \"notifications\",\n match: \"/notifications\",\n },\n {\n clue: \"Where you fine-tune your experience.\",\n id: \"options\",\n match: \"/options\",\n },\n {\n clue: \"An organisation or creator supporting the community.\",\n id: \"single-partner\",\n match: new RegExp(`^/partners/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Organisations and creators supporting the community.\",\n id: \"partners\",\n match: \"/partners\",\n },\n {\n clue: \"A single published post in full view.\",\n id: \"single-visitor-post\",\n match: new RegExp(`^/visitors/post/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Your identity, on display.\",\n id: \"profile\",\n match: \"/profile\",\n },\n {\n clue: \"One stallholder offering something valuable.\",\n id: \"single-vendor\",\n match: new RegExp(`^/vendors/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Where every stallholder waits under the right category.\",\n id: \"vendors\",\n match: \"/vendors\",\n },\n {\n clue: \"Where you browse articles and posts from around the platform.\",\n id: \"visitors\",\n match: \"/visitors\",\n },\n] as const;\n\nexport type GamePlacement = (typeof gameScreenIdentifierList)[number][\"id\"];\nexport type GamePlacementClue = (typeof gameScreenIdentifierList)[number][\"clue\"];\n\n/**\n * Runtime shape used by dailyClueGame.ts utilities.\n * Uses JS Date (not ISO string) because it's constructed at runtime.\n * Distinct from the generated DailyClueGameDataType which uses string dates.\n */\nexport type DailyClueGameData = {\n points: number;\n streak: number;\n gameFields: {\n gameDate: { startDate: Date; endDate: Date };\n gameSolution: string;\n };\n lastFoundDate: Date | null;\n letterInfo: {\n collected: string[] | null;\n solutionShuffled: string[];\n todaysClue: GamePlacementClue | null;\n todaysLetter: string | null;\n todaysPlacement: GamePlacement | null;\n };\n};\n","import dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter.js\";\nimport timezone from \"dayjs/plugin/timezone.js\";\nimport utc from \"dayjs/plugin/utc.js\";\n\nimport { EventDateStatusEnumType } from \"../generated/graphql\";\n\nimport { mapArrayToOptions } from \"./mapArrayToOptions\";\n\nexport const dateFormat = \"DD-MM-YYYY\";\nexport const timeFormat = \"HH:mm\";\n\n// Enable custom format parsing\ndayjs.extend(customParseFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(isSameOrAfter);\n\nconst NZ_TZ = \"Pacific/Auckland\";\n\nexport function toNZTime(date?: Date | string) {\n return date ? dayjs(date).tz(NZ_TZ) : dayjs().tz(NZ_TZ);\n}\n\n/** Start of the calendar day in Pacific/Auckland (daily games, streaks, etc.). */\nexport function nzStartOfDay(\n input?: Date | string | number | null,\n): dayjs.Dayjs {\n if (input == null) {\n return dayjs().tz(NZ_TZ).startOf(\"day\");\n }\n return dayjs.tz(input, NZ_TZ).startOf(\"day\");\n}\n\ntype DateFormat = \"date\" | \"time\" | \"datetime\";\n\n/**\n * Format a date string to a more readable format.\n * @param dateStr - the date string\n * @param timeStr - optional time string\n * @param display - 'date' | 'time' | 'datetime'\n * @returns formatted string based on display option\n */\nexport const formatDate = (\n dateStr: string,\n display: DateFormat = \"datetime\",\n timeStr?: string,\n) => {\n // Combine date and time into a single string if time is provided\n const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;\n\n // Parse with formats\n const dateTime = timeStr\n ? dayjs(dateTimeStr, `${dateFormat} ${timeFormat}`)\n : dayjs(dateStr, dateFormat);\n\n // Format parts\n const formattedDate = dateTime.format(\"dddd, D MMMM, YYYY\");\n const formattedTime = dateTime.format(\"h:mm a\");\n\n // Return based on display option\n switch (display) {\n case \"date\":\n return formattedDate;\n case \"time\":\n return formattedTime;\n case \"datetime\":\n return `${formattedDate} at ${formattedTime}`;\n default:\n return formattedDate;\n }\n};\n\nexport const getCurrentAndFutureDates = <\n T extends { startDate: string; startTime: string },\n>(\n dates: T[],\n): T[] => {\n const now = dayjs(); // current date and time\n\n return dates.filter((dateObj) => {\n const dateTime = dayjs(\n `${dateObj.startDate} ${dateObj.startTime}`,\n `${dateFormat} ${timeFormat}`,\n );\n return dateTime.isSameOrAfter(now);\n });\n};\n\nexport const isFutureDatesBeforeThreshold = (\n date: {\n startDate: string;\n startTime: string;\n },\n minHoursFromNow: number,\n): boolean => {\n const threshold = minHoursFromNow\n ? dayjs().add(minHoursFromNow, \"hour\")\n : dayjs().startOf(\"day\");\n\n const dateTime = dayjs(\n `${date.startDate} ${date.startTime}`,\n `${dateFormat} ${timeFormat}`,\n );\n\n return dateTime.isSameOrAfter(threshold);\n};\n\nexport const formatTimestamp = (timestamp: string) => {\n const formattedDate = toNZTime(timestamp).format(dateFormat);\n\n return formatDate(formattedDate, \"date\");\n};\n\nexport const isIsoDateString = (value: unknown): value is string => {\n return typeof value === \"string\" && !Number.isNaN(Date.parse(value));\n};\n\n/**\n * Sort an array of date strings by their proximity to the current date.\n * @param dates - The array of date strings to sort.\n * @returns - The sorted array of date strings.\n */\nexport function sortDatesChronologically<\n T extends { startDate: string; startTime: string },\n>(dates: T[]): T[] {\n if (!dates?.length) {\n return [];\n }\n\n return [...dates].sort((a, b) => {\n const dateTimeFormat = `${dateFormat} ${timeFormat}`;\n const dateA = dayjs(`${a.startDate} ${a.startTime}`, dateTimeFormat);\n const dateB = dayjs(`${b.startDate} ${b.startTime}`, dateTimeFormat);\n return dateA.valueOf() - dateB.valueOf(); // chronological order\n });\n}\n\nexport const futureTimePeriods = mapArrayToOptions(\n Object.values(EventDateStatusEnumType),\n)\n .filter(\n (period) =>\n period.value !== EventDateStatusEnumType.StartingSoon &&\n period.value !== EventDateStatusEnumType.Canceled &&\n period.value !== EventDateStatusEnumType.Rescheduled &&\n period.value !== EventDateStatusEnumType.Started &&\n period.value !== EventDateStatusEnumType.Ended &&\n period.value !== EventDateStatusEnumType.Invalid,\n )\n .map((period) => ({\n label: period.value.replaceAll(\"_\", \" \"),\n value: period.value,\n }));\n","import { OptionItem } from \"src/types\";\n\n/**\n * Convert an array of strings to an array of objects with label and value properties.\n */\nexport const mapArrayToOptions = (items: string[]): OptionItem[] =>\n items.map((item) => ({\n label: item,\n value: item,\n }));\n","import type { Dayjs } from \"dayjs\";\n\nimport {\n DailyClueGameData,\n GamePlacement,\n GamePlacementClue,\n gameScreenIdentifierList,\n} from \"../types/game/dailyClue\";\n\nimport { nzStartOfDay } from \"./date\";\n\nfunction createSeededRng(seed: number) {\n let t = seed >>> 0;\n\n return function random() {\n t += 0x6d2b79f5;\n let x = t;\n\n x = Math.imul(x ^ (x >>> 15), x | 1);\n x ^= x + Math.imul(x ^ (x >>> 7), x | 61);\n\n return ((x ^ (x >>> 14)) >>> 0) / 4294967296;\n };\n}\n\nfunction hashStringToNumber(seed: string): number {\n let hash = 2166136261;\n\n for (let i = 0; i < seed.length; i++) {\n hash ^= seed.codePointAt(i) ?? 0;\n hash = Math.imul(hash, 16777619);\n }\n\n return hash >>> 0;\n}\n\n/** Seeded shuffle so all players see the same letter order / placements for a game. */\nexport function seededShuffle<T>(array: readonly T[], seed: string): T[] {\n const rng = createSeededRng(hashStringToNumber(seed));\n const result = [...array];\n\n for (let i = result.length - 1; i > 0; i--) {\n const j = Math.floor(rng() * (i + 1));\n [result[i], result[j]] = [result[j], result[i]];\n }\n\n return result;\n}\n\nfunction getDayIndex(start: Dayjs, today: Dayjs): number {\n return today.diff(start, \"day\");\n}\n\nexport function computeDailyClueState(dailyClue: DailyClueGameData): {\n todaysClue: GamePlacementClue | null;\n todaysLetter: string | null;\n todaysPlacement: GamePlacement | null;\n} | null {\n const { startDate, endDate } = dailyClue.gameFields.gameDate;\n const { solutionShuffled, collected } = dailyClue.letterInfo;\n\n const today = nzStartOfDay();\n const start = nzStartOfDay(startDate);\n const end = nzStartOfDay(endDate);\n\n // Before game starts\n if (today.isBefore(start)) {\n return null;\n }\n\n const shuffledPlacements = seededShuffle(\n gameScreenIdentifierList,\n start.toISOString(),\n );\n\n const index = getDayIndex(start, today);\n\n // After game ends\n if (today.isAfter(end)) {\n return {\n todaysClue: null,\n todaysLetter: null,\n todaysPlacement: null,\n };\n }\n\n // Safety: index must exist in BOTH arrays\n if (\n index < 0 ||\n index >= solutionShuffled.length ||\n index >= shuffledPlacements.length\n ) {\n return null;\n }\n\n const letterToday = solutionShuffled[index];\n const placement = shuffledPlacements[index];\n\n if (!letterToday || !placement) return null;\n\n const alreadyCollectedToday = (collected ?? []).includes(letterToday);\n\n // Already completed today\n if (alreadyCollectedToday) {\n return {\n todaysClue: null,\n todaysLetter: null,\n todaysPlacement: null,\n };\n }\n\n // Active state\n return {\n todaysClue: placement.clue,\n todaysLetter: letterToday,\n todaysPlacement: placement.id,\n };\n}\n","/** Path segments for relation share URLs — must match mobile `RelationTitle` values. */\nexport const RELATION_SHARE_INVITATION = \"invitation\" as const;\nexport const RELATION_SHARE_APPLICATION = \"application\" as const;\n\n/**\n * Bump when relation overlay SVG/layout changes so og:image URLs and API ETags\n * invalidate after deploy. Facebook caches preview JPEGs by exact URL — changing\n * this value forces crawlers to fetch a fresh image after server deploy.\n */\nexport const RELATION_OVERLAY_LAYOUT_VERSION = 43;\n\nexport const RELATION_SHARE_RESOURCE_TYPES = [\n RELATION_SHARE_INVITATION,\n RELATION_SHARE_APPLICATION,\n] as const;\n\nexport type RelationShareResourceType =\n (typeof RELATION_SHARE_RESOURCE_TYPES)[number];\n\nexport function isRelationShareResourceType(\n resourceType: string,\n): resourceType is RelationShareResourceType {\n return (RELATION_SHARE_RESOURCE_TYPES as readonly string[]).includes(\n resourceType,\n );\n}\n","import {\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n type RelationShareResourceType,\n} from \"./relationShareTypes\";\n\nexport {\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n RELATION_OVERLAY_LAYOUT_VERSION,\n RELATION_SHARE_RESOURCE_TYPES,\n isRelationShareResourceType,\n type RelationShareResourceType,\n} from \"./relationShareTypes\";\n\n/** Open Graph recommended preview size (must match admin `SHARE_OG_IMAGE_*`). */\nexport const SOCIAL_IMAGE_WIDTH = 1200;\n\n/** Open Graph recommended preview size (must match admin `SHARE_OG_IMAGE_*`). */\nexport const SOCIAL_IMAGE_HEIGHT = 630;\n\n/** Keep in sync with `CLUEMART_MAIN_DOMAIN_URL` in utils (avoid utils↔sharing import cycle). */\nexport const SHARE_SITE_URL = \"https://cluemart.co.nz\";\n\n/** Calendar marker for invitation market-dates share copy (U+1F4C5 📅). */\nexport const SHARE_CALENDAR_ICON = \"\\u{1F4C5}\";\n\nexport const SHARE_MARKET_DATES_SECTION_HEADING = `${SHARE_CALENDAR_ICON} Market dates:`;\n\n/** Check mark for invitation requirements share copy (U+2705 ✅). */\nexport const SHARE_CHECKMARK_ICON = \"\\u{2705}\";\n\nexport const SHARE_REQUIREMENTS_SECTION_HEADING = `${SHARE_CHECKMARK_ICON} Requirements:`;\n\n/** Information marker for tags share copy (U+2139 ℹ️). */\nexport const SHARE_INFO_ICON = \"\\u{2139}\\u{FE0F}\";\n\nexport const SHARE_TAGS_SECTION_HEADING = `${SHARE_INFO_ICON} Tags:`;\n\n/** Standalone line when `rainOrShine` is true (invitation share + OG section parsing). */\nexport const SHARE_RAIN_OR_SHINE_LINE = \"Rain or Shine\";\n\n/** Standalone line when `foodTruck` is true (application share + OG section parsing). */\nexport const SHARE_FOOD_TRUCK_LINE = \"Food Truck\";\n\n/** Prefix for application compliance line (share text + OG section parsing). */\nexport const SHARE_COMPLIANCE_PREFIX = `${SHARE_CHECKMARK_ICON} Compliance:`;\n\n/** Label tag for application categories share copy (U+1F3F7 🏷️). */\nexport const SHARE_CATEGORY_ICON = \"\\u{1F3F7}\\u{FE0F}\";\n\nexport const SHARE_CATEGORIES_SECTION_HEADING = `${SHARE_CATEGORY_ICON} Categories:`;\n\n/** Straight ruler for application stall-size share copy (U+1F4CF 📏). */\nexport const SHARE_RULER_ICON = \"\\u{1F4CF}\";\n\n/** Prefix for application stall-size line (share text + OG section parsing). */\nexport const SHARE_STALL_SIZE_PREFIX = `${SHARE_RULER_ICON} Stall size:`;\n\n/** Dollar marker for price-range share copy (U+0024 $ — text, not emoji, so it stays black). */\nexport const SHARE_DOLLAR_ICON = \"$\";\n\n/** Prefix for application price-range line (share text + OG section parsing). */\nexport const SHARE_PRICE_RANGE_PREFIX = `${SHARE_DOLLAR_ICON} Price range:`;\n\n/** Alarm clock for invitation application-deadline share copy (U+23F0 ⏰). */\nexport const SHARE_CLOCK_ICON = \"\\u{23F0}\";\n\n/** Prefix for the invitation application-deadline sentence (share text + OG section parsing). */\nexport const SHARE_APPLICATION_DEADLINE_PREFIX = `${SHARE_CLOCK_ICON} Application deadline:`;\n\n/** First line on share sheet messages, Facebook SDK quote, and `og:description`. */\nexport const SHARE_MORE_INFO_LINE = \"Shared from ClueMart\";\n\nexport const DEFAULT_SHARE_OG_IMAGE = `${SHARE_SITE_URL}/assets/logo.webp`;\n\nexport const RESOURCE_SHARE_TYPES = [\n \"market\",\n \"stallholder\",\n \"partner\",\n \"affiliate\",\n \"school\",\n] as const;\n\nexport type ResourceShareType = (typeof RESOURCE_SHARE_TYPES)[number];\n\nexport const POST_SHARE_RESOURCE_TYPES = [\n \"market_faces\",\n \"clue_bites\",\n \"play_and_win\",\n] as const;\n\nexport type PostShareResourceType = (typeof POST_SHARE_RESOURCE_TYPES)[number];\n\nexport type ShareResourceType =\n | ResourceShareType\n | PostShareResourceType\n | RelationShareResourceType;\n\nexport const SHARE_RESOURCE_LABEL: Record<ShareResourceType, string> = {\n [RELATION_SHARE_APPLICATION]: \"Application\",\n [RELATION_SHARE_INVITATION]: \"Invitation\",\n clue_bites: \"Clue Bites\",\n market_faces: \"Market Faces\",\n play_and_win: \"Play & Win\",\n market: \"Market\",\n partner: \"Partner\",\n stallholder: \"Stallholder\",\n affiliate: \"Affiliate\",\n school: \"School\",\n};\n\nexport function isPostShareResourceType(\n resourceType: ShareResourceType,\n): resourceType is PostShareResourceType {\n return (POST_SHARE_RESOURCE_TYPES as readonly string[]).includes(\n resourceType,\n );\n}\n","import { SHARE_MORE_INFO_LINE } from \"./constants\";\n\n/** Blank line between share sections — title, address, dates, URL, etc. */\nexport const SHARE_DESCRIPTION_SECTION_BREAK = \"\\n\\n\";\n\n/**\n * Line break for `og:description` meta content. Use instead of `\\n` — Next.js\n * HTML serialisation collapses literal newlines to spaces; Facebook reads `&#10;`.\n */\nexport const OG_DESCRIPTION_LINE_BREAK = \"&#10;\";\n\n/** Joins OG description sections for Facebook link cards (and Twitter). */\nexport function joinShareOgDescriptionSections(\n sections: ReadonlyArray<string | false | null | undefined>,\n): string {\n return sections\n .map((section) => (typeof section === \"string\" ? section.trim() : \"\"))\n .filter((section): section is string => section.length > 0)\n .map((section) => section.replace(/\\n/g, OG_DESCRIPTION_LINE_BREAK))\n .join(OG_DESCRIPTION_LINE_BREAK);\n}\n\nexport function joinShareDescriptionSections(\n sections: ReadonlyArray<string | false | null | undefined>,\n): string {\n return sections\n .filter((section): section is string => Boolean(section))\n .join(SHARE_DESCRIPTION_SECTION_BREAK);\n}\n\n/** Prepends the standard share branding line when assembling display text. */\nexport function appendShareMoreInfoLine(description: string): string {\n const trimmed = description.trim();\n if (trimmed.startsWith(SHARE_MORE_INFO_LINE)) {\n return trimmed;\n }\n if (trimmed.length === 0) {\n return SHARE_MORE_INFO_LINE;\n }\n return joinShareDescriptionSections([SHARE_MORE_INFO_LINE, trimmed]);\n}\n","import { SHARE_MORE_INFO_LINE, type ShareResourceType } from \"./constants\";\nimport {\n joinShareOgDescriptionSections,\n SHARE_DESCRIPTION_SECTION_BREAK,\n} from \"./joinShareDescriptionSections\";\n\nexport {\n joinShareOgDescriptionSections,\n OG_DESCRIPTION_LINE_BREAK,\n SHARE_DESCRIPTION_SECTION_BREAK,\n} from \"./joinShareDescriptionSections\";\n\n/** Trims share text and collapses spaces per line; preserves `\\n\\n` section breaks. */\nconst LEADING_WHITESPACE = /^[ \\t]*/;\n\nexport function normalizeShareText(value: string | null | undefined): string {\n if (value == null) {\n return \"\";\n }\n return value\n .trim()\n .split(\"\\n\")\n .map((line) => {\n const leading = LEADING_WHITESPACE.exec(line)?.[0] ?? \"\";\n const rest = line\n .slice(leading.length)\n .trim()\n .replace(/[ \\t]{2,}/g, \" \");\n return leading + rest;\n })\n .join(\"\\n\")\n .replace(/\\n{3,}/g, \"\\n\\n\");\n}\n\n/** Branding line placement — first so Facebook truncation does not drop it. */\nexport type ShareMessageFooterPlacement = \"before-body\";\n\nexport function shareMessageFooterPlacementForType(\n _shareType?: ShareResourceType,\n): ShareMessageFooterPlacement {\n return \"before-body\";\n}\n\n/**\n * Ordered sections for share-sheet / Facebook SDK quote text:\n * {@link SHARE_MORE_INFO_LINE} → title → description (full body or post caption).\n */\nexport function buildShareMessageSections(input: {\n title?: string | null;\n description?: string | null;\n shareType?: ShareResourceType;\n}): string[] {\n const title = normalizeShareText(input.title);\n const description = normalizeShareText(input.description);\n\n return [SHARE_MORE_INFO_LINE, title, description].filter(\n (section) => section.length > 0,\n );\n}\n\nexport function splitShareDescriptionSections(value: string): string[] {\n const trimmed = normalizeShareText(value);\n if (!trimmed) {\n return [];\n }\n\n if (/\\n\\n/.test(trimmed)) {\n return trimmed\n .split(/\\n\\n+/)\n .map((section) => normalizeShareText(section))\n .filter((section) => section.length > 0);\n }\n\n if (/\\n/.test(trimmed)) {\n return trimmed\n .split(/\\n+/)\n .map((section) => normalizeShareText(section))\n .filter((section) => section.length > 0);\n }\n\n return [trimmed];\n}\n\n/**\n * Formats share descriptions for Open Graph / Twitter meta tags.\n * Sections are joined with {@link OG_DESCRIPTION_LINE_BREAK} (`&#10;`).\n */\nexport function normalizeShareOgDescription(value: string): string {\n return joinShareOgDescriptionSections(splitShareDescriptionSections(value));\n}\n\n/**\n * Quote text for Facebook ShareDialog on iOS (`ShareLinkContent.quote`).\n *\n * Title + blank lines + body sections. URL is omitted — `contentUrl` supplies\n * the link card (OG on resource landing pages controls card title/image).\n */\nexport function buildFacebookShareQuote(\n title: string,\n description: string,\n shareType?: ShareResourceType,\n): string | undefined {\n const sections = buildShareMessageSections({ description, shareType, title });\n const quote = sections.join(SHARE_DESCRIPTION_SECTION_BREAK).trim();\n return quote.length > 0 ? quote : undefined;\n}\n\n/**\n * Open Graph / Twitter description from pre-built section strings.\n * Prefer {@link joinShareOgDescriptionSections} when sections are already known.\n */\nexport function buildShareOgDescriptionFromSections(\n sections: ReadonlyArray<string | false | null | undefined>,\n): string {\n return joinShareOgDescriptionSections(sections);\n}\n\n/** Open Graph / Twitter description — body sections only (`og:title` is separate). */\nexport function buildShareOgDescription(\n _title: string,\n description: string,\n): string {\n return joinShareOgDescriptionSections(\n splitShareDescriptionSections(description),\n );\n}\n\n/**\n * Strips emoji and symbols that do not render reliably in overlay SVG fonts.\n * Keeps letters, numbers, whitespace, and common sentence punctuation.\n */\nexport function stripOverlaySubtitleSpecialChars(text: string): string {\n const regex = /[^\\p{L}\\p{M}\\p{N}\\s.,!?'\"&\\-():;/]/gu;\n const result = text\n .replace(/\\p{Extended_Pictographic}/gu, \"\")\n .replace(regex, \"\");\n return result.trim();\n}\n","import {\n Control,\n FieldValues,\n FormState,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormReset,\n UseFormSetValue,\n UseFormWatch,\n} from \"react-hook-form\";\n\nimport {\n EventEnumType,\n PostTypeEnum,\n ResourceTypeEnum,\n SocialMediaEnumType,\n LicencesEnumType,\n} from \"../generated/graphql\";\nimport type {\n DateTimeType,\n EventListItemType,\n LocationType,\n ResourceImageType,\n VendorType,\n} from \"../generated/graphql\";\n\nexport type {\n DateTimeType,\n LocationGeoType,\n LocationType,\n ResourceImageType,\n} from \"../generated/graphql\";\nexport const PROMO_CODE_PREFIX = \"CM-\";\n\nexport type PromoCodeType = `${typeof PROMO_CODE_PREFIX}${string}`;\n\nexport type Nullable<T> = {\n [K in keyof T]: T[K] | null | undefined;\n};\n\n/** Uniform mutation response envelope used across GraphQL mutations. */\nexport type MutationResponse<T> = {\n data: T | null;\n message: string | null;\n};\n\nexport type DeviceInfo = {\n appBuildNumber: string;\n appId: string;\n appVersion: string;\n brand: string;\n deviceName: string;\n installationId: string;\n manufacturer: string;\n modelName: string;\n osName: string;\n osVersion: string;\n timestamp: string;\n};\n\nexport type TermsAgreement = DeviceInfo & {\n termVersion: string;\n};\n\nexport type ResourceContactDetailsType = {\n email?: string | null;\n landlinePhone?: string | null;\n mobilePhone?: string | null;\n};\n\n/** Form/UI social links — optional fields. GraphQL `SocialMediaType` requires name+link. */\nexport type SocialMediaType = {\n name?: SocialMediaEnumType;\n link?: string;\n};\n\nexport type UserLicenceType = {\n expiryDate: Date;\n issuedDate: Date;\n licenceType: LicencesEnumType;\n prevLicenceType?: LicencesEnumType | null;\n};\n\nexport type OwnerType = {\n email: string;\n userId: string;\n};\n\nexport interface BaseResourceTypeFormData {\n _id?: string;\n active: boolean;\n contactDetails: ResourceContactDetailsType | null;\n cover: ResourceImageType;\n coverUpload?: ResourceImageType | null;\n description: string;\n images?: ResourceImageType[] | null;\n imagesUpload?: ResourceImageType[] | null;\n logo?: ResourceImageType | null;\n logoUpload?: ResourceImageType | null;\n name: string;\n promoCodes?: PromoCodeType[] | null;\n region: string;\n socialMedia: SocialMediaType[] | null;\n termsAgreement?: TermsAgreement | null;\n}\n\nexport type PosterUsageType = {\n month: string;\n count: number;\n};\n\nexport type RelatedPostType = {\n postActive: boolean;\n postId: string;\n postSlug: string;\n postType: PostTypeEnum;\n};\n\nexport type SocialShareResourceType = {\n qrCode: ResourceImageType;\n socialImage: ResourceImageType;\n};\n\nexport type BaseResourceType = Omit<\n BaseResourceTypeFormData,\n \"_id\" | \"coverUpload\" | \"imagesUpload\" | \"logoUpload\"\n> & {\n _id: string;\n adIds?: string[] | null;\n /** ISO 8601 UTC string — GraphQL Date scalar serializes to string, not JS Date. */\n approvedAt?: string | null;\n createdAt: string;\n deletedAt: string | null;\n owner: OwnerType;\n posterUsage?: PosterUsageType | null;\n rating?: number | null;\n relatedPost?: RelatedPostType | null;\n reviewCount?: number | null;\n slug: string;\n updatedAt: string | null;\n};\n\nexport type Region = {\n latitude: number;\n latitudeDelta: number;\n longitude: number;\n longitudeDelta: number;\n};\n\nexport type ResourceDetails = {\n dateTime: DateTimeType[] | null;\n description: string | null;\n eventStatus?: EventStatusType | null;\n location: LocationType | null;\n resourceCover: ResourceImageType | null;\n resourceId: string;\n resourceLogo: ResourceImageType | null;\n resourceName: string;\n resourceType: ResourceTypeEnum;\n};\n\nexport type GeocodeLocation = Pick<LocationType, \"latitude\" | \"longitude\">;\n\nexport type EventStatusType = {\n claimed: boolean;\n eventType: EventEnumType;\n googlePlaceId?: string | null;\n};\n\nexport interface FormField {\n disabled?: boolean;\n helperText?: string;\n isTextArea?: boolean;\n keyboardType?:\n | \"default\"\n | \"email-address\"\n | \"number-pad\"\n | \"url\"\n | \"decimal-pad\"\n | \"phone-pad\";\n name: string;\n placeholder: string;\n required?: boolean;\n secureTextEntry?: boolean;\n}\n\nexport interface FormDateField {\n dateMode: \"date\" | \"time\";\n helperText?: string;\n name: \"endDate\" | \"endTime\" | \"startDate\" | \"startTime\";\n placeholder: string;\n}\n\nexport interface SubcategoryItems {\n id: string;\n name: string;\n description?: string | null;\n}\n\nexport interface Subcategory {\n id: string;\n name: string;\n items?: SubcategoryItems[] | null;\n}\n\nexport interface Category {\n color?: string | null;\n description?: string | null;\n id: string;\n name: string;\n subcategories: Subcategory[];\n}\n\nexport type OptionItem = {\n value: string;\n label: string;\n};\n\nexport type ImageObjectType = {\n uri: string;\n type: string;\n name: string;\n};\n\nexport interface ResourceConnectionsType {\n events: EventListItemType[] | null;\n vendors: VendorType[] | null;\n}\n\nexport interface CreateFormData<T extends FieldValues> {\n control: Control<T, any>;\n fields: T;\n formState: FormState<T>;\n handleSubmit: UseFormHandleSubmit<T, any>;\n reset: UseFormReset<T>;\n setValue: UseFormSetValue<T>;\n watch: UseFormWatch<T>;\n getValues: UseFormGetValues<T>;\n}\n\nexport interface UseGetResourcesByRegionOptions {\n onlyClaimed?: boolean;\n limit?: number;\n offset?: number;\n}\n","/**\n * Adapters between generated GraphQL Event entity types and form/UI shapes.\n *\n * GraphQL entities are not form state — these converters make the differences\n * explicit (null vs undefined, required vs draft-optional social fields,\n * string categories vs form unions, EventType vs EventListItemType).\n */\nimport { ResourceTypeEnum, SocialMediaEnumType } from \"../generated/graphql\";\nimport type {\n DateTimeType,\n EventInfoType,\n EventListItemType,\n EventType,\n RefundPolicyType,\n RequirementType,\n SocialMediaType as GraphqlSocialMediaType,\n} from \"../generated/graphql\";\n\nimport type {\n DateTimeWithPriceType,\n EventFormData,\n EventInfoFormData,\n PaymentInfoType,\n RefundPolicy,\n Requirement,\n StallType,\n} from \"./event\";\nimport type { PromoCodeType, ResourceDetails, SocialMediaType } from \"./global\";\nimport { PROMO_CODE_PREFIX } from \"./global\";\n\nfunction toPromoCodeType(code: string): PromoCodeType {\n if (!code.startsWith(PROMO_CODE_PREFIX)) {\n throw new Error(`Invalid promo code from GraphQL: ${JSON.stringify(code)}`);\n }\n return code as PromoCodeType;\n}\n\nconst REQUIREMENT_CATEGORIES = [\n \"Food Safety\",\n \"Environment\",\n \"Operations\",\n \"Legal & Safety\",\n] as const satisfies readonly Requirement[\"category\"][];\n\nconst REFUND_CATEGORIES = [\n \"Cancelled by Organiser\",\n \"Cancelled by Vendor\",\n] as const satisfies readonly RefundPolicy[\"category\"][];\n\nfunction isRequirementCategory(\n value: string,\n): value is Requirement[\"category\"] {\n return (REQUIREMENT_CATEGORIES as readonly string[]).includes(value);\n}\n\nfunction isRefundCategory(value: string): value is RefundPolicy[\"category\"] {\n return (REFUND_CATEGORIES as readonly string[]).includes(value);\n}\n\nfunction isSocialMediaName(value: string): value is SocialMediaEnumType {\n return (Object.values(SocialMediaEnumType) as string[]).includes(value);\n}\n\n/**\n * GraphQL SocialMediaType requires name+link once stored.\n * Form SocialMediaType keeps both optional so drafts can leave rows blank.\n */\nexport function toFormSocialMedia(\n socialMedia: ReadonlyArray<GraphqlSocialMediaType> | null | undefined,\n): SocialMediaType[] | null {\n if (socialMedia == null) {\n return null;\n }\n return socialMedia.map((item) => ({\n link: item.link,\n name: isSocialMediaName(item.name) ? item.name : undefined,\n }));\n}\n\nexport function toFormRequirement(item: RequirementType): Requirement {\n if (!isRequirementCategory(item.category)) {\n throw new Error(\n `Invalid requirement category from GraphQL: ${JSON.stringify(item.category)}`,\n );\n }\n return {\n category: item.category,\n label: item.label,\n value: item.value,\n };\n}\n\nexport function toFormRefundPolicy(item: RefundPolicyType): RefundPolicy {\n if (!isRefundCategory(item.category)) {\n throw new Error(\n `Invalid refund-policy category from GraphQL: ${JSON.stringify(item.category)}`,\n );\n }\n return {\n category: item.category,\n label: item.label,\n value: item.value,\n };\n}\n\nfunction toFormStallType(stall: {\n label: string;\n price: number;\n stallCapacity: number;\n}): StallType {\n return {\n label: stall.label,\n price: stall.price,\n stallCapacity: stall.stallCapacity,\n };\n}\n\nfunction toFormDateTimeWithPrice(\n row: EventInfoType[\"dateTime\"][number],\n): DateTimeWithPriceType {\n return {\n dateStatus: row.dateStatus,\n endDate: row.endDate,\n endTime: row.endTime,\n stallTypes: row.stallTypes.map(toFormStallType),\n startDate: row.startDate,\n startTime: row.startTime,\n };\n}\n\nfunction toFormPaymentInfo(\n item: EventInfoType[\"paymentInfo\"][number],\n): PaymentInfoType {\n return {\n accountHolderName: item.accountHolderName ?? undefined,\n accountNumber: item.accountNumber ?? undefined,\n link: item.link ?? undefined,\n paymentMethod: item.paymentMethod,\n };\n}\n\n/**\n * Project a full EventType onto EventListItemType fields.\n * Needed because the two GraphQL object types are distinct (__typename) even\n * when the list-item fields are a subset of the full event.\n */\nexport function eventToEventListItem(event: EventType): EventListItemType {\n return {\n _id: event._id,\n active: event.active,\n approvedAt: event.approvedAt,\n claimed: event.claimed,\n cover: event.cover,\n createdAt: event.createdAt,\n dateTime: event.dateTime,\n deletedAt: event.deletedAt,\n description: event.description,\n eventType: event.eventType,\n googlePlaceId: event.googlePlaceId,\n images: event.images ?? undefined,\n location: event.location,\n logo: event.logo,\n name: event.name,\n rainOrShine: event.rainOrShine,\n rating: event.rating,\n region: event.region,\n relations: event.relations ?? undefined,\n reviewCount: event.reviewCount,\n slug: event.slug,\n updatedAt: event.updatedAt,\n };\n}\n\n/**\n * Convert a stored Event entity into EventFormData for create/edit forms.\n * Maps GraphQL nullability (undefined / Maybe) onto form null defaults and\n * converts GraphQL social media into draft-optional form rows.\n */\nexport function eventToFormData(event: EventType): EventFormData {\n return {\n _id: event._id,\n active: event.active,\n claimed: event.claimed,\n contactDetails: event.contactDetails ?? null,\n cover: event.cover,\n coverUpload: null,\n dateTime: event.dateTime,\n description: event.description,\n eventType: event.eventType,\n googlePlaceId: event.googlePlaceId ?? null,\n images: event.images ?? null,\n imagesUpload: null,\n location: event.location,\n logo: event.logo ?? null,\n logoUpload: null,\n name: event.name,\n nzbn: event.nzbn,\n promoCodes: (event.promoCodes ?? [])\n .filter((code): code is string => code != null)\n .map(toPromoCodeType),\n provider: event.provider ?? null,\n rainOrShine: event.rainOrShine,\n region: event.region,\n socialMedia: toFormSocialMedia(event.socialMedia),\n tags: event.tags,\n termsAgreement: event.termsAgreement\n ? {\n appBuildNumber: event.termsAgreement.appBuildNumber,\n appId: event.termsAgreement.appId,\n appVersion: event.termsAgreement.appVersion,\n brand: event.termsAgreement.brand,\n deviceName: event.termsAgreement.deviceName,\n installationId: event.termsAgreement.installationId,\n manufacturer: event.termsAgreement.manufacturer,\n modelName: event.termsAgreement.modelName,\n osName: event.termsAgreement.osName,\n osVersion: event.termsAgreement.osVersion,\n termVersion: event.termsAgreement.termVersion,\n timestamp: event.termsAgreement.timestamp,\n }\n : null,\n };\n}\n\nexport type EventInfoToFormDataOptions = {\n /** Default checkbox rows merged in when editing so unchecked options remain visible. */\n defaultRefundPolicy?: RefundPolicy[];\n defaultRequirements?: Requirement[];\n};\n\n/**\n * Convert EventInfoType into EventInfoFormData, optionally merging default\n * requirement/refund checkbox options that are not yet saved on the server.\n */\nexport function eventInfoToFormData(\n eventInfo: EventInfoType,\n options: EventInfoToFormDataOptions = {},\n): EventInfoFormData {\n const savedRefund = eventInfo.refundPolicy.map(toFormRefundPolicy);\n const savedRequirements = (eventInfo.requirements ?? []).map(\n toFormRequirement,\n );\n\n const refundPolicy = [\n ...savedRefund,\n ...(options.defaultRefundPolicy ?? []).filter(\n (option) => !savedRefund.some((saved) => saved.label === option.label),\n ),\n ];\n\n const requirements = [\n ...savedRequirements,\n ...(options.defaultRequirements ?? []).filter(\n (option) =>\n !savedRequirements.some((saved) => saved.label === option.label),\n ),\n ];\n\n return {\n _id: eventInfo._id,\n applicationDeadlineHours: eventInfo.applicationDeadlineHours,\n dateTime: eventInfo.dateTime.map(toFormDateTimeWithPrice),\n eventId: eventInfo.eventId,\n packInTime: eventInfo.packInTime,\n paymentDueHours: eventInfo.paymentDueHours,\n paymentInfo: eventInfo.paymentInfo.map(toFormPaymentInfo),\n refundPolicy,\n requirements,\n };\n}\n\n/**\n * Build EventInfoFormData when no EventInfo exists yet, seeding date rows\n * from the parent Event's dateTime (empty stallTypes).\n */\nexport function eventToNewEventInfoFormData(\n event: EventType,\n options: {\n defaultRefundPolicy: RefundPolicy[];\n defaultRequirements: Requirement[];\n },\n): EventInfoFormData {\n return {\n applicationDeadlineHours: 48,\n dateTime: event.dateTime.map((date) => ({\n dateStatus: date.dateStatus,\n endDate: date.endDate,\n endTime: date.endTime,\n stallTypes: [],\n startDate: date.startDate,\n startTime: date.startTime,\n })),\n eventId: event._id,\n packInTime: 2,\n paymentDueHours: 24,\n paymentInfo: [],\n refundPolicy: options.defaultRefundPolicy,\n requirements: options.defaultRequirements,\n };\n}\n\n/**\n * Ad picker needs a non-null description string even when EventListItemType\n * omits description (list query field is optional in the schema).\n */\nexport function eventListItemToAdSelectableResource(event: EventListItemType): {\n _id: string;\n cover: NonNullable<EventListItemType[\"cover\"]>;\n description: string;\n images?: EventListItemType[\"images\"];\n logo?: EventListItemType[\"logo\"];\n name: string;\n region: string;\n slug: string;\n} {\n if (event.cover == null) {\n throw new Error(\n `EventListItem ${event._id} is missing cover; cannot build ad resource.`,\n );\n }\n return {\n _id: event._id,\n cover: event.cover,\n description: event.description ?? \"\",\n images: event.images,\n logo: event.logo,\n name: event.name,\n region: event.region,\n slug: event.slug,\n };\n}\n\n/**\n * Map a list-item event into ResourceDetails for mobile action sheets.\n * Coerces GraphQL `description?: string | null` to `string | null`.\n */\nexport function eventListItemToResourceDetails(\n item: EventListItemType,\n resourceType: ResourceTypeEnum,\n): ResourceDetails {\n return {\n dateTime: item.dateTime,\n description: item.description ?? null,\n eventStatus: {\n claimed: item.claimed,\n eventType: item.eventType,\n googlePlaceId: item.googlePlaceId ?? null,\n },\n location: item.location,\n resourceCover: item.cover ?? null,\n resourceId: item._id,\n resourceLogo: item.logo ?? null,\n resourceName: item.name,\n resourceType,\n };\n}\n\n/**\n * Seed create-event form fields from a Google-place EventListItem match.\n * Merges onto caller-supplied defaults (does not invent missing form fields).\n */\nexport function eventListItemToCreateEventFormSeed(\n item: EventListItemType,\n defaults: EventFormData,\n): EventFormData {\n return {\n ...defaults,\n active: item.active,\n claimed: item.claimed,\n dateTime: item.dateTime,\n description: item.description ?? \"\",\n eventType: item.eventType,\n googlePlaceId: item.googlePlaceId,\n location: { ...item.location },\n name: item.name,\n rainOrShine: item.rainOrShine,\n region: item.region,\n };\n}\n\n/**\n * Narrow EventDateTimeWithPriceType rows to DateTimeType for consumers that\n * only need schedule fields (e.g. JSON-LD enrichment).\n */\nexport function eventInfoDateTimeToDateTime(\n rows: EventInfoType[\"dateTime\"],\n): DateTimeType[] {\n return rows.map((row) => ({\n dateStatus: row.dateStatus,\n endDate: row.endDate,\n endTime: row.endTime,\n startDate: row.startDate,\n startTime: row.startTime,\n }));\n}\n","/**\n * Adapters between generated GraphQL Vendor-family entity types and form/UI shapes.\n *\n * GraphQL entities are not form state — these converters make differences\n * explicit (null vs undefined, CategoryType vs form Category, calendar\n * locations vs VendorCalendarData, social dual-shape).\n */\nimport {\n EventDateStatusEnumType,\n ResourceTypeEnum,\n} from \"../generated/graphql\";\nimport type {\n CategoryType,\n SubcategoryType,\n UnregisteredVendorType,\n VendorInfoType,\n VendorLocationsType,\n VendorType,\n} from \"../generated/graphql\";\n\nimport { toFormSocialMedia } from \"./eventAdapters\";\nimport type {\n Category,\n PromoCodeType,\n Subcategory,\n SubcategoryItems,\n} from \"./global\";\nimport { PROMO_CODE_PREFIX } from \"./global\";\nimport type {\n UnregisteredVendorFormData,\n VendorAttributes,\n VendorCalendarData,\n VendorFormData,\n VendorInfoFormData,\n} from \"./vendor\";\n\nfunction toPromoCodeType(code: string): PromoCodeType {\n if (!code.startsWith(PROMO_CODE_PREFIX)) {\n throw new Error(`Invalid promo code from GraphQL: ${JSON.stringify(code)}`);\n }\n return code as PromoCodeType;\n}\n\nfunction toFormSubcategoryItem(item: {\n id?: string | null;\n name?: string | null;\n}): SubcategoryItems {\n return {\n id: item.id ?? \"\",\n name: item.name ?? \"\",\n };\n}\n\nfunction toFormSubcategory(sub: SubcategoryType): Subcategory {\n return {\n id: sub.id,\n items: (sub.items ?? []).map(toFormSubcategoryItem),\n name: sub.name ?? \"\",\n };\n}\n\n/**\n * GraphQL CategoryType omits form-only color/description and has optional\n * subcategory trees; form Category requires a subcategories array.\n */\nexport function toFormCategory(category: CategoryType): Category {\n return {\n id: category.id,\n name: category.name,\n subcategories: (category.subcategories ?? []).map(toFormSubcategory),\n };\n}\n\n/**\n * GraphQL VendorLocationsType is a thin calendar row (date/location/description).\n * Form VendorCalendarData extends ResourceDetails-like fields used by the\n * calendar UI — fill resource* fields with empty defaults when hydrating.\n */\nexport function toFormVendorCalendarData(\n row: VendorLocationsType,\n): VendorCalendarData {\n const dateTime = row.dateTime;\n if (dateTime == null) {\n throw new Error(\n \"Vendor calendar row is missing dateTime; cannot build form calendar entry.\",\n );\n }\n\n return {\n dateTime: {\n dateStatus: dateTime.dateStatus ?? EventDateStatusEnumType.Upcoming,\n endDate: dateTime.endDate ?? \"\",\n endTime: dateTime.endTime ?? \"\",\n startDate: dateTime.startDate ?? \"\",\n startTime: dateTime.startTime ?? \"\",\n },\n description: row.description ?? null,\n location: row.location ?? null,\n resourceCover: null,\n resourceId: \"\",\n resourceLogo: null,\n resourceName: \"\",\n resourceType: ResourceTypeEnum.Vendor,\n };\n}\n\nfunction toFormVendorAttributes(item: {\n details?: string | null;\n isRequired: boolean;\n}): VendorAttributes {\n return {\n details: item.details ?? null,\n isRequired: item.isRequired,\n };\n}\n\n/**\n * Convert a stored Vendor entity into VendorFormData for create/edit forms.\n */\nexport function vendorToFormData(vendor: VendorType): VendorFormData {\n return {\n _id: vendor._id,\n active: vendor.active,\n availability: vendor.availability\n ? {\n corporate: vendor.availability.corporate,\n private: vendor.availability.private,\n school: vendor.availability.school,\n }\n : undefined,\n calendar: vendor.calendar\n ? {\n active: vendor.calendar.active ?? null,\n calendarData: (vendor.calendar.calendarData ?? []).map(\n toFormVendorCalendarData,\n ),\n }\n : null,\n categories: vendor.categories.map(toFormCategory),\n claimed: vendor.claimed,\n contactDetails: vendor.contactDetails ?? null,\n cover: vendor.cover,\n coverUpload: null,\n description: vendor.description,\n foodTruck: vendor.foodTruck,\n images: vendor.images ?? null,\n imagesUpload: null,\n logo: vendor.logo ?? null,\n logoUpload: null,\n name: vendor.name,\n products: vendor.products\n ? {\n active: vendor.products.active ?? null,\n productsList: vendor.products.productsList ?? [],\n }\n : null,\n promoCodes: (vendor.promoCodes ?? [])\n .filter((code): code is string => code != null)\n .map(toPromoCodeType),\n region: vendor.region,\n socialMedia: toFormSocialMedia(vendor.socialMedia),\n termsAgreement: vendor.termsAgreement\n ? {\n appBuildNumber: vendor.termsAgreement.appBuildNumber,\n appId: vendor.termsAgreement.appId,\n appVersion: vendor.termsAgreement.appVersion,\n brand: vendor.termsAgreement.brand,\n deviceName: vendor.termsAgreement.deviceName,\n installationId: vendor.termsAgreement.installationId,\n manufacturer: vendor.termsAgreement.manufacturer,\n modelName: vendor.termsAgreement.modelName,\n osName: vendor.termsAgreement.osName,\n osVersion: vendor.termsAgreement.osVersion,\n termVersion: vendor.termsAgreement.termVersion,\n timestamp: vendor.termsAgreement.timestamp,\n }\n : null,\n unregisteredVendorId: vendor.unregisteredVendorId ?? null,\n vendorType: vendor.vendorType,\n };\n}\n\n/**\n * Convert VendorInfoType into VendorInfoFormData.\n * Documents/product arrays are normalized; requirements are optional on GraphQL.\n */\nexport function vendorInfoToFormData(\n vendorInfo: VendorInfoType,\n): VendorInfoFormData {\n return {\n _id: vendorInfo._id,\n compliance: vendorInfo.compliance\n ? {\n foodBeverageLicense: vendorInfo.compliance.foodBeverageLicense,\n liabilityInsurance: vendorInfo.compliance.liabilityInsurance,\n }\n : undefined,\n documents: vendorInfo.documents ?? null,\n documentsUpload: null,\n product: {\n foodFlavors: vendorInfo.product.foodFlavors,\n packaging: vendorInfo.product.packaging ?? [],\n priceRange: {\n max: vendorInfo.product.priceRange.max,\n min: vendorInfo.product.priceRange.min,\n },\n producedIn: vendorInfo.product.producedIn ?? [],\n },\n requirements: vendorInfo.requirements\n ? {\n electricity: toFormVendorAttributes(\n vendorInfo.requirements.electricity,\n ),\n gazebo: toFormVendorAttributes(vendorInfo.requirements.gazebo),\n table: toFormVendorAttributes(vendorInfo.requirements.table),\n }\n : undefined,\n stallInfo: {\n size: {\n depth: vendorInfo.stallInfo.size.depth,\n width: vendorInfo.stallInfo.size.width,\n },\n },\n vendorId: vendorInfo.vendorId,\n };\n}\n\n/**\n * UnregisteredVendor is not a BaseResourceType subset — independent adapter.\n * Form create/edit uses top-level dateTime + inviterId; entity stores invitations[].\n * When hydrating an existing entity for a single-invitation edit flow, prefer\n * the first invitation (call sites that need a specific inviter should filter).\n */\nexport function unregisteredVendorToFormData(\n vendor: UnregisteredVendorType,\n options?: { inviterId?: string },\n): UnregisteredVendorFormData {\n const invitation =\n options?.inviterId != null\n ? vendor.invitations.find((row) => row.inviterId === options.inviterId)\n : vendor.invitations[0];\n\n if (invitation == null) {\n throw new Error(\n `UnregisteredVendor ${vendor._id} has no invitation to hydrate form dateTime/inviterId.`,\n );\n }\n\n return {\n categoryIds: vendor.categoryIds,\n dateTime: invitation.dateTime,\n email: vendor.email ?? null,\n inviterId: invitation.inviterId,\n name: vendor.name,\n region: vendor.region,\n };\n}\n\n/**\n * Ad picker selectable resource projection for Vendor.\n */\nexport function vendorToAdSelectableResource(vendor: VendorType): {\n _id: string;\n cover: VendorType[\"cover\"];\n description: string;\n images?: VendorType[\"images\"];\n logo?: VendorType[\"logo\"];\n name: string;\n region: string;\n slug: string;\n} {\n return {\n _id: vendor._id,\n cover: vendor.cover,\n description: vendor.description,\n images: vendor.images,\n logo: vendor.logo,\n name: vendor.name,\n region: vendor.region,\n slug: vendor.slug,\n };\n}\n","/**\n * Canonical permission IDs. Add new permissions here first, then map them in\n * ROLE_PERMISSIONS. Prefer resource.action names (e.g. users.read).\n */\nexport const PERMISSIONS = [\n \"*\",\n // Dashboards\n \"dashboard.admin\",\n \"dashboard.affiliate\",\n \"dashboard.customer\",\n \"dashboard.event\",\n \"dashboard.partner\",\n \"dashboard.school\",\n \"dashboard.vendor\",\n // Admin: users\n \"users.delete\",\n \"users.read\",\n \"users.update\",\n // Admin: events\n \"events.create\",\n \"events.delete\",\n \"events.read\",\n \"events.update\",\n // Admin: vendors\n \"vendors.create\",\n \"vendors.delete\",\n \"vendors.read\",\n \"vendors.update\",\n // Admin: partners\n \"partners.create\",\n \"partners.delete\",\n \"partners.read\",\n \"partners.update\",\n // Admin: schools\n \"schools.create\",\n \"schools.delete\",\n \"schools.read\",\n \"schools.update\",\n // Admin: affiliates\n \"affiliates.create\",\n \"affiliates.delete\",\n \"affiliates.read\",\n \"affiliates.update\",\n // Admin: ads / posts / settings\n \"ads.create\",\n \"ads.delete\",\n \"ads.read\",\n \"ads.update\",\n \"posts.create\",\n \"posts.delete\",\n \"posts.read\",\n \"posts.update\",\n \"settings.read\",\n \"settings.update\",\n // Product: own-resource management\n \"affiliates.manage_own\",\n \"events.manage_own\",\n \"partners.manage_own\",\n \"schools.manage_own\",\n \"vendors.manage_own\",\n] as const;\n\nexport type Permission = (typeof PERMISSIONS)[number];\n\nexport const WILDCARD_PERMISSION: Permission = \"*\";\n","import { UserRoleEnumType } from \"../../generated/graphql\";\n\nimport type { Permission } from \"./permissions\";\n\nconst ADMIN_PERMISSIONS: readonly Permission[] = [\n \"dashboard.admin\",\n \"events.read\",\n \"events.create\",\n \"events.update\",\n \"events.delete\",\n \"vendors.read\",\n \"vendors.create\",\n \"vendors.update\",\n \"vendors.delete\",\n \"partners.read\",\n \"partners.create\",\n \"partners.update\",\n \"partners.delete\",\n \"schools.read\",\n \"schools.create\",\n \"schools.update\",\n \"schools.delete\",\n \"affiliates.read\",\n \"affiliates.create\",\n \"affiliates.update\",\n \"affiliates.delete\",\n \"ads.read\",\n \"ads.create\",\n \"ads.update\",\n \"ads.delete\",\n \"posts.read\",\n \"posts.create\",\n \"posts.update\",\n \"posts.delete\",\n];\n\n/**\n * Static role → permissions map. Source of truth for access.\n * Permissions for a user = union of all their roles' lists.\n */\nexport const ROLE_PERMISSIONS: Record<UserRoleEnumType, readonly Permission[]> =\n {\n [UserRoleEnumType.SuperAdmin]: [\"*\"],\n [UserRoleEnumType.Admin]: ADMIN_PERMISSIONS,\n [UserRoleEnumType.Customer]: [\"dashboard.customer\"],\n [UserRoleEnumType.Event]: [\"dashboard.event\", \"events.manage_own\"],\n [UserRoleEnumType.Vendor]: [\"dashboard.vendor\", \"vendors.manage_own\"],\n [UserRoleEnumType.Partner]: [\"dashboard.partner\", \"partners.manage_own\"],\n [UserRoleEnumType.School]: [\"dashboard.school\", \"schools.manage_own\"],\n [UserRoleEnumType.Affiliate]: [\n \"dashboard.affiliate\",\n \"affiliates.manage_own\",\n ],\n };\n","import { UserRoleEnumType } from \"../../generated/graphql\";\n\nimport type { Permission } from \"./permissions\";\nimport { WILDCARD_PERMISSION } from \"./permissions\";\nimport { ROLE_PERMISSIONS } from \"./rolePermissions\";\n\nfunction normalizeRoles(\n roles: UserRoleEnumType[] | null | undefined,\n): UserRoleEnumType[] {\n if (!roles?.length) return [];\n return roles;\n}\n\n/**\n * Union of permissions for the given roles (deduped, stable order).\n */\nexport function getPermissionsForRoles(\n roles: UserRoleEnumType[] | null | undefined,\n): Permission[] {\n const seen = new Set<Permission>();\n const result: Permission[] = [];\n\n for (const role of normalizeRoles(roles)) {\n const perms = ROLE_PERMISSIONS[role] ?? [];\n for (const perm of perms) {\n if (!seen.has(perm)) {\n seen.add(perm);\n result.push(perm);\n }\n }\n }\n\n return result;\n}\n\n/**\n * Check a concrete permission list (e.g. authUser.permissions) for a grant.\n * Honours the \"*\" wildcard.\n */\nexport function permissionListIncludes(\n permissions: readonly Permission[] | null | undefined,\n permission: Permission,\n): boolean {\n if (!permissions?.length) return false;\n const set = new Set(permissions);\n if (set.has(WILDCARD_PERMISSION)) return true;\n return set.has(permission);\n}\n\nexport function hasPermission(\n roles: UserRoleEnumType[] | null | undefined,\n permission: Permission,\n): boolean {\n return permissionListIncludes(getPermissionsForRoles(roles), permission);\n}\n\nexport function hasAnyPermission(\n roles: UserRoleEnumType[] | null | undefined,\n permissions: readonly Permission[],\n): boolean {\n if (permissions.length === 0) return false;\n const granted = getPermissionsForRoles(roles);\n return permissions.some((p) => permissionListIncludes(granted, p));\n}\n\nexport function hasAllPermissions(\n roles: UserRoleEnumType[] | null | undefined,\n permissions: readonly Permission[],\n): boolean {\n if (permissions.length === 0) return true;\n const granted = getPermissionsForRoles(roles);\n return permissions.every((p) => permissionListIncludes(granted, p));\n}\n\nexport function hasRole(\n roles: UserRoleEnumType[] | null | undefined,\n role: UserRoleEnumType,\n): boolean {\n return normalizeRoles(roles).includes(role);\n}\n\nexport function hasAnyRole(\n roles: UserRoleEnumType[] | null | undefined,\n checkRoles: readonly UserRoleEnumType[],\n): boolean {\n if (checkRoles.length === 0) return false;\n const set = new Set(normalizeRoles(roles));\n return checkRoles.some((r) => set.has(r));\n}\n","import { UserRoleEnumType } from \"../../generated/graphql\";\n\nimport { hasAnyRole } from \"./helpers\";\n\n/** Roles allowed to sign into the admin web app (CUSTOMER-only is denied). */\nexport const ADMIN_APP_ROLES = [\n UserRoleEnumType.SuperAdmin,\n UserRoleEnumType.Admin,\n UserRoleEnumType.Event,\n UserRoleEnumType.Vendor,\n UserRoleEnumType.Partner,\n UserRoleEnumType.School,\n UserRoleEnumType.Affiliate,\n] as const;\n\nexport type AdminAppRole = (typeof ADMIN_APP_ROLES)[number];\n\nexport type AdminDashboardContext =\n | \"staff\"\n | \"event\"\n | \"vendor\"\n | \"partner\"\n | \"school\"\n | \"affiliate\";\n\nexport type AdminDashboardContextInfo = {\n context: AdminDashboardContext;\n home: string;\n label: string;\n /** Path prefixes that belong to this context (including home). */\n pathPrefixes: readonly string[];\n roles: readonly UserRoleEnumType[];\n};\n\n/**\n * Priority order for default home + role switcher.\n * Staff first, then product roles.\n */\nexport const ADMIN_DASHBOARD_CONTEXTS: readonly AdminDashboardContextInfo[] = [\n {\n context: \"staff\",\n home: \"/dashboard\",\n label: \"Staff\",\n pathPrefixes: [\"/dashboard\"],\n roles: [UserRoleEnumType.SuperAdmin, UserRoleEnumType.Admin],\n },\n {\n context: \"event\",\n home: \"/event/dashboard\",\n label: \"Events\",\n pathPrefixes: [\"/event\"],\n roles: [UserRoleEnumType.Event],\n },\n {\n context: \"vendor\",\n home: \"/vendor/dashboard\",\n label: \"Stallholders\",\n pathPrefixes: [\"/vendor\"],\n roles: [UserRoleEnumType.Vendor],\n },\n {\n context: \"partner\",\n home: \"/partner/dashboard\",\n label: \"Partners\",\n pathPrefixes: [\"/partner\"],\n roles: [UserRoleEnumType.Partner],\n },\n {\n context: \"school\",\n home: \"/school/dashboard\",\n label: \"Schools\",\n pathPrefixes: [\"/school\"],\n roles: [UserRoleEnumType.School],\n },\n {\n context: \"affiliate\",\n home: \"/affiliate/dashboard\",\n label: \"Affiliate\",\n pathPrefixes: [\"/affiliate\"],\n roles: [UserRoleEnumType.Affiliate],\n },\n] as const;\n\nexport function canAccessAdminApp(\n roles: UserRoleEnumType[] | null | undefined,\n): boolean {\n return hasAnyRole(roles, ADMIN_APP_ROLES);\n}\n\nexport function getUsableAdminContexts(\n roles: UserRoleEnumType[] | null | undefined,\n): AdminDashboardContextInfo[] {\n return ADMIN_DASHBOARD_CONTEXTS.filter((ctx) => hasAnyRole(roles, ctx.roles));\n}\n\nexport function getDefaultAdminHome(\n roles: UserRoleEnumType[] | null | undefined,\n preferredContext?: AdminDashboardContext | null,\n): string {\n const usable = getUsableAdminContexts(roles);\n if (usable.length === 0) {\n return \"/login\";\n }\n\n if (preferredContext) {\n const preferred = usable.find((ctx) => ctx.context === preferredContext);\n if (preferred) return preferred.home;\n }\n\n return usable[0].home;\n}\n\nexport function resolveAdminContextFromPath(\n pathname: string,\n): AdminDashboardContext | null {\n for (const ctx of ADMIN_DASHBOARD_CONTEXTS) {\n if (\n ctx.pathPrefixes.some(\n (prefix) => pathname === prefix || pathname.startsWith(`${prefix}/`),\n )\n ) {\n return ctx.context;\n }\n }\n return null;\n}\n\nexport function canAccessAdminPath(\n roles: UserRoleEnumType[] | null | undefined,\n pathname: string,\n): boolean {\n if (!canAccessAdminApp(roles)) return false;\n\n const context = resolveAdminContextFromPath(pathname);\n if (!context) {\n // Authenticated admin-app users may hit non-dashboard admin routes later;\n // unknown paths are allowed only if they have any admin-app role.\n return true;\n }\n\n const info = ADMIN_DASHBOARD_CONTEXTS.find((ctx) => ctx.context === context);\n if (!info) return false;\n return hasAnyRole(roles, info.roles);\n}\n","/**\n * Adapters between generated GraphQL User/Auth entity types and form/UI shapes.\n *\n * GraphQL UserType is already the redacted client shape (no password /\n * refreshToken). These converters make remaining differences explicit:\n * branded promo codes, draft-optional terms, permission string → Permission,\n * and entity-to-form bridging (password fields stay empty — never round-trip).\n */\nimport type { Permission } from \"../auth/permissions\";\nimport { PERMISSIONS } from \"../auth/permissions\";\nimport type { UserType } from \"../generated/graphql\";\n\nimport type { PromoCodeType } from \"./global\";\nimport { PROMO_CODE_PREFIX } from \"./global\";\nimport type { UserFormData } from \"./user\";\n\nconst PERMISSION_SET = new Set<string>(PERMISSIONS);\n\nexport function toUserPermissions(\n permissions: ReadonlyArray<string>,\n): Permission[] {\n return permissions.filter((permission): permission is Permission =>\n PERMISSION_SET.has(permission),\n );\n}\n\nexport function toUserPromoCodes(\n codes: ReadonlyArray<string> | null | undefined,\n): PromoCodeType[] | null {\n if (codes == null) {\n return null;\n }\n return codes.map((code) => {\n if (!code.startsWith(PROMO_CODE_PREFIX)) {\n throw new Error(\n `Invalid promo code from GraphQL: ${JSON.stringify(code)}`,\n );\n }\n return code as PromoCodeType;\n });\n}\n\n/**\n * Convert a stored GraphQL UserType into UserFormData for profile edit forms.\n *\n * Password / confirmPassword are never populated from the entity (GraphQL\n * UserType does not include them). avatarUpload is a local draft field.\n * termsAgreement is copied field-by-field (form TermsAgreement vs GraphQL\n * TermsAgreementType — same fields, kept explicit like other resources).\n */\nexport function userToFormData(user: UserType): UserFormData {\n return {\n _id: user._id,\n active: user.active,\n avatar: user.avatar ?? null,\n avatarUpload: null,\n confirmPassword: null,\n email: user.email,\n firstName: user.firstName,\n isTester: user.isTester,\n lastName: user.lastName,\n location: user.location ?? null,\n password: null,\n platform: user.platform ?? undefined,\n preferredRegion: user.preferredRegion,\n termsAgreement: user.termsAgreement\n ? {\n appBuildNumber: user.termsAgreement.appBuildNumber,\n appId: user.termsAgreement.appId,\n appVersion: user.termsAgreement.appVersion,\n brand: user.termsAgreement.brand,\n deviceName: user.termsAgreement.deviceName,\n installationId: user.termsAgreement.installationId,\n manufacturer: user.termsAgreement.manufacturer,\n modelName: user.termsAgreement.modelName,\n osName: user.termsAgreement.osName,\n osVersion: user.termsAgreement.osVersion,\n termVersion: user.termsAgreement.termVersion,\n timestamp: user.termsAgreement.timestamp,\n }\n : null,\n };\n}\n","/**\n * Adapters between generated GraphQL Partner entity types and form/UI shapes.\n *\n * GraphQL entities are not form state — these converters make the differences\n * explicit (null vs undefined, required vs draft-optional social fields,\n * promo-code branding).\n */\nimport type { PartnerType } from \"../generated/graphql\";\n\nimport { toFormSocialMedia } from \"./eventAdapters\";\nimport type { PromoCodeType } from \"./global\";\nimport { PROMO_CODE_PREFIX } from \"./global\";\nimport type { PartnerFormData } from \"./partner\";\n\nfunction toPromoCodeType(code: string): PromoCodeType {\n if (!code.startsWith(PROMO_CODE_PREFIX)) {\n throw new Error(`Invalid promo code from GraphQL: ${JSON.stringify(code)}`);\n }\n return code as PromoCodeType;\n}\n\n/**\n * Convert a stored Partner entity into PartnerFormData for create/edit forms.\n * Maps GraphQL nullability onto form null defaults and converts GraphQL\n * social media into draft-optional form rows (same dual-shape as Event).\n */\nexport function partnerToFormData(partner: PartnerType): PartnerFormData {\n return {\n _id: partner._id,\n active: partner.active,\n contactDetails: partner.contactDetails ?? null,\n cover: partner.cover,\n coverUpload: null,\n description: partner.description,\n images: partner.images ?? null,\n imagesUpload: null,\n location: partner.location,\n logo: partner.logo ?? null,\n logoUpload: null,\n name: partner.name,\n nzbn: partner.nzbn,\n partnerType: partner.partnerType,\n promoCodes: (partner.promoCodes ?? [])\n .filter((code): code is string => code != null)\n .map(toPromoCodeType),\n region: partner.region,\n socialMedia: toFormSocialMedia(partner.socialMedia),\n termsAgreement: partner.termsAgreement\n ? {\n appBuildNumber: partner.termsAgreement.appBuildNumber,\n appId: partner.termsAgreement.appId,\n appVersion: partner.termsAgreement.appVersion,\n brand: partner.termsAgreement.brand,\n deviceName: partner.termsAgreement.deviceName,\n installationId: partner.termsAgreement.installationId,\n manufacturer: partner.termsAgreement.manufacturer,\n modelName: partner.termsAgreement.modelName,\n osName: partner.termsAgreement.osName,\n osVersion: partner.termsAgreement.osVersion,\n termVersion: partner.termsAgreement.termVersion,\n timestamp: partner.termsAgreement.timestamp,\n }\n : null,\n };\n}\n\n/**\n * Ad picker needs the same selectable shape Event uses. Partner already has\n * required description + cover in the schema; this still normalizes optional\n * images/logo for the shared ad form builder.\n */\nexport function partnerToAdSelectableResource(partner: PartnerType): {\n _id: string;\n cover: PartnerType[\"cover\"];\n description: string;\n images?: PartnerType[\"images\"];\n logo?: PartnerType[\"logo\"];\n name: string;\n region: string;\n slug: string;\n} {\n return {\n _id: partner._id,\n cover: partner.cover,\n description: partner.description,\n images: partner.images,\n logo: partner.logo,\n name: partner.name,\n region: partner.region,\n slug: partner.slug,\n };\n}\n","import { GameTypeEnumType } from \"../../generated/graphql\";\n\nexport const gameTypeToDisplayName: Record<GameTypeEnumType, string> = {\n [GameTypeEnumType.DailyClue]: \"Daily Clue\",\n [GameTypeEnumType.MiniQuiz]: \"Mini Quiz\",\n [GameTypeEnumType.OddOneOut]: \"Odd One Out\",\n};\n","/**\n * Adapters between generated GraphQL School entity types and form/UI shapes.\n *\n * GraphQL entities are not form state — these converters make differences\n * explicit (null vs undefined, required vs draft-optional social fields).\n */\nimport type { SchoolType } from \"../generated/graphql\";\n\nimport { toFormSocialMedia } from \"./eventAdapters\";\nimport type { PromoCodeType } from \"./global\";\nimport { PROMO_CODE_PREFIX } from \"./global\";\nimport type { SchoolFormData } from \"./school\";\n\nexport function toSchoolCode(code: string): PromoCodeType {\n if (!code.startsWith(PROMO_CODE_PREFIX)) {\n throw new Error(\n `Invalid school code from GraphQL: ${JSON.stringify(code)}`,\n );\n }\n return code as PromoCodeType;\n}\n\n/**\n * GraphQL SchoolCampaignType dates are ISO strings (Date scalar serialize).\n * Countdown UI / period helpers historically used JS Date — convert explicitly.\n */\nexport function schoolCampaignDatesToJsDates(campaign: {\n endDate: string;\n name: string;\n startDate: string;\n}): { endDate: Date; name: string; startDate: Date } {\n return {\n endDate: new Date(campaign.endDate),\n name: campaign.name,\n startDate: new Date(campaign.startDate),\n };\n}\n\nexport function schoolToFormData(school: SchoolType): SchoolFormData {\n return {\n _id: school._id,\n active: school.active,\n contactDetails: school.contactDetails ?? null,\n location: school.location,\n logo: school.logo ?? null,\n logoUpload: null,\n name: school.name,\n region: school.region,\n socialMedia: toFormSocialMedia(school.socialMedia),\n studentCount: school.studentCount,\n termsAgreement: school.termsAgreement\n ? {\n appBuildNumber: school.termsAgreement.appBuildNumber,\n appId: school.termsAgreement.appId,\n appVersion: school.termsAgreement.appVersion,\n brand: school.termsAgreement.brand,\n deviceName: school.termsAgreement.deviceName,\n installationId: school.termsAgreement.installationId,\n manufacturer: school.termsAgreement.manufacturer,\n modelName: school.termsAgreement.modelName,\n osName: school.termsAgreement.osName,\n osVersion: school.termsAgreement.osVersion,\n termVersion: school.termsAgreement.termVersion,\n timestamp: school.termsAgreement.timestamp,\n }\n : null,\n };\n}\n","import { LicencesEnumType } from \"../generated/graphql\";\n\n/** Tier keys in descending priority (highest first) for licence resolution. */\nexport const TIERS_BY_PRIORITY = [\"pro_plus\", \"pro\", \"standard\"] as const;\n\n/** Canonical subscription tier keys — matches Stripe/server tier identifiers. */\nexport type Tier = (typeof TIERS_BY_PRIORITY)[number];\n\n/** User-facing tier labels (decoupled from the Tier discriminant). */\nexport const TIER_DISPLAY_LABELS: Record<Tier, string> = {\n pro: \"Pro\",\n // eslint-disable-next-line camelcase\n pro_plus: \"Pro+ Ads\",\n standard: \"Standard\",\n};\n\n/** Maps licence enums to their canonical tier key. */\nexport const TIER_FROM_LICENCE: Record<LicencesEnumType, Tier> = {\n [LicencesEnumType.ProEvent]: \"pro\",\n [LicencesEnumType.ProPlusEvent]: \"pro_plus\",\n [LicencesEnumType.ProPlusVendor]: \"pro_plus\",\n [LicencesEnumType.ProVendor]: \"pro\",\n [LicencesEnumType.StandardEvent]: \"standard\",\n [LicencesEnumType.StandardPartner]: \"standard\",\n [LicencesEnumType.StandardVendor]: \"standard\",\n [LicencesEnumType.StandardAffiliate]: \"standard\",\n [LicencesEnumType.StandardSchool]: \"standard\",\n};\n","/**\n * Adapters between generated GraphQL Affiliate entity types and form/UI shapes.\n *\n * GraphQL entities are not form state — these converters make differences\n * explicit (null vs undefined, required vs draft-optional social fields,\n * branded affiliate codes, ISO Date strings vs JS Date).\n */\nimport { AffiliateParticipantTypeEnum } from \"../generated/graphql\";\nimport type { AffiliateType, LocationType } from \"../generated/graphql\";\n\nimport type { AffiliateFormData } from \"./affiliate\";\nimport { toFormSocialMedia } from \"./eventAdapters\";\nimport type { PromoCodeType } from \"./global\";\nimport { PROMO_CODE_PREFIX } from \"./global\";\n\nconst emptyLocation: LocationType = {\n city: \"\",\n country: \"\",\n fullAddress: \"\",\n geo: {\n coordinates: [0, 0],\n type: \"Point\",\n },\n latitude: 0,\n longitude: 0,\n region: \"\",\n};\n\nexport function toAffiliateCode(code: string): PromoCodeType {\n if (!code.startsWith(PROMO_CODE_PREFIX)) {\n throw new Error(\n `Invalid affiliate code from GraphQL: ${JSON.stringify(code)}`,\n );\n }\n return code as PromoCodeType;\n}\n\n/**\n * Convert a stored Affiliate entity into AffiliateFormData for create/edit forms.\n *\n * GraphQL AffiliateDetailsType requires bank/contact/IRD/location/participant\n * once stored; form drafts allow empty strings. Social media is draft-optional\n * (same dual-shape as Event/Partner). GraphQL termsAgreement is NonNull once\n * stored; form keeps it optional until agreed.\n *\n * Bank account fields are copied as-is (same exposure as the GraphQL query —\n * no extra fields, no masking added or removed).\n */\nexport function affiliateToFormData(\n affiliate: Pick<AffiliateType, \"affiliateDetails\">,\n): AffiliateFormData {\n const details = affiliate.affiliateDetails;\n\n return {\n bankAccountDetails: details?.bankAccountDetails ?? {\n accountHolderName: \"\",\n accountNumber: \"\",\n },\n contactDetails: details?.contactDetails ?? {\n mobilePhone: \"\",\n },\n irdNumber: details?.irdNumber ?? \"\",\n location: details?.location ?? emptyLocation,\n participantType:\n details?.participantType ?? (\"\" as AffiliateParticipantTypeEnum),\n socialMedia: toFormSocialMedia(details?.socialMedia),\n termsAgreement: details?.termsAgreement\n ? {\n appBuildNumber: details.termsAgreement.appBuildNumber,\n appId: details.termsAgreement.appId,\n appVersion: details.termsAgreement.appVersion,\n brand: details.termsAgreement.brand,\n deviceName: details.termsAgreement.deviceName,\n installationId: details.termsAgreement.installationId,\n manufacturer: details.termsAgreement.manufacturer,\n modelName: details.termsAgreement.modelName,\n osName: details.termsAgreement.osName,\n osVersion: details.termsAgreement.osVersion,\n termVersion: details.termsAgreement.termVersion,\n timestamp: details.termsAgreement.timestamp,\n }\n : null,\n };\n}\n","import { stripOverlaySubtitleSpecialChars } from \"src/sharing/normalizeShareDescription\";\nimport { OptionItem, PROMO_CODE_PREFIX, SocialMediaType } from \"src/types\";\n\nimport { EnumRegions } from \"../enums/clientEnums\";\nimport {\n InviteEnumType,\n PaymentMethodEnumType,\n PostTypeEnum,\n RewardEnumType,\n SocialMediaEnumType,\n LicencesEnumType,\n} from \"../generated/graphql\";\n\nimport { isIsoDateString } from \"./date\";\nimport { mapArrayToOptions } from \"./mapArrayToOptions\";\n\nexport const removeTypename = (obj: any): any => {\n // Preserve Date objects\n if (obj instanceof Date) {\n return obj;\n }\n\n // Preserve File objects (for apollo-upload-client)\n if (obj instanceof File) {\n return obj;\n }\n\n // Preserve ISO date strings\n if (isIsoDateString(obj)) {\n return obj;\n }\n\n // Handle arrays\n if (Array.isArray(obj)) {\n return obj.map(removeTypename);\n }\n\n // Handle plain objects only\n if (obj !== null && typeof obj === \"object\") {\n const { __typename, ...cleanedObj } = obj;\n\n return Object.keys(cleanedObj).reduce((acc: any, key) => {\n acc[key] = removeTypename(cleanedObj[key]);\n return acc;\n }, {});\n }\n\n // Primitives\n return obj;\n};\n\n/**\n * Truncate text to a specified length and append ellipsis if necessary.\n * @param text\n * @param maxLength\n * @returns\n */\nexport const truncateText = (text: string, maxLength: number = 30): string => {\n const result = stripOverlaySubtitleSpecialChars(text);\n return result.length > maxLength\n ? result.substring(0, maxLength) + \"...\"\n : result;\n};\n\nexport const capitalizeFirstLetter = (str: string): string => {\n return str\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(\" \");\n};\n\nexport const statusOptions = [\n ...Object.values(InviteEnumType)\n .map((status) => ({\n label: status,\n value: status,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)), // Sort the options alphabetically\n];\n\nexport const availableRegionTypes = Object.values(EnumRegions);\nexport const availableRegionOptions: OptionItem[] =\n mapArrayToOptions(availableRegionTypes);\n\nexport const paymentMethodOptions: OptionItem[] = mapArrayToOptions(\n Object.values(PaymentMethodEnumType),\n);\n\nexport function normalizeUrl(url: string): string {\n const withProtocol =\n !url.startsWith(\"http://\") && !url.startsWith(\"https://\")\n ? `https://${url}`\n : url;\n return withProtocol.replace(/\\/+$/, \"\");\n}\n\nexport const licenseNiceNames: Record<LicencesEnumType, string> = {\n [LicencesEnumType.ProEvent]: \"Pro Event\",\n [LicencesEnumType.ProVendor]: \"Pro Stallholder\",\n [LicencesEnumType.StandardEvent]: \"Standard Event\",\n [LicencesEnumType.StandardVendor]: \"Standard Stallholder\",\n [LicencesEnumType.ProPlusEvent]: \"Pro+Ads Event\",\n [LicencesEnumType.ProPlusVendor]: \"Pro+Ads Stallholder\",\n [LicencesEnumType.StandardPartner]: \"Partner\",\n [LicencesEnumType.StandardAffiliate]: \"Affiliate\",\n [LicencesEnumType.StandardSchool]: \"School\",\n};\n\nexport const cluemartSocialMedia: SocialMediaType[] = [\n {\n link: \"https://www.facebook.com/ClueMartApp\",\n name: SocialMediaEnumType.Facebook,\n },\n {\n link: \"https://www.instagram.com/cluemart_app\",\n name: SocialMediaEnumType.Instagram,\n },\n {\n link: \"https://www.tiktok.com/@cluemart\",\n name: SocialMediaEnumType.Tiktok,\n },\n {\n link: \"https://www.youtube.com/@ClueMart-App-NZ\",\n name: SocialMediaEnumType.Youtube,\n },\n];\n\nexport const IOS_URL = \"https://apps.apple.com/nz/app/cluemart/id6747251008\";\nexport const ANDROID_URL =\n \"https://play.google.com/store/apps/details?id=com.timardex.cluemart\";\n\nexport const DEFAULT_RESOURCES_RETURN_LIMIT = 1000;\nexport const DEFAULT_RESOURCES_RETURN_OFFSET = 0;\nexport const CLUEMART_MAIN_DOMAIN_URL = \"https://cluemart.co.nz\";\n\nexport const rewardNiceNames: Record<\n RewardEnumType,\n { name: string; points: number }\n> = {\n [RewardEnumType.MysteryJoyBox]: {\n name: \"Mystery Joy Box\",\n points: 250,\n },\n [RewardEnumType.MysterySqueezeBox]: {\n name: \"Mystery Squeeze Box\",\n points: 350,\n },\n [RewardEnumType.MysteryDeluxeBox]: {\n name: \"Mystery Deluxe Box\",\n points: 500,\n },\n};\n\nexport const PostTypeLabels: Record<PostTypeEnum, string> = {\n [PostTypeEnum.MarketFaces]: \"Market Faces\",\n [PostTypeEnum.ClueBites]: \"Clue Bites\",\n [PostTypeEnum.PlayAndWin]: \"Play & Win\",\n};\n\n/** Hardcoded registration gateway code; only valid at sign-up (not a generated school referral code). */\nexport const CM_SCHOOL_PROMO_CODE = `${PROMO_CODE_PREFIX}SCHOOL`;\n\n/** Hardcoded registration gateway code; only valid at sign-up (not a generated affiliate referral code). */\nexport const CM_AFFILIATE_PROMO_CODE = `${PROMO_CODE_PREFIX}AFFILIATE`;\n\nexport function formatNZBankAccount(input: string): string {\n // Remove all non-digit characters\n const digitsOnly = input.replaceAll(/\\D/g, \"\");\n\n // Build the formatted string step-by-step\n const parts = [];\n if (digitsOnly.length > 0) parts.push(digitsOnly.slice(0, 2)); // bank\n if (digitsOnly.length > 2) parts.push(digitsOnly.slice(2, 6)); // branch\n if (digitsOnly.length > 6) parts.push(digitsOnly.slice(6, 13)); // account\n if (digitsOnly.length > 13) parts.push(digitsOnly.slice(13, 15)); // suffix\n\n return parts.join(\"-\");\n}\n","import { ResourceImageType } from \"../types/global\";\n\n/**\n * Loose input shape for normalization helpers. Callers often pass partial or legacy\n * data (e.g. Mongo docs without `active`, GraphQL input, empty placeholders) before\n * it becomes a strict `ResourceImageType`.\n */\ntype ResourceImageLike = {\n active?: boolean | null;\n source?: string | null;\n title?: string | null;\n};\n\n/**\n * Resolves whether a resource image is active.\n * Only an explicit `active: true` shows the image; missing `active` defaults to false\n * so licence downgrades (e.g. standard vendor gallery limit) are not overridden.\n */\nexport function resolveResourceImageActive(\n image: ResourceImageLike | null | undefined,\n): boolean {\n if (image?.active != null) {\n return image.active;\n }\n\n return false;\n}\n\nexport function normalizeResourceImage(\n image: ResourceImageLike | null | undefined,\n): ResourceImageType {\n return {\n active: resolveResourceImageActive(image),\n source: image?.source ?? \"\",\n title: image?.title ?? \"\",\n };\n}\n\nexport function isResourceImageActive(\n image: ResourceImageLike | null | undefined,\n): boolean {\n return resolveResourceImageActive(image);\n}\n","export const SCHOOL_MIN_STUDENT_COUNT = 300;\nexport const SCHOOL_MAX_STUDENT_COUNT = 0;\n","import { EventDateStatusEnumType } from \"../generated/graphql\";\nimport type { DateTimeType } from \"../types/global\";\n\nexport const EVENT_DATE_STATUS_PERIOD_MAP: Partial<\n Record<EventDateStatusEnumType, EventDateStatusEnumType[]>\n> = {\n [EventDateStatusEnumType.Today]: [\n EventDateStatusEnumType.Started,\n EventDateStatusEnumType.StartingSoon,\n EventDateStatusEnumType.Today,\n ],\n [EventDateStatusEnumType.ThisWeek]: [\n EventDateStatusEnumType.Started,\n EventDateStatusEnumType.StartingSoon,\n EventDateStatusEnumType.ThisWeek,\n EventDateStatusEnumType.Today,\n EventDateStatusEnumType.Tomorrow,\n ],\n};\n\nexport function getAllowedEventDateStatuses(\n period: EventDateStatusEnumType,\n): EventDateStatusEnumType[] {\n return EVENT_DATE_STATUS_PERIOD_MAP[period] ?? [period];\n}\n\nexport function eventMatchesDateStatusPeriod(\n dateTime: Pick<DateTimeType, \"dateStatus\">[] | null | undefined,\n period: EventDateStatusEnumType,\n): boolean {\n const allowedStatuses = getAllowedEventDateStatuses(period);\n\n return (\n dateTime?.some((dt) => allowedStatuses.includes(dt.dateStatus)) ?? false\n );\n}\n\nexport function filterEventsByDateStatusPeriod<\n T extends { dateTime?: Pick<DateTimeType, \"dateStatus\">[] | null },\n>(events: T[], period: EventDateStatusEnumType): T[] {\n return events.filter((event) =>\n eventMatchesDateStatusPeriod(event.dateTime, period),\n );\n}\n","import dayjs from \"dayjs\";\n\nimport {\n EventDateStatusEnumType,\n ResourceTypeEnum,\n} from \"../generated/graphql\";\nimport type { DateTimeType, LocationType } from \"../types/global\";\nimport { dateFormat, formatDate } from \"../utils/date\";\n\nexport type CalendarSheetContentData = {\n dateTime: DateTimeType;\n location: LocationType;\n resourceId: string;\n resourceType: ResourceTypeEnum;\n};\n\nexport const KNOWN_EVENT_SCHEDULE_STATUSES = new Set<EventDateStatusEnumType>([\n EventDateStatusEnumType.Started,\n EventDateStatusEnumType.StartingSoon,\n EventDateStatusEnumType.Ended,\n]);\n\nexport type EventScheduleStatusTone =\n | \"started\"\n | \"startingSoon\"\n | \"ended\"\n | \"default\";\n\nexport type EventScheduleStatusPresentation = {\n status: EventDateStatusEnumType;\n statusLabel: string;\n tone: EventScheduleStatusTone;\n};\n\nexport function toCalendarIsoDate(startDate: string): string | null {\n const formatted = dayjs(startDate, dateFormat).format(\"YYYY-MM-DD\");\n\n return dayjs(formatted, \"YYYY-MM-DD\", true).isValid() ? formatted : null;\n}\n\nexport function fromCalendarIsoDate(isoDate: string): string {\n return dayjs(isoDate, \"YYYY-MM-DD\").format(dateFormat);\n}\n\nexport function getEventCalendarIsoDates(\n dateTimes: DateTimeType[] | null | undefined,\n): string[] {\n return (\n dateTimes\n ?.map((dateTime) => toCalendarIsoDate(dateTime.startDate))\n .filter((date): date is string => Boolean(date)) ?? []\n );\n}\n\nexport function findEventDateTimeByIsoDate(\n dateTimes: DateTimeType[] | null | undefined,\n isoDate: string,\n): DateTimeType | null {\n const selected = fromCalendarIsoDate(isoDate);\n\n return dateTimes?.find((dateTime) => dateTime.startDate === selected) ?? null;\n}\n\nexport function buildCalendarSheetContentData(\n dateTimes: DateTimeType[],\n isoDate: string,\n location: LocationType,\n resourceId: string,\n resourceType: ResourceTypeEnum,\n): CalendarSheetContentData | null {\n const dateTime = findEventDateTimeByIsoDate(dateTimes, isoDate);\n\n if (!dateTime) {\n return null;\n }\n\n return {\n dateTime,\n location,\n resourceId,\n resourceType,\n };\n}\n\nexport function getEventScheduleStatusTone(\n status: EventDateStatusEnumType,\n): EventScheduleStatusTone {\n switch (status) {\n case EventDateStatusEnumType.Started:\n return \"started\";\n case EventDateStatusEnumType.StartingSoon:\n return \"startingSoon\";\n case EventDateStatusEnumType.Ended:\n return \"ended\";\n default:\n return \"default\";\n }\n}\n\nexport function getEventScheduleStatusPresentation(\n dateTime: DateTimeType,\n): EventScheduleStatusPresentation {\n return {\n status: dateTime.dateStatus,\n statusLabel: dateTime.dateStatus.replaceAll(\"_\", \" \").toLowerCase(),\n tone: getEventScheduleStatusTone(dateTime.dateStatus),\n };\n}\n\nexport function getEventScheduleStatusLabel(\n dateTime: DateTimeType,\n onlyShowKnownStatuses: boolean,\n): string | null {\n const { dateStatus: status } = dateTime;\n const isKnownStatus = Boolean(\n status && KNOWN_EVENT_SCHEDULE_STATUSES.has(status),\n );\n\n if (onlyShowKnownStatuses && !isKnownStatus) {\n return null;\n }\n\n return isKnownStatus\n ? status.replaceAll(\"_\", \" \").toLowerCase()\n : `Next event date: ${formatDate(dateTime.startDate, \"date\")}`;\n}\n\nexport function shouldShowEventActionsWithWeather(\n resourceType: ResourceTypeEnum,\n dateTime: DateTimeType,\n location: LocationType | null | undefined,\n): boolean {\n return (\n resourceType === ResourceTypeEnum.Event &&\n Boolean(location) &&\n Boolean(dateTime?.dateStatus) &&\n ![\n EventDateStatusEnumType.Ended,\n EventDateStatusEnumType.Canceled,\n EventDateStatusEnumType.Started,\n ].includes(dateTime.dateStatus)\n );\n}\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const clothingAndFashion: Category[] = [\n {\n id: \"clothing-fashion\",\n name: \"Clothing & Fashion\",\n description:\n \"New, handmade, or upcycled clothing and accessories with a creative twist.\",\n subcategories: [\n {\n id: \"apparel-babywear\",\n name: \"Apparel & Babywear\",\n items: [\n {\n id: \"apparel\",\n name: \"Apparel\",\n description: \"Dresses, t-shirts, jumpers, rompers, sets, kidswear.\",\n },\n {\n id: \"baby-toddler-apparel\",\n name: \"Baby & Toddler Apparel\",\n description:\n \"Handmade baby clothes, soft shoes, bibs, hats, knitted sets.\",\n },\n {\n id: \"upcycled-fashion\",\n name: \"Upcycled Fashion\",\n description:\n \"Reworked garments, patchwork pieces, restyled vintage.\",\n },\n {\n id: \"other-wearable-items\",\n name: \"Other wearable items\",\n description: \"Unique clothing not listed above.\",\n },\n ],\n },\n {\n id: \"fashion-accessories\",\n name: \"Fashion Accessories\",\n items: [\n {\n id: \"accessories\",\n name: \"Accessories\",\n description: \"Scarves, belts, gloves, hats, headbands, caps.\",\n },\n {\n id: \"shoes\",\n name: \"Shoes\",\n description: \"Handmade shoes, baby booties, sandals, slippers.\",\n },\n {\n id: \"bags-wallets\",\n name: \"Bags & Wallets\",\n description:\n \"Leather bags, fabric purses, wallets, backpacks, totes.\",\n },\n {\n id: \"other-accessories\",\n name: \"Other accessories\",\n description: \"Brooches, pins, or hybrid functional items.\",\n },\n ],\n },\n {\n id: \"jewelry-creative-wearables\",\n name: \"Jewelry & Creative Wearables\",\n items: [\n {\n id: \"jewelry\",\n name: \"Jewelry\",\n description: \"Necklaces, earrings, bracelets, rings, anklets.\",\n },\n {\n id: \"other-creative-wearables\",\n name: \"Other creative wearables\",\n description:\n \"Wearable art, statement pieces, bold handmade designs.\",\n },\n ],\n },\n {\n id: \"traditional-cultural-clothing-accessories\",\n name: \"Traditional & Cultural Clothing and Accessories\",\n items: [\n {\n id: \"traditional-clothing-accessories\",\n name: \"Traditional Clothing & Accessories \",\n description:\n \"raditional clothing, jewellery, accessories and footwear from around the world, including both handmade and non-handmade items.\",\n },\n {\n id: \"other-traditional-cultural-items\",\n name: \"Other Traditional & Cultural Items\",\n description:\n \"traditional or culturally inspired wearables and decorative cultural pieces such as plates, table linens and similar items.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const electronicsAndTechnology: Category[] = [\n {\n id: \"electronics-technology\",\n name: \"Electronics & Technology\",\n description:\n \"New, second-hand, or handmade tech and digital items commonly found at markets.\",\n subcategories: [\n {\n id: \"mobile-everyday-tech\",\n name: \"Mobile & Everyday Tech\",\n items: [\n {\n id: \"mobile-phone-accessories\",\n name: \"Mobile & Phone Accessories\",\n description:\n \"Phone cases, holders, screen protectors, charging cables, power banks, grips.\",\n },\n {\n id: \"other-mobile-gadgets\",\n name: \"Other mobile gadgets\",\n description:\n \"Stands, styluses, SIM tools, cleaning kits, wallet accessories.\",\n },\n ],\n },\n {\n id: \"audio-music-creative-tech\",\n name: \"Audio, Music & Creative Tech\",\n items: [\n {\n id: \"audio-music-tech\",\n name: \"Audio & Music Tech\",\n description:\n \"Portable speakers, headphones, mini radios, Bluetooth adapters, sound accessories.\",\n },\n {\n id: \"instruments-music-gear\",\n name: \"Instruments & Music Gear\",\n description:\n \"Small electronic instruments, DIY synth kits, drum pads, loop machines.\",\n },\n {\n id: \"recording-creative-devices\",\n name: \"Recording & Creative Devices\",\n description:\n \"USB microphones, podcast tools, voice recorders, mobile lighting, content tools.\",\n },\n {\n id: \"other-audio-music-items\",\n name: \"Other audio or music-related items\",\n description: \"Musical gadgets or creative gear not listed above.\",\n },\n ],\n },\n {\n id: \"diy-gadgets-secondhand-finds\",\n name: \"DIY, Gadgets & Second-Hand Finds\",\n items: [\n {\n id: \"diy-electronics-tools\",\n name: \"DIY Electronics & Tools\",\n description:\n \"LED lights, USB gadgets, circuit boards, repair kits, tech-themed toys, novelty items.\",\n },\n {\n id: \"other-tech-finds\",\n name: \"Other Tech Finds\",\n description:\n \"Used electronics, smart gadgets, wearable tech, calculators, tablet stands, e-waste upcycles.\",\n },\n {\n id: \"other-technology-innovation-items\",\n name: \"Other technology or innovation-related items\",\n description: \"Anything not covered but clearly tech-driven.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const foodAndBeverages: Category[] = [\n {\n id: \"food-beverages\",\n name: \"Food & Beverages\",\n description:\n \"Fresh produce, drinks, sweet and savoury street food, ready-to-eat meals, and packaged goods.\",\n subcategories: [\n {\n id: \"fresh-food-groceries\",\n name: \"Fresh Food & Groceries\",\n items: [\n {\n id: \"fruits-vegetables\",\n name: \"Fruits & Vegetables\",\n description:\n \"Fresh seasonal fruit, organic vegetables, specialty produce, berries, tropical fruit, heritage varieties.\",\n },\n {\n id: \"meat-seafood\",\n name: \"Meat & Seafood\",\n description:\n \"Butcher cuts, fresh fish, smoked meats, sausages, seafood platters, artisanal jerky.\",\n },\n {\n id: \"dairy-eggs\",\n name: \"Dairy & Eggs\",\n description:\n \"Farm eggs, handmade cheeses, yoghurt, fresh milk, goat’s milk products.\",\n },\n {\n id: \"bakery-pastries\",\n name: \"Bakery & Pastries\",\n description:\n \"Freshly baked bread, sourdough, bagels, croissants, focaccia, traditional baked goods.\",\n },\n {\n id: \"spices-condiments\",\n name: \"Spices & Condiments\",\n description:\n \"Dried herbs, spice blends, specialty salts, hot sauces, infused oils, chutneys.\",\n },\n {\n id: \"packaged-specialty-foods\",\n name: \"Packaged & Specialty Foods\",\n description:\n \"Honey, jams, preserves, pickles, nut butters, sauces, pre-packaged snacks.\",\n },\n {\n id: \"other-fresh-food-items\",\n name: \"Other fresh food items\",\n description:\n \"Items that don’t fit above, e.g. fermented foods, plant-based substitutes.\",\n },\n ],\n },\n {\n id: \"beverages-specialty-drinks\",\n name: \"Beverages & Specialty Drinks\",\n items: [\n {\n id: \"fresh-juices-smoothies\",\n name: \"Fresh Juices & Smoothies\",\n description:\n \"Cold-pressed juices, detox blends, fruit smoothies, tropical mixes.\",\n },\n {\n id: \"coffee-teas\",\n name: \"Coffee & Teas\",\n description:\n \"Espresso, pour-over coffee, herbal teas, matcha, bubble tea, locally blended tea.\",\n },\n {\n id: \"dairy-plant-based-drinks\",\n name: \"Dairy & Plant-Based Drinks\",\n description:\n \"Milkshakes, lassis, almond/oat milk drinks, coconut water.\",\n },\n {\n id: \"alcoholic-beverages\",\n name: \"Alcoholic Beverages\",\n description:\n \"Local wines, craft beer, mead, cider, infused spirits, cocktail kits.\",\n },\n {\n id: \"other-beverages\",\n name: \"Other beverages\",\n description:\n \"Kombucha, kefir, energy drinks, non-alcoholic wines or beers.\",\n },\n ],\n },\n {\n id: \"savoury-prepared-foods-street-food\",\n name: \"Savoury Prepared Foods & Street Food\",\n items: [\n {\n id: \"local-specialties\",\n name: \"Local Specialties\",\n description:\n \"Meat pies, hangi, seafood chowder, fry bread, traditional NZ dishes.\",\n },\n {\n id: \"asian-cuisine\",\n name: \"Asian Cuisine\",\n description:\n \"Sushi, bao buns, dumplings, ramen, satay, spring rolls, fried rice.\",\n },\n {\n id: \"mediterranean-cuisine\",\n name: \"Mediterranean Cuisine\",\n description: \"Falafel, hummus wraps, souvlaki, Greek salad, dolma.\",\n },\n {\n id: \"italian-delights\",\n name: \"Italian Delights\",\n description: \"Pizza, calzone, focaccia, fresh pasta, arancini.\",\n },\n {\n id: \"bbq-grilled-foods\",\n name: \"BBQ & Grilled Foods\",\n description: \"Kebabs, grilled chicken, ribs, burgers, sausages.\",\n },\n {\n id: \"savoury-crepes-pancakes\",\n name: \"Savoury Crepes & Pancakes\",\n description: \"Filled savoury crepes, mini savoury pancakes.\",\n },\n {\n id: \"savoury-baked-goods-pastries\",\n name: \"Savoury Baked Goods & Pastries\",\n description:\n \"Quiches, savoury muffins, filled savoury pastries, empanadas.\",\n },\n {\n id: \"vegan-vegetarian-dishes\",\n name: \"Vegan & Vegetarian Dishes\",\n description:\n \"Buddha bowls, plant-based burgers, salads, vegan sushi.\",\n },\n {\n id: \"other-savoury-foods\",\n name: \"Other Savoury Foods\",\n description: \"Fusion dishes, mixed platters, savoury meal kits.\",\n },\n ],\n },\n {\n id: \"sweet-prepared-foods\",\n name: \"Sweet Prepared Foods\",\n items: [\n {\n id: \"sweet-crepes-pancakes-fried-treats\",\n name: \"Sweet Crepes, Pancakes & Fried Treats\",\n description: \"Crepes, waffles, mini pancakes, muffins, doughnuts.\",\n },\n {\n id: \"sweet-baked-goods-desserts\",\n name: \"Sweet Baked Goods & Desserts\",\n description: \"Cakes, pastries, slices, trifles, layered desserts.\",\n },\n {\n id: \"fruit-based-snacks\",\n name: \"Fruit-Based Snacks\",\n description:\n \"Fruit skewers, dried fruit packs, chocolate-dipped fruit.\",\n },\n {\n id: \"candy-confectionery\",\n name: \"Candy & Confectionery\",\n description: \"Fudge, handmade candies, toffee, nougat, brittle.\",\n },\n {\n id: \"other-sweet-foods\",\n name: \"Other Sweet Foods\",\n description: \"Fusion desserts, sweet platters, sweet meal kits.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const handmadeAndLocalProducts: Category[] = [\n {\n id: \"handmade-local-products\",\n name: \"Handmade & Local Products\",\n description: \"Unique, handmade, or locally produced artisan goods.\",\n subcategories: [\n {\n id: \"home-living\",\n name: \"Home & Living\",\n items: [\n {\n id: \"ceramics-pottery\",\n name: \"Ceramics & Pottery\",\n description:\n \"Handmade mugs, vases, bowls, decorative plates, plant pots.\",\n },\n {\n id: \"candles-home-scents\",\n name: \"Candles & Home Scents\",\n description:\n \"Soy candles, beeswax candles, wax melts, incense sticks, room sprays and herbal sachets.\",\n },\n {\n id: \"botanical-crafts\",\n name: \"Botanical Crafts\",\n description: \"Dried-flower décor and pressed-flower crafts\",\n },\n {\n id: \"textiles-embroidery\",\n name: \"Textiles & Embroidery\",\n description:\n \"Handsewn items, embroidered napkins, home linens, aprons, fabric gift wraps, handmade fabric bags, quilted goods, personalized textile gifts.\",\n },\n {\n id: \"woodcraft-metalcraft\",\n name: \"Woodcraft & Metalcraft\",\n description:\n \"Wooden boards, handmade frames, sculptures, metal signs, furniture.\",\n },\n {\n id: \"handmade-soaps-natural-body-goods\",\n name: \"Handmade Soaps & Natural Body Goods\",\n description: \"Handmade soaps, balms, oils, bath items\",\n },\n {\n id: \"seasonal-festive-crafts\",\n name: \"Seasonal & Festive Crafts\",\n description: \"Christmas, Easter and seasonal handmade decor\",\n },\n {\n id: \"other-home-living-products\",\n name: \"Other home & living products\",\n description:\n \"Items that don't fit above but serve home-related purposes.\",\n },\n ],\n },\n {\n id: \"art-personal-expression\",\n name: \"Art & Personal Expression\",\n items: [\n {\n id: \"paintings-illustrations\",\n name: \"Paintings & Illustrations\",\n description:\n \"Paintings, canvas art, hand-drawn illustrations, digital prints, graphic art and calligraphy pieces.\",\n },\n {\n id: \"sculptures-carvings\",\n name: \"Sculptures & Carvings \",\n description:\n \"Sculptures made from wood, stone, metal, clay or resin, carved decorative pieces and artistic 3D works.\",\n },\n {\n id: \"creative-handmade-alternative-art\",\n name: \"Creative Handmade & Alternative Art\",\n description:\n \"Handmade textile décor, fabric ornaments, mixed-media art, creative craft pieces and modern handmade artworks.\",\n },\n {\n id: \"handmade-mini-figures-decor\",\n name: \"Handmade Mini Figures & Décor\",\n description:\n \"Small handmade figures, tiny houses and crafted mini decorative items.\",\n },\n {\n id: \"other-artistic-expressive-products\",\n name: \"Other Artistic or Expressive Products\",\n description:\n \"Custom artworks, specialty handmade décor, unique crafts.\",\n },\n ],\n },\n {\n id: \"handmade-jewellery-accessories-cultural-crafts\",\n name: \"Handmade Jewellery, Accessories & Cultural Crafts\",\n items: [\n {\n id: \"jewellery-handmade-items-nz-traditional-materials\",\n name: \"Jewellery & Handmade Items from NZ Traditional Materials\",\n description:\n \"Handmade jewellery and decorative or functional items crafted from pounamu, bone, wood and other traditional New Zealand materials.\",\n },\n {\n id: \"maori-pasifika-cultural-crafts-clothing\",\n name: \"Māori & Pasifika Cultural Crafts and Clothing\",\n description:\n \"Culturally inspired handmade items, accessories and garments featuring Māori or Pasifika motifs, traditional patterns and regional craftsmanship.\",\n },\n {\n id: \"traditional-handmade-clothing-jewellery-crafts-global-cultures\",\n name: \"Traditional Handmade Clothing, Jewellery & Crafts from Global Cultures\",\n description:\n \"Handcrafted clothing, jewellery and cultural items from diverse traditions — including Asian, African, European, Middle Eastern, Indian, Chinese, Japanese, Pacific, and other culturally significant handmade pieces.\",\n },\n {\n id: \"other-handmade-cultural-items\",\n name: \"Other Handmade Cultural Items\",\n description:\n \"Unique or culturally inspired handmade pieces not specifically covered in the categories above.\",\n },\n ],\n },\n {\n id: \"gift-ideas-accessories\",\n name: \"Gift Ideas & Accessories\",\n items: [\n {\n id: \"handmade-pens-keychains-fridge-magnets\",\n name: \"Handmade Pens, Keychains and Fridge Magnets\",\n description: null,\n },\n {\n id: \"gift-packaging-wrapping-accessories\",\n name: \"Gift Packaging & Wrapping Accessories\",\n description: null,\n },\n {\n id: \"handmade-crochet-knitting-fibre-crafts\",\n name: \"Handmade Crochet, Knitting & Fibre Crafts\",\n description:\n \"Handmade crochet and knitted items, fabric-based crafts, small decorative pieces, creative fibre artworks and unique handcrafted accessories.\",\n },\n {\n id: \"handmade-toys-mini-play-items\",\n name: \"Handmade Toys & Mini Play Items\",\n description:\n \"small handmade toys, soft toys, wooden miniatures, crochet or felt play pieces\",\n },\n {\n id: \"other-small-handmade-gifts-accessories\",\n name: \"Other small handmade gifts or accessories\",\n description: \"Compact creative items made to surprise or delight.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const healthAndWellness: Category[] = [\n {\n id: \"health-wellness\",\n name: \"Health & Wellness\",\n description:\n \"Natural products and services that promote wellbeing, body care, and holistic health.\",\n subcategories: [\n {\n id: \"body-skincare\",\n name: \"Body & Skincare\",\n items: [\n {\n id: \"skincare-body-products\",\n name: \"Skincare & Body Products\",\n description:\n \"Soaps, creams, lip balms, bath salts, bath bombs, body oils, natural deodorants.\",\n },\n {\n id: \"other-body-care-items\",\n name: \"Other body care items\",\n description:\n \"Additional handmade or eco-conscious personal care goods.\",\n },\n ],\n },\n {\n id: \"aromatherapy-herbal-wellness\",\n name: \"Aromatherapy & Herbal Wellness\",\n items: [\n {\n id: \"aromatherapy-herbal-remedies\",\n name: \"Aromatherapy & Herbal Remedies\",\n description:\n \"Essential oils, herbal balms, massage oils, salves, natural teas, rollers.\",\n },\n {\n id: \"other-herbal-aroma-products\",\n name: \"Other herbal or aroma-based products\",\n description: \"Wellness blends, herb sachets, custom infusions.\",\n },\n ],\n },\n {\n id: \"wellness-tools-accessories\",\n name: \"Wellness Tools & Accessories\",\n items: [\n {\n id: \"wellness-accessories\",\n name: \"Wellness Accessories\",\n description:\n \"Yoga mats, meditation cushions, eye pillows, incense, smudging sticks, eco water bottles, wellness journals.\",\n },\n {\n id: \"spiritual-tools-crystals\",\n name: \"Spiritual Tools & Crystals\",\n description:\n \"Healing crystals, gemstone bracelets, pendulums, sprays, spiritual kits, altar decor.\",\n },\n {\n id: \"other-wellness-spiritual-items\",\n name: \"Other wellness or spiritual items\",\n description: \"Items that aid relaxation, focus, or inner work.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const homeGardenHousehold: Category[] = [\n {\n id: \"home-garden-household-goods\",\n name: \"Home, Garden & Household Goods\",\n description:\n \"Functional, decorative, and eco-conscious products designed for everyday use indoors and outdoors.\",\n subcategories: [\n {\n id: \"home-decor-living\",\n name: \"Home Decor & Living\",\n items: [\n {\n id: \"home-decor\",\n name: \"Home Decor\",\n description:\n \"Cushions, wall art, table runners, vases, trays, mirrors, handmade centerpieces.\",\n },\n {\n id: \"kitchenware-dining\",\n name: \"Kitchenware & Dining\",\n description:\n \"Mugs, bowls, cutting boards, utensils, jars, coasters, kitchen textiles.\",\n },\n {\n id: \"mini-figures-decor\",\n name: \"Mini Figures & Décor\",\n description:\n \"handmade or non-handmade small figures, tiny houses and miniature decorative items.\",\n },\n {\n id: \"other-indoor-home-items\",\n name: \"Other indoor home items\",\n description:\n \"Any decorative or practical household items not listed above.\",\n },\n ],\n },\n {\n id: \"cleaning-eco-essentials\",\n name: \"Cleaning & Eco Essentials\",\n items: [\n {\n id: \"cleaning-eco-supplies\",\n name: \"Cleaning & Eco Supplies\",\n description:\n \"Beeswax wraps, reusable cloths, brushes, natural soaps, detergent bars, eco sponges.\",\n },\n {\n id: \"other-eco-cleaning-items\",\n name: \"Other eco or cleaning items\",\n description: \"Environmentally friendly goods not listed above.\",\n },\n ],\n },\n {\n id: \"garden-outdoor-living\",\n name: \"Garden & Outdoor Living\",\n items: [\n {\n id: \"plants-botanical-decor\",\n name: \"Plants & Botanical Decor\",\n description:\n \"Potted herbs, succulents, dried flowers, terrariums, plant-based ornaments.\",\n },\n {\n id: \"fresh-flowers-botanical-bouquets\",\n name: \"Fresh Flowers & Botanical Bouquets\",\n description:\n \"Cut flowers, seasonal bouquets, simple floral arrangements, native flower selections, and other fresh botanical items.\",\n },\n {\n id: \"natural-decor-nature-inspired-elements\",\n name: \"Natural Decor & Nature-Inspired Elements\",\n description:\n \"Seashell décor, driftwood pieces, sand ornaments, natural wood accents, stone or mineral decorations, and other nature-based decorative items.\",\n },\n {\n id: \"garden-tools-outdoor-items\",\n name: \"Garden Tools & Outdoor Items\",\n description:\n \"Plant markers, garden signs, stakes, small tools, wind chimes, gifts.\",\n },\n {\n id: \"other-outdoor-garden-products\",\n name: \"Other outdoor or garden products\",\n description: \"Functional or decorative items for outside use.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const petProductsAndAnimalGoods: Category[] = [\n {\n id: \"pet-products-animal-goods\",\n name: \"Pet Products & Animal Goods\",\n description: \"Items for pets, pet lovers, or animal-themed market stalls.\",\n subcategories: [\n {\n id: \"products-for-pets\",\n name: \"Products for Pets\",\n items: [\n {\n id: \"pet-food-treats\",\n name: \"Pet Food & Treats\",\n description:\n \"Homemade dog biscuits, cat snacks, natural chews, pet-safe cakes, training treats.\",\n },\n {\n id: \"apparel-toys-accessories\",\n name: \"Apparel, Toys & Accessories\",\n description:\n \"Leashes, collars, harnesses, toys, grooming tools, beds, travel gear, jumpers, bandanas.\",\n },\n {\n id: \"other-pet-products\",\n name: \"Other pet products\",\n description: \"Any pet-related items not listed above.\",\n },\n ],\n },\n {\n id: \"small-pets-birds-exotic-animals\",\n name: \"Small Pets, Birds & Exotic Animals\",\n items: [\n {\n id: \"products-small-pets-birds-exotics\",\n name: \"Products for Small Pets, Birds & Exotics\",\n description:\n \"Toys, enclosures, perches, feeding bowls, bedding, habitat decor, transport gear, and care items for birds, rabbits, hamsters, reptiles, turtles, aquarium pets, and other exotic species.\",\n },\n {\n id: \"other-small-exotic-animal-items\",\n name: \"Other small or exotic animal items\",\n description: \"Unusual accessories for non-mainstream pets.\",\n },\n ],\n },\n {\n id: \"farm-working-animals\",\n name: \"Farm & Working Animals\",\n items: [\n {\n id: \"goods-for-farm-working-animals\",\n name: \"Goods for Farm & Working Animals\",\n description:\n \"Treats, care products, equipment, signage and accessories for chickens, goats, alpacas, horses, and other livestock.\",\n },\n {\n id: \"other-farm-animal-items\",\n name: \"Other farm animal-related items\",\n description:\n \"Rural, barnyard, or utility-specific gear not listed above.\",\n },\n ],\n },\n {\n id: \"animal-themed-gifts-custom-items\",\n name: \"Animal-Themed Gifts & Custom Items\",\n items: [\n {\n id: \"pet-art-custom-gifts\",\n name: \"Pet Art & Custom Gifts\",\n description:\n \"Pet portraits, name tags, personalized bowls, breed-specific items, pet-themed home decor and stationery.\",\n },\n {\n id: \"other-animal-themed-gifts\",\n name: \"Other animal-themed gifts\",\n description:\n \"Artistic or sentimental items made for animal lovers.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"src/types\";\n\n/* eslint-disable sort-keys */\nexport const serviceAndExperience: Category[] = [\n {\n id: \"services-experiences\",\n name: \"Services & Experiences\",\n description:\n \"On-site offerings that provide entertainment, personal care, learning, or interactive activities beyond products.\",\n subcategories: [\n {\n id: \"personal-care-body-art\",\n name: \"Personal Care & Body Art\",\n items: [\n {\n id: \"nails-handcare\",\n name: \"Nails & Handcare\",\n description:\n \"Nail painting, decoration, quick manicures, temporary nail extensions.\",\n },\n {\n id: \"hair-styling-braiding\",\n name: \"Hair Styling & Braiding\",\n description:\n \"Hair braiding, plaits, child-friendly festival hairstyles.\",\n },\n {\n id: \"face-body-decoration\",\n name: \"Face & Body Decoration\",\n description:\n \"Henna, glitter tattoos, face painting, light makeup, eyelash styling, professional tattooing (where permitted).\",\n },\n {\n id: \"other-beauty-grooming-services\",\n name: \"Other beauty or grooming services\",\n description: \"Small-scale personal care options offered on-site.\",\n },\n ],\n },\n {\n id: \"practical-wellness-services\",\n name: \"Practical & Wellness Services\",\n items: [\n {\n id: \"mobile-practical-services\",\n name: \"Mobile & Practical Services\",\n description:\n \"Shoe repair, phone repairs, knife sharpening, key cutting, battery replacement, bike repairs, engraving.\",\n },\n {\n id: \"wellness-alternative-therapies\",\n name: \"Wellness & Alternative Therapies\",\n description:\n \"Massage, aromatherapy, reflexology, energy healing (e.g. Reiki), natural consultations.\",\n },\n {\n id: \"other-service-based-offerings\",\n name: \"Other service-based offerings\",\n description: \"Wellness or functional services not listed above.\",\n },\n ],\n },\n {\n id: \"creative-educational-experiences\",\n name: \"Creative & Educational Experiences\",\n items: [\n {\n id: \"creative-workshops-maker-services\",\n name: \"Creative Workshops & Maker Services\",\n description:\n \"Candle making, pottery, jewelry crafting, soap or balm workshops, calligraphy, seasonal crafts.\",\n },\n {\n id: \"education-awareness-stalls\",\n name: \"Education & Awareness Stalls\",\n description:\n \"Eco awareness, cultural storytelling, local history, first aid demos, health booths, sustainability education, kids’ science displays.\",\n },\n {\n id: \"other-creative-educational-services\",\n name: \"Other creative or educational services\",\n description:\n \"Informal learning, demonstrations, or community-focused sessions.\",\n },\n ],\n },\n {\n id: \"kids-activities-family-fun\",\n name: \"Kids’ Activities & Family Fun\",\n items: [\n {\n id: \"kids-activities-fun\",\n name: \"Kids’ Activities & Fun\",\n description:\n \"Face painting, glitter tattoos, pony rides, bouncy castles, small amusement rides, balloon twisting, animal petting zones.\",\n },\n {\n id: \"other-family-oriented-activities\",\n name: \"Other family-oriented activities\",\n description:\n \"On-site entertainment that engages children or family groups.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"src/types\";\n\n/* eslint-disable sort-keys */\nexport const toysChildren: Category[] = [\n {\n id: \"toys-childrens-items\",\n name: \"Toys & Children’s Items\",\n description: \"Products and services made for or inspired by children.\",\n subcategories: [\n {\n id: \"toys-playthings\",\n name: \"Toys & Playthings\",\n items: [\n {\n id: \"toys-classic-electric-character\",\n name: \"Toys – Classic, Electric & Character-Based\",\n description:\n \"Building blocks, dolls, puzzles, plush animals, toy vehicles, remote-control toys, light-up gadgets, character figurines, themed playsets.\",\n },\n {\n id: \"handmade-toys-crafty-playthings\",\n name: \"Handmade Toys & Crafty Playthings\",\n description:\n \"Wooden puzzles, crocheted animals, felt toys, fabric dolls, DIY kits, nature-inspired games, sensory toys.\",\n },\n {\n id: \"other-play-items\",\n name: \"Other play items\",\n description:\n \"Toys not listed above, including limited-edition or hybrid items.\",\n },\n ],\n },\n {\n id: \"educational-developmental\",\n name: \"Educational & Developmental\",\n items: [\n {\n id: \"educational-developmental-tools\",\n name: \"Educational & Developmental Tools\",\n description:\n \"STEM kits, Montessori toys, storybooks, picture books, flashcards, early learning games, language tools.\",\n },\n {\n id: \"other-educational-experience-based-items\",\n name: \"Other educational or experience-based items\",\n description:\n \"Creative experiences or learning aids not listed above.\",\n },\n ],\n },\n {\n id: \"baby-kidswear-accessories\",\n name: \"Baby & Kidswear + Accessories\",\n items: [\n {\n id: \"baby-kidswear-accessories\",\n name: \"Baby & Kidswear + Accessories\",\n description:\n \"Handmade baby clothes, toddler outfits, bibs, hats, headbands, bags, pacifier clips, soft shoes.\",\n },\n {\n id: \"baby-developmental-soft-toys\",\n name: \"Baby Developmental Soft Toys\",\n description:\n \"Sensory toys, rattles, fabric books, teething items, high-contrast cards, and early-skill. Montessori materials designed to support infants’ cognitive and motor development.\",\n },\n {\n id: \"other-childrens-clothing-accessories\",\n name: \"Other children’s clothing or accessories\",\n description: \"Unique fashion or functional pieces for kids.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const vintageAndAntique: Category[] = [\n {\n id: \"vintage-antique\",\n name: \"Vintage & Antique\",\n description:\n \"Unique, historic, or nostalgic items with collectible or decorative value.\",\n subcategories: [\n {\n id: \"vintage-antique-clothing-accessories\",\n name: \"Vintage & Antique Clothing & Accessories\",\n items: [\n {\n id: \"clothing-vintage-fashion\",\n name: \"Clothing and wearable items from past eras\",\n description:\n \"Vintage dresses, jackets, hats, gloves, belts, bags, shoes, jewellery.\",\n },\n {\n id: \"other-clothing-accessory-items\",\n name: \"Other clothing-related items\",\n description:\n \"Hair clips, brooches, pins, scarf rings, small fashion accessories.\",\n },\n ],\n },\n {\n id: \"collectibles-memorabilia\",\n name: \"Collectibles & Memorabilia\",\n items: [\n {\n id: \"small-collectible-items\",\n name: \"Small collectible items with historical or nostalgic significance\",\n description:\n \"Coins, stamps, toys, postcards, comics, sports cards, vintage packaging.\",\n },\n {\n id: \"other-collectible-items\",\n name: \"Other collectible items\",\n description:\n \"Rare small objects, miniature figurines, special-edition items.\",\n },\n ],\n },\n {\n id: \"homewares-decor-curiosities\",\n name: \"Homewares, Decor & Curiosities\",\n items: [\n {\n id: \"decorative-functional-vintage-items\",\n name: \"Decorative or functional items with a vintage or antique aesthetic\",\n description:\n \"Teacups, plates, vases, mirrors, clocks, furniture, old tools, lanterns, typewriters, curiosities.\",\n },\n {\n id: \"handmade-vintage-art\",\n name: \"Handmade vintage art\",\n description: \"Paintings, sculptures, crafted pieces.\",\n },\n {\n id: \"other-home-decor-items\",\n name: \"Other home or decor items\",\n description:\n \"Decorative pieces not listed above, unique household objects.\",\n },\n ],\n },\n {\n id: \"vintage-media-printed-nostalgia\",\n name: \"Vintage Media & Printed Nostalgia\",\n items: [\n {\n id: \"older-media-printed-works\",\n name: \"Older media formats and printed works\",\n description:\n \"Vinyl records, cassette tapes, CDs, DVDs, books, magazines, board games, posters.\",\n },\n {\n id: \"other-media-printed-items\",\n name: \"Other media or printed items\",\n description: \"Maps, manuals, leaflets, out-of-print materials.\",\n },\n ],\n },\n {\n id: \"other-vintage-antique-items\",\n name: \"Other Vintage & Antique Items\",\n items: [\n {\n id: \"any-vintage-antique-items-not-listed\",\n name: \"Any vintage or antique items not listed above\",\n description: \"Unique, rare or uncategorised pieces.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"../../types/global\";\n\nimport { clothingAndFashion } from \"./clothingAndFashion\";\nimport { electronicsAndTechnology } from \"./electronicsAndTechnology\";\nimport { foodAndBeverages } from \"./foodAndBeverages\";\nimport { handmadeAndLocalProducts } from \"./handmadeAndLocalProducts\";\nimport { healthAndWellness } from \"./healthAndWellness\";\nimport { homeGardenHousehold } from \"./homeGardenHousehold\";\nimport { petProductsAndAnimalGoods } from \"./petProductsAndAnimalGoods\";\nimport { serviceAndExperience } from \"./serviceAndExperience\";\nimport { toysChildren } from \"./toysChildren\";\nimport { vintageAndAntique } from \"./vintageAndAntique\";\n\nexport const categoryColors: Record<string, string> = {\n \"clothing-fashion\": \"#9D4EDD\",\n \"electronics-technology\": \"#3AF3FF\",\n \"food-beverages\": \"#FF0D1F\",\n \"handmade-local-products\": \"#EE7E54\",\n \"health-wellness\": \"#E23794\",\n \"home-garden-household-goods\": \"#067325\",\n \"pet-products-animal-goods\": \"#68E788\",\n \"services-experiences\": \"#2E16A5\",\n \"toys-childrens-items\": \"#FFF966\",\n \"vintage-antique\": \"#8D6748\",\n};\n\nconst assignColorToCategories = (categories: Category[]): Category[] => {\n const result = categories.map((category) => ({\n ...category,\n color: categoryColors[category.id],\n }));\n return result;\n};\n\nexport const availableCategories = assignColorToCategories([\n ...foodAndBeverages,\n ...handmadeAndLocalProducts,\n ...clothingAndFashion,\n ...homeGardenHousehold,\n ...toysChildren,\n ...healthAndWellness,\n ...electronicsAndTechnology,\n ...vintageAndAntique,\n ...petProductsAndAnimalGoods,\n ...serviceAndExperience,\n]);\n","import { availableCategories } from \"../formFields/categories\";\nimport type { UnregisteredVendorType, VendorType } from \"../types\";\nimport type { DateTimeType } from \"../types/global\";\nimport { sortDatesChronologically } from \"../utils/date\";\n\ntype RelationType = NonNullable<VendorType[\"relations\"]>[number];\ntype RelationDateType = NonNullable<RelationType[\"relationDates\"]>[number];\n\nexport type StallholderFilterOption = {\n label: string;\n value: string;\n};\n\nexport function eventStartDatesSet(\n dateTime: DateTimeType[] | undefined,\n): Set<string> {\n return new Set((dateTime ?? []).map((date) => date.startDate));\n}\n\nexport function hasMatchingEventDate(\n vendorStartDates: string[],\n eventStartDates: Set<string>,\n): boolean {\n return vendorStartDates.some((startDate) => eventStartDates.has(startDate));\n}\n\nexport function matchesSelectedDate(\n vendorStartDates: string[],\n selectedDate: string | null,\n): boolean {\n if (!selectedDate) {\n return true;\n }\n\n return vendorStartDates.includes(selectedDate);\n}\n\nexport function matchesCategory(\n categoryNames: string[],\n selectedCategory: string | null,\n): boolean {\n if (!selectedCategory) {\n return true;\n }\n\n return categoryNames.includes(selectedCategory);\n}\n\nexport function getRegisteredVendorStartDates(vendor: VendorType): string[] {\n const relations = vendor.relations ?? [];\n\n return relations.flatMap((relation) =>\n (relation.relationDates ?? []).map(\n (relationDate: RelationDateType) => relationDate.dateTime.startDate,\n ),\n );\n}\n\nexport function getRegisteredVendorCategoryNames(vendor: VendorType): string[] {\n return (vendor.categories ?? []).map((category) => category.name);\n}\n\nexport function getUnregisteredVendorStartDates(\n vendor: UnregisteredVendorType,\n): string[] {\n return (vendor.invitations ?? []).flatMap((invitation) =>\n invitation.dateTime.map((date) => date.startDate),\n );\n}\n\nexport function getUnregisteredVendorCategoryNames(\n vendor: UnregisteredVendorType,\n): string[] {\n return availableCategories\n .filter(\n (category) => category.id && vendor.categoryIds.includes(category.id),\n )\n .map((category) => category.name);\n}\n\nexport function filterRegisteredVendorsForEvent(\n vendors: VendorType[] | null | undefined,\n eventStartDates: Set<string>,\n selectedDate: string | null,\n selectedCategory: string | null,\n): VendorType[] {\n if (!vendors) {\n return [];\n }\n\n return vendors.filter((vendor) => {\n const startDates = getRegisteredVendorStartDates(vendor);\n\n return (\n hasMatchingEventDate(startDates, eventStartDates) &&\n matchesSelectedDate(startDates, selectedDate) &&\n matchesCategory(\n getRegisteredVendorCategoryNames(vendor),\n selectedCategory,\n )\n );\n });\n}\n\nexport function filterUnregisteredVendorsForEvent(\n vendors: UnregisteredVendorType[],\n eventStartDates: Set<string>,\n selectedDate: string | null,\n selectedCategory: string | null,\n): UnregisteredVendorType[] {\n return vendors.filter((vendor) => {\n const startDates = getUnregisteredVendorStartDates(vendor);\n\n return (\n hasMatchingEventDate(startDates, eventStartDates) &&\n matchesSelectedDate(startDates, selectedDate) &&\n matchesCategory(\n getUnregisteredVendorCategoryNames(vendor),\n selectedCategory,\n )\n );\n });\n}\n\nexport function filterRegisteredVendorsByEventDatesOnly(\n vendors: VendorType[] | null | undefined,\n eventStartDates: Set<string>,\n): VendorType[] {\n if (!vendors) {\n return [];\n }\n\n return vendors.filter((vendor) =>\n hasMatchingEventDate(\n getRegisteredVendorStartDates(vendor),\n eventStartDates,\n ),\n );\n}\n\nexport function filterUnregisteredVendorsByEventDatesOnly(\n vendors: UnregisteredVendorType[],\n eventStartDates: Set<string>,\n): UnregisteredVendorType[] {\n return vendors.filter((vendor) =>\n hasMatchingEventDate(\n getUnregisteredVendorStartDates(vendor),\n eventStartDates,\n ),\n );\n}\n\nexport function collectStallholderStartDates(\n registeredVendors: VendorType[],\n unregisteredVendors: UnregisteredVendorType[] = [],\n): string[] {\n return [\n ...registeredVendors.flatMap(getRegisteredVendorStartDates),\n ...unregisteredVendors.flatMap(getUnregisteredVendorStartDates),\n ];\n}\n\nexport function getEventDatesWithStallholders(\n eventDateTime: DateTimeType[] | undefined,\n stallholderStartDates: string[],\n): DateTimeType[] {\n if (!eventDateTime?.length) {\n return [];\n }\n\n const startDates = new Set(stallholderStartDates);\n\n return sortDatesChronologically(\n eventDateTime.filter((date) => startDates.has(date.startDate)),\n );\n}\n\nexport function getStallholderCategoryNames(\n registeredVendors: VendorType[],\n unregisteredVendors: UnregisteredVendorType[] = [],\n): string[] {\n const names = [\n ...registeredVendors.flatMap(getRegisteredVendorCategoryNames),\n ...unregisteredVendors.flatMap(getUnregisteredVendorCategoryNames),\n ];\n\n return Array.from(new Set(names));\n}\n\nexport function getStallholderCategoryOptions(\n registeredVendors: VendorType[],\n unregisteredVendors: UnregisteredVendorType[] = [],\n): StallholderFilterOption[] {\n return getStallholderCategoryNames(\n registeredVendors,\n unregisteredVendors,\n ).map((name) => ({\n label: name,\n value: name,\n }));\n}\n\nexport function getEventStallholderEmptyMessage(\n hasAnyStallholdersForEvent: boolean,\n selectedDate: string | null,\n): string {\n return hasAnyStallholdersForEvent && selectedDate\n ? \"No stallholders found for this event date.\"\n : \"No stallholders found for this event.\";\n}\n","import type { StallholderFilterOption } from \"../eventStallholders/eventStallholderFilters\";\nimport type {\n EventListItemType,\n RelationDateTimeType,\n} from \"../generated/graphql\";\nimport { sortDatesChronologically } from \"../utils/date\";\n\ntype RelationType = NonNullable<\n NonNullable<EventListItemType[\"relations\"]>[number]\n>;\ntype RelationDateType = NonNullable<\n NonNullable<RelationType[\"relationDates\"]>[number]\n>;\n\nexport function relationHasSelectedDate(\n relation: RelationType,\n selectedDate: string,\n): boolean {\n return (\n relation.relationDates?.some(\n (date) => date != null && date.dateTime.startDate === selectedDate,\n ) ?? false\n );\n}\n\nexport function eventHasSelectedDate(\n event: EventListItemType,\n selectedDate: string,\n): boolean {\n return (\n event.relations?.some(\n (relation) =>\n relation != null && relationHasSelectedDate(relation, selectedDate),\n ) ?? false\n );\n}\n\nexport function filterVendorEventsBySelectedDate(\n events: EventListItemType[] | null | undefined,\n selectedDate: string | null,\n): EventListItemType[] {\n if (!events) {\n return [];\n }\n\n if (!selectedDate) {\n return events;\n }\n\n return events.filter((event) => eventHasSelectedDate(event, selectedDate));\n}\n\nexport function collectVendorEventRelationDateTimes(\n events: EventListItemType[] | null | undefined,\n): RelationDateTimeType[] {\n if (!events?.length) {\n return [];\n }\n\n return events.flatMap((event) =>\n (event.relations ?? []).flatMap((relation) => {\n if (relation == null) {\n return [];\n }\n return (relation.relationDates ?? []).flatMap((relationDate) =>\n relationDate?.dateTime != null ? [relationDate.dateTime] : [],\n );\n }),\n );\n}\n\nexport function getVendorEventRelationStartDates(\n events: EventListItemType[] | null | undefined,\n): string[] {\n const sortedDates = sortDatesChronologically(\n collectVendorEventRelationDateTimes(events),\n );\n const uniqueStartDates: string[] = [];\n\n for (const dateTime of sortedDates) {\n if (!uniqueStartDates.includes(dateTime.startDate)) {\n uniqueStartDates.push(dateTime.startDate);\n }\n }\n\n return uniqueStartDates;\n}\n\nexport function getVendorEventRelationDateOptions(\n events: EventListItemType[] | null | undefined,\n): StallholderFilterOption[] {\n return getVendorEventRelationStartDates(events).map((startDate) => ({\n label: startDate,\n value: startDate,\n }));\n}\n\nexport function getVendorEventsEmptyMessage(): string {\n return \"No events found.\";\n}\n","import { AffiliateRewardWriteType } from \"src/types/affiliate\";\n\nimport {\n AffiliateParticipantTypeEnum,\n AffiliateRewardEnumType,\n} from \"../generated/graphql\";\n\nexport const AFFILIATE_PARTICIPANT_TYPE_LABELS = {\n [AffiliateParticipantTypeEnum.Individual]: \"Individual\",\n [AffiliateParticipantTypeEnum.SoleTrader]: \"Sole Trader\",\n [AffiliateParticipantTypeEnum.Company]: \"Company\",\n} as const satisfies Record<AffiliateParticipantTypeEnum, string>;\n\ntype AffiliateRewardConfig = {\n description: string;\n value: number;\n};\n\nexport const AFFILIATE_REWARDS = {\n [AffiliateRewardEnumType.NewEventRegistration]: {\n description: \"10 points for new event registration (one-time reward)\",\n value: 10,\n },\n [AffiliateRewardEnumType.NewVendorRegistration]: {\n description: \"5 points for new vendor registration (one-time reward)\",\n value: 5,\n },\n [AffiliateRewardEnumType.ActiveVendorProSubscription]: {\n description: \"3 points for active vendor pro subscription (monthly reward)\",\n value: 3,\n },\n [AffiliateRewardEnumType.ActiveVendorStandardSubscription]: {\n description:\n \"1 point for active vendor standard subscription (monthly reward)\",\n value: 1,\n },\n [AffiliateRewardEnumType.ActiveVendorBonusReward]: {\n description:\n \"5 bonus points for every 10th active vendor (one-time reward)\",\n value: 5,\n },\n [AffiliateRewardEnumType.ActiveEventWithVendorRegistrations]: {\n description:\n \"40 points for active event with vendor registrations (one-time reward)\",\n value: 40,\n },\n} satisfies Record<AffiliateRewardEnumType, AffiliateRewardConfig>;\n\n/**\n * Create an affiliate reward\n * @param rewardType - The type of reward\n * @param createdAt - The date the reward was received\n * @returns The affiliate reward\n * @example\n * const reward = createAffiliateReward(AffiliateRewardEnumType.NewEventRegistration, new Date());\n * console.log(reward);\n */\nexport function createAffiliateReward(\n rewardType: AffiliateRewardEnumType,\n createdAt: Date,\n): AffiliateRewardWriteType {\n const reward = AFFILIATE_REWARDS[rewardType];\n\n return {\n createdAt,\n redeemedAt: null,\n rewardDescription: reward.description,\n rewardType,\n rewardValue: reward.value,\n };\n}\n","/**\n * NZ IRD number validation (Inland Revenue modulus-11 check digit).\n *\n * Valid range: 10,000,000 – 200,000,000 (upper limit raised Feb 2026; length stays\n * 8–9 digits). See IRD file-upload / payday filing specifications.\n */\n\nconst PRIMARY_WEIGHTS = [3, 2, 7, 6, 5, 4, 3, 2] as const;\nconst SECONDARY_WEIGHTS = [7, 4, 3, 2, 5, 2, 7, 6] as const;\n\nconst IRD_MIN = 10_000_000;\n/** Raised from 150_000_000 as of IRD's Feb 2026 annual update. */\nconst IRD_MAX = 200_000_000;\n\nfunction calculateCheckDigit(\n baseDigits: string,\n weights: readonly number[],\n): number {\n const sum = [...baseDigits].reduce(\n (acc, digit, index) => acc + Number(digit) * weights[index],\n 0,\n );\n const remainder = sum % 11;\n return remainder === 0 ? 0 : 11 - remainder;\n}\n\n/** Digits only; strips spaces/hyphens and other non-digits. */\nexport function normalizeIrdNumber(value: string): string {\n return value.replace(/\\D/g, \"\");\n}\n\n/**\n * Formats an IRD number as groups of three digits separated by hyphens\n * (e.g. `490-918-50` / `049-091-850`), capping at 9 digits.\n */\nexport function formatIrdNumber(input: string): string {\n const digitsOnly = normalizeIrdNumber(input).slice(0, 9);\n\n const parts = [];\n if (digitsOnly.length > 0) parts.push(digitsOnly.slice(0, 3));\n if (digitsOnly.length > 3) parts.push(digitsOnly.slice(3, 6));\n if (digitsOnly.length > 6) parts.push(digitsOnly.slice(6, 9));\n\n return parts.join(\"-\");\n}\n\n/**\n * Returns true when `value` is a valid NZ IRD number (8–9 digits, in issued\n * range, and modulus-11 check digit matches).\n */\nexport function isValidIrdNumber(value: string): boolean {\n const digits = normalizeIrdNumber(value);\n\n if (!/^\\d{8,9}$/.test(digits)) {\n return false;\n }\n\n const ird = Number(digits);\n if (ird < IRD_MIN || ird > IRD_MAX) {\n return false;\n }\n\n const padded = digits.padStart(9, \"0\");\n const baseDigits = padded.slice(0, -1);\n const checkDigit = Number(padded.slice(-1));\n\n let calculated = calculateCheckDigit(baseDigits, PRIMARY_WEIGHTS);\n if (calculated === 10) {\n calculated = calculateCheckDigit(baseDigits, SECONDARY_WEIGHTS);\n if (calculated === 10) {\n return false;\n }\n }\n\n return calculated === checkDigit;\n}\n","const TRANSIENT_NETWORK_PATTERNS = [\n /network connection was lost/i,\n /network request failed/i,\n /fetch failed/i,\n /failed to fetch/i,\n /internet connection appears to be offline/i,\n // Transport-layer timeouts only — avoid generic \"timeout\" (backend/query timeouts).\n /\\b(request|connection|network)\\s+timed\\s+out\\b/i,\n /\\b(connect|read|write|socket)\\s+timeout\\b/i,\n /\\bsocket\\s+timed\\s+out\\b/i,\n /\\betimedout\\b/i,\n /\\benotfound\\b/i,\n /\\beconnreset\\b/i,\n /\\beconnrefused\\b/i,\n] as const;\n\nfunction extractErrorMessage(err: unknown): string {\n if (err instanceof Error) return err.message;\n if (typeof err === \"string\") return err;\n if (err && typeof err === \"object\") {\n const obj = err as Record<string, unknown>;\n if (typeof obj.message === \"string\") return obj.message;\n if (obj.networkError) return extractErrorMessage(obj.networkError);\n try {\n return JSON.stringify(err);\n } catch {\n return \"[object]\";\n }\n }\n if (err == null) return \"\";\n if (\n typeof err === \"number\" ||\n typeof err === \"boolean\" ||\n typeof err === \"bigint\"\n ) {\n return String(err);\n }\n if (typeof err === \"symbol\") return err.toString();\n return \"\";\n}\n\n/** True for short-lived connectivity failures (e.g. resume before the stack is ready). */\nexport function isTransientNetworkError(err: unknown): boolean {\n const message = extractErrorMessage(err);\n return TRANSIENT_NETWORK_PATTERNS.some((pattern) => pattern.test(message));\n}\n","import { isTransientNetworkError } from \"./isTransientNetworkError\";\n\nexport const DEFAULT_USER_FACING_ERROR =\n \"Something went wrong. Please try again.\";\n\nexport const NETWORK_USER_FACING_ERROR =\n \"Unable to connect. Please check your internet connection and try again.\";\n\n/** Backend/infra messages that must never be shown to end users. */\nconst INTERNAL_ERROR_PATTERNS = [\n /connection\\s*<monitor>/i,\n /\\bmongo/i,\n /\\b\\d{1,3}(?:\\.\\d{1,3}){3}(?::\\d+)?\\b/,\n /\\beconn(?:refused|reset|aborted)\\b/i,\n /\\betimedout\\b/i,\n /\\benotfound\\b/i,\n /\\bsocket hang up\\b/i,\n /\\binternal server error\\b/i,\n /received status code 5\\d\\d/i,\n /\\bat\\s+\\S+\\s+\\([^)]+:\\d+:\\d+\\)/,\n] as const;\n\nexport function isInternalErrorMessage(message: string): boolean {\n return INTERNAL_ERROR_PATTERNS.some((pattern) => pattern.test(message));\n}\n\n/**\n * Maps raw API/client errors to a safe message for UI surfaces.\n * Keeps intentional product copy (e.g. \"Vendor not found\"); hides infra details.\n */\nexport function toUserFacingErrorMessage(\n error: string | null | undefined,\n fallback = DEFAULT_USER_FACING_ERROR,\n): string {\n const message = (error ?? \"\").trim();\n if (!message) return fallback;\n\n if (isTransientNetworkError(message)) {\n return NETWORK_USER_FACING_ERROR;\n }\n\n if (isInternalErrorMessage(message)) {\n return fallback;\n }\n\n return message;\n}\n\n/** Extracts and sanitizes an unknown catch/Apollo error for toasts and alerts. */\nexport function getErrorMessage(\n error: unknown,\n fallback = DEFAULT_USER_FACING_ERROR,\n): string {\n let raw: string | undefined;\n if (error instanceof Error) {\n raw = error.message;\n } else if (typeof error === \"string\") {\n raw = error;\n }\n\n return toUserFacingErrorMessage(raw, fallback);\n}\n","import { FoodFlavorEnumType } from \"../../generated/graphql\";\nimport { FormField, OptionItem } from \"../../types\";\nimport { mapArrayToOptions } from \"../../utils\";\n\nexport const vendorElectricity: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. amps, voltage, etc.\",\n isTextArea: true,\n name: \"requirements.electricity.details\",\n placeholder: \"Electricity requirements\",\n },\n isRequired: {\n name: \"requirements.electricity.isRequired\",\n placeholder: \"Do you require electricity?\",\n },\n};\n\nexport const vendorGazebo: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"requirements.gazebo.details\",\n placeholder: \"Gazebo requirements\",\n },\n isRequired: {\n name: \"requirements.gazebo.isRequired\",\n placeholder: \"Do you require Gazebo?\",\n },\n};\n\nexport const vendorTable: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"requirements.table.details\",\n placeholder: \"Table requirements\",\n },\n isRequired: {\n name: \"requirements.table.isRequired\",\n placeholder: \"Do you require Table?\",\n },\n};\n\nexport const vendorPriceRange: {\n max: FormField;\n min: FormField;\n} = {\n max: {\n helperText: \"Product maximum price\",\n name: \"product.priceRange.max\",\n placeholder: \"Maximum price: \",\n },\n min: {\n helperText: \"Product minimum price\",\n name: \"product.priceRange.min\",\n placeholder: \"Minimum price: \",\n },\n};\n\nexport const vendorStallSize: {\n depth: FormField;\n width: FormField;\n} = {\n depth: {\n helperText: \"Stall size in depth\",\n name: \"stallInfo.size.depth\",\n placeholder: \"Stall Depth: \",\n },\n width: {\n helperText: \"Stall size in width\",\n name: \"stallInfo.size.width\",\n placeholder: \"Stall Width: \",\n },\n};\n\nexport const vendorPackaging: FormField = {\n helperText: \"Select packaging type, you can select more than one\",\n name: \"product.packaging\",\n placeholder: \"Packaging type\",\n};\n\nexport const vendorProducedIn: FormField = {\n helperText:\n \"Select where the product is produced, you can select more than one\",\n name: \"product.producedIn\",\n placeholder: \"Produced type\",\n};\n\nexport const vendorFoodFlavour: FormField = {\n helperText: \"You can select more than one food flavour\",\n name: \"product.foodFlavors\",\n placeholder: \"Food flavours\",\n};\n\nexport const vendorCompliance: FormField[] = [\n {\n name: \"compliance.liabilityInsurance\",\n placeholder: \"Liability Insurance\",\n },\n {\n name: \"compliance.foodBeverageLicense\",\n placeholder: \"Food and Beverage License\",\n },\n];\n\nconst packagingTypes = [\n \"Biodegradable\",\n \"Compostable\",\n \"Fabric\",\n \"Glass\",\n \"Other\",\n \"Paper\",\n \"Plastic\",\n \"Recyclable\",\n \"Reusable\",\n \"Single-use\",\n \"Wood\",\n];\n\nconst producedIngTypes = [\n \"Commercial Kitchen\",\n \"Home Premises\",\n \"Factory\",\n \"Farm\",\n \"Other\",\n];\n\nexport const packagingOptions: OptionItem[] = mapArrayToOptions(packagingTypes);\nexport const producedIngOptions: OptionItem[] =\n mapArrayToOptions(producedIngTypes);\nexport const foodFlavourOptions: OptionItem[] = Object.values(\n FoodFlavorEnumType,\n).map((flavour) => ({\n label: flavour.replaceAll(\"_\", \" \"),\n value: flavour,\n}));\n","import { FormDateField, FormField, OptionItem } from \"../../types/global\";\n\nexport const eventBasicInfoFields: FormField[] = [\n {\n helperText: \"Name of the Event *\",\n name: \"name\",\n placeholder: \"Name\",\n },\n {\n helperText:\n \"NZBN number (required – ClueMart only accepts events with valid NZBN number) *\",\n keyboardType: \"number-pad\",\n name: \"nzbn\",\n placeholder: \"NZBN number\",\n },\n {\n helperText: \"Name of the Provider (if applicable)\",\n name: \"provider\",\n placeholder: \"Provider\",\n },\n {\n helperText: \"Description of the Event *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n\nexport const eventStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date of the Event *\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time of the Event *\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const eventEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date of the Event *\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time of the Event *\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const availableTagTypes = [\n { icon: \"human-male-female-child\", label: \"All Ages\" },\n { icon: \"weather-sunny\", label: \"Day Market\" },\n { icon: \"account-child\", label: \"Family Friendly\" },\n { icon: \"ticket-percent\", label: \"Free Entry\" },\n { icon: \"home-city\", label: \"Indoor Market\" },\n { icon: \"music\", label: \"Live Music\" },\n { icon: \"bus\", label: \"Near Bustop\" },\n { icon: \"slide\", label: \"Near Playground\" },\n { icon: \"train\", label: \"Near Train Station\" },\n { icon: \"weather-night\", label: \"Night Market\" },\n { icon: \"tree\", label: \"Outdoor Market\" },\n { icon: \"car\", label: \"Parking Available\" },\n { icon: \"dog\", label: \"Pet Friendly\" },\n { icon: \"ship-wheel\", label: \"Port Nearby\" },\n { icon: \"toilet\", label: \"Toilet Available\" },\n { icon: \"wheelchair-accessibility\", label: \"Wheelchair Accessible\" },\n];\n\nexport const tagOptions: OptionItem[] = availableTagTypes.map((tag) => ({\n label: tag.label,\n value: tag.label,\n}));\n","import { FormField } from \"src/types/global\";\n\nexport const emailField: FormField = {\n helperText: \"Enter email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n};\n\nexport const companyContactFields: FormField[] = [\n {\n ...emailField,\n name: \"contactDetails.email\",\n },\n {\n helperText: \"Enter your mobile phone number\",\n keyboardType: \"phone-pad\",\n name: \"contactDetails.mobilePhone\",\n placeholder: \"Mobile Phone Number\",\n },\n {\n helperText: \"Enter your landline phone number\",\n keyboardType: \"phone-pad\",\n name: \"contactDetails.landlinePhone\",\n placeholder: \"Landline Phone Number\",\n },\n];\n\nexport const bankAccountDetailsFields: FormField[] = [\n {\n helperText: \"Account holder name *\",\n name: \"accountHolderName\",\n placeholder: \"Account holder name\",\n },\n {\n helperText: \"Account number *\",\n keyboardType: \"number-pad\",\n name: \"accountNumber\",\n placeholder: \"Account number\",\n },\n];\n","import { RefundPolicy, Requirement, StallType } from \"../../types/event\";\nimport { FormField } from \"../../types/global\";\nimport { bankAccountDetailsFields } from \"../global\";\n\nexport const eventInfo: FormField[] = [\n {\n helperText: \"Application Deadline (hours before event start) *\",\n keyboardType: \"number-pad\",\n name: \"applicationDeadlineHours\",\n placeholder: \"Application Deadline (in hours)\",\n },\n {\n helperText:\n \"Payment Due (hours after application or invitation acceptance) *\",\n keyboardType: \"number-pad\",\n name: \"paymentDueHours\",\n placeholder: \"Payment Due (in hours)\",\n },\n {\n helperText: \"Pack-In Time (hours before event start) *\",\n keyboardType: \"number-pad\",\n name: \"packInTime\",\n placeholder: \"Pack In Time (in hours)\",\n },\n];\n\nexport const eventInfoPaymentInfo: FormField[] = [\n ...bankAccountDetailsFields,\n {\n helperText: \"Payment link, where applicants can pay *\",\n keyboardType: \"url\",\n name: \"link\",\n placeholder: \"Payment link\",\n },\n];\n\nexport const requirementsOptions: Requirement[] = [\n {\n category: \"Environment\",\n label: \"All packaging must be eco-friendly or recyclable where possible.\",\n value: false,\n },\n {\n category: \"Environment\",\n label: \"No single-use plastic bags are to be handed out.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"Stall area must be left clean with no trace of activity after pack-down.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"No disposal of oils, fats, or chemicals in public drains or on grassed areas.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"You must provide bins at your site for rubbish and recycling, and take away all bins including rubbish, to dispose of outside of the town centre.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Food must be prepared and stored according to your food regulation.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"The stallholder must display a current food grade certificate.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"Only licensed food vendors may sell ready-to-eat food items.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Handwashing facilities must be available at your stall if preparing food.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"You must have a food safety plan in place for your stall.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Allergens must be clearly listed on packaged and unpackaged food items.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All stallholders must comply with local council regulations.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"No unauthorised subletting of stall space to other vendors.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Gas bottles and fuel containers must be secured and in good condition if applicable.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Fire extinguishers must be available for stalls using cooking or heating equipment.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Stallholders must not sell items that are illegal or prohibited by law.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All electrical equipment must be tested and tagged.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Noise levels must be kept to a minimum unless part of a permitted performance.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Pets at the stall must be secured and well-behaved at all times.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Cables must be secured and not create tripping hazards.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stalls must not obstruct emergency access routes.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"First aid kit must be available at the stall for minor injuries.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stallholders must hold valid liability insurance where required.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You must secure your gazebo and equipment to withstand wind or bad weather.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You are responsible for the safety of your setup and any potential hazards.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Generators must be quiet and pre-approved by the event organiser.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Only approved products or services may be sold — no last-minute changes.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Stallholders must arrive and be fully set up by the designated opening time.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You may not pack down your stall before the event officially ends.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You must be self-sufficient in all operations.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Stall layout must be kept within your allocated space.\",\n value: false,\n },\n];\n\nconst stallTypes = [\n \"1.8m table only\",\n \"2x2m mini stall\",\n \"3x3m tent site\",\n \"Corner stall\",\n \"Craft stall with power\",\n \"Craft stall without power\",\n \"Double stall (6x3m)\",\n \"Food truck site\",\n \"Food vendor with power\",\n \"Food vendor without power\",\n \"Inside hall stall\",\n \"Non-profit/community stall\",\n \"Outdoor open area\",\n \"Shared table space\",\n \"Wall-based vendor\",\n \"Workshop/seating area\",\n] as const;\n\nexport const stallTypeOptions: StallType[] = stallTypes.map((type) => ({\n label: type,\n price: 0,\n stallCapacity: 0,\n}));\n\nexport const refundPolicyOptions: RefundPolicy[] = [\n {\n category: \"Cancelled by Vendor\",\n label: \"Full refund if cancelled 30+ days before the event.\",\n value: false,\n },\n {\n category: \"Cancelled by Vendor\",\n label: \"50% refund if cancelled 14–29 days before the event.\",\n value: false,\n },\n {\n category: \"Cancelled by Vendor\",\n label: \"No refund if cancelled less than 14 days before the event.\",\n value: false,\n },\n {\n category: \"Cancelled by Vendor\",\n label: \"Full refund if cancelled due to illness or emergency.\",\n value: false,\n },\n {\n category: \"Cancelled by Vendor\",\n label: \"No refund for no-shows or last-minute cancellations.\",\n value: false,\n },\n {\n category: \"Cancelled by Vendor\",\n label: \"No refund\",\n value: false,\n },\n {\n category: \"Cancelled by Organiser\",\n label: \"Full refund if the event is cancelled by the organiser.\",\n value: false,\n },\n {\n category: \"Cancelled by Organiser\",\n label: \"Credit towards a future event if cancelled by the organiser.\",\n value: false,\n },\n {\n category: \"Cancelled by Organiser\",\n label:\n \"Refund only in cases of force majeure (e.g., natural disasters, government restrictions).\",\n value: false,\n },\n {\n category: \"Cancelled by Organiser\",\n label: \"No refund\",\n value: false,\n },\n];\n","import { FormField } from \"../types/global\";\n\nimport { emailField } from \"./global\";\n\nexport const loginFields: FormField[] = [\n {\n ...emailField,\n required: true,\n },\n {\n helperText: \"Enter password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n required: true,\n secureTextEntry: true,\n },\n];\n\nexport const registerFields: FormField[] = [\n {\n helperText: \"Enter first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n required: true,\n },\n {\n helperText: \"Enter last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n required: true,\n },\n {\n ...emailField,\n required: true,\n },\n {\n helperText: \"Enter password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n required: true,\n secureTextEntry: true,\n },\n {\n helperText: \"Promotional code (optional)\",\n keyboardType: \"default\",\n name: \"promoCode\",\n placeholder: \"Promotional Code\",\n required: false,\n },\n];\n\nexport const requestPasswordResetFields: FormField[] = [\n {\n ...emailField,\n helperText: \"Enter email address to reset your password\",\n required: true,\n },\n];\n\nexport const resetPasswordFields: FormField[] = [\n {\n helperText: \"Enter your new password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n required: true,\n secureTextEntry: true,\n },\n {\n helperText: \"Confirm your new password\",\n keyboardType: \"default\",\n name: \"confirmPassword\",\n placeholder: \"Confirm Password\",\n required: true,\n secureTextEntry: true,\n },\n];\n\nexport const validateVerificationTokenFields: FormField[] = [\n {\n ...emailField,\n disabled: true,\n helperText: \"Your email address\",\n },\n {\n helperText: \"Enter the Verification code sent to you by email\",\n keyboardType: \"number-pad\",\n name: \"verificationToken\",\n placeholder: \"Verification code\",\n required: true,\n },\n];\n","import { FormField } from \"../types/global\";\n\nimport { emailField } from \"./global\";\n\nexport const profileFields: FormField[] = [\n {\n ...emailField,\n disabled: true,\n helperText: \"Email cannot be changed\",\n },\n {\n helperText: \"Enter first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your new password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n {\n helperText: \"Confirm your new password\",\n keyboardType: \"default\",\n name: \"confirmPassword\",\n placeholder: \"Confirm Password\",\n secureTextEntry: true,\n },\n];\n","import { FormField } from \"../types/global\";\n\nconst socialMedia = [\n {\n key: \"facebook\",\n name: \"Facebook\",\n placeholder: \"https://www.facebook.com/your-page\",\n },\n {\n key: \"instagram\",\n name: \"Instagram\",\n placeholder: \"https://www.instagram.com/your-profile\",\n },\n {\n key: \"tiktok\",\n name: \"TikTok\",\n placeholder: \"https://www.tiktok.com/@your-profile\",\n },\n {\n key: \"twitter\",\n name: \"Twitter\",\n placeholder: \"https://twitter.com/your-profile\",\n },\n {\n key: \"website\",\n name: \"Website\",\n placeholder: \"https://www.yourwebsite.com\",\n },\n {\n key: \"youtube\",\n name: \"YouTube\",\n placeholder: \"https://www.youtube.com/channel/your-channel\",\n },\n];\nexport const socialMediaFields: FormField[] = socialMedia.map((link) => ({\n helperText: link.name,\n keyboardType: \"url\",\n name: link.key,\n placeholder: link.placeholder,\n}));\n","import { FormField } from \"src/types\";\n\nimport { emailField } from \"./global\";\n\nexport const contactUsFields: FormField[] = [\n {\n helperText: \"Enter first name *\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter last name *\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n ...emailField,\n helperText: \"Enter email address *\",\n },\n {\n helperText: \"Enter your message *\",\n isTextArea: true,\n keyboardType: \"default\",\n name: \"message\",\n placeholder: \"Message\",\n },\n];\n","import { FormField } from \"../types/global\";\n\nexport const partnerBasicInfoFields: FormField[] = [\n {\n helperText: \"Business Name *\",\n name: \"name\",\n placeholder: \"Business Name\",\n },\n {\n helperText:\n \"NZBN number (required – ClueMart only accepts partners with valid NZBN number) *\",\n keyboardType: \"number-pad\",\n name: \"nzbn\",\n placeholder: \"NZBN number\",\n },\n {\n helperText: \"Description *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n","/** Internal type. DO NOT USE DIRECTLY. */\ntype Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\n/** Internal type. DO NOT USE DIRECTLY. */\nexport type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\nimport { PosterAssetId } from '../images';\nimport { gql } from '@apollo/client';\nimport * as ApolloReactCommon from '@apollo/client';\nimport * as ApolloReactHooks from '@apollo/client';\nconst defaultOptions = {} as const;\n/** Activity enum type */\nexport type ActivityEnumType =\n | 'FAVORITE'\n | 'GOING'\n | 'INTERESTED'\n | 'PRESENT'\n | 'VIEW';\n\n/** Ad input type */\nexport type AdInputType = {\n active: boolean;\n end: string;\n resource: AdResourceInputType;\n showOn: Array<AdShowOnEnum | null | undefined>;\n start: string;\n status: AdStatusTypeEnum;\n targetRegion: Array<string | null | undefined>;\n};\n\n/** Ad resource input type */\nexport type AdResourceInputType = {\n adDescription: string;\n adImage: string;\n adStyle: AdStyleEnum;\n adTitle: string;\n adType: AdTypeEnum;\n resourceId: string;\n resourceName: string;\n resourceRegion: string;\n resourceSlug: string;\n resourceType: ResourceTypeEnum;\n};\n\n/** Ad show on enum */\nexport type AdShowOnEnum =\n | 'Events_page'\n | 'Front_page'\n | 'Partners_page'\n | 'Vendors_page';\n\n/** Ad status type enum */\nexport type AdStatusTypeEnum =\n | 'Active'\n | 'Expired'\n | 'Paused';\n\n/** Ad style enum */\nexport type AdStyleEnum =\n | 'Bloom'\n | 'Rise';\n\n/** Ad type enum */\nexport type AdTypeEnum =\n | 'Free'\n | 'Sponsored';\n\nexport type AdminUpdateResourceInputType = {\n active: boolean;\n resourceId: string | number;\n resourceType: ResourceTypeEnum;\n};\n\nexport type AffiliateBankAccountDetailsInputType = {\n accountHolderName: string;\n accountNumber: string;\n};\n\nexport type AffiliateContactDetailsInputType = {\n mobilePhone: string;\n};\n\nexport type AffiliateDetailsInputType = {\n bankAccountDetails: AffiliateBankAccountDetailsInputType;\n contactDetails: AffiliateContactDetailsInputType;\n irdNumber: string;\n location: LocationInputType;\n participantType: AffiliateParticipantTypeEnum;\n socialMedia?: Array<SocialMediaInputType | null | undefined> | null | undefined;\n termsAgreement: TermsAgreementInputType;\n};\n\n/** Affiliate participant type enum */\nexport type AffiliateParticipantTypeEnum =\n | 'COMPANY'\n | 'INDIVIDUAL'\n | 'SOLE_TRADER';\n\n/** Affiliate reward type enum */\nexport type AffiliateRewardEnumType =\n | 'ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS'\n | 'ACTIVE_VENDOR_BONUS_REWARD'\n | 'ACTIVE_VENDOR_PRO_SUBSCRIPTION'\n | 'ACTIVE_VENDOR_STANDARD_SUBSCRIPTION'\n | 'NEW_EVENT_REGISTRATION'\n | 'NEW_VENDOR_REGISTRATION';\n\nexport type AppSettingsInputType = {\n appVersion: string;\n isOfflineMode: boolean;\n minimumRedeemableAffiliatePoints: number;\n};\n\n/** Base game input type */\nexport type BaseGameInputType = {\n dailyClue?: DailyClueBaseGameInputType | null | undefined;\n gameTitle: string;\n gameType: GameTypeEnumType;\n gameTypeId: string | number;\n miniQuiz?: PuzzleBaseGameInputType | null | undefined;\n oddOneOut?: PuzzleBaseGameInputType | null | undefined;\n};\n\n/** Billing period enum type */\nexport type BillingPeriodEnumType =\n | 'monthly_cancel_anytime'\n | 'yearly_annual_billed'\n | 'yearly_monthly_billed';\n\n/** Category input type */\nexport type CategoryInputType = {\n id: string;\n name: string;\n subcategories: Array<SubcategoryInputType | null | undefined>;\n};\n\n/** Message input type */\nexport type ChatMessageInputType = {\n content: string;\n replyToMessageId?: string | null | undefined;\n senderId: string;\n};\n\n/** Chat report reason enum */\nexport type ChatReportReasonEnum =\n | 'Harassment_or_Bullying'\n | 'Hate_Speech'\n | 'Inappropriate_Content'\n | 'Other'\n | 'Spam_or_Scam'\n | 'Violence_or_Dangerous_Behavior';\n\n/** Chat type enum */\nexport type ChatTypeEnum =\n | 'group'\n | 'private'\n | 'relation';\n\n/** Contact details input type */\nexport type ContactDetailsInputType = {\n email?: string | null | undefined;\n landlinePhone?: string | null | undefined;\n mobilePhone?: string | null | undefined;\n};\n\n/** Contact us input type */\nexport type ContactUsInputType = {\n email: string;\n firstName: string;\n lastName: string;\n message: string;\n};\n\n/** Content data input type */\nexport type ContentDataInputType = {\n game?: BaseGameInputType | null | undefined;\n images?: Array<ResourceImageInputType | null | undefined> | null | undefined;\n imagesUpload?: Array<ResourceImageUploadInputType | null | undefined> | null | undefined;\n list?: ListContentDataInputType | null | undefined;\n textarea?: TextareaContentDataInputType | null | undefined;\n video?: VideoContentDataInputType | null | undefined;\n};\n\n/** Input for creating multiple notifications for multiple users */\nexport type CreateBulkNotificationInput = {\n data?: NotificationDataTypeInput | null | undefined;\n message: string;\n title: string;\n type?: NotificationEnumType | null | undefined;\n userIds: Array<string | number>;\n};\n\n/** Daily clue base game input type */\nexport type DailyClueBaseGameInputType = {\n gameDate: GameDateInputType;\n gameSolution: string;\n};\n\n/** Date time input type */\nexport type DateTimeInputType = {\n dateStatus: EventDateStatusEnumType;\n endDate: string;\n endTime: string;\n startDate: string;\n startTime: string;\n};\n\n/** Date time with price input type */\nexport type DateTimeWithPriceInputType = {\n dateStatus: EventDateStatusEnumType;\n endDate: string;\n endTime: string;\n stallTypes?: Array<StallTypeInputType | null | undefined> | null | undefined;\n startDate: string;\n startTime: string;\n};\n\n/** Event date status enum type */\nexport type EventDateStatusEnumType =\n | 'Canceled'\n | 'Ended'\n | 'Invalid'\n | 'Next_Week'\n | 'Rescheduled'\n | 'Started'\n | 'Starting_Soon'\n | 'This_Week'\n | 'Today'\n | 'Tomorrow'\n | 'Upcoming';\n\n/** Event type enum */\nexport type EventEnumType =\n | 'Expo'\n | 'Fair'\n | 'Festival'\n | 'Market';\n\n/** Event info input type */\nexport type EventInfoInputType = {\n applicationDeadlineHours: number;\n dateTime: Array<DateTimeWithPriceInputType | null | undefined>;\n eventId: string | number;\n packInTime: number;\n paymentDueHours: number;\n paymentInfo: Array<PaymentInfoInputType | null | undefined>;\n refundPolicy: Array<RefundPolicyInputType | null | undefined>;\n requirements?: Array<RequirementInputType | null | undefined> | null | undefined;\n};\n\n/** Event input type */\nexport type EventInputType = {\n active: boolean;\n claimed?: boolean | null | undefined;\n contactDetails?: ContactDetailsInputType | null | undefined;\n cover: ResourceImageInputType;\n coverUpload?: ResourceImageUploadInputType | null | undefined;\n dateTime: Array<DateTimeInputType | null | undefined>;\n description: string;\n eventType: EventEnumType;\n googlePlaceId?: string | null | undefined;\n images?: Array<ResourceImageInputType | null | undefined> | null | undefined;\n imagesUpload?: Array<ResourceImageUploadInputType | null | undefined> | null | undefined;\n location: LocationInputType;\n logo?: ResourceImageInputType | null | undefined;\n logoUpload?: ResourceImageUploadInputType | null | undefined;\n name: string;\n nzbn: string;\n promoCodes?: Array<string | null | undefined> | null | undefined;\n provider?: string | null | undefined;\n rainOrShine: boolean;\n region: string;\n socialMedia?: Array<SocialMediaInputType | null | undefined> | null | undefined;\n tags: Array<string | null | undefined>;\n termsAgreement: TermsAgreementInputType;\n};\n\n/** Food flavor enum */\nexport type FoodFlavorEnumType =\n | 'Not_Applicable'\n | 'Salty'\n | 'Savoury'\n | 'Spicy'\n | 'Sweet';\n\nexport type GameDateInputType = {\n endDate: string;\n startDate: string;\n};\n\n/** Game status enum */\nexport type GameStatusEnumType =\n | 'GAME_COMPLETED'\n | 'GAME_IN_PROGRESS'\n | 'GAME_LEFT'\n | 'GAME_STARTED';\n\n/** Game type enum */\nexport type GameTypeEnumType =\n | 'dailyClue'\n | 'miniQuiz'\n | 'oddOneOut';\n\n/** Invite enum */\nexport type InviteEnumType =\n | 'Accepted'\n | 'Completed'\n | 'Expired'\n | 'No_Status'\n | 'Pending'\n | 'Rejected'\n | 'Unavailable';\n\nexport type LastUpdateByInputType = {\n resourceId: string;\n userEmail: string;\n};\n\n/** Licences enum */\nexport type LicencesEnumType =\n | 'pro_event'\n | 'pro_plus_event'\n | 'pro_plus_vendor'\n | 'pro_vendor'\n | 'standard_affiliate'\n | 'standard_event'\n | 'standard_partner'\n | 'standard_school'\n | 'standard_vendor';\n\n/** List content data input type */\nexport type ListContentDataInputType = {\n items: Array<ListItemInputType | null | undefined>;\n title?: string | null | undefined;\n};\n\n/** List item input type */\nexport type ListItemInputType = {\n text: string;\n};\n\n/** Location geo input type */\nexport type LocationGeoInputType = {\n coordinates: Array<number>;\n type?: string;\n};\n\n/** Location input type */\nexport type LocationInputType = {\n city: string;\n country: string;\n fullAddress: string;\n geo: LocationGeoInputType;\n latitude: number;\n longitude: number;\n region: string;\n};\n\n/** Login input type */\nexport type LoginInputType = {\n email: string;\n isAdminPage?: boolean | null | undefined;\n password: string;\n platform?: OsPlatformEnumType | null | undefined;\n};\n\n/** Marketing material request input type */\nexport type MarketingMaterialRequestInputType = {\n posterName: PosterAssetId;\n resourceId: string;\n};\n\n/** Input for notification data */\nexport type NotificationDataTypeInput = {\n resourceId?: string | null | undefined;\n resourceName?: string | null | undefined;\n resourceType?: NotificationResourceEnumType | null | undefined;\n};\n\n/** Notification enum type */\nexport type NotificationEnumType =\n | 'chat'\n | 'event'\n | 'relation'\n | 'system'\n | 'vendor';\n\n/** Notification resource enum type */\nexport type NotificationResourceEnumType =\n | 'affiliate_reward_received'\n | 'approved_affiliate'\n | 'approved_event'\n | 'approved_partner'\n | 'approved_school'\n | 'approved_vendor'\n | 'created_event'\n | 'created_partner'\n | 'created_vendor'\n | 'daily_clue_game'\n | 'deactivated_event'\n | 'deactivated_partner'\n | 'deactivated_vendor'\n | 'declined_event'\n | 'declined_partner'\n | 'declined_vendor'\n | 'downgraded_event'\n | 'downgraded_partner'\n | 'downgraded_vendor'\n | 'event_invite_vendor'\n | 'event_starting_soon'\n | 'event_update_relation_to_vendor'\n | 'expiration_reminder_event'\n | 'expiration_reminder_partner'\n | 'expiration_reminder_vendor'\n | 'new_chat_message'\n | 'new_post_created'\n | 'registered_user_by_school_code'\n | 'system_alert'\n | 'vendor_application_to_event'\n | 'vendor_update_relation_to_event';\n\n/** Operating system enum */\nexport type OsPlatformEnumType =\n | 'android'\n | 'ios'\n | 'web';\n\n/** Partner type enum */\nexport type PartnerEnumType =\n | 'Charity_Partner'\n | 'Media_Partner'\n | 'Supporting_Partner';\n\n/** Partner input type */\nexport type PartnerInputType = {\n active: boolean;\n contactDetails?: ContactDetailsInputType | null | undefined;\n cover: ResourceImageInputType;\n coverUpload?: ResourceImageUploadInputType | null | undefined;\n description: string;\n images?: Array<ResourceImageInputType | null | undefined> | null | undefined;\n imagesUpload?: Array<ResourceImageUploadInputType | null | undefined> | null | undefined;\n location: LocationInputType;\n logo?: ResourceImageInputType | null | undefined;\n logoUpload?: ResourceImageUploadInputType | null | undefined;\n name: string;\n nzbn: string;\n partnerType: PartnerEnumType;\n promoCodes?: Array<string | null | undefined> | null | undefined;\n region: string;\n socialMedia?: Array<SocialMediaInputType | null | undefined> | null | undefined;\n termsAgreement: TermsAgreementInputType;\n};\n\nexport type PaymentInfoInputType = {\n accountHolderName?: string | null | undefined;\n accountNumber?: string | null | undefined;\n link?: string | null | undefined;\n paymentMethod: PaymentMethodEnumType;\n};\n\n/** Payment method enum type */\nexport type PaymentMethodEnumType =\n | 'bank_transfer'\n | 'cash'\n | 'eftpos'\n | 'paypal'\n | 'stripe';\n\n/** Post content enum */\nexport type PostContentEnum =\n | 'game'\n | 'image'\n | 'list'\n | 'textarea'\n | 'video';\n\n/** Post content input type */\nexport type PostContentInputType = {\n contentData?: ContentDataInputType | null | undefined;\n contentOrder: number;\n contentType: PostContentEnum;\n};\n\n/** Post input type */\nexport type PostInputType = {\n active: boolean;\n caption: string;\n content: Array<PostContentInputType | null | undefined>;\n cover?: ResourceImageInputType | null | undefined;\n coverUpload?: ResourceImageUploadInputType | null | undefined;\n notifyUsers?: boolean | null | undefined;\n postType: PostTypeEnum;\n resource?: PostResourceInputType | null | undefined;\n tags?: Array<string | null | undefined> | null | undefined;\n title: string;\n};\n\n/** Post resource input type */\nexport type PostResourceInputType = {\n resourceId: string;\n resourceRegion: string;\n resourceSlug: string;\n resourceType: ResourceTypeEnum;\n};\n\n/** Post type enum */\nexport type PostTypeEnum =\n | 'clue_bites'\n | 'market_faces'\n | 'play_and_win';\n\n/** Poster input type */\nexport type PosterInputType = {\n description: string;\n posterName: PosterAssetId;\n resourceId: string;\n resourceType: ResourceTypeEnum;\n};\n\n/** Input type for push token */\nexport type PushTokenInput = {\n platform: OsPlatformEnumType;\n token?: string | null | undefined;\n};\n\n/** Puzzle answer input type */\nexport type PuzzleAnswerInputType = {\n answer: string;\n answerId: string | number;\n correct: boolean;\n};\n\n/** Puzzle answered question input type */\nexport type PuzzleAnsweredQuestionInputType = {\n questionId: string | number;\n selectedAnswerId: string | number;\n};\n\n/** Puzzle base game input type */\nexport type PuzzleBaseGameInputType = {\n questions: Array<PuzzleQuestionInputType>;\n};\n\n/** Puzzle question input type */\nexport type PuzzleQuestionInputType = {\n answers: Array<PuzzleAnswerInputType>;\n question: string;\n questionId: string | number;\n};\n\n/** Redeem reward input type */\nexport type RedeemRewardInputType = {\n reward: RewardEnumType;\n};\n\n/** Refresh token input type */\nexport type RefreshTokenInputType = {\n refreshToken: string;\n};\n\nexport type RefundPolicyInputType = {\n category: string;\n label: string;\n value: boolean;\n};\n\n/** Register input type */\nexport type RegisterInputType = {\n email: string;\n firstName: string;\n lastName: string;\n password: string;\n platform?: OsPlatformEnumType | null | undefined;\n preferredRegion: string;\n promoCode?: string | null | undefined;\n termsAgreement: TermsAgreementInputType;\n};\n\n/** Relation date input type */\nexport type RelationDateInputType = {\n dateTime: RelationDateTimeInputType;\n lastUpdateBy: LastUpdateByInputType;\n paymentReference?: string | null | undefined;\n status: InviteEnumType;\n};\n\n/** Relation date time input type */\nexport type RelationDateTimeInputType = {\n dateStatus: EventDateStatusEnumType;\n endDate: string;\n endTime: string;\n stallType: StallTypeInputType;\n startDate: string;\n startTime: string;\n};\n\n/** Relation input type */\nexport type RelationInputType = {\n active: boolean;\n chatId?: string | number | null | undefined;\n eventId: string | number;\n lastUpdateBy: ResourceTypeEnum;\n relationDates: Array<RelationDateInputType | null | undefined>;\n relationType: RelationTypeEnum;\n vendorId: string | number;\n};\n\n/** Resource relation type enum */\nexport type RelationTypeEnum =\n | 'event_invite_vendor'\n | 'event_update_relation_to_vendor'\n | 'vendor_application_to_event'\n | 'vendor_update_relation_to_event';\n\n/** Report chat reason input type */\nexport type ReportChatReasonInputType = {\n details?: string | null | undefined;\n reasonType: ChatReportReasonEnum;\n};\n\n/** Report chat user input type */\nexport type ReportChatUserInputType = {\n chatId: string | number;\n reason: ReportChatReasonInputType;\n reportedUserId: string | number;\n};\n\n/** Request password reset input type */\nexport type RequestPasswordResetInputType = {\n email: string;\n};\n\nexport type RequirementInputType = {\n category: string;\n label: string;\n value: boolean;\n};\n\n/** Reset password input type */\nexport type ResetPasswordInputType = {\n confirmPassword: string;\n email: string;\n password: string;\n};\n\n/** Resource activity input type */\nexport type ResourceActivityInputType = {\n activity: ResourceViewEntryInputType;\n resourceId: string | number;\n resourceType: ResourceTypeEnum;\n};\n\n/** Resource image input type */\nexport type ResourceImageInputType = {\n active?: boolean | null | undefined;\n source?: string | null | undefined;\n title?: string | null | undefined;\n};\n\n/** Resource image upload input type */\nexport type ResourceImageUploadInputType = {\n source?: any;\n title?: string | null | undefined;\n};\n\n/** Resource type enum */\nexport type ResourceTypeEnum =\n | 'affiliate'\n | 'event'\n | 'partner'\n | 'school'\n | 'vendor';\n\n/** Resource view entry input type */\nexport type ResourceViewEntryInputType = {\n activityType: ActivityEnumType;\n location?: LocationGeoInputType | null | undefined;\n startDate?: string | null | undefined;\n startTime?: string | null | undefined;\n userAgent?: OsPlatformEnumType | null | undefined;\n userId?: string | null | undefined;\n};\n\n/** Resources by region options */\nexport type ResourcesByRegionOptions = {\n limit?: number | null | undefined;\n offset?: number | null | undefined;\n onlyClaimed?: boolean | null | undefined;\n};\n\n/** Reward enum */\nexport type RewardEnumType =\n | 'mystery_deluxe_box'\n | 'mystery_joy_box'\n | 'mystery_squeeze_box';\n\n/** School input type */\nexport type SchoolInputType = {\n active: boolean;\n contactDetails: ContactDetailsInputType;\n location: LocationInputType;\n logo?: ResourceImageInputType | null | undefined;\n logoUpload?: ResourceImageUploadInputType | null | undefined;\n name: string;\n region: string;\n socialMedia?: Array<SocialMediaInputType | null | undefined> | null | undefined;\n studentCount: number;\n termsAgreement: TermsAgreementInputType;\n};\n\n/** Social media enum type */\nexport type SocialMediaEnumType =\n | 'facebook'\n | 'instagram'\n | 'tiktok'\n | 'twitter'\n | 'website'\n | 'youtube';\n\n/** Social media input type */\nexport type SocialMediaInputType = {\n link: string;\n name: SocialMediaEnumType;\n};\n\n/** Stall type input type */\nexport type StallTypeInputType = {\n label: string;\n price: number;\n stallCapacity: number;\n};\n\n/** Subcategory input type */\nexport type SubcategoryInputType = {\n id: string;\n items?: Array<SubcategoryItemInputType | null | undefined> | null | undefined;\n name?: string | null | undefined;\n};\n\n/** Subcategory item input type */\nexport type SubcategoryItemInputType = {\n id?: string | null | undefined;\n name?: string | null | undefined;\n};\n\n/** Subscription status enum type */\nexport type SubscriptionStatusEnumType =\n | 'active'\n | 'cancelled'\n | 'inactive'\n | 'no_subscription'\n | 'past_due'\n | 'trialing';\n\n/** Terms agreement input type */\nexport type TermsAgreementInputType = {\n appBuildNumber: string;\n appId: string;\n appVersion: string;\n brand: string;\n deviceName: string;\n installationId: string;\n manufacturer: string;\n modelName: string;\n osName: string;\n osVersion: string;\n termVersion: string;\n timestamp: string;\n};\n\n/** Textarea content data input type */\nexport type TextareaContentDataInputType = {\n data: string;\n title?: string | null | undefined;\n};\n\n/** Unregistered vendor input type */\nexport type UnregisteredVendorInputType = {\n categoryIds: Array<string | null | undefined>;\n dateTime: Array<DateTimeInputType | null | undefined>;\n email?: string | null | undefined;\n inviterId: string | number;\n name: string;\n region: string;\n};\n\n/** User activity input type */\nexport type UserActivityInputType = {\n dateTime: DateTimeInputType;\n resourceId: string | number;\n};\n\n/** User input type */\nexport type UserInputType = {\n active: boolean;\n avatar?: ResourceImageInputType | null | undefined;\n avatarUpload?: ResourceImageUploadInputType | null | undefined;\n email: string;\n firstName: string;\n isTester: boolean;\n lastName: string;\n location?: LocationInputType | null | undefined;\n password?: string | null | undefined;\n platform?: OsPlatformEnumType | null | undefined;\n preferredRegion: string;\n termsAgreement?: TermsAgreementInputType | null | undefined;\n};\n\n/** User role enum type */\nexport type UserRoleEnumType =\n | 'admin'\n | 'affiliate'\n | 'customer'\n | 'event'\n | 'partner'\n | 'school'\n | 'super_admin'\n | 'vendor';\n\n/** Verify password reset token input type */\nexport type ValidateVerificationTokenInputType = {\n email: string;\n verificationToken: string;\n verificationType?: VerificationEnumType | null | undefined;\n};\n\n/** Vendor apply form price range input type */\nexport type VendorApplyFormPriceRangeInputType = {\n max: string;\n min: string;\n};\n\n/** Vendor apply form stall size input type */\nexport type VendorApplyFormStallSizeInputType = {\n depth: string;\n width: string;\n};\n\n/** Vendor attributes input type */\nexport type VendorAttributesInputType = {\n details?: string | null | undefined;\n isRequired: boolean;\n};\n\n/** Vendor availability input type */\nexport type VendorAvailabilityInputType = {\n corporate?: boolean | null | undefined;\n private?: boolean | null | undefined;\n school?: boolean | null | undefined;\n};\n\n/** Vendor calendar input type */\nexport type VendorCalendarInputType = {\n active?: boolean | null | undefined;\n calendarData?: Array<VendorLocationsInputType | null | undefined> | null | undefined;\n};\n\n/** Vendor compliance input type */\nexport type VendorComplianceInputType = {\n foodBeverageLicense?: boolean | null | undefined;\n liabilityInsurance?: boolean | null | undefined;\n};\n\n/** Vendor type enum */\nexport type VendorEnumType =\n | 'Shop'\n | 'Stallholder';\n\n/** Vendor info input type */\nexport type VendorInfoInputType = {\n compliance?: VendorComplianceInputType | null | undefined;\n documents?: Array<ResourceImageInputType | null | undefined> | null | undefined;\n documentsUpload?: Array<ResourceImageUploadInputType | null | undefined> | null | undefined;\n product: VendorProductInputType;\n requirements?: VendorRequirementsInputType | null | undefined;\n stallInfo: VendorStallInfoInputType;\n vendorId: string;\n};\n\n/** Vendor input type */\nexport type VendorInputType = {\n active: boolean;\n availability?: VendorAvailabilityInputType | null | undefined;\n calendar?: VendorCalendarInputType | null | undefined;\n categories: Array<CategoryInputType | null | undefined>;\n claimed?: boolean | null | undefined;\n contactDetails?: ContactDetailsInputType | null | undefined;\n cover: ResourceImageInputType;\n coverUpload?: ResourceImageUploadInputType | null | undefined;\n description: string;\n foodTruck: boolean;\n images?: Array<ResourceImageInputType | null | undefined> | null | undefined;\n imagesUpload?: Array<ResourceImageUploadInputType | null | undefined> | null | undefined;\n logo?: ResourceImageInputType | null | undefined;\n logoUpload?: ResourceImageUploadInputType | null | undefined;\n name: string;\n products?: VendorProductsInputType | null | undefined;\n promoCodes?: Array<string | null | undefined> | null | undefined;\n region: string;\n socialMedia?: Array<SocialMediaInputType | null | undefined> | null | undefined;\n termsAgreement: TermsAgreementInputType;\n unregisteredVendorId?: string | number | null | undefined;\n vendorType: VendorEnumType;\n};\n\n/** Vendor location date time input type */\nexport type VendorLocationDateTimeInputType = {\n dateStatus?: EventDateStatusEnumType | null | undefined;\n endDate?: string | null | undefined;\n endTime?: string | null | undefined;\n startDate?: string | null | undefined;\n startTime?: string | null | undefined;\n};\n\n/** Vendor locations input type */\nexport type VendorLocationsInputType = {\n dateTime?: VendorLocationDateTimeInputType | null | undefined;\n description?: string | null | undefined;\n location?: LocationInputType | null | undefined;\n resourceCover?: string | null | undefined;\n resourceId?: string | null | undefined;\n resourceLogo?: string | null | undefined;\n resourceName?: string | null | undefined;\n resourceType?: ResourceTypeEnum | null | undefined;\n};\n\n/** Vendor product input type */\nexport type VendorProductInputType = {\n foodFlavors: Array<FoodFlavorEnumType | null | undefined>;\n packaging: Array<string | null | undefined>;\n priceRange: VendorApplyFormPriceRangeInputType;\n producedIn?: Array<string | null | undefined> | null | undefined;\n};\n\n/** Vendor product list input type */\nexport type VendorProductListInputType = {\n description?: string | null | undefined;\n name: string;\n price: number;\n priceUnit: string;\n productGroups?: Array<string> | null | undefined;\n};\n\n/** Vendor products input type */\nexport type VendorProductsInputType = {\n active?: boolean | null | undefined;\n productsList?: Array<VendorProductListInputType | null | undefined> | null | undefined;\n};\n\n/** Vendor requirements input type */\nexport type VendorRequirementsInputType = {\n electricity: VendorAttributesInputType;\n gazebo: VendorAttributesInputType;\n table: VendorAttributesInputType;\n};\n\n/** Vendor stall info input type */\nexport type VendorStallInfoInputType = {\n size: VendorApplyFormStallSizeInputType;\n};\n\n/** Verification type enum */\nexport type VerificationEnumType =\n | 'register'\n | 'resetPassword';\n\n/** Video content data input type */\nexport type VideoContentDataInputType = {\n source: string;\n title?: string | null | undefined;\n};\n\nexport type AdFieldsFragment = { _id: string, active: boolean, clicks: number | null, createdAt: string, end: string, impressions: number | null, showOn: Array<AdShowOnEnum | null>, start: string, status: AdStatusTypeEnum, targetRegion: Array<string | null>, updatedAt: string, resource: { adDescription: string, adImage: string, adStyle: AdStyleEnum, adTitle: string, adType: AdTypeEnum, resourceId: string, resourceSlug: string, resourceName: string, resourceRegion: string, resourceType: ResourceTypeEnum } };\n\nexport type AffiliateBankAccountDetailsFieldsFragment = { accountHolderName: string, accountNumber: string };\n\nexport type AffiliateRewardFieldsFragment = { createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number };\n\nexport type AppSettingsFieldsFragment = { _id: string, appVersion: string, createdAt: string, isOfflineMode: boolean, key: string, minimumRedeemableAffiliatePoints: number, updatedAt: string };\n\nexport type CategoryFieldsFragment = { id: string, name: string, subcategories: Array<{ id: string, name: string | null, items: Array<{ id: string | null, name: string | null }> | null }> | null };\n\nexport type ChatMessageFieldsFragment = { _id: string, content: string, createdAt: string, replyToMessageId: string | null, senderId: string, updatedAt: string, replyPreview: { senderId: string, senderName: string, contentPreview: string } | null, likedBy: Array<{ userId: string, createdAt: string } | null> | null, seenBy: Array<{ userId: string, seenAt: string } | null> | null };\n\nexport type ChatParticipantFieldsFragment = { active: boolean, userAvatar: string | null, userEmail: string, userId: string, userName: string };\n\nexport type ChatReportFieldsFragment = { _id: string, chatId: string, createdAt: string, reportedUserId: string, reporterUserId: string, resolved: boolean, updatedAt: string | null, reason: { reasonType: ChatReportReasonEnum, details: string | null } };\n\nexport type ContactDetailsFieldsFragment = { email: string | null, landlinePhone: string | null, mobilePhone: string | null };\n\nexport type DateTimeFieldsFragment = { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string };\n\nexport type GameDateFieldsFragment = { startDate: string, endDate: string };\n\nexport type LicenceFieldsFragment = { expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null };\n\nexport type LocationGeoFieldsFragment = { coordinates: Array<number>, type: string };\n\nexport type NotificationFieldsFragment = { _id: string, userId: string, title: string | null, message: string | null, type: NotificationEnumType | null, isRead: boolean | null, createdAt: string | null, updatedAt: string | null, data: { resourceId: string | null, resourceName: string | null, resourceType: NotificationResourceEnumType | null } | null };\n\nexport type OwnerFieldsFragment = { email: string, userId: string };\n\nexport type PosterUsageFieldsFragment = { month: string, count: number };\n\nexport type PostResourceFieldsFragment = { resourceId: string, resourceSlug: string, resourceRegion: string, resourceType: ResourceTypeEnum };\n\nexport type PuzzleAnsweredQuestionFieldsFragment = { questionId: string, selectedAnswerId: string };\n\nexport type PuzzleAnswerFieldsFragment = { answer: string, answerId: string, correct: boolean };\n\nexport type RedeemedRewardFieldsFragment = { name: RewardEnumType, pointsUsed: number, redeemedAt: string };\n\nexport type RelatedPostFieldsFragment = { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum };\n\nexport type ResourceImageFieldsFragment = { active: boolean, source: string, title: string };\n\nexport type SchoolCampaignFieldsFragment = { endDate: string, name: string, startDate: string };\n\nexport type SocialMediaFieldsFragment = { name: SocialMediaEnumType, link: string };\n\nexport type StallTypeFieldsFragment = { label: string, price: number, stallCapacity: number };\n\nexport type StripeSubscriptionFieldsFragment = { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null };\n\nexport type TermsAgreementFieldsFragment = { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string };\n\nexport type VendorAttributesFieldsFragment = { details: string | null, isRequired: boolean };\n\nexport type VendorDateTimeFieldsFragment = { dateStatus: EventDateStatusEnumType | null, endDate: string | null, endTime: string | null, startDate: string | null, startTime: string | null };\n\nexport type VendorProductListFieldsFragment = { description: string | null, name: string, price: number, priceUnit: string, productGroups: Array<string> | null };\n\nexport type AffiliateResourceFieldsFragment = { resourceActive: boolean, resourceDeletedAt: string | null, resourceId: string, resourceName: string, resourceType: ResourceTypeEnum, resourceOwner: { email: string, userId: string }, rewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }> };\n\nexport type ChatFieldsFragment = { _id: string, active: boolean, chatDescription: string | null, chatName: string, chatType: ChatTypeEnum, createdAt: string, deletedAt: string | null, region: string | null, updatedAt: string, messages: Array<{ _id: string, content: string, createdAt: string, replyToMessageId: string | null, senderId: string, updatedAt: string, replyPreview: { senderId: string, senderName: string, contentPreview: string } | null, likedBy: Array<{ userId: string, createdAt: string } | null> | null, seenBy: Array<{ userId: string, seenAt: string } | null> | null } | null> | null, participants: Array<{ active: boolean, userAvatar: string | null, userEmail: string, userId: string, userName: string } | null> };\n\nexport type DailyClueBaseGameFieldsFragment = { gameSolution: string, gameDate: { startDate: string, endDate: string } };\n\nexport type EventInfoFieldsFragment = { _id: string, applicationDeadlineHours: number, eventId: string, packInTime: number, paymentDueHours: number, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallTypes: Array<{ label: string, price: number, stallCapacity: number }> }>, paymentInfo: Array<{ accountHolderName: string | null, accountNumber: string | null, link: string | null, paymentMethod: PaymentMethodEnumType }>, refundPolicy: Array<{ category: string, label: string, value: boolean }>, requirements: Array<{ category: string, label: string, value: boolean }> | null };\n\nexport type GameHistoryFieldsFragment = { createdAt: string, gameStatus: GameStatusEnumType, gameTitle: string, gameType: GameTypeEnumType, gameTypeId: string, overallGamePoints: number, pointsEarned: number, gameDate: { startDate: string, endDate: string } };\n\nexport type LocationFieldsFragment = { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } };\n\nexport type PuzzleQuestionFieldsFragment = { question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> };\n\nexport type RelationDatesFragment = { paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null };\n\nexport type ResourceActivityFieldsFragment = { resourceId: string, resourceType: ResourceTypeEnum, activity: Array<{ activityType: ActivityEnumType, dateStatus: EventDateStatusEnumType | null, startDate: string | null, startTime: string | null, timestamp: string | null, userAgent: OsPlatformEnumType | null, userId: string | null, location: { coordinates: Array<number>, type: string } | null } | null> | null };\n\nexport type SchoolRegisteredUsersFieldsFragment = { _id: string, active: boolean, email: string, firstName: string, lastName: string, avatar: { active: boolean, source: string, title: string } | null };\n\nexport type SocialShareResourceFieldsFragment = { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } };\n\nexport type UnregisteredVendorInvitationFieldsFragment = { inviterId: string, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }> };\n\nexport type UserActivityFieldsFragment = { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null };\n\nexport type VendorInfoFieldsFragment = { _id: string, vendorId: string, compliance: { foodBeverageLicense: boolean, liabilityInsurance: boolean } | null, documents: Array<{ active: boolean, source: string, title: string }> | null, requirements: { electricity: { details: string | null, isRequired: boolean }, gazebo: { details: string | null, isRequired: boolean }, table: { details: string | null, isRequired: boolean } } | null, product: { foodFlavors: Array<FoodFlavorEnumType>, packaging: Array<string> | null, producedIn: Array<string> | null, priceRange: { max: string, min: string } }, stallInfo: { size: { depth: string, width: string } } };\n\nexport type AffiliateDetailsFieldsFragment = { irdNumber: string, participantType: AffiliateParticipantTypeEnum, email: string, firstName: string, lastName: string, bankAccountDetails: { accountHolderName: string, accountNumber: string }, contactDetails: { mobilePhone: string }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } };\n\nexport type DailyClueGameDataFieldsFragment = { lastFoundDate: string | null, points: number, streak: number, gameFields: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, letterInfo: { collected: Array<string | null> | null, solutionShuffled: Array<string | null>, todaysClue: string | null, todaysLetter: string | null, todaysPlacement: string | null } };\n\nexport type EventFieldsFragment = { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, claimed: boolean, createdAt: string, description: string, deletedAt: string | null, googlePlaceId: string | null, eventType: EventEnumType, eventInfoId: string | null, name: string, nzbn: string, promoCodes: Array<string> | null, provider: string | null, region: string, rating: number | null, reviewCount: number | null, rainOrShine: boolean, slug: string, tags: Array<string>, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null };\n\nexport type EventListItemFieldsFragment = { _id: string, active: boolean, approvedAt: string | null, claimed: boolean, createdAt: string, deletedAt: string | null, description: string | null, eventType: EventEnumType, googlePlaceId: string | null, name: string, rainOrShine: boolean, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null };\n\nexport type PartnerFieldsFragment = { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, createdAt: string, description: string, deletedAt: string | null, name: string, nzbn: string, partnerType: PartnerEnumType, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null };\n\nexport type PuzzleBaseGameFieldsFragment = { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> };\n\nexport type RelationFieldsFragment = { _id: string, active: boolean, chatId: string, createdAt: string | null, lastUpdateBy: ResourceTypeEnum, eventId: string, relationType: RelationTypeEnum, vendorId: string, updatedAt: string | null, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> };\n\nexport type SchoolFieldsFragment = { _id: string, active: boolean, approvedAt: string | null, createdAt: string, deletedAt: string | null, name: string, overallPoints: number | null, ranking: number | null, region: string, studentCount: number, schoolCode: string, updatedAt: string, campaigns: Array<{ endDate: string, name: string, startDate: string }> | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } };\n\nexport type UnregisteredVendorFieldsFragment = { _id: string, active: boolean, categoryIds: Array<string>, claimed: boolean, createdAt: string, deletedAt: string | null, email: string | null, name: string, region: string, updatedAt: string, invitations: Array<{ inviterId: string, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }> }> };\n\nexport type UserFieldsFragment = { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null };\n\nexport type VendorFieldsFragment = { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, vendorInfoId: string | null, createdAt: string, claimed: boolean, description: string, deletedAt: string | null, foodTruck: boolean, name: string, promoCodes: Array<string> | null, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, vendorType: VendorEnumType, unregisteredVendorId: string | null, availability: { corporate: boolean, private: boolean, school: boolean } | null, categories: Array<{ id: string, name: string, subcategories: Array<{ id: string, name: string | null, items: Array<{ id: string | null, name: string | null }> | null }> | null }>, calendar: { active: boolean | null, calendarData: Array<{ description: string | null, dateTime: { dateStatus: EventDateStatusEnumType | null, endDate: string | null, endTime: string | null, startDate: string | null, startTime: string | null } | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null }> | null } | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, cover: { active: boolean, source: string, title: string }, images: Array<{ active: boolean, source: string, title: string }> | null, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, products: { active: boolean | null, productsList: Array<{ description: string | null, name: string, price: number, priceUnit: string, productGroups: Array<string> | null }> | null } | null, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null };\n\nexport type AffiliateFieldsFragment = { _id: string, active: boolean, affiliateCode: string | null, approvedAt: string | null, createdAt: string, deletedAt: string | null, overallPoints: number, updatedAt: string | null, affiliateBonusRewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }>, affiliateDetails: { irdNumber: string, participantType: AffiliateParticipantTypeEnum, email: string, firstName: string, lastName: string, bankAccountDetails: { accountHolderName: string, accountNumber: string }, contactDetails: { mobilePhone: string }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } } | null, affiliateResources: Array<{ resourceActive: boolean, resourceDeletedAt: string | null, resourceId: string, resourceName: string, resourceType: ResourceTypeEnum, resourceOwner: { email: string, userId: string }, rewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }> }>, redeemHistory: Array<{ paidAt: string | null, redeemedAt: string, rewardValue: number }>, owner: { email: string, userId: string } };\n\nexport type BaseGameFieldsFragment = { gameTypeId: string, gameTitle: string, gameType: GameTypeEnumType, dailyClue: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, miniQuiz: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, oddOneOut: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null };\n\nexport type PuzzleGameDataFieldsFragment = { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> };\n\nexport type GameDataFieldsFragment = { dailyClue: { lastFoundDate: string | null, points: number, streak: number, gameFields: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, letterInfo: { collected: Array<string | null> | null, solutionShuffled: Array<string | null>, todaysClue: string | null, todaysLetter: string | null, todaysPlacement: string | null } } | null, miniQuiz: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null, oddOneOut: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null };\n\nexport type PostContentDataFieldsFragment = { game: { gameTypeId: string, gameTitle: string, gameType: GameTypeEnumType, dailyClue: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, miniQuiz: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, oddOneOut: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null } | null, textarea: { title: string | null, data: string } | null, images: Array<{ active: boolean, source: string, title: string } | null> | null, video: { source: string, title: string | null } | null, list: { title: string | null, items: Array<{ text: string } | null> } | null };\n\nexport type GameFieldsFragment = { _id: string, active: boolean, createdAt: string, gameType: GameTypeEnumType, gameTypeId: string, gameTitle: string, updatedAt: string, gameData: { dailyClue: { lastFoundDate: string | null, points: number, streak: number, gameFields: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, letterInfo: { collected: Array<string | null> | null, solutionShuffled: Array<string | null>, todaysClue: string | null, todaysLetter: string | null, todaysPlacement: string | null } } | null, miniQuiz: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null, oddOneOut: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null } | null, gameHistory: Array<{ createdAt: string, gameStatus: GameStatusEnumType, gameTitle: string, gameType: GameTypeEnumType, gameTypeId: string, overallGamePoints: number, pointsEarned: number, gameDate: { startDate: string, endDate: string } } | null> | null };\n\nexport type PostContentFieldsFragment = { contentOrder: number, contentType: PostContentEnum, contentData: { game: { gameTypeId: string, gameTitle: string, gameType: GameTypeEnumType, dailyClue: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, miniQuiz: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, oddOneOut: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null } | null, textarea: { title: string | null, data: string } | null, images: Array<{ active: boolean, source: string, title: string } | null> | null, video: { source: string, title: string | null } | null, list: { title: string | null, items: Array<{ text: string } | null> } | null } | null };\n\nexport type GameDocFieldsFragment = { _id: string, active: boolean, createdAt: string, deletedAt: string | null, points: number, updatedAt: string, games: Array<{ _id: string, active: boolean, createdAt: string, gameType: GameTypeEnumType, gameTypeId: string, gameTitle: string, updatedAt: string, gameData: { dailyClue: { lastFoundDate: string | null, points: number, streak: number, gameFields: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, letterInfo: { collected: Array<string | null> | null, solutionShuffled: Array<string | null>, todaysClue: string | null, todaysLetter: string | null, todaysPlacement: string | null } } | null, miniQuiz: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null, oddOneOut: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null } | null, gameHistory: Array<{ createdAt: string, gameStatus: GameStatusEnumType, gameTitle: string, gameType: GameTypeEnumType, gameTypeId: string, overallGamePoints: number, pointsEarned: number, gameDate: { startDate: string, endDate: string } } | null> | null } | null> | null, owner: { email: string, userId: string } };\n\nexport type PostFieldsFragment = { _id: string, active: boolean, approvedAt: string | null, caption: string, createdAt: string, deletedAt: string | null, postType: PostTypeEnum, tags: Array<string | null> | null, title: string, slug: string, updatedAt: string, content: Array<{ contentOrder: number, contentType: PostContentEnum, contentData: { game: { gameTypeId: string, gameTitle: string, gameType: GameTypeEnumType, dailyClue: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, miniQuiz: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, oddOneOut: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null } | null, textarea: { title: string | null, data: string } | null, images: Array<{ active: boolean, source: string, title: string } | null> | null, video: { source: string, title: string | null } | null, list: { title: string | null, items: Array<{ text: string } | null> } | null } | null } | null>, cover: { active: boolean, source: string, title: string } | null, resource: { resourceId: string, resourceSlug: string, resourceRegion: string, resourceType: ResourceTypeEnum } | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null };\n\nexport type CreateAdMutationVariables = Exact<{\n input: AdInputType;\n}>;\n\n\nexport type CreateAdMutation = { createAd: { message: string | null, data: { _id: string, active: boolean, clicks: number | null, createdAt: string, end: string, impressions: number | null, showOn: Array<AdShowOnEnum | null>, start: string, status: AdStatusTypeEnum, targetRegion: Array<string | null>, updatedAt: string, resource: { adDescription: string, adImage: string, adStyle: AdStyleEnum, adTitle: string, adType: AdTypeEnum, resourceId: string, resourceSlug: string, resourceName: string, resourceRegion: string, resourceType: ResourceTypeEnum } } | null } | null };\n\nexport type UpdateAdMutationVariables = Exact<{\n _id: string | number;\n input: AdInputType;\n}>;\n\n\nexport type UpdateAdMutation = { updateAd: { message: string | null, data: { _id: string, active: boolean, clicks: number | null, createdAt: string, end: string, impressions: number | null, showOn: Array<AdShowOnEnum | null>, start: string, status: AdStatusTypeEnum, targetRegion: Array<string | null>, updatedAt: string, resource: { adDescription: string, adImage: string, adStyle: AdStyleEnum, adTitle: string, adType: AdTypeEnum, resourceId: string, resourceSlug: string, resourceName: string, resourceRegion: string, resourceType: ResourceTypeEnum } } | null } | null };\n\nexport type DeleteAdMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type DeleteAdMutation = { deleteAd: { data: boolean | null, message: string | null } | null };\n\nexport type AdminUpdateResourceTypeMutationVariables = Exact<{\n input: AdminUpdateResourceInputType;\n}>;\n\n\nexport type AdminUpdateResourceTypeMutation = { adminUpdateResourceType: { message: string | null, data: { active: boolean, resourceId: string, resourceType: ResourceTypeEnum } | null } | null };\n\nexport type AdminResendUserVerificationEmailMutationVariables = Exact<{\n userId: string | number;\n}>;\n\n\nexport type AdminResendUserVerificationEmailMutation = { adminResendUserVerificationEmail: { data: boolean | null, message: string | null } | null };\n\nexport type AdminPermanentlyDeleteResourceMutationVariables = Exact<{\n resourceId: string | number;\n resourceType: ResourceTypeEnum;\n}>;\n\n\nexport type AdminPermanentlyDeleteResourceMutation = { adminPermanentlyDeleteResource: { data: boolean | null, message: string | null } | null };\n\nexport type UpdateAffiliateDetailsMutationVariables = Exact<{\n input: AffiliateDetailsInputType;\n affiliateId: string | number;\n}>;\n\n\nexport type UpdateAffiliateDetailsMutation = { updateAffiliateDetails: { message: string | null, data: { _id: string, active: boolean, affiliateCode: string | null, approvedAt: string | null, createdAt: string, deletedAt: string | null, overallPoints: number, updatedAt: string | null, affiliateBonusRewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }>, affiliateDetails: { irdNumber: string, participantType: AffiliateParticipantTypeEnum, email: string, firstName: string, lastName: string, bankAccountDetails: { accountHolderName: string, accountNumber: string }, contactDetails: { mobilePhone: string }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } } | null, affiliateResources: Array<{ resourceActive: boolean, resourceDeletedAt: string | null, resourceId: string, resourceName: string, resourceType: ResourceTypeEnum, resourceOwner: { email: string, userId: string }, rewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }> }>, redeemHistory: Array<{ paidAt: string | null, redeemedAt: string, rewardValue: number }>, owner: { email: string, userId: string } } | null } | null };\n\nexport type DeleteAffiliateMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type DeleteAffiliateMutation = { deleteAffiliate: { data: boolean | null, message: string | null } | null };\n\nexport type RedeemAffiliateRewardMutationVariables = Exact<{\n affiliateId: string | number;\n}>;\n\n\nexport type RedeemAffiliateRewardMutation = { redeemAffiliateReward: { message: string | null, data: { _id: string, active: boolean, affiliateCode: string | null, approvedAt: string | null, createdAt: string, deletedAt: string | null, overallPoints: number, updatedAt: string | null, affiliateBonusRewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }>, affiliateDetails: { irdNumber: string, participantType: AffiliateParticipantTypeEnum, email: string, firstName: string, lastName: string, bankAccountDetails: { accountHolderName: string, accountNumber: string }, contactDetails: { mobilePhone: string }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } } | null, affiliateResources: Array<{ resourceActive: boolean, resourceDeletedAt: string | null, resourceId: string, resourceName: string, resourceType: ResourceTypeEnum, resourceOwner: { email: string, userId: string }, rewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }> }>, redeemHistory: Array<{ paidAt: string | null, redeemedAt: string, rewardValue: number }>, owner: { email: string, userId: string } } | null } | null };\n\nexport type AssignAffiliateResourceRewardMutationVariables = Exact<{\n affiliateId: string | number;\n resourceId: string | number;\n resourceType: ResourceTypeEnum;\n rewardType: AffiliateRewardEnumType;\n}>;\n\n\nexport type AssignAffiliateResourceRewardMutation = { assignAffiliateResourceReward: { message: string | null, data: { _id: string, active: boolean, affiliateCode: string | null, approvedAt: string | null, createdAt: string, deletedAt: string | null, overallPoints: number, updatedAt: string | null, affiliateBonusRewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }>, affiliateDetails: { irdNumber: string, participantType: AffiliateParticipantTypeEnum, email: string, firstName: string, lastName: string, bankAccountDetails: { accountHolderName: string, accountNumber: string }, contactDetails: { mobilePhone: string }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } } | null, affiliateResources: Array<{ resourceActive: boolean, resourceDeletedAt: string | null, resourceId: string, resourceName: string, resourceType: ResourceTypeEnum, resourceOwner: { email: string, userId: string }, rewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }> }>, redeemHistory: Array<{ paidAt: string | null, redeemedAt: string, rewardValue: number }>, owner: { email: string, userId: string } } | null } | null };\n\nexport type AssignAffiliateBonusRewardMutationVariables = Exact<{\n affiliateId: string | number;\n rewardType: AffiliateRewardEnumType;\n}>;\n\n\nexport type AssignAffiliateBonusRewardMutation = { assignAffiliateBonusReward: { message: string | null, data: { _id: string, active: boolean, affiliateCode: string | null, approvedAt: string | null, createdAt: string, deletedAt: string | null, overallPoints: number, updatedAt: string | null, affiliateBonusRewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }>, affiliateDetails: { irdNumber: string, participantType: AffiliateParticipantTypeEnum, email: string, firstName: string, lastName: string, bankAccountDetails: { accountHolderName: string, accountNumber: string }, contactDetails: { mobilePhone: string }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } } | null, affiliateResources: Array<{ resourceActive: boolean, resourceDeletedAt: string | null, resourceId: string, resourceName: string, resourceType: ResourceTypeEnum, resourceOwner: { email: string, userId: string }, rewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }> }>, redeemHistory: Array<{ paidAt: string | null, redeemedAt: string, rewardValue: number }>, owner: { email: string, userId: string } } | null } | null };\n\nexport type UpdateAppSettingsMutationVariables = Exact<{\n input: AppSettingsInputType;\n}>;\n\n\nexport type UpdateAppSettingsMutation = { updateAppSettings: { data: boolean | null, message: string | null } | null };\n\nexport type CrawlGoogleMarketsMutationVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type CrawlGoogleMarketsMutation = { crawlGoogleMarkets: { data: boolean | null, message: string | null } | null };\n\nexport type UpdateGoogleImportedMarketsMutationVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type UpdateGoogleImportedMarketsMutation = { updateGoogleImportedMarkets: { data: boolean | null, message: string | null } | null };\n\nexport type RegisterMutationVariables = Exact<{\n input: RegisterInputType;\n}>;\n\n\nexport type RegisterMutation = { register: { message: string | null, data: { refreshToken: string | null, token: string, user: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } } | null } | null };\n\nexport type LoginMutationVariables = Exact<{\n input: LoginInputType;\n}>;\n\n\nexport type LoginMutation = { login: { message: string | null, data: { refreshToken: string | null, token: string, user: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } } | null } | null };\n\nexport type LogoutMutationVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type LogoutMutation = { logout: { data: boolean | null, message: string | null } | null };\n\nexport type RefreshTokenMutationVariables = Exact<{\n input: RefreshTokenInputType;\n}>;\n\n\nexport type RefreshTokenMutation = { refreshToken: { message: string | null, data: { refreshToken: string, token: string } | null } | null };\n\nexport type ResetPasswordMutationVariables = Exact<{\n input: ResetPasswordInputType;\n}>;\n\n\nexport type ResetPasswordMutation = { resetPassword: { data: boolean | null, message: string | null } | null };\n\nexport type RequestPasswordResetMutationVariables = Exact<{\n input: RequestPasswordResetInputType;\n}>;\n\n\nexport type RequestPasswordResetMutation = { requestPasswordReset: { data: boolean | null, message: string | null } | null };\n\nexport type ValidateVerificationTokenMutationVariables = Exact<{\n input: ValidateVerificationTokenInputType;\n}>;\n\n\nexport type ValidateVerificationTokenMutation = { validateVerificationToken: { data: boolean | null, message: string | null } | null };\n\nexport type CreatePrivateChatMutationVariables = Exact<{\n userId: string | number;\n}>;\n\n\nexport type CreatePrivateChatMutation = { createPrivateChat: { message: string | null, data: { _id: string, active: boolean, chatDescription: string | null, chatName: string, chatType: ChatTypeEnum, createdAt: string, deletedAt: string | null, region: string | null, updatedAt: string, messages: Array<{ _id: string, content: string, createdAt: string, replyToMessageId: string | null, senderId: string, updatedAt: string, replyPreview: { senderId: string, senderName: string, contentPreview: string } | null, likedBy: Array<{ userId: string, createdAt: string } | null> | null, seenBy: Array<{ userId: string, seenAt: string } | null> | null } | null> | null, participants: Array<{ active: boolean, userAvatar: string | null, userEmail: string, userId: string, userName: string } | null> } | null } | null };\n\nexport type SendChatMessageMutationVariables = Exact<{\n _id: string | number;\n input: ChatMessageInputType;\n}>;\n\n\nexport type SendChatMessageMutation = { sendChatMessage: { message: string | null, data: { _id: string, active: boolean, chatDescription: string | null, chatName: string, chatType: ChatTypeEnum, createdAt: string, deletedAt: string | null, region: string | null, updatedAt: string, messages: Array<{ _id: string, content: string, createdAt: string, replyToMessageId: string | null, senderId: string, updatedAt: string, replyPreview: { senderId: string, senderName: string, contentPreview: string } | null, likedBy: Array<{ userId: string, createdAt: string } | null> | null, seenBy: Array<{ userId: string, seenAt: string } | null> | null } | null> | null, participants: Array<{ active: boolean, userAvatar: string | null, userEmail: string, userId: string, userName: string } | null> } | null } | null };\n\nexport type DeleteChatMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type DeleteChatMutation = { deleteChat: { data: boolean | null, message: string | null } | null };\n\nexport type AddParticipantToChatMutationVariables = Exact<{\n chatId: string | number;\n userId: string | number;\n}>;\n\n\nexport type AddParticipantToChatMutation = { addParticipantToChat: { message: string | null, data: { _id: string, active: boolean, chatDescription: string | null, chatName: string, chatType: ChatTypeEnum, createdAt: string, deletedAt: string | null, region: string | null, updatedAt: string, messages: Array<{ _id: string, content: string, createdAt: string, replyToMessageId: string | null, senderId: string, updatedAt: string, replyPreview: { senderId: string, senderName: string, contentPreview: string } | null, likedBy: Array<{ userId: string, createdAt: string } | null> | null, seenBy: Array<{ userId: string, seenAt: string } | null> | null } | null> | null, participants: Array<{ active: boolean, userAvatar: string | null, userEmail: string, userId: string, userName: string } | null> } | null } | null };\n\nexport type RemoveParticipantFromChatMutationVariables = Exact<{\n chatId: string | number;\n userId: string | number;\n}>;\n\n\nexport type RemoveParticipantFromChatMutation = { removeParticipantFromChat: { message: string | null, data: { success: boolean, region: string | null } | null } | null };\n\nexport type ToggleChatMessageLikeMutationVariables = Exact<{\n chatId: string | number;\n messageId: string | number;\n}>;\n\n\nexport type ToggleChatMessageLikeMutation = { toggleChatMessageLike: { message: string | null, data: { _id: string, active: boolean, chatDescription: string | null, chatName: string, chatType: ChatTypeEnum, createdAt: string, deletedAt: string | null, region: string | null, updatedAt: string, messages: Array<{ _id: string, content: string, createdAt: string, replyToMessageId: string | null, senderId: string, updatedAt: string, replyPreview: { senderId: string, senderName: string, contentPreview: string } | null, likedBy: Array<{ userId: string, createdAt: string } | null> | null, seenBy: Array<{ userId: string, seenAt: string } | null> | null } | null> | null, participants: Array<{ active: boolean, userAvatar: string | null, userEmail: string, userId: string, userName: string } | null> } | null } | null };\n\nexport type MarkChatMessagesSeenMutationVariables = Exact<{\n chatId: string | number;\n messageIds: Array<string | number> | string | number;\n}>;\n\n\nexport type MarkChatMessagesSeenMutation = { markChatMessagesSeen: { message: string | null, data: { _id: string, active: boolean, chatDescription: string | null, chatName: string, chatType: ChatTypeEnum, createdAt: string, deletedAt: string | null, region: string | null, updatedAt: string, messages: Array<{ _id: string, content: string, createdAt: string, replyToMessageId: string | null, senderId: string, updatedAt: string, replyPreview: { senderId: string, senderName: string, contentPreview: string } | null, likedBy: Array<{ userId: string, createdAt: string } | null> | null, seenBy: Array<{ userId: string, seenAt: string } | null> | null } | null> | null, participants: Array<{ active: boolean, userAvatar: string | null, userEmail: string, userId: string, userName: string } | null> } | null } | null };\n\nexport type ReportChatUserMutationVariables = Exact<{\n input: ReportChatUserInputType;\n}>;\n\n\nexport type ReportChatUserMutation = { reportChatUser: { message: string | null, data: { _id: string, chatId: string, createdAt: string, reportedUserId: string, reporterUserId: string, resolved: boolean, updatedAt: string | null, reason: { reasonType: ChatReportReasonEnum, details: string | null } } | null } | null };\n\nexport type ContactUsMutationVariables = Exact<{\n input: ContactUsInputType;\n}>;\n\n\nexport type ContactUsMutation = { contactUs: { data: boolean | null, message: string | null } | null };\n\nexport type CreateEventMutationVariables = Exact<{\n input: EventInputType;\n}>;\n\n\nexport type CreateEventMutation = { createEvent: { message: string | null, data: { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, claimed: boolean, createdAt: string, description: string, deletedAt: string | null, googlePlaceId: string | null, eventType: EventEnumType, eventInfoId: string | null, name: string, nzbn: string, promoCodes: Array<string> | null, provider: string | null, region: string, rating: number | null, reviewCount: number | null, rainOrShine: boolean, slug: string, tags: Array<string>, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null } | null };\n\nexport type UpdateEventMutationVariables = Exact<{\n _id: string | number;\n input: EventInputType;\n}>;\n\n\nexport type UpdateEventMutation = { updateEvent: { message: string | null, data: { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, claimed: boolean, createdAt: string, description: string, deletedAt: string | null, googlePlaceId: string | null, eventType: EventEnumType, eventInfoId: string | null, name: string, nzbn: string, promoCodes: Array<string> | null, provider: string | null, region: string, rating: number | null, reviewCount: number | null, rainOrShine: boolean, slug: string, tags: Array<string>, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null } | null };\n\nexport type DeleteEventMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type DeleteEventMutation = { deleteEvent: { data: boolean | null, message: string | null } | null };\n\nexport type CreateEventInfoMutationVariables = Exact<{\n input: EventInfoInputType;\n}>;\n\n\nexport type CreateEventInfoMutation = { createEventInfo: { message: string | null, data: { _id: string, applicationDeadlineHours: number, eventId: string, packInTime: number, paymentDueHours: number, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallTypes: Array<{ label: string, price: number, stallCapacity: number }> }>, paymentInfo: Array<{ accountHolderName: string | null, accountNumber: string | null, link: string | null, paymentMethod: PaymentMethodEnumType }>, refundPolicy: Array<{ category: string, label: string, value: boolean }>, requirements: Array<{ category: string, label: string, value: boolean }> | null } | null } | null };\n\nexport type UpdateEventInfoMutationVariables = Exact<{\n _id: string | number;\n input: EventInfoInputType;\n}>;\n\n\nexport type UpdateEventInfoMutation = { updateEventInfo: { message: string | null, data: { _id: string, applicationDeadlineHours: number, eventId: string, packInTime: number, paymentDueHours: number, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallTypes: Array<{ label: string, price: number, stallCapacity: number }> }>, paymentInfo: Array<{ accountHolderName: string | null, accountNumber: string | null, link: string | null, paymentMethod: PaymentMethodEnumType }>, refundPolicy: Array<{ category: string, label: string, value: boolean }>, requirements: Array<{ category: string, label: string, value: boolean }> | null } | null } | null };\n\nexport type StartGameMutationVariables = Exact<{\n input: BaseGameInputType;\n}>;\n\n\nexport type StartGameMutation = { startGame: { message: string | null, data: { _id: string, active: boolean, createdAt: string, deletedAt: string | null, points: number, updatedAt: string, games: Array<{ _id: string, active: boolean, createdAt: string, gameType: GameTypeEnumType, gameTypeId: string, gameTitle: string, updatedAt: string, gameData: { dailyClue: { lastFoundDate: string | null, points: number, streak: number, gameFields: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, letterInfo: { collected: Array<string | null> | null, solutionShuffled: Array<string | null>, todaysClue: string | null, todaysLetter: string | null, todaysPlacement: string | null } } | null, miniQuiz: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null, oddOneOut: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null } | null, gameHistory: Array<{ createdAt: string, gameStatus: GameStatusEnumType, gameTitle: string, gameType: GameTypeEnumType, gameTypeId: string, overallGamePoints: number, pointsEarned: number, gameDate: { startDate: string, endDate: string } } | null> | null } | null> | null, owner: { email: string, userId: string } } | null } | null };\n\nexport type LeaveGameMutationVariables = Exact<{\n _id: string | number;\n gameType: GameTypeEnumType;\n gameTypeId: string;\n}>;\n\n\nexport type LeaveGameMutation = { leaveGame: { data: boolean | null, message: string | null } | null };\n\nexport type UpdateDailyClueGameMutationVariables = Exact<{\n _id: string | number;\n foundLetter: string;\n gameType: GameTypeEnumType;\n gameTypeId: string;\n}>;\n\n\nexport type UpdateDailyClueGameMutation = { updateDailyClueGame: { message: string | null, data: { _id: string, active: boolean, createdAt: string, deletedAt: string | null, points: number, updatedAt: string, games: Array<{ _id: string, active: boolean, createdAt: string, gameType: GameTypeEnumType, gameTypeId: string, gameTitle: string, updatedAt: string, gameData: { dailyClue: { lastFoundDate: string | null, points: number, streak: number, gameFields: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, letterInfo: { collected: Array<string | null> | null, solutionShuffled: Array<string | null>, todaysClue: string | null, todaysLetter: string | null, todaysPlacement: string | null } } | null, miniQuiz: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null, oddOneOut: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null } | null, gameHistory: Array<{ createdAt: string, gameStatus: GameStatusEnumType, gameTitle: string, gameType: GameTypeEnumType, gameTypeId: string, overallGamePoints: number, pointsEarned: number, gameDate: { startDate: string, endDate: string } } | null> | null } | null> | null, owner: { email: string, userId: string } } | null } | null };\n\nexport type UpdatePuzzleGameMutationVariables = Exact<{\n _id: string | number;\n answeredQuestions: Array<PuzzleAnsweredQuestionInputType> | PuzzleAnsweredQuestionInputType;\n gameType: GameTypeEnumType;\n gameTypeId: string;\n}>;\n\n\nexport type UpdatePuzzleGameMutation = { updatePuzzleGame: { message: string | null, data: { _id: string, active: boolean, createdAt: string, deletedAt: string | null, points: number, updatedAt: string, games: Array<{ _id: string, active: boolean, createdAt: string, gameType: GameTypeEnumType, gameTypeId: string, gameTitle: string, updatedAt: string, gameData: { dailyClue: { lastFoundDate: string | null, points: number, streak: number, gameFields: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, letterInfo: { collected: Array<string | null> | null, solutionShuffled: Array<string | null>, todaysClue: string | null, todaysLetter: string | null, todaysPlacement: string | null } } | null, miniQuiz: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null, oddOneOut: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null } | null, gameHistory: Array<{ createdAt: string, gameStatus: GameStatusEnumType, gameTitle: string, gameType: GameTypeEnumType, gameTypeId: string, overallGamePoints: number, pointsEarned: number, gameDate: { startDate: string, endDate: string } } | null> | null } | null> | null, owner: { email: string, userId: string } } | null } | null };\n\nexport type CreateBulkNotificationsMutationVariables = Exact<{\n input: CreateBulkNotificationInput;\n}>;\n\n\nexport type CreateBulkNotificationsMutation = { createBulkNotifications: { data: boolean | null, message: string | null } | null };\n\nexport type MarkNotificationReadMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type MarkNotificationReadMutation = { markNotificationRead: { message: string | null, data: { _id: string, userId: string, title: string | null, message: string | null, type: NotificationEnumType | null, isRead: boolean | null, createdAt: string | null, updatedAt: string | null, data: { resourceId: string | null, resourceName: string | null, resourceType: NotificationResourceEnumType | null } | null } | null } | null };\n\nexport type MarkAllNotificationsReadMutationVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type MarkAllNotificationsReadMutation = { markAllNotificationsRead: { data: boolean | null, message: string | null } | null };\n\nexport type DeleteNotificationMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type DeleteNotificationMutation = { deleteNotification: { data: boolean | null, message: string | null } | null };\n\nexport type DeleteAllNotificationsMutationVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type DeleteAllNotificationsMutation = { deleteAllNotifications: { data: boolean | null, message: string | null } | null };\n\nexport type CreatePartnerMutationVariables = Exact<{\n input: PartnerInputType;\n}>;\n\n\nexport type CreatePartnerMutation = { createPartner: { message: string | null, data: { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, createdAt: string, description: string, deletedAt: string | null, name: string, nzbn: string, partnerType: PartnerEnumType, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null } | null };\n\nexport type UpdatePartnerMutationVariables = Exact<{\n _id: string | number;\n input: PartnerInputType;\n}>;\n\n\nexport type UpdatePartnerMutation = { updatePartner: { message: string | null, data: { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, createdAt: string, description: string, deletedAt: string | null, name: string, nzbn: string, partnerType: PartnerEnumType, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null } | null };\n\nexport type DeletePartnerMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type DeletePartnerMutation = { deletePartner: { data: boolean | null, message: string | null } | null };\n\nexport type CreatePostMutationVariables = Exact<{\n input: PostInputType;\n}>;\n\n\nexport type CreatePostMutation = { createPost: { message: string | null, data: { _id: string, active: boolean, approvedAt: string | null, caption: string, createdAt: string, deletedAt: string | null, postType: PostTypeEnum, tags: Array<string | null> | null, title: string, slug: string, updatedAt: string, content: Array<{ contentOrder: number, contentType: PostContentEnum, contentData: { game: { gameTypeId: string, gameTitle: string, gameType: GameTypeEnumType, dailyClue: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, miniQuiz: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, oddOneOut: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null } | null, textarea: { title: string | null, data: string } | null, images: Array<{ active: boolean, source: string, title: string } | null> | null, video: { source: string, title: string | null } | null, list: { title: string | null, items: Array<{ text: string } | null> } | null } | null } | null>, cover: { active: boolean, source: string, title: string } | null, resource: { resourceId: string, resourceSlug: string, resourceRegion: string, resourceType: ResourceTypeEnum } | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null } | null } | null };\n\nexport type UpdatePostMutationVariables = Exact<{\n _id: string | number;\n input: PostInputType;\n}>;\n\n\nexport type UpdatePostMutation = { updatePost: { message: string | null, data: { _id: string, active: boolean, approvedAt: string | null, caption: string, createdAt: string, deletedAt: string | null, postType: PostTypeEnum, tags: Array<string | null> | null, title: string, slug: string, updatedAt: string, content: Array<{ contentOrder: number, contentType: PostContentEnum, contentData: { game: { gameTypeId: string, gameTitle: string, gameType: GameTypeEnumType, dailyClue: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, miniQuiz: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, oddOneOut: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null } | null, textarea: { title: string | null, data: string } | null, images: Array<{ active: boolean, source: string, title: string } | null> | null, video: { source: string, title: string | null } | null, list: { title: string | null, items: Array<{ text: string } | null> } | null } | null } | null>, cover: { active: boolean, source: string, title: string } | null, resource: { resourceId: string, resourceSlug: string, resourceRegion: string, resourceType: ResourceTypeEnum } | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null } | null } | null };\n\nexport type DeletePostMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type DeletePostMutation = { deletePost: { data: boolean | null, message: string | null } | null };\n\nexport type CreatePosterMutationVariables = Exact<{\n input: PosterInputType;\n}>;\n\n\nexport type CreatePosterMutation = { createPoster: { message: string | null, data: { posterUsage: { month: string, count: number } | null } | null } | null };\n\nexport type CreatePushTokenMutationVariables = Exact<{\n input: PushTokenInput;\n}>;\n\n\nexport type CreatePushTokenMutation = { createPushToken: { message: string | null, data: { success: boolean } | null } | null };\n\nexport type GetAdsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetAdsQuery = { ads: Array<{ _id: string, active: boolean, clicks: number | null, createdAt: string, end: string, impressions: number | null, showOn: Array<AdShowOnEnum | null>, start: string, status: AdStatusTypeEnum, targetRegion: Array<string | null>, updatedAt: string, resource: { adDescription: string, adImage: string, adStyle: AdStyleEnum, adTitle: string, adType: AdTypeEnum, resourceId: string, resourceSlug: string, resourceName: string, resourceRegion: string, resourceType: ResourceTypeEnum } } | null> | null };\n\nexport type GetAdQueryVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type GetAdQuery = { ad: { _id: string, active: boolean, clicks: number | null, createdAt: string, end: string, impressions: number | null, showOn: Array<AdShowOnEnum | null>, start: string, status: AdStatusTypeEnum, targetRegion: Array<string | null>, updatedAt: string, resource: { adDescription: string, adImage: string, adStyle: AdStyleEnum, adTitle: string, adType: AdTypeEnum, resourceId: string, resourceSlug: string, resourceName: string, resourceRegion: string, resourceType: ResourceTypeEnum } } | null };\n\nexport type GetAdsByRegionQueryVariables = Exact<{\n region: string;\n status?: AdStatusTypeEnum | null | undefined;\n}>;\n\n\nexport type GetAdsByRegionQuery = { adsByRegion: Array<{ _id: string, active: boolean, clicks: number | null, createdAt: string, end: string, impressions: number | null, showOn: Array<AdShowOnEnum | null>, start: string, status: AdStatusTypeEnum, targetRegion: Array<string | null>, updatedAt: string, resource: { adDescription: string, adImage: string, adStyle: AdStyleEnum, adTitle: string, adType: AdTypeEnum, resourceId: string, resourceSlug: string, resourceName: string, resourceRegion: string, resourceType: ResourceTypeEnum } } | null> | null };\n\nexport type GetAffiliateQueryVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type GetAffiliateQuery = { affiliate: { _id: string, active: boolean, affiliateCode: string | null, approvedAt: string | null, createdAt: string, deletedAt: string | null, overallPoints: number, updatedAt: string | null, affiliateBonusRewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }>, affiliateDetails: { irdNumber: string, participantType: AffiliateParticipantTypeEnum, email: string, firstName: string, lastName: string, bankAccountDetails: { accountHolderName: string, accountNumber: string }, contactDetails: { mobilePhone: string }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } } | null, affiliateResources: Array<{ resourceActive: boolean, resourceDeletedAt: string | null, resourceId: string, resourceName: string, resourceType: ResourceTypeEnum, resourceOwner: { email: string, userId: string }, rewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }> }>, redeemHistory: Array<{ paidAt: string | null, redeemedAt: string, rewardValue: number }>, owner: { email: string, userId: string } } | null };\n\nexport type GetAffiliatesQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetAffiliatesQuery = { affiliates: Array<{ _id: string, active: boolean, affiliateCode: string | null, approvedAt: string | null, createdAt: string, deletedAt: string | null, overallPoints: number, updatedAt: string | null, affiliateBonusRewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }>, affiliateDetails: { irdNumber: string, participantType: AffiliateParticipantTypeEnum, email: string, firstName: string, lastName: string, bankAccountDetails: { accountHolderName: string, accountNumber: string }, contactDetails: { mobilePhone: string }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } } | null, affiliateResources: Array<{ resourceActive: boolean, resourceDeletedAt: string | null, resourceId: string, resourceName: string, resourceType: ResourceTypeEnum, resourceOwner: { email: string, userId: string }, rewards: Array<{ createdAt: string, redeemedAt: string | null, rewardDescription: string, rewardType: AffiliateRewardEnumType, rewardValue: number }> }>, redeemHistory: Array<{ paidAt: string | null, redeemedAt: string, rewardValue: number }>, owner: { email: string, userId: string } }> | null };\n\nexport type GetAppSettingsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetAppSettingsQuery = { appSettings: { _id: string, appVersion: string, createdAt: string, isOfflineMode: boolean, key: string, minimumRedeemableAffiliatePoints: number, updatedAt: string } };\n\nexport type ChatQueryVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type ChatQuery = { chat: { _id: string, active: boolean, chatDescription: string | null, chatName: string, chatType: ChatTypeEnum, createdAt: string, deletedAt: string | null, region: string | null, updatedAt: string, messages: Array<{ _id: string, content: string, createdAt: string, replyToMessageId: string | null, senderId: string, updatedAt: string, replyPreview: { senderId: string, senderName: string, contentPreview: string } | null, likedBy: Array<{ userId: string, createdAt: string } | null> | null, seenBy: Array<{ userId: string, seenAt: string } | null> | null } | null> | null, participants: Array<{ active: boolean, userAvatar: string | null, userEmail: string, userId: string, userName: string } | null> } | null };\n\nexport type UserChatsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type UserChatsQuery = { userChats: Array<{ _id: string, active: boolean, chatDescription: string | null, chatName: string, chatType: ChatTypeEnum, createdAt: string, deletedAt: string | null, region: string | null, updatedAt: string, messages: Array<{ _id: string, content: string, createdAt: string, replyToMessageId: string | null, senderId: string, updatedAt: string, replyPreview: { senderId: string, senderName: string, contentPreview: string } | null, likedBy: Array<{ userId: string, createdAt: string } | null> | null, seenBy: Array<{ userId: string, seenAt: string } | null> | null } | null> | null, participants: Array<{ active: boolean, userAvatar: string | null, userEmail: string, userId: string, userName: string } | null> }> | null };\n\nexport type GetChatsByRegionQueryVariables = Exact<{\n region: string;\n}>;\n\n\nexport type GetChatsByRegionQuery = { chatsByRegion: Array<{ _id: string, active: boolean, chatDescription: string | null, chatName: string, chatType: ChatTypeEnum, createdAt: string, deletedAt: string | null, region: string | null, updatedAt: string, messages: Array<{ _id: string, content: string, createdAt: string, replyToMessageId: string | null, senderId: string, updatedAt: string, replyPreview: { senderId: string, senderName: string, contentPreview: string } | null, likedBy: Array<{ userId: string, createdAt: string } | null> | null, seenBy: Array<{ userId: string, seenAt: string } | null> | null } | null> | null, participants: Array<{ active: boolean, userAvatar: string | null, userEmail: string, userId: string, userName: string } | null> }> | null };\n\nexport type GetEventsQueryVariables = Exact<{\n dateStatus?: EventDateStatusEnumType | null | undefined;\n}>;\n\n\nexport type GetEventsQuery = { events: Array<{ _id: string, active: boolean, approvedAt: string | null, claimed: boolean, createdAt: string, deletedAt: string | null, description: string | null, eventType: EventEnumType, googlePlaceId: string | null, name: string, rainOrShine: boolean, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null }> | null };\n\nexport type GetEventQueryVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type GetEventQuery = { event: { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, claimed: boolean, createdAt: string, description: string, deletedAt: string | null, googlePlaceId: string | null, eventType: EventEnumType, eventInfoId: string | null, name: string, nzbn: string, promoCodes: Array<string> | null, provider: string | null, region: string, rating: number | null, reviewCount: number | null, rainOrShine: boolean, slug: string, tags: Array<string>, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null };\n\nexport type GetEventByPlaceIdQueryVariables = Exact<{\n googlePlaceId: string;\n}>;\n\n\nexport type GetEventByPlaceIdQuery = { eventByPlaceId: { _id: string, active: boolean, approvedAt: string | null, claimed: boolean, createdAt: string, deletedAt: string | null, description: string | null, eventType: EventEnumType, googlePlaceId: string | null, name: string, rainOrShine: boolean, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null } | null };\n\nexport type GetEventsByRegionQueryVariables = Exact<{\n region: string;\n options?: ResourcesByRegionOptions | null | undefined;\n dateStatus?: EventDateStatusEnumType | null | undefined;\n}>;\n\n\nexport type GetEventsByRegionQuery = { eventsByRegion: Array<{ _id: string, active: boolean, approvedAt: string | null, claimed: boolean, createdAt: string, deletedAt: string | null, description: string | null, eventType: EventEnumType, googlePlaceId: string | null, name: string, rainOrShine: boolean, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null }> | null };\n\nexport type SearchEventsQueryVariables = Exact<{\n region: string;\n search?: string | null | undefined;\n tags?: Array<string | null | undefined> | string | null | undefined;\n dateStatus?: EventDateStatusEnumType | null | undefined;\n}>;\n\n\nexport type SearchEventsQuery = { eventsSearch: Array<{ _id: string, active: boolean, approvedAt: string | null, claimed: boolean, createdAt: string, deletedAt: string | null, description: string | null, eventType: EventEnumType, googlePlaceId: string | null, name: string, rainOrShine: boolean, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null }> | null };\n\nexport type GetEventsNearMeQueryVariables = Exact<{\n latitude: number;\n longitude: number;\n radius?: number | null | undefined;\n dateStatus?: EventDateStatusEnumType | null | undefined;\n}>;\n\n\nexport type GetEventsNearMeQuery = { eventsNearMe: Array<{ _id: string, active: boolean, approvedAt: string | null, claimed: boolean, createdAt: string, deletedAt: string | null, description: string | null, eventType: EventEnumType, googlePlaceId: string | null, name: string, rainOrShine: boolean, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null }> | null };\n\nexport type GetEventInfoQueryVariables = Exact<{\n eventId: string | number;\n}>;\n\n\nexport type GetEventInfoQuery = { eventInfo: { _id: string, applicationDeadlineHours: number, eventId: string, packInTime: number, paymentDueHours: number, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallTypes: Array<{ label: string, price: number, stallCapacity: number }> }>, paymentInfo: Array<{ accountHolderName: string | null, accountNumber: string | null, link: string | null, paymentMethod: PaymentMethodEnumType }>, refundPolicy: Array<{ category: string, label: string, value: boolean }>, requirements: Array<{ category: string, label: string, value: boolean }> | null } | null };\n\nexport type GetGamesQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetGamesQuery = { games: Array<{ _id: string, active: boolean, createdAt: string, deletedAt: string | null, points: number, updatedAt: string, games: Array<{ _id: string, active: boolean, createdAt: string, gameType: GameTypeEnumType, gameTypeId: string, gameTitle: string, updatedAt: string, gameData: { dailyClue: { lastFoundDate: string | null, points: number, streak: number, gameFields: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, letterInfo: { collected: Array<string | null> | null, solutionShuffled: Array<string | null>, todaysClue: string | null, todaysLetter: string | null, todaysPlacement: string | null } } | null, miniQuiz: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null, oddOneOut: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null } | null, gameHistory: Array<{ createdAt: string, gameStatus: GameStatusEnumType, gameTitle: string, gameType: GameTypeEnumType, gameTypeId: string, overallGamePoints: number, pointsEarned: number, gameDate: { startDate: string, endDate: string } } | null> | null } | null> | null, owner: { email: string, userId: string } }> | null };\n\nexport type GetGameQueryVariables = Exact<{\n _id?: string | number | null | undefined;\n}>;\n\n\nexport type GetGameQuery = { game: { _id: string, active: boolean, createdAt: string, deletedAt: string | null, points: number, updatedAt: string, games: Array<{ _id: string, active: boolean, createdAt: string, gameType: GameTypeEnumType, gameTypeId: string, gameTitle: string, updatedAt: string, gameData: { dailyClue: { lastFoundDate: string | null, points: number, streak: number, gameFields: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, letterInfo: { collected: Array<string | null> | null, solutionShuffled: Array<string | null>, todaysClue: string | null, todaysLetter: string | null, todaysPlacement: string | null } } | null, miniQuiz: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null, oddOneOut: { points: number, streak: number, gameFields: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, answeredQuestions: Array<{ questionId: string, selectedAnswerId: string }> } | null } | null, gameHistory: Array<{ createdAt: string, gameStatus: GameStatusEnumType, gameTitle: string, gameType: GameTypeEnumType, gameTypeId: string, overallGamePoints: number, pointsEarned: number, gameDate: { startDate: string, endDate: string } } | null> | null } | null> | null, owner: { email: string, userId: string } } | null };\n\nexport type GetGameLeaderboardQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetGameLeaderboardQuery = { gameLeaderboard: Array<{ overallPoints: number, gameHistory: Array<{ createdAt: string, gameStatus: GameStatusEnumType, gameTitle: string, gameType: GameTypeEnumType, gameTypeId: string, overallGamePoints: number, pointsEarned: number, gameDate: { startDate: string, endDate: string } } | null> | null, owner: { email: string, userId: string } } | null> | null };\n\nexport type GetUserNotificationsQueryVariables = Exact<{\n limit?: number | null | undefined;\n offset?: number | null | undefined;\n}>;\n\n\nexport type GetUserNotificationsQuery = { userNotifications: Array<{ _id: string, userId: string, title: string | null, message: string | null, type: NotificationEnumType | null, isRead: boolean | null, createdAt: string | null, updatedAt: string | null, data: { resourceId: string | null, resourceName: string | null, resourceType: NotificationResourceEnumType | null } | null } | null> | null };\n\nexport type GetNotificationCountQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetNotificationCountQuery = { notificationCount: { total: number | null, unread: number | null } | null };\n\nexport type GetPartnersQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetPartnersQuery = { partners: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, createdAt: string, description: string, deletedAt: string | null, name: string, nzbn: string, partnerType: PartnerEnumType, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null }> | null };\n\nexport type GetPartnerQueryVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type GetPartnerQuery = { partner: { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, createdAt: string, description: string, deletedAt: string | null, name: string, nzbn: string, partnerType: PartnerEnumType, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null };\n\nexport type GetPartnersByRegionQueryVariables = Exact<{\n region: string;\n options?: ResourcesByRegionOptions | null | undefined;\n}>;\n\n\nexport type GetPartnersByRegionQuery = { partnersByRegion: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, createdAt: string, description: string, deletedAt: string | null, name: string, nzbn: string, partnerType: PartnerEnumType, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null }> | null };\n\nexport type SearchPartnersQueryVariables = Exact<{\n search: string;\n region: string;\n}>;\n\n\nexport type SearchPartnersQuery = { partnersSearch: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, createdAt: string, description: string, deletedAt: string | null, name: string, nzbn: string, partnerType: PartnerEnumType, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null }> | null };\n\nexport type GetPostsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetPostsQuery = { posts: Array<{ _id: string, active: boolean, approvedAt: string | null, caption: string, createdAt: string, deletedAt: string | null, postType: PostTypeEnum, tags: Array<string | null> | null, title: string, slug: string, updatedAt: string, content: Array<{ contentOrder: number, contentType: PostContentEnum, contentData: { game: { gameTypeId: string, gameTitle: string, gameType: GameTypeEnumType, dailyClue: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, miniQuiz: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, oddOneOut: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null } | null, textarea: { title: string | null, data: string } | null, images: Array<{ active: boolean, source: string, title: string } | null> | null, video: { source: string, title: string | null } | null, list: { title: string | null, items: Array<{ text: string } | null> } | null } | null } | null>, cover: { active: boolean, source: string, title: string } | null, resource: { resourceId: string, resourceSlug: string, resourceRegion: string, resourceType: ResourceTypeEnum } | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null }> | null };\n\nexport type GetPostQueryVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type GetPostQuery = { post: { _id: string, active: boolean, approvedAt: string | null, caption: string, createdAt: string, deletedAt: string | null, postType: PostTypeEnum, tags: Array<string | null> | null, title: string, slug: string, updatedAt: string, content: Array<{ contentOrder: number, contentType: PostContentEnum, contentData: { game: { gameTypeId: string, gameTitle: string, gameType: GameTypeEnumType, dailyClue: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, miniQuiz: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, oddOneOut: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null } | null, textarea: { title: string | null, data: string } | null, images: Array<{ active: boolean, source: string, title: string } | null> | null, video: { source: string, title: string | null } | null, list: { title: string | null, items: Array<{ text: string } | null> } | null } | null } | null>, cover: { active: boolean, source: string, title: string } | null, resource: { resourceId: string, resourceSlug: string, resourceRegion: string, resourceType: ResourceTypeEnum } | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null } | null };\n\nexport type GetPostsByTypeQueryVariables = Exact<{\n postType: PostTypeEnum;\n}>;\n\n\nexport type GetPostsByTypeQuery = { postsByType: Array<{ _id: string, active: boolean, approvedAt: string | null, caption: string, createdAt: string, deletedAt: string | null, postType: PostTypeEnum, tags: Array<string | null> | null, title: string, slug: string, updatedAt: string, content: Array<{ contentOrder: number, contentType: PostContentEnum, contentData: { game: { gameTypeId: string, gameTitle: string, gameType: GameTypeEnumType, dailyClue: { gameSolution: string, gameDate: { startDate: string, endDate: string } } | null, miniQuiz: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null, oddOneOut: { questions: Array<{ question: string, questionId: string, answers: Array<{ answer: string, answerId: string, correct: boolean }> }> } | null } | null, textarea: { title: string | null, data: string } | null, images: Array<{ active: boolean, source: string, title: string } | null> | null, video: { source: string, title: string | null } | null, list: { title: string | null, items: Array<{ text: string } | null> } | null } | null } | null>, cover: { active: boolean, source: string, title: string } | null, resource: { resourceId: string, resourceSlug: string, resourceRegion: string, resourceType: ResourceTypeEnum } | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null }> | null };\n\nexport type GetRelationQueryVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type GetRelationQuery = { relation: { _id: string, active: boolean, chatId: string, createdAt: string | null, lastUpdateBy: ResourceTypeEnum, eventId: string, relationType: RelationTypeEnum, vendorId: string, updatedAt: string | null, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> } | null };\n\nexport type GetRelationByEventAndVendorQueryVariables = Exact<{\n eventId: string | number;\n vendorId: string | number;\n}>;\n\n\nexport type GetRelationByEventAndVendorQuery = { relationByEventAndVendor: { _id: string, active: boolean, chatId: string, createdAt: string | null, lastUpdateBy: ResourceTypeEnum, eventId: string, relationType: RelationTypeEnum, vendorId: string, updatedAt: string | null, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> } | null };\n\nexport type GetEventRelationsQueryVariables = Exact<{\n eventId: string | number;\n}>;\n\n\nexport type GetEventRelationsQuery = { eventRelations: Array<{ _id: string, active: boolean, chatId: string, createdAt: string | null, lastUpdateBy: ResourceTypeEnum, eventId: string, relationType: RelationTypeEnum, vendorId: string, updatedAt: string | null, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> } | null> | null };\n\nexport type GetVendorRelationsQueryVariables = Exact<{\n vendorId: string | number;\n}>;\n\n\nexport type GetVendorRelationsQuery = { vendorRelations: Array<{ _id: string, active: boolean, chatId: string, createdAt: string | null, lastUpdateBy: ResourceTypeEnum, eventId: string, relationType: RelationTypeEnum, vendorId: string, updatedAt: string | null, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> } | null> | null };\n\nexport type GetResourceConnectionsQueryVariables = Exact<{\n resourceId: string | number;\n resourceType: ResourceTypeEnum;\n}>;\n\n\nexport type GetResourceConnectionsQuery = { resourceConnections: { events: Array<{ _id: string, active: boolean, approvedAt: string | null, claimed: boolean, createdAt: string, deletedAt: string | null, description: string | null, eventType: EventEnumType, googlePlaceId: string | null, name: string, rainOrShine: boolean, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null } | null> | null, vendors: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, vendorInfoId: string | null, createdAt: string, claimed: boolean, description: string, deletedAt: string | null, foodTruck: boolean, name: string, promoCodes: Array<string> | null, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, vendorType: VendorEnumType, unregisteredVendorId: string | null, availability: { corporate: boolean, private: boolean, school: boolean } | null, categories: Array<{ id: string, name: string, subcategories: Array<{ id: string, name: string | null, items: Array<{ id: string | null, name: string | null }> | null }> | null }>, calendar: { active: boolean | null, calendarData: Array<{ description: string | null, dateTime: { dateStatus: EventDateStatusEnumType | null, endDate: string | null, endTime: string | null, startDate: string | null, startTime: string | null } | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null }> | null } | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, cover: { active: boolean, source: string, title: string }, images: Array<{ active: boolean, source: string, title: string }> | null, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, products: { active: boolean | null, productsList: Array<{ description: string | null, name: string, price: number, priceUnit: string, productGroups: Array<string> | null }> | null } | null, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null> | null } | null };\n\nexport type GetResourceActivityQueryVariables = Exact<{\n resourceType: ResourceTypeEnum;\n resourceId: string | number;\n}>;\n\n\nexport type GetResourceActivityQuery = { resourceActivity: { resourceId: string, resourceType: ResourceTypeEnum, activity: Array<{ activityType: ActivityEnumType, dateStatus: EventDateStatusEnumType | null, startDate: string | null, startTime: string | null, timestamp: string | null, userAgent: OsPlatformEnumType | null, userId: string | null, location: { coordinates: Array<number>, type: string } | null } | null> | null } | null };\n\nexport type GetSchoolQueryVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type GetSchoolQuery = { school: { school: { _id: string, active: boolean, approvedAt: string | null, createdAt: string, deletedAt: string | null, name: string, overallPoints: number | null, ranking: number | null, region: string, studentCount: number, schoolCode: string, updatedAt: string, campaigns: Array<{ endDate: string, name: string, startDate: string }> | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } }, users: Array<{ _id: string, active: boolean, email: string, firstName: string, lastName: string, avatar: { active: boolean, source: string, title: string } | null }> | null } | null };\n\nexport type GetSchoolsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetSchoolsQuery = { schools: Array<{ _id: string, active: boolean, approvedAt: string | null, createdAt: string, deletedAt: string | null, name: string, overallPoints: number | null, ranking: number | null, region: string, studentCount: number, schoolCode: string, updatedAt: string, campaigns: Array<{ endDate: string, name: string, startDate: string }> | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } }> | null };\n\nexport type GetEventBySlugQueryVariables = Exact<{\n slug: string;\n}>;\n\n\nexport type GetEventBySlugQuery = { eventBySlug: { _id: string } | null };\n\nexport type GetVendorBySlugQueryVariables = Exact<{\n slug: string;\n}>;\n\n\nexport type GetVendorBySlugQuery = { vendorBySlug: { _id: string } | null };\n\nexport type GetPartnerBySlugQueryVariables = Exact<{\n slug: string;\n}>;\n\n\nexport type GetPartnerBySlugQuery = { partnerBySlug: { _id: string } | null };\n\nexport type GetPostBySlugQueryVariables = Exact<{\n slug: string;\n postType: PostTypeEnum;\n}>;\n\n\nexport type GetPostBySlugQuery = { postBySlug: { _id: string } | null };\n\nexport type GetSubscriptionStatusQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetSubscriptionStatusQuery = { getSubscriptionStatus: { subscriptionId: string | null, status: SubscriptionStatusEnumType | null, priceId: string | null, currentPlan: LicencesEnumType | null } };\n\nexport type GetSubscriptionPlansQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetSubscriptionPlansQuery = { getSubscriptionPlans: { isNewUser: boolean, isTester: boolean, appliedDiscountType: string, plans: Array<{ name: string, description: string | null, licenceType: LicencesEnumType, billingPeriod: BillingPeriodEnumType, stripeProductId: string, stripePriceId: string, isEligibleForDiscount: boolean, pricing: { basePrice: number, discountedPrice: number | null, hasDiscount: boolean, discountPercent: number | null, discountAmount: number | null, currency: string, formattedBasePrice: string, formattedDiscountedPrice: string | null } }> } };\n\nexport type GetUsersQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetUsersQuery = { users: Array<{ _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null }> | null };\n\nexport type GetUserQueryVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type GetUserQuery = { user: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } | null };\n\nexport type GetUserEventsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetUserEventsQuery = { userEvents: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, claimed: boolean, createdAt: string, description: string, deletedAt: string | null, googlePlaceId: string | null, eventType: EventEnumType, eventInfoId: string | null, name: string, nzbn: string, promoCodes: Array<string> | null, provider: string | null, region: string, rating: number | null, reviewCount: number | null, rainOrShine: boolean, slug: string, tags: Array<string>, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null> };\n\nexport type GetUserVendorsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetUserVendorsQuery = { userVendors: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, vendorInfoId: string | null, createdAt: string, claimed: boolean, description: string, deletedAt: string | null, foodTruck: boolean, name: string, promoCodes: Array<string> | null, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, vendorType: VendorEnumType, unregisteredVendorId: string | null, availability: { corporate: boolean, private: boolean, school: boolean } | null, categories: Array<{ id: string, name: string, subcategories: Array<{ id: string, name: string | null, items: Array<{ id: string | null, name: string | null }> | null }> | null }>, calendar: { active: boolean | null, calendarData: Array<{ description: string | null, dateTime: { dateStatus: EventDateStatusEnumType | null, endDate: string | null, endTime: string | null, startDate: string | null, startTime: string | null } | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null }> | null } | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, cover: { active: boolean, source: string, title: string }, images: Array<{ active: boolean, source: string, title: string }> | null, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, products: { active: boolean | null, productsList: Array<{ description: string | null, name: string, price: number, priceUnit: string, productGroups: Array<string> | null }> | null } | null, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null> };\n\nexport type GetUserPartnersQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetUserPartnersQuery = { userPartners: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, createdAt: string, description: string, deletedAt: string | null, name: string, nzbn: string, partnerType: PartnerEnumType, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null> };\n\nexport type GetUserActivitiesQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetUserActivitiesQuery = { userActivities: { favourites: { events: Array<{ _id: string, active: boolean, approvedAt: string | null, claimed: boolean, createdAt: string, deletedAt: string | null, description: string | null, eventType: EventEnumType, googlePlaceId: string | null, name: string, rainOrShine: boolean, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null } | null> | null, partners: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, createdAt: string, description: string, deletedAt: string | null, name: string, nzbn: string, partnerType: PartnerEnumType, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string }, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null> | null, vendors: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, vendorInfoId: string | null, createdAt: string, claimed: boolean, description: string, deletedAt: string | null, foodTruck: boolean, name: string, promoCodes: Array<string> | null, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, vendorType: VendorEnumType, unregisteredVendorId: string | null, availability: { corporate: boolean, private: boolean, school: boolean } | null, categories: Array<{ id: string, name: string, subcategories: Array<{ id: string, name: string | null, items: Array<{ id: string | null, name: string | null }> | null }> | null }>, calendar: { active: boolean | null, calendarData: Array<{ description: string | null, dateTime: { dateStatus: EventDateStatusEnumType | null, endDate: string | null, endTime: string | null, startDate: string | null, startTime: string | null } | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null }> | null } | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, cover: { active: boolean, source: string, title: string }, images: Array<{ active: boolean, source: string, title: string }> | null, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, products: { active: boolean | null, productsList: Array<{ description: string | null, name: string, price: number, priceUnit: string, productGroups: Array<string> | null }> | null } | null, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null> | null } | null, going: { events: Array<{ _id: string, active: boolean, approvedAt: string | null, claimed: boolean, createdAt: string, deletedAt: string | null, description: string | null, eventType: EventEnumType, googlePlaceId: string | null, name: string, rainOrShine: boolean, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null } | null> | null } | null, interested: { events: Array<{ _id: string, active: boolean, approvedAt: string | null, claimed: boolean, createdAt: string, deletedAt: string | null, description: string | null, eventType: EventEnumType, googlePlaceId: string | null, name: string, rainOrShine: boolean, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null } | null> | null } | null, present: { events: Array<{ _id: string, active: boolean, approvedAt: string | null, claimed: boolean, createdAt: string, deletedAt: string | null, description: string | null, eventType: EventEnumType, googlePlaceId: string | null, name: string, rainOrShine: boolean, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, cover: { active: boolean, source: string, title: string } | null, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }>, images: Array<{ active: boolean, source: string, title: string }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null } | null> | null } | null } | null };\n\nexport type GetUserResourcesQueryVariables = Exact<{\n userId: string | number;\n}>;\n\n\nexport type GetUserResourcesQuery = { userResources: { resources: Array<{ _id: string, active: boolean, logo: string, name: string, resourceType: ResourceTypeEnum }> | null } | null };\n\nexport type GetVendorsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetVendorsQuery = { vendors: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, vendorInfoId: string | null, createdAt: string, claimed: boolean, description: string, deletedAt: string | null, foodTruck: boolean, name: string, promoCodes: Array<string> | null, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, vendorType: VendorEnumType, unregisteredVendorId: string | null, availability: { corporate: boolean, private: boolean, school: boolean } | null, categories: Array<{ id: string, name: string, subcategories: Array<{ id: string, name: string | null, items: Array<{ id: string | null, name: string | null }> | null }> | null }>, calendar: { active: boolean | null, calendarData: Array<{ description: string | null, dateTime: { dateStatus: EventDateStatusEnumType | null, endDate: string | null, endTime: string | null, startDate: string | null, startTime: string | null } | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null }> | null } | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, cover: { active: boolean, source: string, title: string }, images: Array<{ active: boolean, source: string, title: string }> | null, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, products: { active: boolean | null, productsList: Array<{ description: string | null, name: string, price: number, priceUnit: string, productGroups: Array<string> | null }> | null } | null, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null }> | null };\n\nexport type GetVendorQueryVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type GetVendorQuery = { vendor: { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, vendorInfoId: string | null, createdAt: string, claimed: boolean, description: string, deletedAt: string | null, foodTruck: boolean, name: string, promoCodes: Array<string> | null, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, vendorType: VendorEnumType, unregisteredVendorId: string | null, availability: { corporate: boolean, private: boolean, school: boolean } | null, categories: Array<{ id: string, name: string, subcategories: Array<{ id: string, name: string | null, items: Array<{ id: string | null, name: string | null }> | null }> | null }>, calendar: { active: boolean | null, calendarData: Array<{ description: string | null, dateTime: { dateStatus: EventDateStatusEnumType | null, endDate: string | null, endTime: string | null, startDate: string | null, startTime: string | null } | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null }> | null } | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, cover: { active: boolean, source: string, title: string }, images: Array<{ active: boolean, source: string, title: string }> | null, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, products: { active: boolean | null, productsList: Array<{ description: string | null, name: string, price: number, priceUnit: string, productGroups: Array<string> | null }> | null } | null, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null };\n\nexport type GetVendorsByRegionQueryVariables = Exact<{\n region: string;\n options?: ResourcesByRegionOptions | null | undefined;\n}>;\n\n\nexport type GetVendorsByRegionQuery = { vendorsByRegion: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, vendorInfoId: string | null, createdAt: string, claimed: boolean, description: string, deletedAt: string | null, foodTruck: boolean, name: string, promoCodes: Array<string> | null, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, vendorType: VendorEnumType, unregisteredVendorId: string | null, availability: { corporate: boolean, private: boolean, school: boolean } | null, categories: Array<{ id: string, name: string, subcategories: Array<{ id: string, name: string | null, items: Array<{ id: string | null, name: string | null }> | null }> | null }>, calendar: { active: boolean | null, calendarData: Array<{ description: string | null, dateTime: { dateStatus: EventDateStatusEnumType | null, endDate: string | null, endTime: string | null, startDate: string | null, startTime: string | null } | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null }> | null } | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, cover: { active: boolean, source: string, title: string }, images: Array<{ active: boolean, source: string, title: string }> | null, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, products: { active: boolean | null, productsList: Array<{ description: string | null, name: string, price: number, priceUnit: string, productGroups: Array<string> | null }> | null } | null, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null }> | null };\n\nexport type SearchVendorsQueryVariables = Exact<{\n search: string;\n region: string;\n}>;\n\n\nexport type SearchVendorsQuery = { vendorSearch: Array<{ _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, vendorInfoId: string | null, createdAt: string, claimed: boolean, description: string, deletedAt: string | null, foodTruck: boolean, name: string, promoCodes: Array<string> | null, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, vendorType: VendorEnumType, unregisteredVendorId: string | null, availability: { corporate: boolean, private: boolean, school: boolean } | null, categories: Array<{ id: string, name: string, subcategories: Array<{ id: string, name: string | null, items: Array<{ id: string | null, name: string | null }> | null }> | null }>, calendar: { active: boolean | null, calendarData: Array<{ description: string | null, dateTime: { dateStatus: EventDateStatusEnumType | null, endDate: string | null, endTime: string | null, startDate: string | null, startTime: string | null } | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null }> | null } | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, cover: { active: boolean, source: string, title: string }, images: Array<{ active: boolean, source: string, title: string }> | null, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, products: { active: boolean | null, productsList: Array<{ description: string | null, name: string, price: number, priceUnit: string, productGroups: Array<string> | null }> | null } | null, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null }> | null };\n\nexport type GetVendorInfoQueryVariables = Exact<{\n vendorId: string | number;\n}>;\n\n\nexport type GetVendorInfoQuery = { vendorInfo: { _id: string, vendorId: string, compliance: { foodBeverageLicense: boolean, liabilityInsurance: boolean } | null, documents: Array<{ active: boolean, source: string, title: string }> | null, requirements: { electricity: { details: string | null, isRequired: boolean }, gazebo: { details: string | null, isRequired: boolean }, table: { details: string | null, isRequired: boolean } } | null, product: { foodFlavors: Array<FoodFlavorEnumType>, packaging: Array<string> | null, producedIn: Array<string> | null, priceRange: { max: string, min: string } }, stallInfo: { size: { depth: string, width: string } } } | null };\n\nexport type GetUnregisteredVendorsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetUnregisteredVendorsQuery = { unregisteredVendors: Array<{ _id: string, active: boolean, categoryIds: Array<string>, claimed: boolean, createdAt: string, deletedAt: string | null, email: string | null, name: string, region: string, updatedAt: string, invitations: Array<{ inviterId: string, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }> }> }> | null };\n\nexport type GetUnregisteredVendorsByInviterIdQueryVariables = Exact<{\n inviterId: string | number;\n}>;\n\n\nexport type GetUnregisteredVendorsByInviterIdQuery = { unregisteredVendorsByInviterId: Array<{ _id: string, active: boolean, categoryIds: Array<string>, claimed: boolean, createdAt: string, deletedAt: string | null, email: string | null, name: string, region: string, updatedAt: string, invitations: Array<{ inviterId: string, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }> }> }> | null };\n\nexport type GetUnregisteredVendorQueryVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type GetUnregisteredVendorQuery = { unregisteredVendor: { _id: string, active: boolean, categoryIds: Array<string>, claimed: boolean, createdAt: string, deletedAt: string | null, email: string | null, name: string, region: string, updatedAt: string, invitations: Array<{ inviterId: string, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }> }> } | null };\n\nexport type CreateRelationMutationVariables = Exact<{\n input: RelationInputType;\n}>;\n\n\nexport type CreateRelationMutation = { createRelation: { message: string | null, data: { _id: string, active: boolean, chatId: string, createdAt: string | null, lastUpdateBy: ResourceTypeEnum, eventId: string, relationType: RelationTypeEnum, vendorId: string, updatedAt: string | null, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> } | null } | null };\n\nexport type UpdateRelationMutationVariables = Exact<{\n _id: string | number;\n input: RelationInputType;\n}>;\n\n\nexport type UpdateRelationMutation = { updateRelation: { message: string | null, data: { _id: string, active: boolean, chatId: string, createdAt: string | null, lastUpdateBy: ResourceTypeEnum, eventId: string, relationType: RelationTypeEnum, vendorId: string, updatedAt: string | null, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> } | null } | null };\n\nexport type DeleteRelationMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type DeleteRelationMutation = { deleteRelation: { message: string | null, data: { _id: string, active: boolean, chatId: string, createdAt: string | null, lastUpdateBy: ResourceTypeEnum, eventId: string, relationType: RelationTypeEnum, vendorId: string, updatedAt: string | null, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> } | null } | null };\n\nexport type CreateResourceActivityMutationVariables = Exact<{\n input: ResourceActivityInputType;\n}>;\n\n\nexport type CreateResourceActivityMutation = { createResourceActivity: { data: boolean | null, message: string | null } | null };\n\nexport type CreateSchoolMutationVariables = Exact<{\n input: SchoolInputType;\n}>;\n\n\nexport type CreateSchoolMutation = { createSchool: { message: string | null, data: { _id: string, active: boolean, approvedAt: string | null, createdAt: string, deletedAt: string | null, name: string, overallPoints: number | null, ranking: number | null, region: string, studentCount: number, schoolCode: string, updatedAt: string, campaigns: Array<{ endDate: string, name: string, startDate: string }> | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } } | null } | null };\n\nexport type UpdateSchoolMutationVariables = Exact<{\n _id: string | number;\n input: SchoolInputType;\n}>;\n\n\nexport type UpdateSchoolMutation = { updateSchool: { message: string | null, data: { _id: string, active: boolean, approvedAt: string | null, createdAt: string, deletedAt: string | null, name: string, overallPoints: number | null, ranking: number | null, region: string, studentCount: number, schoolCode: string, updatedAt: string, campaigns: Array<{ endDate: string, name: string, startDate: string }> | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null }, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } }, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } } | null } | null };\n\nexport type DeleteSchoolMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type DeleteSchoolMutation = { deleteSchool: { data: boolean | null, message: string | null } | null };\n\nexport type RequestMarketingMaterialMutationVariables = Exact<{\n input: MarketingMaterialRequestInputType;\n}>;\n\n\nexport type RequestMarketingMaterialMutation = { requestMarketingMaterial: { data: boolean | null, message: string | null } | null };\n\nexport type CreateCheckoutSessionMutationVariables = Exact<{\n planId: LicencesEnumType;\n billingPeriod?: BillingPeriodEnumType | null | undefined;\n}>;\n\n\nexport type CreateCheckoutSessionMutation = { createCheckoutSession: { message: string | null, data: { sessionId: string, checkoutUrl: string } | null } | null };\n\nexport type CancelSubscriptionMutationVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type CancelSubscriptionMutation = { cancelSubscription: { data: string | null, message: string | null } | null };\n\nexport type UpdateSubscriptionPlanMutationVariables = Exact<{\n newPlanId: LicencesEnumType;\n billingPeriod?: BillingPeriodEnumType | null | undefined;\n}>;\n\n\nexport type UpdateSubscriptionPlanMutation = { updateSubscriptionPlan: { message: string | null, data: { subscriptionId: string | null, status: SubscriptionStatusEnumType | null, priceId: string | null, currentPlan: LicencesEnumType | null } | null } | null };\n\nexport type CreateCustomerPortalMutationVariables = Exact<{\n returnUrl?: string | null | undefined;\n}>;\n\n\nexport type CreateCustomerPortalMutation = { createCustomerPortal: { message: string | null, data: { portalUrl: string } | null } | null };\n\nexport type UpdateUserMutationVariables = Exact<{\n _id: string | number;\n input: UserInputType;\n}>;\n\n\nexport type UpdateUserMutation = { updateUser: { message: string | null, data: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } | null } | null };\n\nexport type DeleteUserMutationVariables = Exact<{\n email: string;\n}>;\n\n\nexport type DeleteUserMutation = { deleteUser: { data: boolean | null, message: string | null } | null };\n\nexport type RedeemRewardMutationVariables = Exact<{\n input: RedeemRewardInputType;\n}>;\n\n\nexport type RedeemRewardMutation = { redeemReward: { message: string | null, data: { userId: string } | null } | null };\n\nexport type AddUserFavouriteResourceMutationVariables = Exact<{\n resourceId: string | number;\n resourceType: ResourceTypeEnum;\n}>;\n\n\nexport type AddUserFavouriteResourceMutation = { addUserFavouriteResource: { message: string | null, data: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } | null } | null };\n\nexport type RemoveUserFavouriteResourceMutationVariables = Exact<{\n resourceId: string | number;\n resourceType: ResourceTypeEnum;\n}>;\n\n\nexport type RemoveUserFavouriteResourceMutation = { removeUserFavouriteResource: { message: string | null, data: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } | null } | null };\n\nexport type AddUserInterestResourceMutationVariables = Exact<{\n input: UserActivityInputType;\n}>;\n\n\nexport type AddUserInterestResourceMutation = { addUserInterestResource: { message: string | null, data: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } | null } | null };\n\nexport type RemoveUserInterestResourceMutationVariables = Exact<{\n input: UserActivityInputType;\n}>;\n\n\nexport type RemoveUserInterestResourceMutation = { removeUserInterestResource: { message: string | null, data: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } | null } | null };\n\nexport type AddUserGoingResourceMutationVariables = Exact<{\n input: UserActivityInputType;\n}>;\n\n\nexport type AddUserGoingResourceMutation = { addUserGoingResource: { message: string | null, data: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } | null } | null };\n\nexport type RemoveUserGoingResourceMutationVariables = Exact<{\n input: UserActivityInputType;\n}>;\n\n\nexport type RemoveUserGoingResourceMutation = { removeUserGoingResource: { message: string | null, data: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } | null } | null };\n\nexport type AddUserPresentResourceMutationVariables = Exact<{\n input: UserActivityInputType;\n}>;\n\n\nexport type AddUserPresentResourceMutation = { addUserPresentResource: { message: string | null, data: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } | null } | null };\n\nexport type RemoveUserPresentResourceMutationVariables = Exact<{\n input: UserActivityInputType;\n}>;\n\n\nexport type RemoveUserPresentResourceMutation = { removeUserPresentResource: { message: string | null, data: { _id: string, active: boolean, affiliate: string | null, createdAt: string, deletedAt: string | null, email: string, events: Array<string> | null, firstName: string, game: string | null, isTester: boolean, lastName: string, partner: string | null, overallPoints: number | null, platform: OsPlatformEnumType | null, preferredRegion: string, permissions: Array<string>, promoCodes: Array<string> | null, roles: Array<UserRoleEnumType>, school: string | null, vendor: string | null, updatedAt: string, avatar: { active: boolean, source: string, title: string } | null, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null, redeemedRewards: Array<{ name: RewardEnumType, pointsUsed: number, redeemedAt: string }> | null, stripe: { customerId: string | null, subscriptionId: string | null, status: SubscriptionStatusEnumType | null, currentPlan: LicencesEnumType | null, startDate: string | null, endDate: string | null } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null, userActivity: { favourites: { events: Array<string> | null, partners: Array<string> | null, vendors: Array<string> | null } | null, going: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, interested: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null, present: { events: Array<{ resourceId: string, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string } }> | null } | null } | null } | null } | null };\n\nexport type SelectStandardPackageMutationVariables = Exact<{\n selectedLicence: LicencesEnumType;\n}>;\n\n\nexport type SelectStandardPackageMutation = { selectStandardPackage: { message: string | null, data: { userId: string, licences: Array<{ expiryDate: string, issuedDate: string, licenceType: LicencesEnumType, prevLicenceType: LicencesEnumType | null }> | null } | null } | null };\n\nexport type CreateVendorMutationVariables = Exact<{\n input: VendorInputType;\n}>;\n\n\nexport type CreateVendorMutation = { createVendor: { message: string | null, data: { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, vendorInfoId: string | null, createdAt: string, claimed: boolean, description: string, deletedAt: string | null, foodTruck: boolean, name: string, promoCodes: Array<string> | null, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, vendorType: VendorEnumType, unregisteredVendorId: string | null, availability: { corporate: boolean, private: boolean, school: boolean } | null, categories: Array<{ id: string, name: string, subcategories: Array<{ id: string, name: string | null, items: Array<{ id: string | null, name: string | null }> | null }> | null }>, calendar: { active: boolean | null, calendarData: Array<{ description: string | null, dateTime: { dateStatus: EventDateStatusEnumType | null, endDate: string | null, endTime: string | null, startDate: string | null, startTime: string | null } | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null }> | null } | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, cover: { active: boolean, source: string, title: string }, images: Array<{ active: boolean, source: string, title: string }> | null, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, products: { active: boolean | null, productsList: Array<{ description: string | null, name: string, price: number, priceUnit: string, productGroups: Array<string> | null }> | null } | null, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null } | null };\n\nexport type UpdateVendorMutationVariables = Exact<{\n _id: string | number;\n input: VendorInputType;\n}>;\n\n\nexport type UpdateVendorMutation = { updateVendor: { message: string | null, data: { _id: string, active: boolean, adIds: Array<string | null> | null, approvedAt: string | null, vendorInfoId: string | null, createdAt: string, claimed: boolean, description: string, deletedAt: string | null, foodTruck: boolean, name: string, promoCodes: Array<string> | null, rating: number | null, region: string, reviewCount: number | null, slug: string, updatedAt: string, vendorType: VendorEnumType, unregisteredVendorId: string | null, availability: { corporate: boolean, private: boolean, school: boolean } | null, categories: Array<{ id: string, name: string, subcategories: Array<{ id: string, name: string | null, items: Array<{ id: string | null, name: string | null }> | null }> | null }>, calendar: { active: boolean | null, calendarData: Array<{ description: string | null, dateTime: { dateStatus: EventDateStatusEnumType | null, endDate: string | null, endTime: string | null, startDate: string | null, startTime: string | null } | null, location: { city: string, country: string, fullAddress: string, latitude: number, longitude: number, region: string, geo: { coordinates: Array<number>, type: string } } | null }> | null } | null, contactDetails: { email: string | null, landlinePhone: string | null, mobilePhone: string | null } | null, cover: { active: boolean, source: string, title: string }, images: Array<{ active: boolean, source: string, title: string }> | null, logo: { active: boolean, source: string, title: string } | null, owner: { email: string, userId: string }, products: { active: boolean | null, productsList: Array<{ description: string | null, name: string, price: number, priceUnit: string, productGroups: Array<string> | null }> | null } | null, posterUsage: { month: string, count: number } | null, relatedPost: { postActive: boolean, postId: string, postSlug: string, postType: PostTypeEnum } | null, relations: Array<{ relationId: string, relationDates: Array<{ paymentReference: string | null, status: InviteEnumType, dateTime: { dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string, stallType: { label: string, price: number, stallCapacity: number } | null }, lastUpdateBy: { resourceId: string | null, userEmail: string | null } | null }> }> | null, socialMedia: Array<{ name: SocialMediaEnumType, link: string }> | null, sharePublic: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, shareRelation: { qrCode: { active: boolean, source: string, title: string }, socialImage: { active: boolean, source: string, title: string } } | null, termsAgreement: { appBuildNumber: string, appId: string, appVersion: string, brand: string, deviceName: string, installationId: string, manufacturer: string, modelName: string, osName: string, osVersion: string, termVersion: string, timestamp: string } | null } | null } | null };\n\nexport type DeleteVendorMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type DeleteVendorMutation = { deleteVendor: { data: boolean | null, message: string | null } | null };\n\nexport type CreateVendorInfoMutationVariables = Exact<{\n input: VendorInfoInputType;\n}>;\n\n\nexport type CreateVendorInfoMutation = { createVendorInfo: { message: string | null, data: { _id: string, vendorId: string, compliance: { foodBeverageLicense: boolean, liabilityInsurance: boolean } | null, documents: Array<{ active: boolean, source: string, title: string }> | null, requirements: { electricity: { details: string | null, isRequired: boolean }, gazebo: { details: string | null, isRequired: boolean }, table: { details: string | null, isRequired: boolean } } | null, product: { foodFlavors: Array<FoodFlavorEnumType>, packaging: Array<string> | null, producedIn: Array<string> | null, priceRange: { max: string, min: string } }, stallInfo: { size: { depth: string, width: string } } } | null } | null };\n\nexport type UpdateVendorInfoMutationVariables = Exact<{\n _id: string | number;\n input: VendorInfoInputType;\n}>;\n\n\nexport type UpdateVendorInfoMutation = { updateVendorInfo: { message: string | null, data: { _id: string, vendorId: string, compliance: { foodBeverageLicense: boolean, liabilityInsurance: boolean } | null, documents: Array<{ active: boolean, source: string, title: string }> | null, requirements: { electricity: { details: string | null, isRequired: boolean }, gazebo: { details: string | null, isRequired: boolean }, table: { details: string | null, isRequired: boolean } } | null, product: { foodFlavors: Array<FoodFlavorEnumType>, packaging: Array<string> | null, producedIn: Array<string> | null, priceRange: { max: string, min: string } }, stallInfo: { size: { depth: string, width: string } } } | null } | null };\n\nexport type CreateUnregisteredVendorMutationVariables = Exact<{\n input: UnregisteredVendorInputType;\n}>;\n\n\nexport type CreateUnregisteredVendorMutation = { createUnregisteredVendor: { message: string | null, data: { _id: string, active: boolean, categoryIds: Array<string>, claimed: boolean, createdAt: string, deletedAt: string | null, email: string | null, name: string, region: string, updatedAt: string, invitations: Array<{ inviterId: string, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }> }> } | null } | null };\n\nexport type UpdateUnregisteredVendorMutationVariables = Exact<{\n _id: string | number;\n input: UnregisteredVendorInputType;\n}>;\n\n\nexport type UpdateUnregisteredVendorMutation = { updateUnregisteredVendor: { message: string | null, data: { _id: string, active: boolean, categoryIds: Array<string>, claimed: boolean, createdAt: string, deletedAt: string | null, email: string | null, name: string, region: string, updatedAt: string, invitations: Array<{ inviterId: string, dateTime: Array<{ dateStatus: EventDateStatusEnumType, endDate: string, endTime: string, startDate: string, startTime: string }> }> } | null } | null };\n\nexport type DeleteUnregisteredVendorMutationVariables = Exact<{\n _id: string | number;\n}>;\n\n\nexport type DeleteUnregisteredVendorMutation = { deleteUnregisteredVendor: { data: boolean | null, message: string | null } | null };\n\nexport type UnlinkUnregisteredVendorByInviterIdMutationVariables = Exact<{\n _id: string | number;\n inviterId: string | number;\n}>;\n\n\nexport type UnlinkUnregisteredVendorByInviterIdMutation = { unlinkUnregisteredVendorByInviterId: { data: boolean | null, message: string | null } | null };\n\nexport type GetChatMessageSubscriptionVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetChatMessageSubscription = { getChatMessage: { _id: string, active: boolean, chatDescription: string | null, chatName: string, chatType: ChatTypeEnum, createdAt: string, deletedAt: string | null, region: string | null, updatedAt: string, messages: Array<{ _id: string, content: string, createdAt: string, replyToMessageId: string | null, senderId: string, updatedAt: string, replyPreview: { senderId: string, senderName: string, contentPreview: string } | null, likedBy: Array<{ userId: string, createdAt: string } | null> | null, seenBy: Array<{ userId: string, seenAt: string } | null> | null } | null> | null, participants: Array<{ active: boolean, userAvatar: string | null, userEmail: string, userId: string, userName: string } | null> } | null };\n\nexport type UserNotificationsSubscriptionSubscriptionVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type UserNotificationsSubscriptionSubscription = { getUserNotifications: Array<{ _id: string, userId: string, title: string | null, message: string | null, type: NotificationEnumType | null, isRead: boolean | null, createdAt: string | null, updatedAt: string | null, data: { resourceId: string | null, resourceName: string | null, resourceType: NotificationResourceEnumType | null } | null } | null> | null };\n\nexport type NotificationCountSubscriptionSubscriptionVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type NotificationCountSubscriptionSubscription = { getNotificationCount: { total: number | null, unread: number | null } | null };\n\nexport const AdFieldsFragmentDoc = gql`\n fragment AdFields on AdType {\n _id\n active\n clicks\n createdAt\n end\n impressions\n resource {\n adDescription\n adImage\n adStyle\n adTitle\n adType\n resourceId\n resourceSlug\n resourceName\n resourceRegion\n resourceType\n }\n showOn\n start\n status\n targetRegion\n updatedAt\n}\n `;\nexport const AppSettingsFieldsFragmentDoc = gql`\n fragment AppSettingsFields on AppSettingsType {\n _id\n appVersion\n createdAt\n isOfflineMode\n key\n minimumRedeemableAffiliatePoints\n updatedAt\n}\n `;\nexport const ChatReportFieldsFragmentDoc = gql`\n fragment ChatReportFields on ReportChatUserType {\n _id\n chatId\n createdAt\n reason {\n reasonType\n details\n }\n reportedUserId\n reporterUserId\n resolved\n updatedAt\n}\n `;\nexport const NotificationFieldsFragmentDoc = gql`\n fragment NotificationFields on Notification {\n _id\n userId\n title\n message\n type\n isRead\n data {\n resourceId\n resourceName\n resourceType\n }\n createdAt\n updatedAt\n}\n `;\nexport const ChatMessageFieldsFragmentDoc = gql`\n fragment ChatMessageFields on ChatMessageType {\n _id\n content\n createdAt\n replyToMessageId\n replyPreview {\n senderId\n senderName\n contentPreview\n }\n likedBy {\n userId\n createdAt\n }\n senderId\n seenBy {\n userId\n seenAt\n }\n updatedAt\n}\n `;\nexport const ChatParticipantFieldsFragmentDoc = gql`\n fragment ChatParticipantFields on ChatParticipantType {\n active\n userAvatar\n userEmail\n userId\n userName\n}\n `;\nexport const ChatFieldsFragmentDoc = gql`\n fragment ChatFields on ChatType {\n _id\n active\n chatDescription\n chatName\n chatType\n createdAt\n deletedAt\n messages {\n ...ChatMessageFields\n }\n participants {\n ...ChatParticipantFields\n }\n region\n updatedAt\n}\n ${ChatMessageFieldsFragmentDoc}\n${ChatParticipantFieldsFragmentDoc}`;\nexport const StallTypeFieldsFragmentDoc = gql`\n fragment StallTypeFields on StallTypeType {\n label\n price\n stallCapacity\n}\n `;\nexport const EventInfoFieldsFragmentDoc = gql`\n fragment EventInfoFields on EventInfoType {\n _id\n applicationDeadlineHours\n dateTime {\n dateStatus\n endDate\n endTime\n stallTypes {\n ...StallTypeFields\n }\n startDate\n startTime\n }\n eventId\n packInTime\n paymentDueHours\n paymentInfo {\n accountHolderName\n accountNumber\n link\n paymentMethod\n }\n refundPolicy {\n category\n label\n value\n }\n requirements {\n category\n label\n value\n }\n}\n ${StallTypeFieldsFragmentDoc}`;\nexport const LocationGeoFieldsFragmentDoc = gql`\n fragment LocationGeoFields on LocationGeoType {\n coordinates\n type\n}\n `;\nexport const ResourceActivityFieldsFragmentDoc = gql`\n fragment ResourceActivityFields on ResourceActivityType {\n resourceId\n resourceType\n activity {\n activityType\n location {\n ...LocationGeoFields\n }\n dateStatus\n startDate\n startTime\n timestamp\n userAgent\n userId\n }\n}\n ${LocationGeoFieldsFragmentDoc}`;\nexport const ResourceImageFieldsFragmentDoc = gql`\n fragment ResourceImageFields on ResourceImageType {\n active\n source\n title\n}\n `;\nexport const SchoolRegisteredUsersFieldsFragmentDoc = gql`\n fragment SchoolRegisteredUsersFields on SchoolRegisteredUserType {\n _id\n active\n avatar {\n ...ResourceImageFields\n }\n email\n firstName\n lastName\n}\n ${ResourceImageFieldsFragmentDoc}`;\nexport const VendorAttributesFieldsFragmentDoc = gql`\n fragment VendorAttributesFields on VendorAttributesType {\n details\n isRequired\n}\n `;\nexport const VendorInfoFieldsFragmentDoc = gql`\n fragment VendorInfoFields on VendorInfoType {\n _id\n compliance {\n foodBeverageLicense\n liabilityInsurance\n }\n documents {\n ...ResourceImageFields\n }\n requirements {\n electricity {\n ...VendorAttributesFields\n }\n gazebo {\n ...VendorAttributesFields\n }\n table {\n ...VendorAttributesFields\n }\n }\n product {\n foodFlavors\n packaging\n priceRange {\n max\n min\n }\n producedIn\n }\n stallInfo {\n size {\n depth\n width\n }\n }\n vendorId\n}\n ${ResourceImageFieldsFragmentDoc}\n${VendorAttributesFieldsFragmentDoc}`;\nexport const ContactDetailsFieldsFragmentDoc = gql`\n fragment ContactDetailsFields on ContactDetailsType {\n email\n landlinePhone\n mobilePhone\n}\n `;\nexport const DateTimeFieldsFragmentDoc = gql`\n fragment DateTimeFields on DateTimeType {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n}\n `;\nexport const LocationFieldsFragmentDoc = gql`\n fragment LocationFields on LocationType {\n city\n country\n fullAddress\n geo {\n ...LocationGeoFields\n }\n latitude\n longitude\n region\n}\n ${LocationGeoFieldsFragmentDoc}`;\nexport const OwnerFieldsFragmentDoc = gql`\n fragment OwnerFields on OwnerType {\n email\n userId\n}\n `;\nexport const PosterUsageFieldsFragmentDoc = gql`\n fragment PosterUsageFields on PosterUsageType {\n month\n count\n}\n `;\nexport const RelationDatesFragmentDoc = gql`\n fragment RelationDates on RelationDateType {\n dateTime {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n stallType {\n ...StallTypeFields\n }\n }\n lastUpdateBy {\n resourceId\n userEmail\n }\n paymentReference\n status\n}\n ${StallTypeFieldsFragmentDoc}`;\nexport const RelatedPostFieldsFragmentDoc = gql`\n fragment RelatedPostFields on RelatedPostType {\n postActive\n postId\n postSlug\n postType\n}\n `;\nexport const SocialMediaFieldsFragmentDoc = gql`\n fragment SocialMediaFields on SocialMediaType {\n name\n link\n}\n `;\nexport const SocialShareResourceFieldsFragmentDoc = gql`\n fragment SocialShareResourceFields on SocialShareResourceType {\n qrCode {\n ...ResourceImageFields\n }\n socialImage {\n ...ResourceImageFields\n }\n}\n ${ResourceImageFieldsFragmentDoc}`;\nexport const TermsAgreementFieldsFragmentDoc = gql`\n fragment TermsAgreementFields on TermsAgreementType {\n appBuildNumber\n appId\n appVersion\n brand\n deviceName\n installationId\n manufacturer\n modelName\n osName\n osVersion\n termVersion\n timestamp\n}\n `;\nexport const EventFieldsFragmentDoc = gql`\n fragment EventFields on EventType {\n _id\n active\n adIds\n approvedAt\n cover {\n ...ResourceImageFields\n }\n claimed\n createdAt\n contactDetails {\n ...ContactDetailsFields\n }\n dateTime {\n ...DateTimeFields\n }\n description\n deletedAt\n googlePlaceId\n images {\n ...ResourceImageFields\n }\n eventType\n location {\n ...LocationFields\n }\n logo {\n ...ResourceImageFields\n }\n eventInfoId\n name\n nzbn\n owner {\n ...OwnerFields\n }\n promoCodes\n provider\n posterUsage {\n ...PosterUsageFields\n }\n region\n relations {\n relationId\n relationDates {\n ...RelationDates\n }\n }\n rating\n reviewCount\n rainOrShine\n relatedPost {\n ...RelatedPostFields\n }\n socialMedia {\n ...SocialMediaFields\n }\n sharePublic {\n ...SocialShareResourceFields\n }\n shareRelation {\n ...SocialShareResourceFields\n }\n slug\n tags\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n}\n ${ResourceImageFieldsFragmentDoc}\n${ContactDetailsFieldsFragmentDoc}\n${DateTimeFieldsFragmentDoc}\n${LocationFieldsFragmentDoc}\n${OwnerFieldsFragmentDoc}\n${PosterUsageFieldsFragmentDoc}\n${RelationDatesFragmentDoc}\n${RelatedPostFieldsFragmentDoc}\n${SocialMediaFieldsFragmentDoc}\n${SocialShareResourceFieldsFragmentDoc}\n${TermsAgreementFieldsFragmentDoc}`;\nexport const EventListItemFieldsFragmentDoc = gql`\n fragment EventListItemFields on EventListItemType {\n _id\n active\n approvedAt\n claimed\n cover {\n ...ResourceImageFields\n }\n createdAt\n dateTime {\n ...DateTimeFields\n }\n deletedAt\n description\n eventType\n googlePlaceId\n images {\n ...ResourceImageFields\n }\n location {\n ...LocationFields\n }\n logo {\n ...ResourceImageFields\n }\n name\n rainOrShine\n rating\n region\n relations {\n relationId\n relationDates {\n ...RelationDates\n }\n }\n reviewCount\n slug\n updatedAt\n}\n ${ResourceImageFieldsFragmentDoc}\n${DateTimeFieldsFragmentDoc}\n${LocationFieldsFragmentDoc}\n${RelationDatesFragmentDoc}`;\nexport const PartnerFieldsFragmentDoc = gql`\n fragment PartnerFields on PartnerType {\n _id\n active\n adIds\n approvedAt\n cover {\n ...ResourceImageFields\n }\n createdAt\n contactDetails {\n ...ContactDetailsFields\n }\n description\n deletedAt\n images {\n ...ResourceImageFields\n }\n location {\n ...LocationFields\n }\n logo {\n ...ResourceImageFields\n }\n name\n nzbn\n owner {\n ...OwnerFields\n }\n partnerType\n posterUsage {\n ...PosterUsageFields\n }\n rating\n region\n reviewCount\n relatedPost {\n ...RelatedPostFields\n }\n socialMedia {\n ...SocialMediaFields\n }\n slug\n sharePublic {\n ...SocialShareResourceFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n}\n ${ResourceImageFieldsFragmentDoc}\n${ContactDetailsFieldsFragmentDoc}\n${LocationFieldsFragmentDoc}\n${OwnerFieldsFragmentDoc}\n${PosterUsageFieldsFragmentDoc}\n${RelatedPostFieldsFragmentDoc}\n${SocialMediaFieldsFragmentDoc}\n${SocialShareResourceFieldsFragmentDoc}\n${TermsAgreementFieldsFragmentDoc}`;\nexport const RelationFieldsFragmentDoc = gql`\n fragment RelationFields on RelationType {\n _id\n active\n chatId\n createdAt\n lastUpdateBy\n eventId\n relationDates {\n ...RelationDates\n }\n relationType\n vendorId\n updatedAt\n}\n ${RelationDatesFragmentDoc}`;\nexport const SchoolCampaignFieldsFragmentDoc = gql`\n fragment SchoolCampaignFields on SchoolCampaignType {\n endDate\n name\n startDate\n}\n `;\nexport const SchoolFieldsFragmentDoc = gql`\n fragment SchoolFields on SchoolType {\n _id\n active\n approvedAt\n campaigns {\n ...SchoolCampaignFields\n }\n contactDetails {\n ...ContactDetailsFields\n }\n location {\n ...LocationFields\n }\n createdAt\n deletedAt\n logo {\n ...ResourceImageFields\n }\n name\n owner {\n ...OwnerFields\n }\n overallPoints\n ranking\n region\n studentCount\n schoolCode\n socialMedia {\n ...SocialMediaFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n}\n ${SchoolCampaignFieldsFragmentDoc}\n${ContactDetailsFieldsFragmentDoc}\n${LocationFieldsFragmentDoc}\n${ResourceImageFieldsFragmentDoc}\n${OwnerFieldsFragmentDoc}\n${SocialMediaFieldsFragmentDoc}\n${TermsAgreementFieldsFragmentDoc}`;\nexport const UnregisteredVendorInvitationFieldsFragmentDoc = gql`\n fragment UnregisteredVendorInvitationFields on UnregisteredVendorInvitationType {\n dateTime {\n ...DateTimeFields\n }\n inviterId\n}\n ${DateTimeFieldsFragmentDoc}`;\nexport const UnregisteredVendorFieldsFragmentDoc = gql`\n fragment UnregisteredVendorFields on UnregisteredVendorType {\n _id\n active\n categoryIds\n claimed\n createdAt\n deletedAt\n email\n invitations {\n ...UnregisteredVendorInvitationFields\n }\n name\n region\n updatedAt\n}\n ${UnregisteredVendorInvitationFieldsFragmentDoc}`;\nexport const LicenceFieldsFragmentDoc = gql`\n fragment LicenceFields on UserLicenceType {\n expiryDate\n issuedDate\n licenceType\n prevLicenceType\n}\n `;\nexport const RedeemedRewardFieldsFragmentDoc = gql`\n fragment RedeemedRewardFields on RedeemedRewardType {\n name\n pointsUsed\n redeemedAt\n}\n `;\nexport const StripeSubscriptionFieldsFragmentDoc = gql`\n fragment StripeSubscriptionFields on StripeSubscriptionType {\n customerId\n subscriptionId\n status\n currentPlan\n startDate\n endDate\n}\n `;\nexport const UserActivityFieldsFragmentDoc = gql`\n fragment UserActivityFields on UserActivityType {\n favourites {\n events\n partners\n vendors\n }\n going {\n events {\n resourceId\n dateTime {\n ...DateTimeFields\n }\n }\n }\n interested {\n events {\n resourceId\n dateTime {\n ...DateTimeFields\n }\n }\n }\n present {\n events {\n resourceId\n dateTime {\n ...DateTimeFields\n }\n }\n }\n}\n ${DateTimeFieldsFragmentDoc}`;\nexport const UserFieldsFragmentDoc = gql`\n fragment UserFields on UserType {\n _id\n active\n affiliate\n avatar {\n ...ResourceImageFields\n }\n createdAt\n deletedAt\n email\n events\n firstName\n game\n isTester\n lastName\n licences {\n ...LicenceFields\n }\n location {\n ...LocationFields\n }\n partner\n overallPoints\n platform\n preferredRegion\n permissions\n promoCodes\n roles\n redeemedRewards {\n ...RedeemedRewardFields\n }\n school\n stripe {\n ...StripeSubscriptionFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n userActivity {\n ...UserActivityFields\n }\n vendor\n updatedAt\n}\n ${ResourceImageFieldsFragmentDoc}\n${LicenceFieldsFragmentDoc}\n${LocationFieldsFragmentDoc}\n${RedeemedRewardFieldsFragmentDoc}\n${StripeSubscriptionFieldsFragmentDoc}\n${TermsAgreementFieldsFragmentDoc}\n${UserActivityFieldsFragmentDoc}`;\nexport const CategoryFieldsFragmentDoc = gql`\n fragment CategoryFields on CategoryType {\n id\n name\n subcategories {\n id\n items {\n id\n name\n }\n name\n }\n}\n `;\nexport const VendorDateTimeFieldsFragmentDoc = gql`\n fragment VendorDateTimeFields on VendorDateTimeType {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n}\n `;\nexport const VendorProductListFieldsFragmentDoc = gql`\n fragment VendorProductListFields on VendorProductListType {\n description\n name\n price\n priceUnit\n productGroups\n}\n `;\nexport const VendorFieldsFragmentDoc = gql`\n fragment VendorFields on VendorType {\n _id\n active\n adIds\n approvedAt\n availability {\n corporate\n private\n school\n }\n vendorInfoId\n categories {\n ...CategoryFields\n }\n calendar {\n active\n calendarData {\n dateTime {\n ...VendorDateTimeFields\n }\n description\n location {\n ...LocationFields\n }\n }\n }\n contactDetails {\n ...ContactDetailsFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n claimed\n description\n deletedAt\n foodTruck\n images {\n ...ResourceImageFields\n }\n logo {\n ...ResourceImageFields\n }\n name\n owner {\n ...OwnerFields\n }\n products {\n active\n productsList {\n ...VendorProductListFields\n }\n }\n promoCodes\n posterUsage {\n ...PosterUsageFields\n }\n rating\n region\n reviewCount\n relatedPost {\n ...RelatedPostFields\n }\n relations {\n relationId\n relationDates {\n ...RelationDates\n }\n }\n slug\n socialMedia {\n ...SocialMediaFields\n }\n sharePublic {\n ...SocialShareResourceFields\n }\n shareRelation {\n ...SocialShareResourceFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n vendorType\n unregisteredVendorId\n}\n ${CategoryFieldsFragmentDoc}\n${VendorDateTimeFieldsFragmentDoc}\n${LocationFieldsFragmentDoc}\n${ContactDetailsFieldsFragmentDoc}\n${ResourceImageFieldsFragmentDoc}\n${OwnerFieldsFragmentDoc}\n${VendorProductListFieldsFragmentDoc}\n${PosterUsageFieldsFragmentDoc}\n${RelatedPostFieldsFragmentDoc}\n${RelationDatesFragmentDoc}\n${SocialMediaFieldsFragmentDoc}\n${SocialShareResourceFieldsFragmentDoc}\n${TermsAgreementFieldsFragmentDoc}`;\nexport const AffiliateRewardFieldsFragmentDoc = gql`\n fragment AffiliateRewardFields on AffiliateRewardType {\n createdAt\n redeemedAt\n rewardDescription\n rewardType\n rewardValue\n}\n `;\nexport const AffiliateBankAccountDetailsFieldsFragmentDoc = gql`\n fragment AffiliateBankAccountDetailsFields on AffiliateBankAccountDetailsType {\n accountHolderName\n accountNumber\n}\n `;\nexport const AffiliateDetailsFieldsFragmentDoc = gql`\n fragment AffiliateDetailsFields on AffiliateDetailsType {\n bankAccountDetails {\n ...AffiliateBankAccountDetailsFields\n }\n contactDetails {\n mobilePhone\n }\n irdNumber\n participantType\n email\n firstName\n lastName\n location {\n ...LocationFields\n }\n socialMedia {\n ...SocialMediaFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n}\n ${AffiliateBankAccountDetailsFieldsFragmentDoc}\n${LocationFieldsFragmentDoc}\n${SocialMediaFieldsFragmentDoc}\n${TermsAgreementFieldsFragmentDoc}`;\nexport const AffiliateResourceFieldsFragmentDoc = gql`\n fragment AffiliateResourceFields on AffiliateResourceType {\n resourceActive\n resourceDeletedAt\n resourceId\n resourceName\n resourceOwner {\n ...OwnerFields\n }\n resourceType\n rewards {\n ...AffiliateRewardFields\n }\n}\n ${OwnerFieldsFragmentDoc}\n${AffiliateRewardFieldsFragmentDoc}`;\nexport const AffiliateFieldsFragmentDoc = gql`\n fragment AffiliateFields on AffiliateType {\n _id\n active\n affiliateBonusRewards {\n ...AffiliateRewardFields\n }\n affiliateCode\n affiliateDetails {\n ...AffiliateDetailsFields\n }\n affiliateResources {\n ...AffiliateResourceFields\n }\n approvedAt\n createdAt\n deletedAt\n redeemHistory {\n paidAt\n redeemedAt\n rewardValue\n }\n overallPoints\n owner {\n ...OwnerFields\n }\n updatedAt\n}\n ${AffiliateRewardFieldsFragmentDoc}\n${AffiliateDetailsFieldsFragmentDoc}\n${AffiliateResourceFieldsFragmentDoc}\n${OwnerFieldsFragmentDoc}`;\nexport const GameDateFieldsFragmentDoc = gql`\n fragment GameDateFields on GameDateType {\n startDate\n endDate\n}\n `;\nexport const DailyClueBaseGameFieldsFragmentDoc = gql`\n fragment DailyClueBaseGameFields on DailyClueBaseGameType {\n gameDate {\n ...GameDateFields\n }\n gameSolution\n}\n ${GameDateFieldsFragmentDoc}`;\nexport const DailyClueGameDataFieldsFragmentDoc = gql`\n fragment DailyClueGameDataFields on DailyClueGameDataType {\n gameFields {\n ...DailyClueBaseGameFields\n }\n lastFoundDate\n points\n letterInfo {\n collected\n solutionShuffled\n todaysClue\n todaysLetter\n todaysPlacement\n }\n streak\n}\n ${DailyClueBaseGameFieldsFragmentDoc}`;\nexport const PuzzleAnswerFieldsFragmentDoc = gql`\n fragment PuzzleAnswerFields on PuzzleAnswerType {\n answer\n answerId\n correct\n}\n `;\nexport const PuzzleQuestionFieldsFragmentDoc = gql`\n fragment PuzzleQuestionFields on PuzzleQuestionType {\n answers {\n ...PuzzleAnswerFields\n }\n question\n questionId\n}\n ${PuzzleAnswerFieldsFragmentDoc}`;\nexport const PuzzleBaseGameFieldsFragmentDoc = gql`\n fragment PuzzleBaseGameFields on PuzzleBaseGameType {\n questions {\n ...PuzzleQuestionFields\n }\n}\n ${PuzzleQuestionFieldsFragmentDoc}`;\nexport const PuzzleAnsweredQuestionFieldsFragmentDoc = gql`\n fragment PuzzleAnsweredQuestionFields on PuzzleAnsweredQuestionType {\n questionId\n selectedAnswerId\n}\n `;\nexport const PuzzleGameDataFieldsFragmentDoc = gql`\n fragment PuzzleGameDataFields on PuzzleGameDataType {\n gameFields {\n ...PuzzleBaseGameFields\n }\n answeredQuestions {\n ...PuzzleAnsweredQuestionFields\n }\n points\n streak\n}\n ${PuzzleBaseGameFieldsFragmentDoc}\n${PuzzleAnsweredQuestionFieldsFragmentDoc}`;\nexport const GameDataFieldsFragmentDoc = gql`\n fragment GameDataFields on GameDataType {\n dailyClue {\n ...DailyClueGameDataFields\n }\n miniQuiz {\n ...PuzzleGameDataFields\n }\n oddOneOut {\n ...PuzzleGameDataFields\n }\n}\n ${DailyClueGameDataFieldsFragmentDoc}\n${PuzzleGameDataFieldsFragmentDoc}`;\nexport const GameHistoryFieldsFragmentDoc = gql`\n fragment GameHistoryFields on GameHistoryType {\n createdAt\n gameDate {\n ...GameDateFields\n }\n gameStatus\n gameTitle\n gameType\n gameTypeId\n overallGamePoints\n pointsEarned\n}\n ${GameDateFieldsFragmentDoc}`;\nexport const GameFieldsFragmentDoc = gql`\n fragment GameFields on GameType {\n _id\n active\n createdAt\n gameData {\n ...GameDataFields\n }\n gameHistory {\n ...GameHistoryFields\n }\n gameType\n gameTypeId\n gameTitle\n updatedAt\n}\n ${GameDataFieldsFragmentDoc}\n${GameHistoryFieldsFragmentDoc}`;\nexport const GameDocFieldsFragmentDoc = gql`\n fragment GameDocFields on GameDocType {\n _id\n active\n createdAt\n deletedAt\n games {\n ...GameFields\n }\n owner {\n ...OwnerFields\n }\n points\n updatedAt\n}\n ${GameFieldsFragmentDoc}\n${OwnerFieldsFragmentDoc}`;\nexport const BaseGameFieldsFragmentDoc = gql`\n fragment BaseGameFields on BaseGameType {\n gameTypeId\n gameTitle\n gameType\n dailyClue {\n ...DailyClueBaseGameFields\n }\n miniQuiz {\n ...PuzzleBaseGameFields\n }\n oddOneOut {\n ...PuzzleBaseGameFields\n }\n}\n ${DailyClueBaseGameFieldsFragmentDoc}\n${PuzzleBaseGameFieldsFragmentDoc}`;\nexport const PostContentDataFieldsFragmentDoc = gql`\n fragment PostContentDataFields on PostContentData {\n game {\n ...BaseGameFields\n }\n textarea {\n title\n data\n }\n images {\n ...ResourceImageFields\n }\n video {\n source\n title\n }\n list {\n title\n items {\n text\n }\n }\n}\n ${BaseGameFieldsFragmentDoc}\n${ResourceImageFieldsFragmentDoc}`;\nexport const PostContentFieldsFragmentDoc = gql`\n fragment PostContentFields on PostContentType {\n contentData {\n ...PostContentDataFields\n }\n contentOrder\n contentType\n}\n ${PostContentDataFieldsFragmentDoc}`;\nexport const PostResourceFieldsFragmentDoc = gql`\n fragment PostResourceFields on PostResourceType {\n resourceId\n resourceSlug\n resourceRegion\n resourceType\n}\n `;\nexport const PostFieldsFragmentDoc = gql`\n fragment PostFields on PostType {\n _id\n active\n approvedAt\n caption\n content {\n ...PostContentFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n deletedAt\n postType\n resource {\n ...PostResourceFields\n }\n tags\n title\n slug\n sharePublic {\n ...SocialShareResourceFields\n }\n updatedAt\n}\n ${PostContentFieldsFragmentDoc}\n${ResourceImageFieldsFragmentDoc}\n${PostResourceFieldsFragmentDoc}\n${SocialShareResourceFieldsFragmentDoc}`;\nexport const CreateAdDocument = gql`\n mutation createAd($input: AdInputType!) {\n createAd(input: $input) {\n data {\n ...AdFields\n }\n message\n }\n}\n ${AdFieldsFragmentDoc}`;\nexport type CreateAdMutationFn = ApolloReactCommon.MutationFunction<CreateAdMutation, CreateAdMutationVariables>;\n\n/**\n * __useCreateAdMutation__\n *\n * To run a mutation, you first call `useCreateAdMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateAdMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createAdMutation, { data, loading, error }] = useCreateAdMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateAdMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateAdMutation, CreateAdMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateAdMutation, CreateAdMutationVariables>(CreateAdDocument, options);\n }\nexport type CreateAdMutationHookResult = ReturnType<typeof useCreateAdMutation>;\nexport type CreateAdMutationResult = ApolloReactCommon.MutationResult<CreateAdMutation>;\nexport type CreateAdMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateAdMutation, CreateAdMutationVariables>;\nexport const UpdateAdDocument = gql`\n mutation updateAd($_id: ID!, $input: AdInputType!) {\n updateAd(_id: $_id, input: $input) {\n data {\n ...AdFields\n }\n message\n }\n}\n ${AdFieldsFragmentDoc}`;\nexport type UpdateAdMutationFn = ApolloReactCommon.MutationFunction<UpdateAdMutation, UpdateAdMutationVariables>;\n\n/**\n * __useUpdateAdMutation__\n *\n * To run a mutation, you first call `useUpdateAdMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateAdMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateAdMutation, { data, loading, error }] = useUpdateAdMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateAdMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateAdMutation, UpdateAdMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateAdMutation, UpdateAdMutationVariables>(UpdateAdDocument, options);\n }\nexport type UpdateAdMutationHookResult = ReturnType<typeof useUpdateAdMutation>;\nexport type UpdateAdMutationResult = ApolloReactCommon.MutationResult<UpdateAdMutation>;\nexport type UpdateAdMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateAdMutation, UpdateAdMutationVariables>;\nexport const DeleteAdDocument = gql`\n mutation deleteAd($_id: ID!) {\n deleteAd(_id: $_id) {\n data\n message\n }\n}\n `;\nexport type DeleteAdMutationFn = ApolloReactCommon.MutationFunction<DeleteAdMutation, DeleteAdMutationVariables>;\n\n/**\n * __useDeleteAdMutation__\n *\n * To run a mutation, you first call `useDeleteAdMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteAdMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteAdMutation, { data, loading, error }] = useDeleteAdMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useDeleteAdMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeleteAdMutation, DeleteAdMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeleteAdMutation, DeleteAdMutationVariables>(DeleteAdDocument, options);\n }\nexport type DeleteAdMutationHookResult = ReturnType<typeof useDeleteAdMutation>;\nexport type DeleteAdMutationResult = ApolloReactCommon.MutationResult<DeleteAdMutation>;\nexport type DeleteAdMutationOptions = ApolloReactCommon.BaseMutationOptions<DeleteAdMutation, DeleteAdMutationVariables>;\nexport const AdminUpdateResourceTypeDocument = gql`\n mutation adminUpdateResourceType($input: AdminUpdateResourceInputType!) {\n adminUpdateResourceType(input: $input) {\n data {\n active\n resourceId\n resourceType\n }\n message\n }\n}\n `;\nexport type AdminUpdateResourceTypeMutationFn = ApolloReactCommon.MutationFunction<AdminUpdateResourceTypeMutation, AdminUpdateResourceTypeMutationVariables>;\n\n/**\n * __useAdminUpdateResourceTypeMutation__\n *\n * To run a mutation, you first call `useAdminUpdateResourceTypeMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAdminUpdateResourceTypeMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [adminUpdateResourceTypeMutation, { data, loading, error }] = useAdminUpdateResourceTypeMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAdminUpdateResourceTypeMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<AdminUpdateResourceTypeMutation, AdminUpdateResourceTypeMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<AdminUpdateResourceTypeMutation, AdminUpdateResourceTypeMutationVariables>(AdminUpdateResourceTypeDocument, options);\n }\nexport type AdminUpdateResourceTypeMutationHookResult = ReturnType<typeof useAdminUpdateResourceTypeMutation>;\nexport type AdminUpdateResourceTypeMutationResult = ApolloReactCommon.MutationResult<AdminUpdateResourceTypeMutation>;\nexport type AdminUpdateResourceTypeMutationOptions = ApolloReactCommon.BaseMutationOptions<AdminUpdateResourceTypeMutation, AdminUpdateResourceTypeMutationVariables>;\nexport const AdminResendUserVerificationEmailDocument = gql`\n mutation adminResendUserVerificationEmail($userId: ID!) {\n adminResendUserVerificationEmail(userId: $userId) {\n data\n message\n }\n}\n `;\nexport type AdminResendUserVerificationEmailMutationFn = ApolloReactCommon.MutationFunction<AdminResendUserVerificationEmailMutation, AdminResendUserVerificationEmailMutationVariables>;\n\n/**\n * __useAdminResendUserVerificationEmailMutation__\n *\n * To run a mutation, you first call `useAdminResendUserVerificationEmailMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAdminResendUserVerificationEmailMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [adminResendUserVerificationEmailMutation, { data, loading, error }] = useAdminResendUserVerificationEmailMutation({\n * variables: {\n * userId: // value for 'userId'\n * },\n * });\n */\nexport function useAdminResendUserVerificationEmailMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<AdminResendUserVerificationEmailMutation, AdminResendUserVerificationEmailMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<AdminResendUserVerificationEmailMutation, AdminResendUserVerificationEmailMutationVariables>(AdminResendUserVerificationEmailDocument, options);\n }\nexport type AdminResendUserVerificationEmailMutationHookResult = ReturnType<typeof useAdminResendUserVerificationEmailMutation>;\nexport type AdminResendUserVerificationEmailMutationResult = ApolloReactCommon.MutationResult<AdminResendUserVerificationEmailMutation>;\nexport type AdminResendUserVerificationEmailMutationOptions = ApolloReactCommon.BaseMutationOptions<AdminResendUserVerificationEmailMutation, AdminResendUserVerificationEmailMutationVariables>;\nexport const AdminPermanentlyDeleteResourceDocument = gql`\n mutation adminPermanentlyDeleteResource($resourceId: ID!, $resourceType: ResourceTypeEnum!) {\n adminPermanentlyDeleteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n data\n message\n }\n}\n `;\nexport type AdminPermanentlyDeleteResourceMutationFn = ApolloReactCommon.MutationFunction<AdminPermanentlyDeleteResourceMutation, AdminPermanentlyDeleteResourceMutationVariables>;\n\n/**\n * __useAdminPermanentlyDeleteResourceMutation__\n *\n * To run a mutation, you first call `useAdminPermanentlyDeleteResourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAdminPermanentlyDeleteResourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [adminPermanentlyDeleteResourceMutation, { data, loading, error }] = useAdminPermanentlyDeleteResourceMutation({\n * variables: {\n * resourceId: // value for 'resourceId'\n * resourceType: // value for 'resourceType'\n * },\n * });\n */\nexport function useAdminPermanentlyDeleteResourceMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<AdminPermanentlyDeleteResourceMutation, AdminPermanentlyDeleteResourceMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<AdminPermanentlyDeleteResourceMutation, AdminPermanentlyDeleteResourceMutationVariables>(AdminPermanentlyDeleteResourceDocument, options);\n }\nexport type AdminPermanentlyDeleteResourceMutationHookResult = ReturnType<typeof useAdminPermanentlyDeleteResourceMutation>;\nexport type AdminPermanentlyDeleteResourceMutationResult = ApolloReactCommon.MutationResult<AdminPermanentlyDeleteResourceMutation>;\nexport type AdminPermanentlyDeleteResourceMutationOptions = ApolloReactCommon.BaseMutationOptions<AdminPermanentlyDeleteResourceMutation, AdminPermanentlyDeleteResourceMutationVariables>;\nexport const UpdateAffiliateDetailsDocument = gql`\n mutation updateAffiliateDetails($input: AffiliateDetailsInputType!, $affiliateId: ID!) {\n updateAffiliateDetails(input: $input, affiliateId: $affiliateId) {\n data {\n ...AffiliateFields\n }\n message\n }\n}\n ${AffiliateFieldsFragmentDoc}`;\nexport type UpdateAffiliateDetailsMutationFn = ApolloReactCommon.MutationFunction<UpdateAffiliateDetailsMutation, UpdateAffiliateDetailsMutationVariables>;\n\n/**\n * __useUpdateAffiliateDetailsMutation__\n *\n * To run a mutation, you first call `useUpdateAffiliateDetailsMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateAffiliateDetailsMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateAffiliateDetailsMutation, { data, loading, error }] = useUpdateAffiliateDetailsMutation({\n * variables: {\n * input: // value for 'input'\n * affiliateId: // value for 'affiliateId'\n * },\n * });\n */\nexport function useUpdateAffiliateDetailsMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateAffiliateDetailsMutation, UpdateAffiliateDetailsMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateAffiliateDetailsMutation, UpdateAffiliateDetailsMutationVariables>(UpdateAffiliateDetailsDocument, options);\n }\nexport type UpdateAffiliateDetailsMutationHookResult = ReturnType<typeof useUpdateAffiliateDetailsMutation>;\nexport type UpdateAffiliateDetailsMutationResult = ApolloReactCommon.MutationResult<UpdateAffiliateDetailsMutation>;\nexport type UpdateAffiliateDetailsMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateAffiliateDetailsMutation, UpdateAffiliateDetailsMutationVariables>;\nexport const DeleteAffiliateDocument = gql`\n mutation deleteAffiliate($_id: ID!) {\n deleteAffiliate(_id: $_id) {\n data\n message\n }\n}\n `;\nexport type DeleteAffiliateMutationFn = ApolloReactCommon.MutationFunction<DeleteAffiliateMutation, DeleteAffiliateMutationVariables>;\n\n/**\n * __useDeleteAffiliateMutation__\n *\n * To run a mutation, you first call `useDeleteAffiliateMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteAffiliateMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteAffiliateMutation, { data, loading, error }] = useDeleteAffiliateMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useDeleteAffiliateMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeleteAffiliateMutation, DeleteAffiliateMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeleteAffiliateMutation, DeleteAffiliateMutationVariables>(DeleteAffiliateDocument, options);\n }\nexport type DeleteAffiliateMutationHookResult = ReturnType<typeof useDeleteAffiliateMutation>;\nexport type DeleteAffiliateMutationResult = ApolloReactCommon.MutationResult<DeleteAffiliateMutation>;\nexport type DeleteAffiliateMutationOptions = ApolloReactCommon.BaseMutationOptions<DeleteAffiliateMutation, DeleteAffiliateMutationVariables>;\nexport const RedeemAffiliateRewardDocument = gql`\n mutation redeemAffiliateReward($affiliateId: ID!) {\n redeemAffiliateReward(affiliateId: $affiliateId) {\n data {\n ...AffiliateFields\n }\n message\n }\n}\n ${AffiliateFieldsFragmentDoc}`;\nexport type RedeemAffiliateRewardMutationFn = ApolloReactCommon.MutationFunction<RedeemAffiliateRewardMutation, RedeemAffiliateRewardMutationVariables>;\n\n/**\n * __useRedeemAffiliateRewardMutation__\n *\n * To run a mutation, you first call `useRedeemAffiliateRewardMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRedeemAffiliateRewardMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [redeemAffiliateRewardMutation, { data, loading, error }] = useRedeemAffiliateRewardMutation({\n * variables: {\n * affiliateId: // value for 'affiliateId'\n * },\n * });\n */\nexport function useRedeemAffiliateRewardMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<RedeemAffiliateRewardMutation, RedeemAffiliateRewardMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<RedeemAffiliateRewardMutation, RedeemAffiliateRewardMutationVariables>(RedeemAffiliateRewardDocument, options);\n }\nexport type RedeemAffiliateRewardMutationHookResult = ReturnType<typeof useRedeemAffiliateRewardMutation>;\nexport type RedeemAffiliateRewardMutationResult = ApolloReactCommon.MutationResult<RedeemAffiliateRewardMutation>;\nexport type RedeemAffiliateRewardMutationOptions = ApolloReactCommon.BaseMutationOptions<RedeemAffiliateRewardMutation, RedeemAffiliateRewardMutationVariables>;\nexport const AssignAffiliateResourceRewardDocument = gql`\n mutation assignAffiliateResourceReward($affiliateId: ID!, $resourceId: ID!, $resourceType: ResourceTypeEnum!, $rewardType: AffiliateRewardEnumType!) {\n assignAffiliateResourceReward(\n affiliateId: $affiliateId\n resourceId: $resourceId\n resourceType: $resourceType\n rewardType: $rewardType\n ) {\n data {\n ...AffiliateFields\n }\n message\n }\n}\n ${AffiliateFieldsFragmentDoc}`;\nexport type AssignAffiliateResourceRewardMutationFn = ApolloReactCommon.MutationFunction<AssignAffiliateResourceRewardMutation, AssignAffiliateResourceRewardMutationVariables>;\n\n/**\n * __useAssignAffiliateResourceRewardMutation__\n *\n * To run a mutation, you first call `useAssignAffiliateResourceRewardMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAssignAffiliateResourceRewardMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [assignAffiliateResourceRewardMutation, { data, loading, error }] = useAssignAffiliateResourceRewardMutation({\n * variables: {\n * affiliateId: // value for 'affiliateId'\n * resourceId: // value for 'resourceId'\n * resourceType: // value for 'resourceType'\n * rewardType: // value for 'rewardType'\n * },\n * });\n */\nexport function useAssignAffiliateResourceRewardMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<AssignAffiliateResourceRewardMutation, AssignAffiliateResourceRewardMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<AssignAffiliateResourceRewardMutation, AssignAffiliateResourceRewardMutationVariables>(AssignAffiliateResourceRewardDocument, options);\n }\nexport type AssignAffiliateResourceRewardMutationHookResult = ReturnType<typeof useAssignAffiliateResourceRewardMutation>;\nexport type AssignAffiliateResourceRewardMutationResult = ApolloReactCommon.MutationResult<AssignAffiliateResourceRewardMutation>;\nexport type AssignAffiliateResourceRewardMutationOptions = ApolloReactCommon.BaseMutationOptions<AssignAffiliateResourceRewardMutation, AssignAffiliateResourceRewardMutationVariables>;\nexport const AssignAffiliateBonusRewardDocument = gql`\n mutation assignAffiliateBonusReward($affiliateId: ID!, $rewardType: AffiliateRewardEnumType!) {\n assignAffiliateBonusReward(affiliateId: $affiliateId, rewardType: $rewardType) {\n data {\n ...AffiliateFields\n }\n message\n }\n}\n ${AffiliateFieldsFragmentDoc}`;\nexport type AssignAffiliateBonusRewardMutationFn = ApolloReactCommon.MutationFunction<AssignAffiliateBonusRewardMutation, AssignAffiliateBonusRewardMutationVariables>;\n\n/**\n * __useAssignAffiliateBonusRewardMutation__\n *\n * To run a mutation, you first call `useAssignAffiliateBonusRewardMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAssignAffiliateBonusRewardMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [assignAffiliateBonusRewardMutation, { data, loading, error }] = useAssignAffiliateBonusRewardMutation({\n * variables: {\n * affiliateId: // value for 'affiliateId'\n * rewardType: // value for 'rewardType'\n * },\n * });\n */\nexport function useAssignAffiliateBonusRewardMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<AssignAffiliateBonusRewardMutation, AssignAffiliateBonusRewardMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<AssignAffiliateBonusRewardMutation, AssignAffiliateBonusRewardMutationVariables>(AssignAffiliateBonusRewardDocument, options);\n }\nexport type AssignAffiliateBonusRewardMutationHookResult = ReturnType<typeof useAssignAffiliateBonusRewardMutation>;\nexport type AssignAffiliateBonusRewardMutationResult = ApolloReactCommon.MutationResult<AssignAffiliateBonusRewardMutation>;\nexport type AssignAffiliateBonusRewardMutationOptions = ApolloReactCommon.BaseMutationOptions<AssignAffiliateBonusRewardMutation, AssignAffiliateBonusRewardMutationVariables>;\nexport const UpdateAppSettingsDocument = gql`\n mutation updateAppSettings($input: AppSettingsInputType!) {\n updateAppSettings(input: $input) {\n data\n message\n }\n}\n `;\nexport type UpdateAppSettingsMutationFn = ApolloReactCommon.MutationFunction<UpdateAppSettingsMutation, UpdateAppSettingsMutationVariables>;\n\n/**\n * __useUpdateAppSettingsMutation__\n *\n * To run a mutation, you first call `useUpdateAppSettingsMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateAppSettingsMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateAppSettingsMutation, { data, loading, error }] = useUpdateAppSettingsMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateAppSettingsMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateAppSettingsMutation, UpdateAppSettingsMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateAppSettingsMutation, UpdateAppSettingsMutationVariables>(UpdateAppSettingsDocument, options);\n }\nexport type UpdateAppSettingsMutationHookResult = ReturnType<typeof useUpdateAppSettingsMutation>;\nexport type UpdateAppSettingsMutationResult = ApolloReactCommon.MutationResult<UpdateAppSettingsMutation>;\nexport type UpdateAppSettingsMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateAppSettingsMutation, UpdateAppSettingsMutationVariables>;\nexport const CrawlGoogleMarketsDocument = gql`\n mutation crawlGoogleMarkets {\n crawlGoogleMarkets {\n data\n message\n }\n}\n `;\nexport type CrawlGoogleMarketsMutationFn = ApolloReactCommon.MutationFunction<CrawlGoogleMarketsMutation, CrawlGoogleMarketsMutationVariables>;\n\n/**\n * __useCrawlGoogleMarketsMutation__\n *\n * To run a mutation, you first call `useCrawlGoogleMarketsMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCrawlGoogleMarketsMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [crawlGoogleMarketsMutation, { data, loading, error }] = useCrawlGoogleMarketsMutation({\n * variables: {\n * },\n * });\n */\nexport function useCrawlGoogleMarketsMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CrawlGoogleMarketsMutation, CrawlGoogleMarketsMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CrawlGoogleMarketsMutation, CrawlGoogleMarketsMutationVariables>(CrawlGoogleMarketsDocument, options);\n }\nexport type CrawlGoogleMarketsMutationHookResult = ReturnType<typeof useCrawlGoogleMarketsMutation>;\nexport type CrawlGoogleMarketsMutationResult = ApolloReactCommon.MutationResult<CrawlGoogleMarketsMutation>;\nexport type CrawlGoogleMarketsMutationOptions = ApolloReactCommon.BaseMutationOptions<CrawlGoogleMarketsMutation, CrawlGoogleMarketsMutationVariables>;\nexport const UpdateGoogleImportedMarketsDocument = gql`\n mutation updateGoogleImportedMarkets {\n updateGoogleImportedMarkets {\n data\n message\n }\n}\n `;\nexport type UpdateGoogleImportedMarketsMutationFn = ApolloReactCommon.MutationFunction<UpdateGoogleImportedMarketsMutation, UpdateGoogleImportedMarketsMutationVariables>;\n\n/**\n * __useUpdateGoogleImportedMarketsMutation__\n *\n * To run a mutation, you first call `useUpdateGoogleImportedMarketsMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateGoogleImportedMarketsMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateGoogleImportedMarketsMutation, { data, loading, error }] = useUpdateGoogleImportedMarketsMutation({\n * variables: {\n * },\n * });\n */\nexport function useUpdateGoogleImportedMarketsMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateGoogleImportedMarketsMutation, UpdateGoogleImportedMarketsMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateGoogleImportedMarketsMutation, UpdateGoogleImportedMarketsMutationVariables>(UpdateGoogleImportedMarketsDocument, options);\n }\nexport type UpdateGoogleImportedMarketsMutationHookResult = ReturnType<typeof useUpdateGoogleImportedMarketsMutation>;\nexport type UpdateGoogleImportedMarketsMutationResult = ApolloReactCommon.MutationResult<UpdateGoogleImportedMarketsMutation>;\nexport type UpdateGoogleImportedMarketsMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateGoogleImportedMarketsMutation, UpdateGoogleImportedMarketsMutationVariables>;\nexport const RegisterDocument = gql`\n mutation register($input: RegisterInputType!) {\n register(input: $input) {\n data {\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n message\n }\n}\n ${UserFieldsFragmentDoc}`;\nexport type RegisterMutationFn = ApolloReactCommon.MutationFunction<RegisterMutation, RegisterMutationVariables>;\n\n/**\n * __useRegisterMutation__\n *\n * To run a mutation, you first call `useRegisterMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRegisterMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [registerMutation, { data, loading, error }] = useRegisterMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRegisterMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<RegisterMutation, RegisterMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<RegisterMutation, RegisterMutationVariables>(RegisterDocument, options);\n }\nexport type RegisterMutationHookResult = ReturnType<typeof useRegisterMutation>;\nexport type RegisterMutationResult = ApolloReactCommon.MutationResult<RegisterMutation>;\nexport type RegisterMutationOptions = ApolloReactCommon.BaseMutationOptions<RegisterMutation, RegisterMutationVariables>;\nexport const LoginDocument = gql`\n mutation login($input: LoginInputType!) {\n login(input: $input) {\n data {\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n message\n }\n}\n ${UserFieldsFragmentDoc}`;\nexport type LoginMutationFn = ApolloReactCommon.MutationFunction<LoginMutation, LoginMutationVariables>;\n\n/**\n * __useLoginMutation__\n *\n * To run a mutation, you first call `useLoginMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useLoginMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [loginMutation, { data, loading, error }] = useLoginMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useLoginMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<LoginMutation, LoginMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<LoginMutation, LoginMutationVariables>(LoginDocument, options);\n }\nexport type LoginMutationHookResult = ReturnType<typeof useLoginMutation>;\nexport type LoginMutationResult = ApolloReactCommon.MutationResult<LoginMutation>;\nexport type LoginMutationOptions = ApolloReactCommon.BaseMutationOptions<LoginMutation, LoginMutationVariables>;\nexport const LogoutDocument = gql`\n mutation logout {\n logout {\n data\n message\n }\n}\n `;\nexport type LogoutMutationFn = ApolloReactCommon.MutationFunction<LogoutMutation, LogoutMutationVariables>;\n\n/**\n * __useLogoutMutation__\n *\n * To run a mutation, you first call `useLogoutMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useLogoutMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [logoutMutation, { data, loading, error }] = useLogoutMutation({\n * variables: {\n * },\n * });\n */\nexport function useLogoutMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<LogoutMutation, LogoutMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<LogoutMutation, LogoutMutationVariables>(LogoutDocument, options);\n }\nexport type LogoutMutationHookResult = ReturnType<typeof useLogoutMutation>;\nexport type LogoutMutationResult = ApolloReactCommon.MutationResult<LogoutMutation>;\nexport type LogoutMutationOptions = ApolloReactCommon.BaseMutationOptions<LogoutMutation, LogoutMutationVariables>;\nexport const RefreshTokenDocument = gql`\n mutation refreshToken($input: RefreshTokenInputType!) {\n refreshToken(input: $input) {\n data {\n refreshToken\n token\n }\n message\n }\n}\n `;\nexport type RefreshTokenMutationFn = ApolloReactCommon.MutationFunction<RefreshTokenMutation, RefreshTokenMutationVariables>;\n\n/**\n * __useRefreshTokenMutation__\n *\n * To run a mutation, you first call `useRefreshTokenMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRefreshTokenMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [refreshTokenMutation, { data, loading, error }] = useRefreshTokenMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRefreshTokenMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<RefreshTokenMutation, RefreshTokenMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<RefreshTokenMutation, RefreshTokenMutationVariables>(RefreshTokenDocument, options);\n }\nexport type RefreshTokenMutationHookResult = ReturnType<typeof useRefreshTokenMutation>;\nexport type RefreshTokenMutationResult = ApolloReactCommon.MutationResult<RefreshTokenMutation>;\nexport type RefreshTokenMutationOptions = ApolloReactCommon.BaseMutationOptions<RefreshTokenMutation, RefreshTokenMutationVariables>;\nexport const ResetPasswordDocument = gql`\n mutation resetPassword($input: ResetPasswordInputType!) {\n resetPassword(input: $input) {\n data\n message\n }\n}\n `;\nexport type ResetPasswordMutationFn = ApolloReactCommon.MutationFunction<ResetPasswordMutation, ResetPasswordMutationVariables>;\n\n/**\n * __useResetPasswordMutation__\n *\n * To run a mutation, you first call `useResetPasswordMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useResetPasswordMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [resetPasswordMutation, { data, loading, error }] = useResetPasswordMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useResetPasswordMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<ResetPasswordMutation, ResetPasswordMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<ResetPasswordMutation, ResetPasswordMutationVariables>(ResetPasswordDocument, options);\n }\nexport type ResetPasswordMutationHookResult = ReturnType<typeof useResetPasswordMutation>;\nexport type ResetPasswordMutationResult = ApolloReactCommon.MutationResult<ResetPasswordMutation>;\nexport type ResetPasswordMutationOptions = ApolloReactCommon.BaseMutationOptions<ResetPasswordMutation, ResetPasswordMutationVariables>;\nexport const RequestPasswordResetDocument = gql`\n mutation requestPasswordReset($input: RequestPasswordResetInputType!) {\n requestPasswordReset(input: $input) {\n data\n message\n }\n}\n `;\nexport type RequestPasswordResetMutationFn = ApolloReactCommon.MutationFunction<RequestPasswordResetMutation, RequestPasswordResetMutationVariables>;\n\n/**\n * __useRequestPasswordResetMutation__\n *\n * To run a mutation, you first call `useRequestPasswordResetMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRequestPasswordResetMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [requestPasswordResetMutation, { data, loading, error }] = useRequestPasswordResetMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRequestPasswordResetMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<RequestPasswordResetMutation, RequestPasswordResetMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<RequestPasswordResetMutation, RequestPasswordResetMutationVariables>(RequestPasswordResetDocument, options);\n }\nexport type RequestPasswordResetMutationHookResult = ReturnType<typeof useRequestPasswordResetMutation>;\nexport type RequestPasswordResetMutationResult = ApolloReactCommon.MutationResult<RequestPasswordResetMutation>;\nexport type RequestPasswordResetMutationOptions = ApolloReactCommon.BaseMutationOptions<RequestPasswordResetMutation, RequestPasswordResetMutationVariables>;\nexport const ValidateVerificationTokenDocument = gql`\n mutation validateVerificationToken($input: ValidateVerificationTokenInputType!) {\n validateVerificationToken(input: $input) {\n data\n message\n }\n}\n `;\nexport type ValidateVerificationTokenMutationFn = ApolloReactCommon.MutationFunction<ValidateVerificationTokenMutation, ValidateVerificationTokenMutationVariables>;\n\n/**\n * __useValidateVerificationTokenMutation__\n *\n * To run a mutation, you first call `useValidateVerificationTokenMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useValidateVerificationTokenMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [validateVerificationTokenMutation, { data, loading, error }] = useValidateVerificationTokenMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useValidateVerificationTokenMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<ValidateVerificationTokenMutation, ValidateVerificationTokenMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<ValidateVerificationTokenMutation, ValidateVerificationTokenMutationVariables>(ValidateVerificationTokenDocument, options);\n }\nexport type ValidateVerificationTokenMutationHookResult = ReturnType<typeof useValidateVerificationTokenMutation>;\nexport type ValidateVerificationTokenMutationResult = ApolloReactCommon.MutationResult<ValidateVerificationTokenMutation>;\nexport type ValidateVerificationTokenMutationOptions = ApolloReactCommon.BaseMutationOptions<ValidateVerificationTokenMutation, ValidateVerificationTokenMutationVariables>;\nexport const CreatePrivateChatDocument = gql`\n mutation createPrivateChat($userId: ID!) {\n createPrivateChat(userId: $userId) {\n data {\n ...ChatFields\n }\n message\n }\n}\n ${ChatFieldsFragmentDoc}`;\nexport type CreatePrivateChatMutationFn = ApolloReactCommon.MutationFunction<CreatePrivateChatMutation, CreatePrivateChatMutationVariables>;\n\n/**\n * __useCreatePrivateChatMutation__\n *\n * To run a mutation, you first call `useCreatePrivateChatMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreatePrivateChatMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createPrivateChatMutation, { data, loading, error }] = useCreatePrivateChatMutation({\n * variables: {\n * userId: // value for 'userId'\n * },\n * });\n */\nexport function useCreatePrivateChatMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreatePrivateChatMutation, CreatePrivateChatMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreatePrivateChatMutation, CreatePrivateChatMutationVariables>(CreatePrivateChatDocument, options);\n }\nexport type CreatePrivateChatMutationHookResult = ReturnType<typeof useCreatePrivateChatMutation>;\nexport type CreatePrivateChatMutationResult = ApolloReactCommon.MutationResult<CreatePrivateChatMutation>;\nexport type CreatePrivateChatMutationOptions = ApolloReactCommon.BaseMutationOptions<CreatePrivateChatMutation, CreatePrivateChatMutationVariables>;\nexport const SendChatMessageDocument = gql`\n mutation sendChatMessage($_id: ID!, $input: ChatMessageInputType!) {\n sendChatMessage(_id: $_id, input: $input) {\n data {\n ...ChatFields\n }\n message\n }\n}\n ${ChatFieldsFragmentDoc}`;\nexport type SendChatMessageMutationFn = ApolloReactCommon.MutationFunction<SendChatMessageMutation, SendChatMessageMutationVariables>;\n\n/**\n * __useSendChatMessageMutation__\n *\n * To run a mutation, you first call `useSendChatMessageMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useSendChatMessageMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [sendChatMessageMutation, { data, loading, error }] = useSendChatMessageMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useSendChatMessageMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<SendChatMessageMutation, SendChatMessageMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<SendChatMessageMutation, SendChatMessageMutationVariables>(SendChatMessageDocument, options);\n }\nexport type SendChatMessageMutationHookResult = ReturnType<typeof useSendChatMessageMutation>;\nexport type SendChatMessageMutationResult = ApolloReactCommon.MutationResult<SendChatMessageMutation>;\nexport type SendChatMessageMutationOptions = ApolloReactCommon.BaseMutationOptions<SendChatMessageMutation, SendChatMessageMutationVariables>;\nexport const DeleteChatDocument = gql`\n mutation deleteChat($_id: ID!) {\n deleteChat(_id: $_id) {\n data\n message\n }\n}\n `;\nexport type DeleteChatMutationFn = ApolloReactCommon.MutationFunction<DeleteChatMutation, DeleteChatMutationVariables>;\n\n/**\n * __useDeleteChatMutation__\n *\n * To run a mutation, you first call `useDeleteChatMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteChatMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteChatMutation, { data, loading, error }] = useDeleteChatMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useDeleteChatMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeleteChatMutation, DeleteChatMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeleteChatMutation, DeleteChatMutationVariables>(DeleteChatDocument, options);\n }\nexport type DeleteChatMutationHookResult = ReturnType<typeof useDeleteChatMutation>;\nexport type DeleteChatMutationResult = ApolloReactCommon.MutationResult<DeleteChatMutation>;\nexport type DeleteChatMutationOptions = ApolloReactCommon.BaseMutationOptions<DeleteChatMutation, DeleteChatMutationVariables>;\nexport const AddParticipantToChatDocument = gql`\n mutation addParticipantToChat($chatId: ID!, $userId: ID!) {\n addParticipantToChat(chatId: $chatId, userId: $userId) {\n data {\n ...ChatFields\n }\n message\n }\n}\n ${ChatFieldsFragmentDoc}`;\nexport type AddParticipantToChatMutationFn = ApolloReactCommon.MutationFunction<AddParticipantToChatMutation, AddParticipantToChatMutationVariables>;\n\n/**\n * __useAddParticipantToChatMutation__\n *\n * To run a mutation, you first call `useAddParticipantToChatMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAddParticipantToChatMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [addParticipantToChatMutation, { data, loading, error }] = useAddParticipantToChatMutation({\n * variables: {\n * chatId: // value for 'chatId'\n * userId: // value for 'userId'\n * },\n * });\n */\nexport function useAddParticipantToChatMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<AddParticipantToChatMutation, AddParticipantToChatMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<AddParticipantToChatMutation, AddParticipantToChatMutationVariables>(AddParticipantToChatDocument, options);\n }\nexport type AddParticipantToChatMutationHookResult = ReturnType<typeof useAddParticipantToChatMutation>;\nexport type AddParticipantToChatMutationResult = ApolloReactCommon.MutationResult<AddParticipantToChatMutation>;\nexport type AddParticipantToChatMutationOptions = ApolloReactCommon.BaseMutationOptions<AddParticipantToChatMutation, AddParticipantToChatMutationVariables>;\nexport const RemoveParticipantFromChatDocument = gql`\n mutation removeParticipantFromChat($chatId: ID!, $userId: ID!) {\n removeParticipantFromChat(chatId: $chatId, userId: $userId) {\n data {\n success\n region\n }\n message\n }\n}\n `;\nexport type RemoveParticipantFromChatMutationFn = ApolloReactCommon.MutationFunction<RemoveParticipantFromChatMutation, RemoveParticipantFromChatMutationVariables>;\n\n/**\n * __useRemoveParticipantFromChatMutation__\n *\n * To run a mutation, you first call `useRemoveParticipantFromChatMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRemoveParticipantFromChatMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [removeParticipantFromChatMutation, { data, loading, error }] = useRemoveParticipantFromChatMutation({\n * variables: {\n * chatId: // value for 'chatId'\n * userId: // value for 'userId'\n * },\n * });\n */\nexport function useRemoveParticipantFromChatMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<RemoveParticipantFromChatMutation, RemoveParticipantFromChatMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<RemoveParticipantFromChatMutation, RemoveParticipantFromChatMutationVariables>(RemoveParticipantFromChatDocument, options);\n }\nexport type RemoveParticipantFromChatMutationHookResult = ReturnType<typeof useRemoveParticipantFromChatMutation>;\nexport type RemoveParticipantFromChatMutationResult = ApolloReactCommon.MutationResult<RemoveParticipantFromChatMutation>;\nexport type RemoveParticipantFromChatMutationOptions = ApolloReactCommon.BaseMutationOptions<RemoveParticipantFromChatMutation, RemoveParticipantFromChatMutationVariables>;\nexport const ToggleChatMessageLikeDocument = gql`\n mutation toggleChatMessageLike($chatId: ID!, $messageId: ID!) {\n toggleChatMessageLike(chatId: $chatId, messageId: $messageId) {\n data {\n ...ChatFields\n }\n message\n }\n}\n ${ChatFieldsFragmentDoc}`;\nexport type ToggleChatMessageLikeMutationFn = ApolloReactCommon.MutationFunction<ToggleChatMessageLikeMutation, ToggleChatMessageLikeMutationVariables>;\n\n/**\n * __useToggleChatMessageLikeMutation__\n *\n * To run a mutation, you first call `useToggleChatMessageLikeMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useToggleChatMessageLikeMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [toggleChatMessageLikeMutation, { data, loading, error }] = useToggleChatMessageLikeMutation({\n * variables: {\n * chatId: // value for 'chatId'\n * messageId: // value for 'messageId'\n * },\n * });\n */\nexport function useToggleChatMessageLikeMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<ToggleChatMessageLikeMutation, ToggleChatMessageLikeMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<ToggleChatMessageLikeMutation, ToggleChatMessageLikeMutationVariables>(ToggleChatMessageLikeDocument, options);\n }\nexport type ToggleChatMessageLikeMutationHookResult = ReturnType<typeof useToggleChatMessageLikeMutation>;\nexport type ToggleChatMessageLikeMutationResult = ApolloReactCommon.MutationResult<ToggleChatMessageLikeMutation>;\nexport type ToggleChatMessageLikeMutationOptions = ApolloReactCommon.BaseMutationOptions<ToggleChatMessageLikeMutation, ToggleChatMessageLikeMutationVariables>;\nexport const MarkChatMessagesSeenDocument = gql`\n mutation markChatMessagesSeen($chatId: ID!, $messageIds: [ID!]!) {\n markChatMessagesSeen(chatId: $chatId, messageIds: $messageIds) {\n data {\n ...ChatFields\n }\n message\n }\n}\n ${ChatFieldsFragmentDoc}`;\nexport type MarkChatMessagesSeenMutationFn = ApolloReactCommon.MutationFunction<MarkChatMessagesSeenMutation, MarkChatMessagesSeenMutationVariables>;\n\n/**\n * __useMarkChatMessagesSeenMutation__\n *\n * To run a mutation, you first call `useMarkChatMessagesSeenMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useMarkChatMessagesSeenMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [markChatMessagesSeenMutation, { data, loading, error }] = useMarkChatMessagesSeenMutation({\n * variables: {\n * chatId: // value for 'chatId'\n * messageIds: // value for 'messageIds'\n * },\n * });\n */\nexport function useMarkChatMessagesSeenMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<MarkChatMessagesSeenMutation, MarkChatMessagesSeenMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<MarkChatMessagesSeenMutation, MarkChatMessagesSeenMutationVariables>(MarkChatMessagesSeenDocument, options);\n }\nexport type MarkChatMessagesSeenMutationHookResult = ReturnType<typeof useMarkChatMessagesSeenMutation>;\nexport type MarkChatMessagesSeenMutationResult = ApolloReactCommon.MutationResult<MarkChatMessagesSeenMutation>;\nexport type MarkChatMessagesSeenMutationOptions = ApolloReactCommon.BaseMutationOptions<MarkChatMessagesSeenMutation, MarkChatMessagesSeenMutationVariables>;\nexport const ReportChatUserDocument = gql`\n mutation reportChatUser($input: ReportChatUserInputType!) {\n reportChatUser(input: $input) {\n data {\n ...ChatReportFields\n }\n message\n }\n}\n ${ChatReportFieldsFragmentDoc}`;\nexport type ReportChatUserMutationFn = ApolloReactCommon.MutationFunction<ReportChatUserMutation, ReportChatUserMutationVariables>;\n\n/**\n * __useReportChatUserMutation__\n *\n * To run a mutation, you first call `useReportChatUserMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useReportChatUserMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [reportChatUserMutation, { data, loading, error }] = useReportChatUserMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useReportChatUserMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<ReportChatUserMutation, ReportChatUserMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<ReportChatUserMutation, ReportChatUserMutationVariables>(ReportChatUserDocument, options);\n }\nexport type ReportChatUserMutationHookResult = ReturnType<typeof useReportChatUserMutation>;\nexport type ReportChatUserMutationResult = ApolloReactCommon.MutationResult<ReportChatUserMutation>;\nexport type ReportChatUserMutationOptions = ApolloReactCommon.BaseMutationOptions<ReportChatUserMutation, ReportChatUserMutationVariables>;\nexport const ContactUsDocument = gql`\n mutation contactUs($input: ContactUsInputType!) {\n contactUs(input: $input) {\n data\n message\n }\n}\n `;\nexport type ContactUsMutationFn = ApolloReactCommon.MutationFunction<ContactUsMutation, ContactUsMutationVariables>;\n\n/**\n * __useContactUsMutation__\n *\n * To run a mutation, you first call `useContactUsMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useContactUsMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [contactUsMutation, { data, loading, error }] = useContactUsMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useContactUsMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<ContactUsMutation, ContactUsMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<ContactUsMutation, ContactUsMutationVariables>(ContactUsDocument, options);\n }\nexport type ContactUsMutationHookResult = ReturnType<typeof useContactUsMutation>;\nexport type ContactUsMutationResult = ApolloReactCommon.MutationResult<ContactUsMutation>;\nexport type ContactUsMutationOptions = ApolloReactCommon.BaseMutationOptions<ContactUsMutation, ContactUsMutationVariables>;\nexport const CreateEventDocument = gql`\n mutation createEvent($input: EventInputType!) {\n createEvent(input: $input) {\n data {\n ...EventFields\n }\n message\n }\n}\n ${EventFieldsFragmentDoc}`;\nexport type CreateEventMutationFn = ApolloReactCommon.MutationFunction<CreateEventMutation, CreateEventMutationVariables>;\n\n/**\n * __useCreateEventMutation__\n *\n * To run a mutation, you first call `useCreateEventMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateEventMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createEventMutation, { data, loading, error }] = useCreateEventMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateEventMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateEventMutation, CreateEventMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateEventMutation, CreateEventMutationVariables>(CreateEventDocument, options);\n }\nexport type CreateEventMutationHookResult = ReturnType<typeof useCreateEventMutation>;\nexport type CreateEventMutationResult = ApolloReactCommon.MutationResult<CreateEventMutation>;\nexport type CreateEventMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateEventMutation, CreateEventMutationVariables>;\nexport const UpdateEventDocument = gql`\n mutation updateEvent($_id: ID!, $input: EventInputType!) {\n updateEvent(_id: $_id, input: $input) {\n data {\n ...EventFields\n }\n message\n }\n}\n ${EventFieldsFragmentDoc}`;\nexport type UpdateEventMutationFn = ApolloReactCommon.MutationFunction<UpdateEventMutation, UpdateEventMutationVariables>;\n\n/**\n * __useUpdateEventMutation__\n *\n * To run a mutation, you first call `useUpdateEventMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateEventMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateEventMutation, { data, loading, error }] = useUpdateEventMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateEventMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateEventMutation, UpdateEventMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateEventMutation, UpdateEventMutationVariables>(UpdateEventDocument, options);\n }\nexport type UpdateEventMutationHookResult = ReturnType<typeof useUpdateEventMutation>;\nexport type UpdateEventMutationResult = ApolloReactCommon.MutationResult<UpdateEventMutation>;\nexport type UpdateEventMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateEventMutation, UpdateEventMutationVariables>;\nexport const DeleteEventDocument = gql`\n mutation deleteEvent($_id: ID!) {\n deleteEvent(_id: $_id) {\n data\n message\n }\n}\n `;\nexport type DeleteEventMutationFn = ApolloReactCommon.MutationFunction<DeleteEventMutation, DeleteEventMutationVariables>;\n\n/**\n * __useDeleteEventMutation__\n *\n * To run a mutation, you first call `useDeleteEventMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteEventMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteEventMutation, { data, loading, error }] = useDeleteEventMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useDeleteEventMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeleteEventMutation, DeleteEventMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeleteEventMutation, DeleteEventMutationVariables>(DeleteEventDocument, options);\n }\nexport type DeleteEventMutationHookResult = ReturnType<typeof useDeleteEventMutation>;\nexport type DeleteEventMutationResult = ApolloReactCommon.MutationResult<DeleteEventMutation>;\nexport type DeleteEventMutationOptions = ApolloReactCommon.BaseMutationOptions<DeleteEventMutation, DeleteEventMutationVariables>;\nexport const CreateEventInfoDocument = gql`\n mutation createEventInfo($input: EventInfoInputType!) {\n createEventInfo(input: $input) {\n data {\n ...EventInfoFields\n }\n message\n }\n}\n ${EventInfoFieldsFragmentDoc}`;\nexport type CreateEventInfoMutationFn = ApolloReactCommon.MutationFunction<CreateEventInfoMutation, CreateEventInfoMutationVariables>;\n\n/**\n * __useCreateEventInfoMutation__\n *\n * To run a mutation, you first call `useCreateEventInfoMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateEventInfoMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createEventInfoMutation, { data, loading, error }] = useCreateEventInfoMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateEventInfoMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateEventInfoMutation, CreateEventInfoMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateEventInfoMutation, CreateEventInfoMutationVariables>(CreateEventInfoDocument, options);\n }\nexport type CreateEventInfoMutationHookResult = ReturnType<typeof useCreateEventInfoMutation>;\nexport type CreateEventInfoMutationResult = ApolloReactCommon.MutationResult<CreateEventInfoMutation>;\nexport type CreateEventInfoMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateEventInfoMutation, CreateEventInfoMutationVariables>;\nexport const UpdateEventInfoDocument = gql`\n mutation updateEventInfo($_id: ID!, $input: EventInfoInputType!) {\n updateEventInfo(_id: $_id, input: $input) {\n data {\n ...EventInfoFields\n }\n message\n }\n}\n ${EventInfoFieldsFragmentDoc}`;\nexport type UpdateEventInfoMutationFn = ApolloReactCommon.MutationFunction<UpdateEventInfoMutation, UpdateEventInfoMutationVariables>;\n\n/**\n * __useUpdateEventInfoMutation__\n *\n * To run a mutation, you first call `useUpdateEventInfoMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateEventInfoMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateEventInfoMutation, { data, loading, error }] = useUpdateEventInfoMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateEventInfoMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateEventInfoMutation, UpdateEventInfoMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateEventInfoMutation, UpdateEventInfoMutationVariables>(UpdateEventInfoDocument, options);\n }\nexport type UpdateEventInfoMutationHookResult = ReturnType<typeof useUpdateEventInfoMutation>;\nexport type UpdateEventInfoMutationResult = ApolloReactCommon.MutationResult<UpdateEventInfoMutation>;\nexport type UpdateEventInfoMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateEventInfoMutation, UpdateEventInfoMutationVariables>;\nexport const StartGameDocument = gql`\n mutation startGame($input: BaseGameInputType!) {\n startGame(input: $input) {\n data {\n ...GameDocFields\n }\n message\n }\n}\n ${GameDocFieldsFragmentDoc}`;\nexport type StartGameMutationFn = ApolloReactCommon.MutationFunction<StartGameMutation, StartGameMutationVariables>;\n\n/**\n * __useStartGameMutation__\n *\n * To run a mutation, you first call `useStartGameMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useStartGameMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [startGameMutation, { data, loading, error }] = useStartGameMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useStartGameMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<StartGameMutation, StartGameMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<StartGameMutation, StartGameMutationVariables>(StartGameDocument, options);\n }\nexport type StartGameMutationHookResult = ReturnType<typeof useStartGameMutation>;\nexport type StartGameMutationResult = ApolloReactCommon.MutationResult<StartGameMutation>;\nexport type StartGameMutationOptions = ApolloReactCommon.BaseMutationOptions<StartGameMutation, StartGameMutationVariables>;\nexport const LeaveGameDocument = gql`\n mutation leaveGame($_id: ID!, $gameType: GameTypeEnumType!, $gameTypeId: String!) {\n leaveGame(_id: $_id, gameType: $gameType, gameTypeId: $gameTypeId) {\n data\n message\n }\n}\n `;\nexport type LeaveGameMutationFn = ApolloReactCommon.MutationFunction<LeaveGameMutation, LeaveGameMutationVariables>;\n\n/**\n * __useLeaveGameMutation__\n *\n * To run a mutation, you first call `useLeaveGameMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useLeaveGameMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [leaveGameMutation, { data, loading, error }] = useLeaveGameMutation({\n * variables: {\n * _id: // value for '_id'\n * gameType: // value for 'gameType'\n * gameTypeId: // value for 'gameTypeId'\n * },\n * });\n */\nexport function useLeaveGameMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<LeaveGameMutation, LeaveGameMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<LeaveGameMutation, LeaveGameMutationVariables>(LeaveGameDocument, options);\n }\nexport type LeaveGameMutationHookResult = ReturnType<typeof useLeaveGameMutation>;\nexport type LeaveGameMutationResult = ApolloReactCommon.MutationResult<LeaveGameMutation>;\nexport type LeaveGameMutationOptions = ApolloReactCommon.BaseMutationOptions<LeaveGameMutation, LeaveGameMutationVariables>;\nexport const UpdateDailyClueGameDocument = gql`\n mutation updateDailyClueGame($_id: ID!, $foundLetter: String!, $gameType: GameTypeEnumType!, $gameTypeId: String!) {\n updateDailyClueGame(\n _id: $_id\n foundLetter: $foundLetter\n gameType: $gameType\n gameTypeId: $gameTypeId\n ) {\n data {\n ...GameDocFields\n }\n message\n }\n}\n ${GameDocFieldsFragmentDoc}`;\nexport type UpdateDailyClueGameMutationFn = ApolloReactCommon.MutationFunction<UpdateDailyClueGameMutation, UpdateDailyClueGameMutationVariables>;\n\n/**\n * __useUpdateDailyClueGameMutation__\n *\n * To run a mutation, you first call `useUpdateDailyClueGameMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateDailyClueGameMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateDailyClueGameMutation, { data, loading, error }] = useUpdateDailyClueGameMutation({\n * variables: {\n * _id: // value for '_id'\n * foundLetter: // value for 'foundLetter'\n * gameType: // value for 'gameType'\n * gameTypeId: // value for 'gameTypeId'\n * },\n * });\n */\nexport function useUpdateDailyClueGameMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateDailyClueGameMutation, UpdateDailyClueGameMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateDailyClueGameMutation, UpdateDailyClueGameMutationVariables>(UpdateDailyClueGameDocument, options);\n }\nexport type UpdateDailyClueGameMutationHookResult = ReturnType<typeof useUpdateDailyClueGameMutation>;\nexport type UpdateDailyClueGameMutationResult = ApolloReactCommon.MutationResult<UpdateDailyClueGameMutation>;\nexport type UpdateDailyClueGameMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateDailyClueGameMutation, UpdateDailyClueGameMutationVariables>;\nexport const UpdatePuzzleGameDocument = gql`\n mutation updatePuzzleGame($_id: ID!, $answeredQuestions: [PuzzleAnsweredQuestionInputType!]!, $gameType: GameTypeEnumType!, $gameTypeId: String!) {\n updatePuzzleGame(\n _id: $_id\n answeredQuestions: $answeredQuestions\n gameType: $gameType\n gameTypeId: $gameTypeId\n ) {\n data {\n ...GameDocFields\n }\n message\n }\n}\n ${GameDocFieldsFragmentDoc}`;\nexport type UpdatePuzzleGameMutationFn = ApolloReactCommon.MutationFunction<UpdatePuzzleGameMutation, UpdatePuzzleGameMutationVariables>;\n\n/**\n * __useUpdatePuzzleGameMutation__\n *\n * To run a mutation, you first call `useUpdatePuzzleGameMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdatePuzzleGameMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updatePuzzleGameMutation, { data, loading, error }] = useUpdatePuzzleGameMutation({\n * variables: {\n * _id: // value for '_id'\n * answeredQuestions: // value for 'answeredQuestions'\n * gameType: // value for 'gameType'\n * gameTypeId: // value for 'gameTypeId'\n * },\n * });\n */\nexport function useUpdatePuzzleGameMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdatePuzzleGameMutation, UpdatePuzzleGameMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdatePuzzleGameMutation, UpdatePuzzleGameMutationVariables>(UpdatePuzzleGameDocument, options);\n }\nexport type UpdatePuzzleGameMutationHookResult = ReturnType<typeof useUpdatePuzzleGameMutation>;\nexport type UpdatePuzzleGameMutationResult = ApolloReactCommon.MutationResult<UpdatePuzzleGameMutation>;\nexport type UpdatePuzzleGameMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdatePuzzleGameMutation, UpdatePuzzleGameMutationVariables>;\nexport const CreateBulkNotificationsDocument = gql`\n mutation createBulkNotifications($input: CreateBulkNotificationInput!) {\n createBulkNotifications(input: $input) {\n data\n message\n }\n}\n `;\nexport type CreateBulkNotificationsMutationFn = ApolloReactCommon.MutationFunction<CreateBulkNotificationsMutation, CreateBulkNotificationsMutationVariables>;\n\n/**\n * __useCreateBulkNotificationsMutation__\n *\n * To run a mutation, you first call `useCreateBulkNotificationsMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateBulkNotificationsMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createBulkNotificationsMutation, { data, loading, error }] = useCreateBulkNotificationsMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateBulkNotificationsMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateBulkNotificationsMutation, CreateBulkNotificationsMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateBulkNotificationsMutation, CreateBulkNotificationsMutationVariables>(CreateBulkNotificationsDocument, options);\n }\nexport type CreateBulkNotificationsMutationHookResult = ReturnType<typeof useCreateBulkNotificationsMutation>;\nexport type CreateBulkNotificationsMutationResult = ApolloReactCommon.MutationResult<CreateBulkNotificationsMutation>;\nexport type CreateBulkNotificationsMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateBulkNotificationsMutation, CreateBulkNotificationsMutationVariables>;\nexport const MarkNotificationReadDocument = gql`\n mutation markNotificationRead($_id: ID!) {\n markNotificationRead(_id: $_id) {\n data {\n ...NotificationFields\n }\n message\n }\n}\n ${NotificationFieldsFragmentDoc}`;\nexport type MarkNotificationReadMutationFn = ApolloReactCommon.MutationFunction<MarkNotificationReadMutation, MarkNotificationReadMutationVariables>;\n\n/**\n * __useMarkNotificationReadMutation__\n *\n * To run a mutation, you first call `useMarkNotificationReadMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useMarkNotificationReadMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [markNotificationReadMutation, { data, loading, error }] = useMarkNotificationReadMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useMarkNotificationReadMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<MarkNotificationReadMutation, MarkNotificationReadMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<MarkNotificationReadMutation, MarkNotificationReadMutationVariables>(MarkNotificationReadDocument, options);\n }\nexport type MarkNotificationReadMutationHookResult = ReturnType<typeof useMarkNotificationReadMutation>;\nexport type MarkNotificationReadMutationResult = ApolloReactCommon.MutationResult<MarkNotificationReadMutation>;\nexport type MarkNotificationReadMutationOptions = ApolloReactCommon.BaseMutationOptions<MarkNotificationReadMutation, MarkNotificationReadMutationVariables>;\nexport const MarkAllNotificationsReadDocument = gql`\n mutation markAllNotificationsRead {\n markAllNotificationsRead {\n data\n message\n }\n}\n `;\nexport type MarkAllNotificationsReadMutationFn = ApolloReactCommon.MutationFunction<MarkAllNotificationsReadMutation, MarkAllNotificationsReadMutationVariables>;\n\n/**\n * __useMarkAllNotificationsReadMutation__\n *\n * To run a mutation, you first call `useMarkAllNotificationsReadMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useMarkAllNotificationsReadMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [markAllNotificationsReadMutation, { data, loading, error }] = useMarkAllNotificationsReadMutation({\n * variables: {\n * },\n * });\n */\nexport function useMarkAllNotificationsReadMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<MarkAllNotificationsReadMutation, MarkAllNotificationsReadMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<MarkAllNotificationsReadMutation, MarkAllNotificationsReadMutationVariables>(MarkAllNotificationsReadDocument, options);\n }\nexport type MarkAllNotificationsReadMutationHookResult = ReturnType<typeof useMarkAllNotificationsReadMutation>;\nexport type MarkAllNotificationsReadMutationResult = ApolloReactCommon.MutationResult<MarkAllNotificationsReadMutation>;\nexport type MarkAllNotificationsReadMutationOptions = ApolloReactCommon.BaseMutationOptions<MarkAllNotificationsReadMutation, MarkAllNotificationsReadMutationVariables>;\nexport const DeleteNotificationDocument = gql`\n mutation deleteNotification($_id: ID!) {\n deleteNotification(_id: $_id) {\n data\n message\n }\n}\n `;\nexport type DeleteNotificationMutationFn = ApolloReactCommon.MutationFunction<DeleteNotificationMutation, DeleteNotificationMutationVariables>;\n\n/**\n * __useDeleteNotificationMutation__\n *\n * To run a mutation, you first call `useDeleteNotificationMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteNotificationMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteNotificationMutation, { data, loading, error }] = useDeleteNotificationMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useDeleteNotificationMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeleteNotificationMutation, DeleteNotificationMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeleteNotificationMutation, DeleteNotificationMutationVariables>(DeleteNotificationDocument, options);\n }\nexport type DeleteNotificationMutationHookResult = ReturnType<typeof useDeleteNotificationMutation>;\nexport type DeleteNotificationMutationResult = ApolloReactCommon.MutationResult<DeleteNotificationMutation>;\nexport type DeleteNotificationMutationOptions = ApolloReactCommon.BaseMutationOptions<DeleteNotificationMutation, DeleteNotificationMutationVariables>;\nexport const DeleteAllNotificationsDocument = gql`\n mutation deleteAllNotifications {\n deleteAllNotifications {\n data\n message\n }\n}\n `;\nexport type DeleteAllNotificationsMutationFn = ApolloReactCommon.MutationFunction<DeleteAllNotificationsMutation, DeleteAllNotificationsMutationVariables>;\n\n/**\n * __useDeleteAllNotificationsMutation__\n *\n * To run a mutation, you first call `useDeleteAllNotificationsMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteAllNotificationsMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteAllNotificationsMutation, { data, loading, error }] = useDeleteAllNotificationsMutation({\n * variables: {\n * },\n * });\n */\nexport function useDeleteAllNotificationsMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeleteAllNotificationsMutation, DeleteAllNotificationsMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeleteAllNotificationsMutation, DeleteAllNotificationsMutationVariables>(DeleteAllNotificationsDocument, options);\n }\nexport type DeleteAllNotificationsMutationHookResult = ReturnType<typeof useDeleteAllNotificationsMutation>;\nexport type DeleteAllNotificationsMutationResult = ApolloReactCommon.MutationResult<DeleteAllNotificationsMutation>;\nexport type DeleteAllNotificationsMutationOptions = ApolloReactCommon.BaseMutationOptions<DeleteAllNotificationsMutation, DeleteAllNotificationsMutationVariables>;\nexport const CreatePartnerDocument = gql`\n mutation createPartner($input: PartnerInputType!) {\n createPartner(input: $input) {\n data {\n ...PartnerFields\n }\n message\n }\n}\n ${PartnerFieldsFragmentDoc}`;\nexport type CreatePartnerMutationFn = ApolloReactCommon.MutationFunction<CreatePartnerMutation, CreatePartnerMutationVariables>;\n\n/**\n * __useCreatePartnerMutation__\n *\n * To run a mutation, you first call `useCreatePartnerMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreatePartnerMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createPartnerMutation, { data, loading, error }] = useCreatePartnerMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreatePartnerMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreatePartnerMutation, CreatePartnerMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreatePartnerMutation, CreatePartnerMutationVariables>(CreatePartnerDocument, options);\n }\nexport type CreatePartnerMutationHookResult = ReturnType<typeof useCreatePartnerMutation>;\nexport type CreatePartnerMutationResult = ApolloReactCommon.MutationResult<CreatePartnerMutation>;\nexport type CreatePartnerMutationOptions = ApolloReactCommon.BaseMutationOptions<CreatePartnerMutation, CreatePartnerMutationVariables>;\nexport const UpdatePartnerDocument = gql`\n mutation updatePartner($_id: ID!, $input: PartnerInputType!) {\n updatePartner(_id: $_id, input: $input) {\n data {\n ...PartnerFields\n }\n message\n }\n}\n ${PartnerFieldsFragmentDoc}`;\nexport type UpdatePartnerMutationFn = ApolloReactCommon.MutationFunction<UpdatePartnerMutation, UpdatePartnerMutationVariables>;\n\n/**\n * __useUpdatePartnerMutation__\n *\n * To run a mutation, you first call `useUpdatePartnerMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdatePartnerMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updatePartnerMutation, { data, loading, error }] = useUpdatePartnerMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdatePartnerMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdatePartnerMutation, UpdatePartnerMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdatePartnerMutation, UpdatePartnerMutationVariables>(UpdatePartnerDocument, options);\n }\nexport type UpdatePartnerMutationHookResult = ReturnType<typeof useUpdatePartnerMutation>;\nexport type UpdatePartnerMutationResult = ApolloReactCommon.MutationResult<UpdatePartnerMutation>;\nexport type UpdatePartnerMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdatePartnerMutation, UpdatePartnerMutationVariables>;\nexport const DeletePartnerDocument = gql`\n mutation deletePartner($_id: ID!) {\n deletePartner(_id: $_id) {\n data\n message\n }\n}\n `;\nexport type DeletePartnerMutationFn = ApolloReactCommon.MutationFunction<DeletePartnerMutation, DeletePartnerMutationVariables>;\n\n/**\n * __useDeletePartnerMutation__\n *\n * To run a mutation, you first call `useDeletePartnerMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeletePartnerMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deletePartnerMutation, { data, loading, error }] = useDeletePartnerMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useDeletePartnerMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeletePartnerMutation, DeletePartnerMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeletePartnerMutation, DeletePartnerMutationVariables>(DeletePartnerDocument, options);\n }\nexport type DeletePartnerMutationHookResult = ReturnType<typeof useDeletePartnerMutation>;\nexport type DeletePartnerMutationResult = ApolloReactCommon.MutationResult<DeletePartnerMutation>;\nexport type DeletePartnerMutationOptions = ApolloReactCommon.BaseMutationOptions<DeletePartnerMutation, DeletePartnerMutationVariables>;\nexport const CreatePostDocument = gql`\n mutation createPost($input: PostInputType!) {\n createPost(input: $input) {\n data {\n ...PostFields\n }\n message\n }\n}\n ${PostFieldsFragmentDoc}`;\nexport type CreatePostMutationFn = ApolloReactCommon.MutationFunction<CreatePostMutation, CreatePostMutationVariables>;\n\n/**\n * __useCreatePostMutation__\n *\n * To run a mutation, you first call `useCreatePostMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreatePostMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createPostMutation, { data, loading, error }] = useCreatePostMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreatePostMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreatePostMutation, CreatePostMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreatePostMutation, CreatePostMutationVariables>(CreatePostDocument, options);\n }\nexport type CreatePostMutationHookResult = ReturnType<typeof useCreatePostMutation>;\nexport type CreatePostMutationResult = ApolloReactCommon.MutationResult<CreatePostMutation>;\nexport type CreatePostMutationOptions = ApolloReactCommon.BaseMutationOptions<CreatePostMutation, CreatePostMutationVariables>;\nexport const UpdatePostDocument = gql`\n mutation updatePost($_id: ID!, $input: PostInputType!) {\n updatePost(_id: $_id, input: $input) {\n data {\n ...PostFields\n }\n message\n }\n}\n ${PostFieldsFragmentDoc}`;\nexport type UpdatePostMutationFn = ApolloReactCommon.MutationFunction<UpdatePostMutation, UpdatePostMutationVariables>;\n\n/**\n * __useUpdatePostMutation__\n *\n * To run a mutation, you first call `useUpdatePostMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdatePostMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updatePostMutation, { data, loading, error }] = useUpdatePostMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdatePostMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdatePostMutation, UpdatePostMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdatePostMutation, UpdatePostMutationVariables>(UpdatePostDocument, options);\n }\nexport type UpdatePostMutationHookResult = ReturnType<typeof useUpdatePostMutation>;\nexport type UpdatePostMutationResult = ApolloReactCommon.MutationResult<UpdatePostMutation>;\nexport type UpdatePostMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdatePostMutation, UpdatePostMutationVariables>;\nexport const DeletePostDocument = gql`\n mutation deletePost($_id: ID!) {\n deletePost(_id: $_id) {\n data\n message\n }\n}\n `;\nexport type DeletePostMutationFn = ApolloReactCommon.MutationFunction<DeletePostMutation, DeletePostMutationVariables>;\n\n/**\n * __useDeletePostMutation__\n *\n * To run a mutation, you first call `useDeletePostMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeletePostMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deletePostMutation, { data, loading, error }] = useDeletePostMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useDeletePostMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeletePostMutation, DeletePostMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeletePostMutation, DeletePostMutationVariables>(DeletePostDocument, options);\n }\nexport type DeletePostMutationHookResult = ReturnType<typeof useDeletePostMutation>;\nexport type DeletePostMutationResult = ApolloReactCommon.MutationResult<DeletePostMutation>;\nexport type DeletePostMutationOptions = ApolloReactCommon.BaseMutationOptions<DeletePostMutation, DeletePostMutationVariables>;\nexport const CreatePosterDocument = gql`\n mutation createPoster($input: PosterInputType!) {\n createPoster(input: $input) {\n data {\n posterUsage {\n ...PosterUsageFields\n }\n }\n message\n }\n}\n ${PosterUsageFieldsFragmentDoc}`;\nexport type CreatePosterMutationFn = ApolloReactCommon.MutationFunction<CreatePosterMutation, CreatePosterMutationVariables>;\n\n/**\n * __useCreatePosterMutation__\n *\n * To run a mutation, you first call `useCreatePosterMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreatePosterMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createPosterMutation, { data, loading, error }] = useCreatePosterMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreatePosterMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreatePosterMutation, CreatePosterMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreatePosterMutation, CreatePosterMutationVariables>(CreatePosterDocument, options);\n }\nexport type CreatePosterMutationHookResult = ReturnType<typeof useCreatePosterMutation>;\nexport type CreatePosterMutationResult = ApolloReactCommon.MutationResult<CreatePosterMutation>;\nexport type CreatePosterMutationOptions = ApolloReactCommon.BaseMutationOptions<CreatePosterMutation, CreatePosterMutationVariables>;\nexport const CreatePushTokenDocument = gql`\n mutation createPushToken($input: PushTokenInput!) {\n createPushToken(input: $input) {\n data {\n success\n }\n message\n }\n}\n `;\nexport type CreatePushTokenMutationFn = ApolloReactCommon.MutationFunction<CreatePushTokenMutation, CreatePushTokenMutationVariables>;\n\n/**\n * __useCreatePushTokenMutation__\n *\n * To run a mutation, you first call `useCreatePushTokenMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreatePushTokenMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createPushTokenMutation, { data, loading, error }] = useCreatePushTokenMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreatePushTokenMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreatePushTokenMutation, CreatePushTokenMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreatePushTokenMutation, CreatePushTokenMutationVariables>(CreatePushTokenDocument, options);\n }\nexport type CreatePushTokenMutationHookResult = ReturnType<typeof useCreatePushTokenMutation>;\nexport type CreatePushTokenMutationResult = ApolloReactCommon.MutationResult<CreatePushTokenMutation>;\nexport type CreatePushTokenMutationOptions = ApolloReactCommon.BaseMutationOptions<CreatePushTokenMutation, CreatePushTokenMutationVariables>;\nexport const GetAdsDocument = gql`\n query getAds {\n ads {\n ...AdFields\n }\n}\n ${AdFieldsFragmentDoc}`;\n\n/**\n * __useGetAdsQuery__\n *\n * To run a query within a React component, call `useGetAdsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetAdsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetAdsQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetAdsQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetAdsQuery, GetAdsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetAdsQuery, GetAdsQueryVariables>(GetAdsDocument, options);\n }\nexport function useGetAdsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetAdsQuery, GetAdsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetAdsQuery, GetAdsQueryVariables>(GetAdsDocument, options);\n }\n// @ts-ignore\nexport function useGetAdsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetAdsQuery, GetAdsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAdsQuery, GetAdsQueryVariables>;\nexport function useGetAdsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAdsQuery, GetAdsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAdsQuery | undefined, GetAdsQueryVariables>;\nexport function useGetAdsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAdsQuery, GetAdsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetAdsQuery, GetAdsQueryVariables>(GetAdsDocument, options);\n }\nexport type GetAdsQueryHookResult = ReturnType<typeof useGetAdsQuery>;\nexport type GetAdsLazyQueryHookResult = ReturnType<typeof useGetAdsLazyQuery>;\nexport type GetAdsSuspenseQueryHookResult = ReturnType<typeof useGetAdsSuspenseQuery>;\nexport type GetAdsQueryResult = ApolloReactCommon.QueryResult<GetAdsQuery, GetAdsQueryVariables>;\nexport const GetAdDocument = gql`\n query getAd($_id: ID!) {\n ad(_id: $_id) {\n ...AdFields\n }\n}\n ${AdFieldsFragmentDoc}`;\n\n/**\n * __useGetAdQuery__\n *\n * To run a query within a React component, call `useGetAdQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetAdQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetAdQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useGetAdQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetAdQuery, GetAdQueryVariables> & ({ variables: GetAdQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetAdQuery, GetAdQueryVariables>(GetAdDocument, options);\n }\nexport function useGetAdLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetAdQuery, GetAdQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetAdQuery, GetAdQueryVariables>(GetAdDocument, options);\n }\n// @ts-ignore\nexport function useGetAdSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetAdQuery, GetAdQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAdQuery, GetAdQueryVariables>;\nexport function useGetAdSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAdQuery, GetAdQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAdQuery | undefined, GetAdQueryVariables>;\nexport function useGetAdSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAdQuery, GetAdQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetAdQuery, GetAdQueryVariables>(GetAdDocument, options);\n }\nexport type GetAdQueryHookResult = ReturnType<typeof useGetAdQuery>;\nexport type GetAdLazyQueryHookResult = ReturnType<typeof useGetAdLazyQuery>;\nexport type GetAdSuspenseQueryHookResult = ReturnType<typeof useGetAdSuspenseQuery>;\nexport type GetAdQueryResult = ApolloReactCommon.QueryResult<GetAdQuery, GetAdQueryVariables>;\nexport const GetAdsByRegionDocument = gql`\n query getAdsByRegion($region: String!, $status: AdStatusTypeEnum) {\n adsByRegion(region: $region, status: $status) {\n ...AdFields\n }\n}\n ${AdFieldsFragmentDoc}`;\n\n/**\n * __useGetAdsByRegionQuery__\n *\n * To run a query within a React component, call `useGetAdsByRegionQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetAdsByRegionQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetAdsByRegionQuery({\n * variables: {\n * region: // value for 'region'\n * status: // value for 'status'\n * },\n * });\n */\nexport function useGetAdsByRegionQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetAdsByRegionQuery, GetAdsByRegionQueryVariables> & ({ variables: GetAdsByRegionQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetAdsByRegionQuery, GetAdsByRegionQueryVariables>(GetAdsByRegionDocument, options);\n }\nexport function useGetAdsByRegionLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetAdsByRegionQuery, GetAdsByRegionQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetAdsByRegionQuery, GetAdsByRegionQueryVariables>(GetAdsByRegionDocument, options);\n }\n// @ts-ignore\nexport function useGetAdsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetAdsByRegionQuery, GetAdsByRegionQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAdsByRegionQuery, GetAdsByRegionQueryVariables>;\nexport function useGetAdsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAdsByRegionQuery, GetAdsByRegionQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAdsByRegionQuery | undefined, GetAdsByRegionQueryVariables>;\nexport function useGetAdsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAdsByRegionQuery, GetAdsByRegionQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetAdsByRegionQuery, GetAdsByRegionQueryVariables>(GetAdsByRegionDocument, options);\n }\nexport type GetAdsByRegionQueryHookResult = ReturnType<typeof useGetAdsByRegionQuery>;\nexport type GetAdsByRegionLazyQueryHookResult = ReturnType<typeof useGetAdsByRegionLazyQuery>;\nexport type GetAdsByRegionSuspenseQueryHookResult = ReturnType<typeof useGetAdsByRegionSuspenseQuery>;\nexport type GetAdsByRegionQueryResult = ApolloReactCommon.QueryResult<GetAdsByRegionQuery, GetAdsByRegionQueryVariables>;\nexport const GetAffiliateDocument = gql`\n query getAffiliate($_id: ID!) {\n affiliate(_id: $_id) {\n ...AffiliateFields\n }\n}\n ${AffiliateFieldsFragmentDoc}`;\n\n/**\n * __useGetAffiliateQuery__\n *\n * To run a query within a React component, call `useGetAffiliateQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetAffiliateQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetAffiliateQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useGetAffiliateQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetAffiliateQuery, GetAffiliateQueryVariables> & ({ variables: GetAffiliateQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetAffiliateQuery, GetAffiliateQueryVariables>(GetAffiliateDocument, options);\n }\nexport function useGetAffiliateLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetAffiliateQuery, GetAffiliateQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetAffiliateQuery, GetAffiliateQueryVariables>(GetAffiliateDocument, options);\n }\n// @ts-ignore\nexport function useGetAffiliateSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetAffiliateQuery, GetAffiliateQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAffiliateQuery, GetAffiliateQueryVariables>;\nexport function useGetAffiliateSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAffiliateQuery, GetAffiliateQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAffiliateQuery | undefined, GetAffiliateQueryVariables>;\nexport function useGetAffiliateSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAffiliateQuery, GetAffiliateQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetAffiliateQuery, GetAffiliateQueryVariables>(GetAffiliateDocument, options);\n }\nexport type GetAffiliateQueryHookResult = ReturnType<typeof useGetAffiliateQuery>;\nexport type GetAffiliateLazyQueryHookResult = ReturnType<typeof useGetAffiliateLazyQuery>;\nexport type GetAffiliateSuspenseQueryHookResult = ReturnType<typeof useGetAffiliateSuspenseQuery>;\nexport type GetAffiliateQueryResult = ApolloReactCommon.QueryResult<GetAffiliateQuery, GetAffiliateQueryVariables>;\nexport const GetAffiliatesDocument = gql`\n query getAffiliates {\n affiliates {\n ...AffiliateFields\n }\n}\n ${AffiliateFieldsFragmentDoc}`;\n\n/**\n * __useGetAffiliatesQuery__\n *\n * To run a query within a React component, call `useGetAffiliatesQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetAffiliatesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetAffiliatesQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetAffiliatesQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetAffiliatesQuery, GetAffiliatesQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetAffiliatesQuery, GetAffiliatesQueryVariables>(GetAffiliatesDocument, options);\n }\nexport function useGetAffiliatesLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetAffiliatesQuery, GetAffiliatesQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetAffiliatesQuery, GetAffiliatesQueryVariables>(GetAffiliatesDocument, options);\n }\n// @ts-ignore\nexport function useGetAffiliatesSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetAffiliatesQuery, GetAffiliatesQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAffiliatesQuery, GetAffiliatesQueryVariables>;\nexport function useGetAffiliatesSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAffiliatesQuery, GetAffiliatesQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAffiliatesQuery | undefined, GetAffiliatesQueryVariables>;\nexport function useGetAffiliatesSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAffiliatesQuery, GetAffiliatesQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetAffiliatesQuery, GetAffiliatesQueryVariables>(GetAffiliatesDocument, options);\n }\nexport type GetAffiliatesQueryHookResult = ReturnType<typeof useGetAffiliatesQuery>;\nexport type GetAffiliatesLazyQueryHookResult = ReturnType<typeof useGetAffiliatesLazyQuery>;\nexport type GetAffiliatesSuspenseQueryHookResult = ReturnType<typeof useGetAffiliatesSuspenseQuery>;\nexport type GetAffiliatesQueryResult = ApolloReactCommon.QueryResult<GetAffiliatesQuery, GetAffiliatesQueryVariables>;\nexport const GetAppSettingsDocument = gql`\n query getAppSettings {\n appSettings {\n ...AppSettingsFields\n }\n}\n ${AppSettingsFieldsFragmentDoc}`;\n\n/**\n * __useGetAppSettingsQuery__\n *\n * To run a query within a React component, call `useGetAppSettingsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetAppSettingsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetAppSettingsQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetAppSettingsQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetAppSettingsQuery, GetAppSettingsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetAppSettingsQuery, GetAppSettingsQueryVariables>(GetAppSettingsDocument, options);\n }\nexport function useGetAppSettingsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetAppSettingsQuery, GetAppSettingsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetAppSettingsQuery, GetAppSettingsQueryVariables>(GetAppSettingsDocument, options);\n }\n// @ts-ignore\nexport function useGetAppSettingsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetAppSettingsQuery, GetAppSettingsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAppSettingsQuery, GetAppSettingsQueryVariables>;\nexport function useGetAppSettingsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAppSettingsQuery, GetAppSettingsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetAppSettingsQuery | undefined, GetAppSettingsQueryVariables>;\nexport function useGetAppSettingsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetAppSettingsQuery, GetAppSettingsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetAppSettingsQuery, GetAppSettingsQueryVariables>(GetAppSettingsDocument, options);\n }\nexport type GetAppSettingsQueryHookResult = ReturnType<typeof useGetAppSettingsQuery>;\nexport type GetAppSettingsLazyQueryHookResult = ReturnType<typeof useGetAppSettingsLazyQuery>;\nexport type GetAppSettingsSuspenseQueryHookResult = ReturnType<typeof useGetAppSettingsSuspenseQuery>;\nexport type GetAppSettingsQueryResult = ApolloReactCommon.QueryResult<GetAppSettingsQuery, GetAppSettingsQueryVariables>;\nexport const ChatDocument = gql`\n query chat($_id: ID!) {\n chat(_id: $_id) {\n ...ChatFields\n }\n}\n ${ChatFieldsFragmentDoc}`;\n\n/**\n * __useChatQuery__\n *\n * To run a query within a React component, call `useChatQuery` and pass it any options that fit your needs.\n * When your component renders, `useChatQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useChatQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useChatQuery(baseOptions: ApolloReactHooks.QueryHookOptions<ChatQuery, ChatQueryVariables> & ({ variables: ChatQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<ChatQuery, ChatQueryVariables>(ChatDocument, options);\n }\nexport function useChatLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<ChatQuery, ChatQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<ChatQuery, ChatQueryVariables>(ChatDocument, options);\n }\n// @ts-ignore\nexport function useChatSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<ChatQuery, ChatQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<ChatQuery, ChatQueryVariables>;\nexport function useChatSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<ChatQuery, ChatQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<ChatQuery | undefined, ChatQueryVariables>;\nexport function useChatSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<ChatQuery, ChatQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<ChatQuery, ChatQueryVariables>(ChatDocument, options);\n }\nexport type ChatQueryHookResult = ReturnType<typeof useChatQuery>;\nexport type ChatLazyQueryHookResult = ReturnType<typeof useChatLazyQuery>;\nexport type ChatSuspenseQueryHookResult = ReturnType<typeof useChatSuspenseQuery>;\nexport type ChatQueryResult = ApolloReactCommon.QueryResult<ChatQuery, ChatQueryVariables>;\nexport const UserChatsDocument = gql`\n query userChats {\n userChats {\n ...ChatFields\n }\n}\n ${ChatFieldsFragmentDoc}`;\n\n/**\n * __useUserChatsQuery__\n *\n * To run a query within a React component, call `useUserChatsQuery` and pass it any options that fit your needs.\n * When your component renders, `useUserChatsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useUserChatsQuery({\n * variables: {\n * },\n * });\n */\nexport function useUserChatsQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<UserChatsQuery, UserChatsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<UserChatsQuery, UserChatsQueryVariables>(UserChatsDocument, options);\n }\nexport function useUserChatsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<UserChatsQuery, UserChatsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<UserChatsQuery, UserChatsQueryVariables>(UserChatsDocument, options);\n }\n// @ts-ignore\nexport function useUserChatsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<UserChatsQuery, UserChatsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<UserChatsQuery, UserChatsQueryVariables>;\nexport function useUserChatsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<UserChatsQuery, UserChatsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<UserChatsQuery | undefined, UserChatsQueryVariables>;\nexport function useUserChatsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<UserChatsQuery, UserChatsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<UserChatsQuery, UserChatsQueryVariables>(UserChatsDocument, options);\n }\nexport type UserChatsQueryHookResult = ReturnType<typeof useUserChatsQuery>;\nexport type UserChatsLazyQueryHookResult = ReturnType<typeof useUserChatsLazyQuery>;\nexport type UserChatsSuspenseQueryHookResult = ReturnType<typeof useUserChatsSuspenseQuery>;\nexport type UserChatsQueryResult = ApolloReactCommon.QueryResult<UserChatsQuery, UserChatsQueryVariables>;\nexport const GetChatsByRegionDocument = gql`\n query getChatsByRegion($region: String!) {\n chatsByRegion(region: $region) {\n ...ChatFields\n }\n}\n ${ChatFieldsFragmentDoc}`;\n\n/**\n * __useGetChatsByRegionQuery__\n *\n * To run a query within a React component, call `useGetChatsByRegionQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetChatsByRegionQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetChatsByRegionQuery({\n * variables: {\n * region: // value for 'region'\n * },\n * });\n */\nexport function useGetChatsByRegionQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetChatsByRegionQuery, GetChatsByRegionQueryVariables> & ({ variables: GetChatsByRegionQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetChatsByRegionQuery, GetChatsByRegionQueryVariables>(GetChatsByRegionDocument, options);\n }\nexport function useGetChatsByRegionLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetChatsByRegionQuery, GetChatsByRegionQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetChatsByRegionQuery, GetChatsByRegionQueryVariables>(GetChatsByRegionDocument, options);\n }\n// @ts-ignore\nexport function useGetChatsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetChatsByRegionQuery, GetChatsByRegionQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetChatsByRegionQuery, GetChatsByRegionQueryVariables>;\nexport function useGetChatsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetChatsByRegionQuery, GetChatsByRegionQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetChatsByRegionQuery | undefined, GetChatsByRegionQueryVariables>;\nexport function useGetChatsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetChatsByRegionQuery, GetChatsByRegionQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetChatsByRegionQuery, GetChatsByRegionQueryVariables>(GetChatsByRegionDocument, options);\n }\nexport type GetChatsByRegionQueryHookResult = ReturnType<typeof useGetChatsByRegionQuery>;\nexport type GetChatsByRegionLazyQueryHookResult = ReturnType<typeof useGetChatsByRegionLazyQuery>;\nexport type GetChatsByRegionSuspenseQueryHookResult = ReturnType<typeof useGetChatsByRegionSuspenseQuery>;\nexport type GetChatsByRegionQueryResult = ApolloReactCommon.QueryResult<GetChatsByRegionQuery, GetChatsByRegionQueryVariables>;\nexport const GetEventsDocument = gql`\n query getEvents($dateStatus: EventDateStatusEnumType) {\n events(dateStatus: $dateStatus) {\n ...EventListItemFields\n }\n}\n ${EventListItemFieldsFragmentDoc}`;\n\n/**\n * __useGetEventsQuery__\n *\n * To run a query within a React component, call `useGetEventsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetEventsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetEventsQuery({\n * variables: {\n * dateStatus: // value for 'dateStatus'\n * },\n * });\n */\nexport function useGetEventsQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetEventsQuery, GetEventsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetEventsQuery, GetEventsQueryVariables>(GetEventsDocument, options);\n }\nexport function useGetEventsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetEventsQuery, GetEventsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetEventsQuery, GetEventsQueryVariables>(GetEventsDocument, options);\n }\n// @ts-ignore\nexport function useGetEventsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetEventsQuery, GetEventsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventsQuery, GetEventsQueryVariables>;\nexport function useGetEventsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventsQuery, GetEventsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventsQuery | undefined, GetEventsQueryVariables>;\nexport function useGetEventsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventsQuery, GetEventsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetEventsQuery, GetEventsQueryVariables>(GetEventsDocument, options);\n }\nexport type GetEventsQueryHookResult = ReturnType<typeof useGetEventsQuery>;\nexport type GetEventsLazyQueryHookResult = ReturnType<typeof useGetEventsLazyQuery>;\nexport type GetEventsSuspenseQueryHookResult = ReturnType<typeof useGetEventsSuspenseQuery>;\nexport type GetEventsQueryResult = ApolloReactCommon.QueryResult<GetEventsQuery, GetEventsQueryVariables>;\nexport const GetEventDocument = gql`\n query getEvent($_id: ID!) {\n event(_id: $_id) {\n ...EventFields\n }\n}\n ${EventFieldsFragmentDoc}`;\n\n/**\n * __useGetEventQuery__\n *\n * To run a query within a React component, call `useGetEventQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetEventQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetEventQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useGetEventQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetEventQuery, GetEventQueryVariables> & ({ variables: GetEventQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetEventQuery, GetEventQueryVariables>(GetEventDocument, options);\n }\nexport function useGetEventLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetEventQuery, GetEventQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetEventQuery, GetEventQueryVariables>(GetEventDocument, options);\n }\n// @ts-ignore\nexport function useGetEventSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetEventQuery, GetEventQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventQuery, GetEventQueryVariables>;\nexport function useGetEventSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventQuery, GetEventQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventQuery | undefined, GetEventQueryVariables>;\nexport function useGetEventSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventQuery, GetEventQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetEventQuery, GetEventQueryVariables>(GetEventDocument, options);\n }\nexport type GetEventQueryHookResult = ReturnType<typeof useGetEventQuery>;\nexport type GetEventLazyQueryHookResult = ReturnType<typeof useGetEventLazyQuery>;\nexport type GetEventSuspenseQueryHookResult = ReturnType<typeof useGetEventSuspenseQuery>;\nexport type GetEventQueryResult = ApolloReactCommon.QueryResult<GetEventQuery, GetEventQueryVariables>;\nexport const GetEventByPlaceIdDocument = gql`\n query getEventByPlaceId($googlePlaceId: String!) {\n eventByPlaceId(googlePlaceId: $googlePlaceId) {\n ...EventListItemFields\n }\n}\n ${EventListItemFieldsFragmentDoc}`;\n\n/**\n * __useGetEventByPlaceIdQuery__\n *\n * To run a query within a React component, call `useGetEventByPlaceIdQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetEventByPlaceIdQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetEventByPlaceIdQuery({\n * variables: {\n * googlePlaceId: // value for 'googlePlaceId'\n * },\n * });\n */\nexport function useGetEventByPlaceIdQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetEventByPlaceIdQuery, GetEventByPlaceIdQueryVariables> & ({ variables: GetEventByPlaceIdQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetEventByPlaceIdQuery, GetEventByPlaceIdQueryVariables>(GetEventByPlaceIdDocument, options);\n }\nexport function useGetEventByPlaceIdLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetEventByPlaceIdQuery, GetEventByPlaceIdQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetEventByPlaceIdQuery, GetEventByPlaceIdQueryVariables>(GetEventByPlaceIdDocument, options);\n }\n// @ts-ignore\nexport function useGetEventByPlaceIdSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetEventByPlaceIdQuery, GetEventByPlaceIdQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventByPlaceIdQuery, GetEventByPlaceIdQueryVariables>;\nexport function useGetEventByPlaceIdSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventByPlaceIdQuery, GetEventByPlaceIdQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventByPlaceIdQuery | undefined, GetEventByPlaceIdQueryVariables>;\nexport function useGetEventByPlaceIdSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventByPlaceIdQuery, GetEventByPlaceIdQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetEventByPlaceIdQuery, GetEventByPlaceIdQueryVariables>(GetEventByPlaceIdDocument, options);\n }\nexport type GetEventByPlaceIdQueryHookResult = ReturnType<typeof useGetEventByPlaceIdQuery>;\nexport type GetEventByPlaceIdLazyQueryHookResult = ReturnType<typeof useGetEventByPlaceIdLazyQuery>;\nexport type GetEventByPlaceIdSuspenseQueryHookResult = ReturnType<typeof useGetEventByPlaceIdSuspenseQuery>;\nexport type GetEventByPlaceIdQueryResult = ApolloReactCommon.QueryResult<GetEventByPlaceIdQuery, GetEventByPlaceIdQueryVariables>;\nexport const GetEventsByRegionDocument = gql`\n query getEventsByRegion($region: String!, $options: ResourcesByRegionOptions, $dateStatus: EventDateStatusEnumType) {\n eventsByRegion(region: $region, options: $options, dateStatus: $dateStatus) {\n ...EventListItemFields\n }\n}\n ${EventListItemFieldsFragmentDoc}`;\n\n/**\n * __useGetEventsByRegionQuery__\n *\n * To run a query within a React component, call `useGetEventsByRegionQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetEventsByRegionQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetEventsByRegionQuery({\n * variables: {\n * region: // value for 'region'\n * options: // value for 'options'\n * dateStatus: // value for 'dateStatus'\n * },\n * });\n */\nexport function useGetEventsByRegionQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetEventsByRegionQuery, GetEventsByRegionQueryVariables> & ({ variables: GetEventsByRegionQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetEventsByRegionQuery, GetEventsByRegionQueryVariables>(GetEventsByRegionDocument, options);\n }\nexport function useGetEventsByRegionLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetEventsByRegionQuery, GetEventsByRegionQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetEventsByRegionQuery, GetEventsByRegionQueryVariables>(GetEventsByRegionDocument, options);\n }\n// @ts-ignore\nexport function useGetEventsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetEventsByRegionQuery, GetEventsByRegionQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventsByRegionQuery, GetEventsByRegionQueryVariables>;\nexport function useGetEventsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventsByRegionQuery, GetEventsByRegionQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventsByRegionQuery | undefined, GetEventsByRegionQueryVariables>;\nexport function useGetEventsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventsByRegionQuery, GetEventsByRegionQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetEventsByRegionQuery, GetEventsByRegionQueryVariables>(GetEventsByRegionDocument, options);\n }\nexport type GetEventsByRegionQueryHookResult = ReturnType<typeof useGetEventsByRegionQuery>;\nexport type GetEventsByRegionLazyQueryHookResult = ReturnType<typeof useGetEventsByRegionLazyQuery>;\nexport type GetEventsByRegionSuspenseQueryHookResult = ReturnType<typeof useGetEventsByRegionSuspenseQuery>;\nexport type GetEventsByRegionQueryResult = ApolloReactCommon.QueryResult<GetEventsByRegionQuery, GetEventsByRegionQueryVariables>;\nexport const SearchEventsDocument = gql`\n query searchEvents($region: String!, $search: String, $tags: [String], $dateStatus: EventDateStatusEnumType) {\n eventsSearch(\n region: $region\n search: $search\n tags: $tags\n dateStatus: $dateStatus\n ) {\n ...EventListItemFields\n }\n}\n ${EventListItemFieldsFragmentDoc}`;\n\n/**\n * __useSearchEventsQuery__\n *\n * To run a query within a React component, call `useSearchEventsQuery` and pass it any options that fit your needs.\n * When your component renders, `useSearchEventsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useSearchEventsQuery({\n * variables: {\n * region: // value for 'region'\n * search: // value for 'search'\n * tags: // value for 'tags'\n * dateStatus: // value for 'dateStatus'\n * },\n * });\n */\nexport function useSearchEventsQuery(baseOptions: ApolloReactHooks.QueryHookOptions<SearchEventsQuery, SearchEventsQueryVariables> & ({ variables: SearchEventsQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<SearchEventsQuery, SearchEventsQueryVariables>(SearchEventsDocument, options);\n }\nexport function useSearchEventsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<SearchEventsQuery, SearchEventsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<SearchEventsQuery, SearchEventsQueryVariables>(SearchEventsDocument, options);\n }\n// @ts-ignore\nexport function useSearchEventsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<SearchEventsQuery, SearchEventsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<SearchEventsQuery, SearchEventsQueryVariables>;\nexport function useSearchEventsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<SearchEventsQuery, SearchEventsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<SearchEventsQuery | undefined, SearchEventsQueryVariables>;\nexport function useSearchEventsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<SearchEventsQuery, SearchEventsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<SearchEventsQuery, SearchEventsQueryVariables>(SearchEventsDocument, options);\n }\nexport type SearchEventsQueryHookResult = ReturnType<typeof useSearchEventsQuery>;\nexport type SearchEventsLazyQueryHookResult = ReturnType<typeof useSearchEventsLazyQuery>;\nexport type SearchEventsSuspenseQueryHookResult = ReturnType<typeof useSearchEventsSuspenseQuery>;\nexport type SearchEventsQueryResult = ApolloReactCommon.QueryResult<SearchEventsQuery, SearchEventsQueryVariables>;\nexport const GetEventsNearMeDocument = gql`\n query getEventsNearMe($latitude: Float!, $longitude: Float!, $radius: Int, $dateStatus: EventDateStatusEnumType) {\n eventsNearMe(\n latitude: $latitude\n longitude: $longitude\n radius: $radius\n dateStatus: $dateStatus\n ) {\n ...EventListItemFields\n }\n}\n ${EventListItemFieldsFragmentDoc}`;\n\n/**\n * __useGetEventsNearMeQuery__\n *\n * To run a query within a React component, call `useGetEventsNearMeQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetEventsNearMeQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetEventsNearMeQuery({\n * variables: {\n * latitude: // value for 'latitude'\n * longitude: // value for 'longitude'\n * radius: // value for 'radius'\n * dateStatus: // value for 'dateStatus'\n * },\n * });\n */\nexport function useGetEventsNearMeQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetEventsNearMeQuery, GetEventsNearMeQueryVariables> & ({ variables: GetEventsNearMeQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetEventsNearMeQuery, GetEventsNearMeQueryVariables>(GetEventsNearMeDocument, options);\n }\nexport function useGetEventsNearMeLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetEventsNearMeQuery, GetEventsNearMeQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetEventsNearMeQuery, GetEventsNearMeQueryVariables>(GetEventsNearMeDocument, options);\n }\n// @ts-ignore\nexport function useGetEventsNearMeSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetEventsNearMeQuery, GetEventsNearMeQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventsNearMeQuery, GetEventsNearMeQueryVariables>;\nexport function useGetEventsNearMeSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventsNearMeQuery, GetEventsNearMeQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventsNearMeQuery | undefined, GetEventsNearMeQueryVariables>;\nexport function useGetEventsNearMeSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventsNearMeQuery, GetEventsNearMeQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetEventsNearMeQuery, GetEventsNearMeQueryVariables>(GetEventsNearMeDocument, options);\n }\nexport type GetEventsNearMeQueryHookResult = ReturnType<typeof useGetEventsNearMeQuery>;\nexport type GetEventsNearMeLazyQueryHookResult = ReturnType<typeof useGetEventsNearMeLazyQuery>;\nexport type GetEventsNearMeSuspenseQueryHookResult = ReturnType<typeof useGetEventsNearMeSuspenseQuery>;\nexport type GetEventsNearMeQueryResult = ApolloReactCommon.QueryResult<GetEventsNearMeQuery, GetEventsNearMeQueryVariables>;\nexport const GetEventInfoDocument = gql`\n query getEventInfo($eventId: ID!) {\n eventInfo(eventId: $eventId) {\n ...EventInfoFields\n }\n}\n ${EventInfoFieldsFragmentDoc}`;\n\n/**\n * __useGetEventInfoQuery__\n *\n * To run a query within a React component, call `useGetEventInfoQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetEventInfoQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetEventInfoQuery({\n * variables: {\n * eventId: // value for 'eventId'\n * },\n * });\n */\nexport function useGetEventInfoQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetEventInfoQuery, GetEventInfoQueryVariables> & ({ variables: GetEventInfoQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetEventInfoQuery, GetEventInfoQueryVariables>(GetEventInfoDocument, options);\n }\nexport function useGetEventInfoLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetEventInfoQuery, GetEventInfoQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetEventInfoQuery, GetEventInfoQueryVariables>(GetEventInfoDocument, options);\n }\n// @ts-ignore\nexport function useGetEventInfoSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetEventInfoQuery, GetEventInfoQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventInfoQuery, GetEventInfoQueryVariables>;\nexport function useGetEventInfoSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventInfoQuery, GetEventInfoQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventInfoQuery | undefined, GetEventInfoQueryVariables>;\nexport function useGetEventInfoSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventInfoQuery, GetEventInfoQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetEventInfoQuery, GetEventInfoQueryVariables>(GetEventInfoDocument, options);\n }\nexport type GetEventInfoQueryHookResult = ReturnType<typeof useGetEventInfoQuery>;\nexport type GetEventInfoLazyQueryHookResult = ReturnType<typeof useGetEventInfoLazyQuery>;\nexport type GetEventInfoSuspenseQueryHookResult = ReturnType<typeof useGetEventInfoSuspenseQuery>;\nexport type GetEventInfoQueryResult = ApolloReactCommon.QueryResult<GetEventInfoQuery, GetEventInfoQueryVariables>;\nexport const GetGamesDocument = gql`\n query getGames {\n games {\n ...GameDocFields\n }\n}\n ${GameDocFieldsFragmentDoc}`;\n\n/**\n * __useGetGamesQuery__\n *\n * To run a query within a React component, call `useGetGamesQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetGamesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetGamesQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetGamesQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetGamesQuery, GetGamesQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetGamesQuery, GetGamesQueryVariables>(GetGamesDocument, options);\n }\nexport function useGetGamesLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetGamesQuery, GetGamesQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetGamesQuery, GetGamesQueryVariables>(GetGamesDocument, options);\n }\n// @ts-ignore\nexport function useGetGamesSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetGamesQuery, GetGamesQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetGamesQuery, GetGamesQueryVariables>;\nexport function useGetGamesSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetGamesQuery, GetGamesQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetGamesQuery | undefined, GetGamesQueryVariables>;\nexport function useGetGamesSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetGamesQuery, GetGamesQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetGamesQuery, GetGamesQueryVariables>(GetGamesDocument, options);\n }\nexport type GetGamesQueryHookResult = ReturnType<typeof useGetGamesQuery>;\nexport type GetGamesLazyQueryHookResult = ReturnType<typeof useGetGamesLazyQuery>;\nexport type GetGamesSuspenseQueryHookResult = ReturnType<typeof useGetGamesSuspenseQuery>;\nexport type GetGamesQueryResult = ApolloReactCommon.QueryResult<GetGamesQuery, GetGamesQueryVariables>;\nexport const GetGameDocument = gql`\n query getGame($_id: ID) {\n game(_id: $_id) {\n ...GameDocFields\n }\n}\n ${GameDocFieldsFragmentDoc}`;\n\n/**\n * __useGetGameQuery__\n *\n * To run a query within a React component, call `useGetGameQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetGameQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetGameQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useGetGameQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetGameQuery, GetGameQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetGameQuery, GetGameQueryVariables>(GetGameDocument, options);\n }\nexport function useGetGameLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetGameQuery, GetGameQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetGameQuery, GetGameQueryVariables>(GetGameDocument, options);\n }\n// @ts-ignore\nexport function useGetGameSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetGameQuery, GetGameQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetGameQuery, GetGameQueryVariables>;\nexport function useGetGameSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetGameQuery, GetGameQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetGameQuery | undefined, GetGameQueryVariables>;\nexport function useGetGameSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetGameQuery, GetGameQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetGameQuery, GetGameQueryVariables>(GetGameDocument, options);\n }\nexport type GetGameQueryHookResult = ReturnType<typeof useGetGameQuery>;\nexport type GetGameLazyQueryHookResult = ReturnType<typeof useGetGameLazyQuery>;\nexport type GetGameSuspenseQueryHookResult = ReturnType<typeof useGetGameSuspenseQuery>;\nexport type GetGameQueryResult = ApolloReactCommon.QueryResult<GetGameQuery, GetGameQueryVariables>;\nexport const GetGameLeaderboardDocument = gql`\n query getGameLeaderboard {\n gameLeaderboard {\n gameHistory {\n ...GameHistoryFields\n }\n overallPoints\n owner {\n ...OwnerFields\n }\n }\n}\n ${GameHistoryFieldsFragmentDoc}\n${OwnerFieldsFragmentDoc}`;\n\n/**\n * __useGetGameLeaderboardQuery__\n *\n * To run a query within a React component, call `useGetGameLeaderboardQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetGameLeaderboardQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetGameLeaderboardQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetGameLeaderboardQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetGameLeaderboardQuery, GetGameLeaderboardQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetGameLeaderboardQuery, GetGameLeaderboardQueryVariables>(GetGameLeaderboardDocument, options);\n }\nexport function useGetGameLeaderboardLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetGameLeaderboardQuery, GetGameLeaderboardQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetGameLeaderboardQuery, GetGameLeaderboardQueryVariables>(GetGameLeaderboardDocument, options);\n }\n// @ts-ignore\nexport function useGetGameLeaderboardSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetGameLeaderboardQuery, GetGameLeaderboardQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetGameLeaderboardQuery, GetGameLeaderboardQueryVariables>;\nexport function useGetGameLeaderboardSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetGameLeaderboardQuery, GetGameLeaderboardQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetGameLeaderboardQuery | undefined, GetGameLeaderboardQueryVariables>;\nexport function useGetGameLeaderboardSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetGameLeaderboardQuery, GetGameLeaderboardQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetGameLeaderboardQuery, GetGameLeaderboardQueryVariables>(GetGameLeaderboardDocument, options);\n }\nexport type GetGameLeaderboardQueryHookResult = ReturnType<typeof useGetGameLeaderboardQuery>;\nexport type GetGameLeaderboardLazyQueryHookResult = ReturnType<typeof useGetGameLeaderboardLazyQuery>;\nexport type GetGameLeaderboardSuspenseQueryHookResult = ReturnType<typeof useGetGameLeaderboardSuspenseQuery>;\nexport type GetGameLeaderboardQueryResult = ApolloReactCommon.QueryResult<GetGameLeaderboardQuery, GetGameLeaderboardQueryVariables>;\nexport const GetUserNotificationsDocument = gql`\n query getUserNotifications($limit: Int, $offset: Int) {\n userNotifications(limit: $limit, offset: $offset) {\n ...NotificationFields\n }\n}\n ${NotificationFieldsFragmentDoc}`;\n\n/**\n * __useGetUserNotificationsQuery__\n *\n * To run a query within a React component, call `useGetUserNotificationsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetUserNotificationsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetUserNotificationsQuery({\n * variables: {\n * limit: // value for 'limit'\n * offset: // value for 'offset'\n * },\n * });\n */\nexport function useGetUserNotificationsQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetUserNotificationsQuery, GetUserNotificationsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetUserNotificationsQuery, GetUserNotificationsQueryVariables>(GetUserNotificationsDocument, options);\n }\nexport function useGetUserNotificationsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetUserNotificationsQuery, GetUserNotificationsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetUserNotificationsQuery, GetUserNotificationsQueryVariables>(GetUserNotificationsDocument, options);\n }\n// @ts-ignore\nexport function useGetUserNotificationsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetUserNotificationsQuery, GetUserNotificationsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserNotificationsQuery, GetUserNotificationsQueryVariables>;\nexport function useGetUserNotificationsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserNotificationsQuery, GetUserNotificationsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserNotificationsQuery | undefined, GetUserNotificationsQueryVariables>;\nexport function useGetUserNotificationsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserNotificationsQuery, GetUserNotificationsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetUserNotificationsQuery, GetUserNotificationsQueryVariables>(GetUserNotificationsDocument, options);\n }\nexport type GetUserNotificationsQueryHookResult = ReturnType<typeof useGetUserNotificationsQuery>;\nexport type GetUserNotificationsLazyQueryHookResult = ReturnType<typeof useGetUserNotificationsLazyQuery>;\nexport type GetUserNotificationsSuspenseQueryHookResult = ReturnType<typeof useGetUserNotificationsSuspenseQuery>;\nexport type GetUserNotificationsQueryResult = ApolloReactCommon.QueryResult<GetUserNotificationsQuery, GetUserNotificationsQueryVariables>;\nexport const GetNotificationCountDocument = gql`\n query getNotificationCount {\n notificationCount {\n total\n unread\n }\n}\n `;\n\n/**\n * __useGetNotificationCountQuery__\n *\n * To run a query within a React component, call `useGetNotificationCountQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetNotificationCountQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetNotificationCountQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetNotificationCountQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetNotificationCountQuery, GetNotificationCountQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetNotificationCountQuery, GetNotificationCountQueryVariables>(GetNotificationCountDocument, options);\n }\nexport function useGetNotificationCountLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetNotificationCountQuery, GetNotificationCountQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetNotificationCountQuery, GetNotificationCountQueryVariables>(GetNotificationCountDocument, options);\n }\n// @ts-ignore\nexport function useGetNotificationCountSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetNotificationCountQuery, GetNotificationCountQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetNotificationCountQuery, GetNotificationCountQueryVariables>;\nexport function useGetNotificationCountSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetNotificationCountQuery, GetNotificationCountQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetNotificationCountQuery | undefined, GetNotificationCountQueryVariables>;\nexport function useGetNotificationCountSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetNotificationCountQuery, GetNotificationCountQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetNotificationCountQuery, GetNotificationCountQueryVariables>(GetNotificationCountDocument, options);\n }\nexport type GetNotificationCountQueryHookResult = ReturnType<typeof useGetNotificationCountQuery>;\nexport type GetNotificationCountLazyQueryHookResult = ReturnType<typeof useGetNotificationCountLazyQuery>;\nexport type GetNotificationCountSuspenseQueryHookResult = ReturnType<typeof useGetNotificationCountSuspenseQuery>;\nexport type GetNotificationCountQueryResult = ApolloReactCommon.QueryResult<GetNotificationCountQuery, GetNotificationCountQueryVariables>;\nexport const GetPartnersDocument = gql`\n query getPartners {\n partners {\n ...PartnerFields\n }\n}\n ${PartnerFieldsFragmentDoc}`;\n\n/**\n * __useGetPartnersQuery__\n *\n * To run a query within a React component, call `useGetPartnersQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetPartnersQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetPartnersQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetPartnersQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetPartnersQuery, GetPartnersQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetPartnersQuery, GetPartnersQueryVariables>(GetPartnersDocument, options);\n }\nexport function useGetPartnersLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetPartnersQuery, GetPartnersQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetPartnersQuery, GetPartnersQueryVariables>(GetPartnersDocument, options);\n }\n// @ts-ignore\nexport function useGetPartnersSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetPartnersQuery, GetPartnersQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPartnersQuery, GetPartnersQueryVariables>;\nexport function useGetPartnersSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPartnersQuery, GetPartnersQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPartnersQuery | undefined, GetPartnersQueryVariables>;\nexport function useGetPartnersSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPartnersQuery, GetPartnersQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetPartnersQuery, GetPartnersQueryVariables>(GetPartnersDocument, options);\n }\nexport type GetPartnersQueryHookResult = ReturnType<typeof useGetPartnersQuery>;\nexport type GetPartnersLazyQueryHookResult = ReturnType<typeof useGetPartnersLazyQuery>;\nexport type GetPartnersSuspenseQueryHookResult = ReturnType<typeof useGetPartnersSuspenseQuery>;\nexport type GetPartnersQueryResult = ApolloReactCommon.QueryResult<GetPartnersQuery, GetPartnersQueryVariables>;\nexport const GetPartnerDocument = gql`\n query getPartner($_id: ID!) {\n partner(_id: $_id) {\n ...PartnerFields\n }\n}\n ${PartnerFieldsFragmentDoc}`;\n\n/**\n * __useGetPartnerQuery__\n *\n * To run a query within a React component, call `useGetPartnerQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetPartnerQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetPartnerQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useGetPartnerQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetPartnerQuery, GetPartnerQueryVariables> & ({ variables: GetPartnerQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetPartnerQuery, GetPartnerQueryVariables>(GetPartnerDocument, options);\n }\nexport function useGetPartnerLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetPartnerQuery, GetPartnerQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetPartnerQuery, GetPartnerQueryVariables>(GetPartnerDocument, options);\n }\n// @ts-ignore\nexport function useGetPartnerSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetPartnerQuery, GetPartnerQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPartnerQuery, GetPartnerQueryVariables>;\nexport function useGetPartnerSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPartnerQuery, GetPartnerQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPartnerQuery | undefined, GetPartnerQueryVariables>;\nexport function useGetPartnerSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPartnerQuery, GetPartnerQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetPartnerQuery, GetPartnerQueryVariables>(GetPartnerDocument, options);\n }\nexport type GetPartnerQueryHookResult = ReturnType<typeof useGetPartnerQuery>;\nexport type GetPartnerLazyQueryHookResult = ReturnType<typeof useGetPartnerLazyQuery>;\nexport type GetPartnerSuspenseQueryHookResult = ReturnType<typeof useGetPartnerSuspenseQuery>;\nexport type GetPartnerQueryResult = ApolloReactCommon.QueryResult<GetPartnerQuery, GetPartnerQueryVariables>;\nexport const GetPartnersByRegionDocument = gql`\n query getPartnersByRegion($region: String!, $options: ResourcesByRegionOptions) {\n partnersByRegion(region: $region, options: $options) {\n ...PartnerFields\n }\n}\n ${PartnerFieldsFragmentDoc}`;\n\n/**\n * __useGetPartnersByRegionQuery__\n *\n * To run a query within a React component, call `useGetPartnersByRegionQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetPartnersByRegionQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetPartnersByRegionQuery({\n * variables: {\n * region: // value for 'region'\n * options: // value for 'options'\n * },\n * });\n */\nexport function useGetPartnersByRegionQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetPartnersByRegionQuery, GetPartnersByRegionQueryVariables> & ({ variables: GetPartnersByRegionQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetPartnersByRegionQuery, GetPartnersByRegionQueryVariables>(GetPartnersByRegionDocument, options);\n }\nexport function useGetPartnersByRegionLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetPartnersByRegionQuery, GetPartnersByRegionQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetPartnersByRegionQuery, GetPartnersByRegionQueryVariables>(GetPartnersByRegionDocument, options);\n }\n// @ts-ignore\nexport function useGetPartnersByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetPartnersByRegionQuery, GetPartnersByRegionQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPartnersByRegionQuery, GetPartnersByRegionQueryVariables>;\nexport function useGetPartnersByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPartnersByRegionQuery, GetPartnersByRegionQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPartnersByRegionQuery | undefined, GetPartnersByRegionQueryVariables>;\nexport function useGetPartnersByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPartnersByRegionQuery, GetPartnersByRegionQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetPartnersByRegionQuery, GetPartnersByRegionQueryVariables>(GetPartnersByRegionDocument, options);\n }\nexport type GetPartnersByRegionQueryHookResult = ReturnType<typeof useGetPartnersByRegionQuery>;\nexport type GetPartnersByRegionLazyQueryHookResult = ReturnType<typeof useGetPartnersByRegionLazyQuery>;\nexport type GetPartnersByRegionSuspenseQueryHookResult = ReturnType<typeof useGetPartnersByRegionSuspenseQuery>;\nexport type GetPartnersByRegionQueryResult = ApolloReactCommon.QueryResult<GetPartnersByRegionQuery, GetPartnersByRegionQueryVariables>;\nexport const SearchPartnersDocument = gql`\n query searchPartners($search: String!, $region: String!) {\n partnersSearch(search: $search, region: $region) {\n ...PartnerFields\n }\n}\n ${PartnerFieldsFragmentDoc}`;\n\n/**\n * __useSearchPartnersQuery__\n *\n * To run a query within a React component, call `useSearchPartnersQuery` and pass it any options that fit your needs.\n * When your component renders, `useSearchPartnersQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useSearchPartnersQuery({\n * variables: {\n * search: // value for 'search'\n * region: // value for 'region'\n * },\n * });\n */\nexport function useSearchPartnersQuery(baseOptions: ApolloReactHooks.QueryHookOptions<SearchPartnersQuery, SearchPartnersQueryVariables> & ({ variables: SearchPartnersQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<SearchPartnersQuery, SearchPartnersQueryVariables>(SearchPartnersDocument, options);\n }\nexport function useSearchPartnersLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<SearchPartnersQuery, SearchPartnersQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<SearchPartnersQuery, SearchPartnersQueryVariables>(SearchPartnersDocument, options);\n }\n// @ts-ignore\nexport function useSearchPartnersSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<SearchPartnersQuery, SearchPartnersQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<SearchPartnersQuery, SearchPartnersQueryVariables>;\nexport function useSearchPartnersSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<SearchPartnersQuery, SearchPartnersQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<SearchPartnersQuery | undefined, SearchPartnersQueryVariables>;\nexport function useSearchPartnersSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<SearchPartnersQuery, SearchPartnersQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<SearchPartnersQuery, SearchPartnersQueryVariables>(SearchPartnersDocument, options);\n }\nexport type SearchPartnersQueryHookResult = ReturnType<typeof useSearchPartnersQuery>;\nexport type SearchPartnersLazyQueryHookResult = ReturnType<typeof useSearchPartnersLazyQuery>;\nexport type SearchPartnersSuspenseQueryHookResult = ReturnType<typeof useSearchPartnersSuspenseQuery>;\nexport type SearchPartnersQueryResult = ApolloReactCommon.QueryResult<SearchPartnersQuery, SearchPartnersQueryVariables>;\nexport const GetPostsDocument = gql`\n query getPosts {\n posts {\n ...PostFields\n }\n}\n ${PostFieldsFragmentDoc}`;\n\n/**\n * __useGetPostsQuery__\n *\n * To run a query within a React component, call `useGetPostsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetPostsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetPostsQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetPostsQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetPostsQuery, GetPostsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetPostsQuery, GetPostsQueryVariables>(GetPostsDocument, options);\n }\nexport function useGetPostsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetPostsQuery, GetPostsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetPostsQuery, GetPostsQueryVariables>(GetPostsDocument, options);\n }\n// @ts-ignore\nexport function useGetPostsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetPostsQuery, GetPostsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPostsQuery, GetPostsQueryVariables>;\nexport function useGetPostsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPostsQuery, GetPostsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPostsQuery | undefined, GetPostsQueryVariables>;\nexport function useGetPostsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPostsQuery, GetPostsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetPostsQuery, GetPostsQueryVariables>(GetPostsDocument, options);\n }\nexport type GetPostsQueryHookResult = ReturnType<typeof useGetPostsQuery>;\nexport type GetPostsLazyQueryHookResult = ReturnType<typeof useGetPostsLazyQuery>;\nexport type GetPostsSuspenseQueryHookResult = ReturnType<typeof useGetPostsSuspenseQuery>;\nexport type GetPostsQueryResult = ApolloReactCommon.QueryResult<GetPostsQuery, GetPostsQueryVariables>;\nexport const GetPostDocument = gql`\n query getPost($_id: ID!) {\n post(_id: $_id) {\n ...PostFields\n }\n}\n ${PostFieldsFragmentDoc}`;\n\n/**\n * __useGetPostQuery__\n *\n * To run a query within a React component, call `useGetPostQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetPostQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetPostQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useGetPostQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetPostQuery, GetPostQueryVariables> & ({ variables: GetPostQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetPostQuery, GetPostQueryVariables>(GetPostDocument, options);\n }\nexport function useGetPostLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetPostQuery, GetPostQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetPostQuery, GetPostQueryVariables>(GetPostDocument, options);\n }\n// @ts-ignore\nexport function useGetPostSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetPostQuery, GetPostQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPostQuery, GetPostQueryVariables>;\nexport function useGetPostSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPostQuery, GetPostQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPostQuery | undefined, GetPostQueryVariables>;\nexport function useGetPostSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPostQuery, GetPostQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetPostQuery, GetPostQueryVariables>(GetPostDocument, options);\n }\nexport type GetPostQueryHookResult = ReturnType<typeof useGetPostQuery>;\nexport type GetPostLazyQueryHookResult = ReturnType<typeof useGetPostLazyQuery>;\nexport type GetPostSuspenseQueryHookResult = ReturnType<typeof useGetPostSuspenseQuery>;\nexport type GetPostQueryResult = ApolloReactCommon.QueryResult<GetPostQuery, GetPostQueryVariables>;\nexport const GetPostsByTypeDocument = gql`\n query getPostsByType($postType: PostTypeEnum!) {\n postsByType(postType: $postType) {\n ...PostFields\n }\n}\n ${PostFieldsFragmentDoc}`;\n\n/**\n * __useGetPostsByTypeQuery__\n *\n * To run a query within a React component, call `useGetPostsByTypeQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetPostsByTypeQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetPostsByTypeQuery({\n * variables: {\n * postType: // value for 'postType'\n * },\n * });\n */\nexport function useGetPostsByTypeQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetPostsByTypeQuery, GetPostsByTypeQueryVariables> & ({ variables: GetPostsByTypeQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetPostsByTypeQuery, GetPostsByTypeQueryVariables>(GetPostsByTypeDocument, options);\n }\nexport function useGetPostsByTypeLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetPostsByTypeQuery, GetPostsByTypeQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetPostsByTypeQuery, GetPostsByTypeQueryVariables>(GetPostsByTypeDocument, options);\n }\n// @ts-ignore\nexport function useGetPostsByTypeSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetPostsByTypeQuery, GetPostsByTypeQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPostsByTypeQuery, GetPostsByTypeQueryVariables>;\nexport function useGetPostsByTypeSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPostsByTypeQuery, GetPostsByTypeQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPostsByTypeQuery | undefined, GetPostsByTypeQueryVariables>;\nexport function useGetPostsByTypeSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPostsByTypeQuery, GetPostsByTypeQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetPostsByTypeQuery, GetPostsByTypeQueryVariables>(GetPostsByTypeDocument, options);\n }\nexport type GetPostsByTypeQueryHookResult = ReturnType<typeof useGetPostsByTypeQuery>;\nexport type GetPostsByTypeLazyQueryHookResult = ReturnType<typeof useGetPostsByTypeLazyQuery>;\nexport type GetPostsByTypeSuspenseQueryHookResult = ReturnType<typeof useGetPostsByTypeSuspenseQuery>;\nexport type GetPostsByTypeQueryResult = ApolloReactCommon.QueryResult<GetPostsByTypeQuery, GetPostsByTypeQueryVariables>;\nexport const GetRelationDocument = gql`\n query getRelation($_id: ID!) {\n relation(_id: $_id) {\n ...RelationFields\n }\n}\n ${RelationFieldsFragmentDoc}`;\n\n/**\n * __useGetRelationQuery__\n *\n * To run a query within a React component, call `useGetRelationQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetRelationQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetRelationQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useGetRelationQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetRelationQuery, GetRelationQueryVariables> & ({ variables: GetRelationQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetRelationQuery, GetRelationQueryVariables>(GetRelationDocument, options);\n }\nexport function useGetRelationLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetRelationQuery, GetRelationQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetRelationQuery, GetRelationQueryVariables>(GetRelationDocument, options);\n }\n// @ts-ignore\nexport function useGetRelationSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetRelationQuery, GetRelationQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetRelationQuery, GetRelationQueryVariables>;\nexport function useGetRelationSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetRelationQuery, GetRelationQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetRelationQuery | undefined, GetRelationQueryVariables>;\nexport function useGetRelationSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetRelationQuery, GetRelationQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetRelationQuery, GetRelationQueryVariables>(GetRelationDocument, options);\n }\nexport type GetRelationQueryHookResult = ReturnType<typeof useGetRelationQuery>;\nexport type GetRelationLazyQueryHookResult = ReturnType<typeof useGetRelationLazyQuery>;\nexport type GetRelationSuspenseQueryHookResult = ReturnType<typeof useGetRelationSuspenseQuery>;\nexport type GetRelationQueryResult = ApolloReactCommon.QueryResult<GetRelationQuery, GetRelationQueryVariables>;\nexport const GetRelationByEventAndVendorDocument = gql`\n query getRelationByEventAndVendor($eventId: ID!, $vendorId: ID!) {\n relationByEventAndVendor(eventId: $eventId, vendorId: $vendorId) {\n ...RelationFields\n }\n}\n ${RelationFieldsFragmentDoc}`;\n\n/**\n * __useGetRelationByEventAndVendorQuery__\n *\n * To run a query within a React component, call `useGetRelationByEventAndVendorQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetRelationByEventAndVendorQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetRelationByEventAndVendorQuery({\n * variables: {\n * eventId: // value for 'eventId'\n * vendorId: // value for 'vendorId'\n * },\n * });\n */\nexport function useGetRelationByEventAndVendorQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetRelationByEventAndVendorQuery, GetRelationByEventAndVendorQueryVariables> & ({ variables: GetRelationByEventAndVendorQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetRelationByEventAndVendorQuery, GetRelationByEventAndVendorQueryVariables>(GetRelationByEventAndVendorDocument, options);\n }\nexport function useGetRelationByEventAndVendorLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetRelationByEventAndVendorQuery, GetRelationByEventAndVendorQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetRelationByEventAndVendorQuery, GetRelationByEventAndVendorQueryVariables>(GetRelationByEventAndVendorDocument, options);\n }\n// @ts-ignore\nexport function useGetRelationByEventAndVendorSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetRelationByEventAndVendorQuery, GetRelationByEventAndVendorQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetRelationByEventAndVendorQuery, GetRelationByEventAndVendorQueryVariables>;\nexport function useGetRelationByEventAndVendorSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetRelationByEventAndVendorQuery, GetRelationByEventAndVendorQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetRelationByEventAndVendorQuery | undefined, GetRelationByEventAndVendorQueryVariables>;\nexport function useGetRelationByEventAndVendorSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetRelationByEventAndVendorQuery, GetRelationByEventAndVendorQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetRelationByEventAndVendorQuery, GetRelationByEventAndVendorQueryVariables>(GetRelationByEventAndVendorDocument, options);\n }\nexport type GetRelationByEventAndVendorQueryHookResult = ReturnType<typeof useGetRelationByEventAndVendorQuery>;\nexport type GetRelationByEventAndVendorLazyQueryHookResult = ReturnType<typeof useGetRelationByEventAndVendorLazyQuery>;\nexport type GetRelationByEventAndVendorSuspenseQueryHookResult = ReturnType<typeof useGetRelationByEventAndVendorSuspenseQuery>;\nexport type GetRelationByEventAndVendorQueryResult = ApolloReactCommon.QueryResult<GetRelationByEventAndVendorQuery, GetRelationByEventAndVendorQueryVariables>;\nexport const GetEventRelationsDocument = gql`\n query getEventRelations($eventId: ID!) {\n eventRelations(eventId: $eventId) {\n ...RelationFields\n }\n}\n ${RelationFieldsFragmentDoc}`;\n\n/**\n * __useGetEventRelationsQuery__\n *\n * To run a query within a React component, call `useGetEventRelationsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetEventRelationsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetEventRelationsQuery({\n * variables: {\n * eventId: // value for 'eventId'\n * },\n * });\n */\nexport function useGetEventRelationsQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetEventRelationsQuery, GetEventRelationsQueryVariables> & ({ variables: GetEventRelationsQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetEventRelationsQuery, GetEventRelationsQueryVariables>(GetEventRelationsDocument, options);\n }\nexport function useGetEventRelationsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetEventRelationsQuery, GetEventRelationsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetEventRelationsQuery, GetEventRelationsQueryVariables>(GetEventRelationsDocument, options);\n }\n// @ts-ignore\nexport function useGetEventRelationsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetEventRelationsQuery, GetEventRelationsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventRelationsQuery, GetEventRelationsQueryVariables>;\nexport function useGetEventRelationsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventRelationsQuery, GetEventRelationsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventRelationsQuery | undefined, GetEventRelationsQueryVariables>;\nexport function useGetEventRelationsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventRelationsQuery, GetEventRelationsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetEventRelationsQuery, GetEventRelationsQueryVariables>(GetEventRelationsDocument, options);\n }\nexport type GetEventRelationsQueryHookResult = ReturnType<typeof useGetEventRelationsQuery>;\nexport type GetEventRelationsLazyQueryHookResult = ReturnType<typeof useGetEventRelationsLazyQuery>;\nexport type GetEventRelationsSuspenseQueryHookResult = ReturnType<typeof useGetEventRelationsSuspenseQuery>;\nexport type GetEventRelationsQueryResult = ApolloReactCommon.QueryResult<GetEventRelationsQuery, GetEventRelationsQueryVariables>;\nexport const GetVendorRelationsDocument = gql`\n query getVendorRelations($vendorId: ID!) {\n vendorRelations(vendorId: $vendorId) {\n ...RelationFields\n }\n}\n ${RelationFieldsFragmentDoc}`;\n\n/**\n * __useGetVendorRelationsQuery__\n *\n * To run a query within a React component, call `useGetVendorRelationsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetVendorRelationsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetVendorRelationsQuery({\n * variables: {\n * vendorId: // value for 'vendorId'\n * },\n * });\n */\nexport function useGetVendorRelationsQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetVendorRelationsQuery, GetVendorRelationsQueryVariables> & ({ variables: GetVendorRelationsQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetVendorRelationsQuery, GetVendorRelationsQueryVariables>(GetVendorRelationsDocument, options);\n }\nexport function useGetVendorRelationsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetVendorRelationsQuery, GetVendorRelationsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetVendorRelationsQuery, GetVendorRelationsQueryVariables>(GetVendorRelationsDocument, options);\n }\n// @ts-ignore\nexport function useGetVendorRelationsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetVendorRelationsQuery, GetVendorRelationsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorRelationsQuery, GetVendorRelationsQueryVariables>;\nexport function useGetVendorRelationsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorRelationsQuery, GetVendorRelationsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorRelationsQuery | undefined, GetVendorRelationsQueryVariables>;\nexport function useGetVendorRelationsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorRelationsQuery, GetVendorRelationsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetVendorRelationsQuery, GetVendorRelationsQueryVariables>(GetVendorRelationsDocument, options);\n }\nexport type GetVendorRelationsQueryHookResult = ReturnType<typeof useGetVendorRelationsQuery>;\nexport type GetVendorRelationsLazyQueryHookResult = ReturnType<typeof useGetVendorRelationsLazyQuery>;\nexport type GetVendorRelationsSuspenseQueryHookResult = ReturnType<typeof useGetVendorRelationsSuspenseQuery>;\nexport type GetVendorRelationsQueryResult = ApolloReactCommon.QueryResult<GetVendorRelationsQuery, GetVendorRelationsQueryVariables>;\nexport const GetResourceConnectionsDocument = gql`\n query getResourceConnections($resourceId: ID!, $resourceType: ResourceTypeEnum!) {\n resourceConnections(resourceId: $resourceId, resourceType: $resourceType) {\n events {\n ...EventListItemFields\n }\n vendors {\n ...VendorFields\n }\n }\n}\n ${EventListItemFieldsFragmentDoc}\n${VendorFieldsFragmentDoc}`;\n\n/**\n * __useGetResourceConnectionsQuery__\n *\n * To run a query within a React component, call `useGetResourceConnectionsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetResourceConnectionsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetResourceConnectionsQuery({\n * variables: {\n * resourceId: // value for 'resourceId'\n * resourceType: // value for 'resourceType'\n * },\n * });\n */\nexport function useGetResourceConnectionsQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetResourceConnectionsQuery, GetResourceConnectionsQueryVariables> & ({ variables: GetResourceConnectionsQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetResourceConnectionsQuery, GetResourceConnectionsQueryVariables>(GetResourceConnectionsDocument, options);\n }\nexport function useGetResourceConnectionsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetResourceConnectionsQuery, GetResourceConnectionsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetResourceConnectionsQuery, GetResourceConnectionsQueryVariables>(GetResourceConnectionsDocument, options);\n }\n// @ts-ignore\nexport function useGetResourceConnectionsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetResourceConnectionsQuery, GetResourceConnectionsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetResourceConnectionsQuery, GetResourceConnectionsQueryVariables>;\nexport function useGetResourceConnectionsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetResourceConnectionsQuery, GetResourceConnectionsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetResourceConnectionsQuery | undefined, GetResourceConnectionsQueryVariables>;\nexport function useGetResourceConnectionsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetResourceConnectionsQuery, GetResourceConnectionsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetResourceConnectionsQuery, GetResourceConnectionsQueryVariables>(GetResourceConnectionsDocument, options);\n }\nexport type GetResourceConnectionsQueryHookResult = ReturnType<typeof useGetResourceConnectionsQuery>;\nexport type GetResourceConnectionsLazyQueryHookResult = ReturnType<typeof useGetResourceConnectionsLazyQuery>;\nexport type GetResourceConnectionsSuspenseQueryHookResult = ReturnType<typeof useGetResourceConnectionsSuspenseQuery>;\nexport type GetResourceConnectionsQueryResult = ApolloReactCommon.QueryResult<GetResourceConnectionsQuery, GetResourceConnectionsQueryVariables>;\nexport const GetResourceActivityDocument = gql`\n query getResourceActivity($resourceType: ResourceTypeEnum!, $resourceId: ID!) {\n resourceActivity(resourceType: $resourceType, resourceId: $resourceId) {\n ...ResourceActivityFields\n }\n}\n ${ResourceActivityFieldsFragmentDoc}`;\n\n/**\n * __useGetResourceActivityQuery__\n *\n * To run a query within a React component, call `useGetResourceActivityQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetResourceActivityQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetResourceActivityQuery({\n * variables: {\n * resourceType: // value for 'resourceType'\n * resourceId: // value for 'resourceId'\n * },\n * });\n */\nexport function useGetResourceActivityQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetResourceActivityQuery, GetResourceActivityQueryVariables> & ({ variables: GetResourceActivityQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetResourceActivityQuery, GetResourceActivityQueryVariables>(GetResourceActivityDocument, options);\n }\nexport function useGetResourceActivityLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetResourceActivityQuery, GetResourceActivityQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetResourceActivityQuery, GetResourceActivityQueryVariables>(GetResourceActivityDocument, options);\n }\n// @ts-ignore\nexport function useGetResourceActivitySuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetResourceActivityQuery, GetResourceActivityQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetResourceActivityQuery, GetResourceActivityQueryVariables>;\nexport function useGetResourceActivitySuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetResourceActivityQuery, GetResourceActivityQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetResourceActivityQuery | undefined, GetResourceActivityQueryVariables>;\nexport function useGetResourceActivitySuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetResourceActivityQuery, GetResourceActivityQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetResourceActivityQuery, GetResourceActivityQueryVariables>(GetResourceActivityDocument, options);\n }\nexport type GetResourceActivityQueryHookResult = ReturnType<typeof useGetResourceActivityQuery>;\nexport type GetResourceActivityLazyQueryHookResult = ReturnType<typeof useGetResourceActivityLazyQuery>;\nexport type GetResourceActivitySuspenseQueryHookResult = ReturnType<typeof useGetResourceActivitySuspenseQuery>;\nexport type GetResourceActivityQueryResult = ApolloReactCommon.QueryResult<GetResourceActivityQuery, GetResourceActivityQueryVariables>;\nexport const GetSchoolDocument = gql`\n query getSchool($_id: ID!) {\n school(_id: $_id) {\n school {\n ...SchoolFields\n }\n users {\n ...SchoolRegisteredUsersFields\n }\n }\n}\n ${SchoolFieldsFragmentDoc}\n${SchoolRegisteredUsersFieldsFragmentDoc}`;\n\n/**\n * __useGetSchoolQuery__\n *\n * To run a query within a React component, call `useGetSchoolQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetSchoolQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetSchoolQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useGetSchoolQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetSchoolQuery, GetSchoolQueryVariables> & ({ variables: GetSchoolQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetSchoolQuery, GetSchoolQueryVariables>(GetSchoolDocument, options);\n }\nexport function useGetSchoolLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetSchoolQuery, GetSchoolQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetSchoolQuery, GetSchoolQueryVariables>(GetSchoolDocument, options);\n }\n// @ts-ignore\nexport function useGetSchoolSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetSchoolQuery, GetSchoolQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetSchoolQuery, GetSchoolQueryVariables>;\nexport function useGetSchoolSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetSchoolQuery, GetSchoolQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetSchoolQuery | undefined, GetSchoolQueryVariables>;\nexport function useGetSchoolSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetSchoolQuery, GetSchoolQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetSchoolQuery, GetSchoolQueryVariables>(GetSchoolDocument, options);\n }\nexport type GetSchoolQueryHookResult = ReturnType<typeof useGetSchoolQuery>;\nexport type GetSchoolLazyQueryHookResult = ReturnType<typeof useGetSchoolLazyQuery>;\nexport type GetSchoolSuspenseQueryHookResult = ReturnType<typeof useGetSchoolSuspenseQuery>;\nexport type GetSchoolQueryResult = ApolloReactCommon.QueryResult<GetSchoolQuery, GetSchoolQueryVariables>;\nexport const GetSchoolsDocument = gql`\n query getSchools {\n schools {\n ...SchoolFields\n }\n}\n ${SchoolFieldsFragmentDoc}`;\n\n/**\n * __useGetSchoolsQuery__\n *\n * To run a query within a React component, call `useGetSchoolsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetSchoolsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetSchoolsQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetSchoolsQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetSchoolsQuery, GetSchoolsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetSchoolsQuery, GetSchoolsQueryVariables>(GetSchoolsDocument, options);\n }\nexport function useGetSchoolsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetSchoolsQuery, GetSchoolsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetSchoolsQuery, GetSchoolsQueryVariables>(GetSchoolsDocument, options);\n }\n// @ts-ignore\nexport function useGetSchoolsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetSchoolsQuery, GetSchoolsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetSchoolsQuery, GetSchoolsQueryVariables>;\nexport function useGetSchoolsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetSchoolsQuery, GetSchoolsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetSchoolsQuery | undefined, GetSchoolsQueryVariables>;\nexport function useGetSchoolsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetSchoolsQuery, GetSchoolsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetSchoolsQuery, GetSchoolsQueryVariables>(GetSchoolsDocument, options);\n }\nexport type GetSchoolsQueryHookResult = ReturnType<typeof useGetSchoolsQuery>;\nexport type GetSchoolsLazyQueryHookResult = ReturnType<typeof useGetSchoolsLazyQuery>;\nexport type GetSchoolsSuspenseQueryHookResult = ReturnType<typeof useGetSchoolsSuspenseQuery>;\nexport type GetSchoolsQueryResult = ApolloReactCommon.QueryResult<GetSchoolsQuery, GetSchoolsQueryVariables>;\nexport const GetEventBySlugDocument = gql`\n query getEventBySlug($slug: String!) {\n eventBySlug(slug: $slug) {\n _id\n }\n}\n `;\n\n/**\n * __useGetEventBySlugQuery__\n *\n * To run a query within a React component, call `useGetEventBySlugQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetEventBySlugQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetEventBySlugQuery({\n * variables: {\n * slug: // value for 'slug'\n * },\n * });\n */\nexport function useGetEventBySlugQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetEventBySlugQuery, GetEventBySlugQueryVariables> & ({ variables: GetEventBySlugQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetEventBySlugQuery, GetEventBySlugQueryVariables>(GetEventBySlugDocument, options);\n }\nexport function useGetEventBySlugLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetEventBySlugQuery, GetEventBySlugQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetEventBySlugQuery, GetEventBySlugQueryVariables>(GetEventBySlugDocument, options);\n }\n// @ts-ignore\nexport function useGetEventBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetEventBySlugQuery, GetEventBySlugQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventBySlugQuery, GetEventBySlugQueryVariables>;\nexport function useGetEventBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventBySlugQuery, GetEventBySlugQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetEventBySlugQuery | undefined, GetEventBySlugQueryVariables>;\nexport function useGetEventBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetEventBySlugQuery, GetEventBySlugQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetEventBySlugQuery, GetEventBySlugQueryVariables>(GetEventBySlugDocument, options);\n }\nexport type GetEventBySlugQueryHookResult = ReturnType<typeof useGetEventBySlugQuery>;\nexport type GetEventBySlugLazyQueryHookResult = ReturnType<typeof useGetEventBySlugLazyQuery>;\nexport type GetEventBySlugSuspenseQueryHookResult = ReturnType<typeof useGetEventBySlugSuspenseQuery>;\nexport type GetEventBySlugQueryResult = ApolloReactCommon.QueryResult<GetEventBySlugQuery, GetEventBySlugQueryVariables>;\nexport const GetVendorBySlugDocument = gql`\n query getVendorBySlug($slug: String!) {\n vendorBySlug(slug: $slug) {\n _id\n }\n}\n `;\n\n/**\n * __useGetVendorBySlugQuery__\n *\n * To run a query within a React component, call `useGetVendorBySlugQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetVendorBySlugQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetVendorBySlugQuery({\n * variables: {\n * slug: // value for 'slug'\n * },\n * });\n */\nexport function useGetVendorBySlugQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetVendorBySlugQuery, GetVendorBySlugQueryVariables> & ({ variables: GetVendorBySlugQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetVendorBySlugQuery, GetVendorBySlugQueryVariables>(GetVendorBySlugDocument, options);\n }\nexport function useGetVendorBySlugLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetVendorBySlugQuery, GetVendorBySlugQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetVendorBySlugQuery, GetVendorBySlugQueryVariables>(GetVendorBySlugDocument, options);\n }\n// @ts-ignore\nexport function useGetVendorBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetVendorBySlugQuery, GetVendorBySlugQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorBySlugQuery, GetVendorBySlugQueryVariables>;\nexport function useGetVendorBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorBySlugQuery, GetVendorBySlugQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorBySlugQuery | undefined, GetVendorBySlugQueryVariables>;\nexport function useGetVendorBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorBySlugQuery, GetVendorBySlugQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetVendorBySlugQuery, GetVendorBySlugQueryVariables>(GetVendorBySlugDocument, options);\n }\nexport type GetVendorBySlugQueryHookResult = ReturnType<typeof useGetVendorBySlugQuery>;\nexport type GetVendorBySlugLazyQueryHookResult = ReturnType<typeof useGetVendorBySlugLazyQuery>;\nexport type GetVendorBySlugSuspenseQueryHookResult = ReturnType<typeof useGetVendorBySlugSuspenseQuery>;\nexport type GetVendorBySlugQueryResult = ApolloReactCommon.QueryResult<GetVendorBySlugQuery, GetVendorBySlugQueryVariables>;\nexport const GetPartnerBySlugDocument = gql`\n query getPartnerBySlug($slug: String!) {\n partnerBySlug(slug: $slug) {\n _id\n }\n}\n `;\n\n/**\n * __useGetPartnerBySlugQuery__\n *\n * To run a query within a React component, call `useGetPartnerBySlugQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetPartnerBySlugQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetPartnerBySlugQuery({\n * variables: {\n * slug: // value for 'slug'\n * },\n * });\n */\nexport function useGetPartnerBySlugQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetPartnerBySlugQuery, GetPartnerBySlugQueryVariables> & ({ variables: GetPartnerBySlugQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetPartnerBySlugQuery, GetPartnerBySlugQueryVariables>(GetPartnerBySlugDocument, options);\n }\nexport function useGetPartnerBySlugLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetPartnerBySlugQuery, GetPartnerBySlugQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetPartnerBySlugQuery, GetPartnerBySlugQueryVariables>(GetPartnerBySlugDocument, options);\n }\n// @ts-ignore\nexport function useGetPartnerBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetPartnerBySlugQuery, GetPartnerBySlugQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPartnerBySlugQuery, GetPartnerBySlugQueryVariables>;\nexport function useGetPartnerBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPartnerBySlugQuery, GetPartnerBySlugQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPartnerBySlugQuery | undefined, GetPartnerBySlugQueryVariables>;\nexport function useGetPartnerBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPartnerBySlugQuery, GetPartnerBySlugQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetPartnerBySlugQuery, GetPartnerBySlugQueryVariables>(GetPartnerBySlugDocument, options);\n }\nexport type GetPartnerBySlugQueryHookResult = ReturnType<typeof useGetPartnerBySlugQuery>;\nexport type GetPartnerBySlugLazyQueryHookResult = ReturnType<typeof useGetPartnerBySlugLazyQuery>;\nexport type GetPartnerBySlugSuspenseQueryHookResult = ReturnType<typeof useGetPartnerBySlugSuspenseQuery>;\nexport type GetPartnerBySlugQueryResult = ApolloReactCommon.QueryResult<GetPartnerBySlugQuery, GetPartnerBySlugQueryVariables>;\nexport const GetPostBySlugDocument = gql`\n query getPostBySlug($slug: String!, $postType: PostTypeEnum!) {\n postBySlug(slug: $slug, postType: $postType) {\n _id\n }\n}\n `;\n\n/**\n * __useGetPostBySlugQuery__\n *\n * To run a query within a React component, call `useGetPostBySlugQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetPostBySlugQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetPostBySlugQuery({\n * variables: {\n * slug: // value for 'slug'\n * postType: // value for 'postType'\n * },\n * });\n */\nexport function useGetPostBySlugQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetPostBySlugQuery, GetPostBySlugQueryVariables> & ({ variables: GetPostBySlugQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetPostBySlugQuery, GetPostBySlugQueryVariables>(GetPostBySlugDocument, options);\n }\nexport function useGetPostBySlugLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetPostBySlugQuery, GetPostBySlugQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetPostBySlugQuery, GetPostBySlugQueryVariables>(GetPostBySlugDocument, options);\n }\n// @ts-ignore\nexport function useGetPostBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetPostBySlugQuery, GetPostBySlugQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPostBySlugQuery, GetPostBySlugQueryVariables>;\nexport function useGetPostBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPostBySlugQuery, GetPostBySlugQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetPostBySlugQuery | undefined, GetPostBySlugQueryVariables>;\nexport function useGetPostBySlugSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetPostBySlugQuery, GetPostBySlugQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetPostBySlugQuery, GetPostBySlugQueryVariables>(GetPostBySlugDocument, options);\n }\nexport type GetPostBySlugQueryHookResult = ReturnType<typeof useGetPostBySlugQuery>;\nexport type GetPostBySlugLazyQueryHookResult = ReturnType<typeof useGetPostBySlugLazyQuery>;\nexport type GetPostBySlugSuspenseQueryHookResult = ReturnType<typeof useGetPostBySlugSuspenseQuery>;\nexport type GetPostBySlugQueryResult = ApolloReactCommon.QueryResult<GetPostBySlugQuery, GetPostBySlugQueryVariables>;\nexport const GetSubscriptionStatusDocument = gql`\n query getSubscriptionStatus {\n getSubscriptionStatus {\n subscriptionId\n status\n priceId\n currentPlan\n }\n}\n `;\n\n/**\n * __useGetSubscriptionStatusQuery__\n *\n * To run a query within a React component, call `useGetSubscriptionStatusQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetSubscriptionStatusQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetSubscriptionStatusQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetSubscriptionStatusQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetSubscriptionStatusQuery, GetSubscriptionStatusQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetSubscriptionStatusQuery, GetSubscriptionStatusQueryVariables>(GetSubscriptionStatusDocument, options);\n }\nexport function useGetSubscriptionStatusLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetSubscriptionStatusQuery, GetSubscriptionStatusQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetSubscriptionStatusQuery, GetSubscriptionStatusQueryVariables>(GetSubscriptionStatusDocument, options);\n }\n// @ts-ignore\nexport function useGetSubscriptionStatusSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetSubscriptionStatusQuery, GetSubscriptionStatusQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetSubscriptionStatusQuery, GetSubscriptionStatusQueryVariables>;\nexport function useGetSubscriptionStatusSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetSubscriptionStatusQuery, GetSubscriptionStatusQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetSubscriptionStatusQuery | undefined, GetSubscriptionStatusQueryVariables>;\nexport function useGetSubscriptionStatusSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetSubscriptionStatusQuery, GetSubscriptionStatusQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetSubscriptionStatusQuery, GetSubscriptionStatusQueryVariables>(GetSubscriptionStatusDocument, options);\n }\nexport type GetSubscriptionStatusQueryHookResult = ReturnType<typeof useGetSubscriptionStatusQuery>;\nexport type GetSubscriptionStatusLazyQueryHookResult = ReturnType<typeof useGetSubscriptionStatusLazyQuery>;\nexport type GetSubscriptionStatusSuspenseQueryHookResult = ReturnType<typeof useGetSubscriptionStatusSuspenseQuery>;\nexport type GetSubscriptionStatusQueryResult = ApolloReactCommon.QueryResult<GetSubscriptionStatusQuery, GetSubscriptionStatusQueryVariables>;\nexport const GetSubscriptionPlansDocument = gql`\n query getSubscriptionPlans {\n getSubscriptionPlans {\n plans {\n name\n description\n licenceType\n billingPeriod\n stripeProductId\n stripePriceId\n isEligibleForDiscount\n pricing {\n basePrice\n discountedPrice\n hasDiscount\n discountPercent\n discountAmount\n currency\n formattedBasePrice\n formattedDiscountedPrice\n }\n }\n isNewUser\n isTester\n appliedDiscountType\n }\n}\n `;\n\n/**\n * __useGetSubscriptionPlansQuery__\n *\n * To run a query within a React component, call `useGetSubscriptionPlansQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetSubscriptionPlansQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetSubscriptionPlansQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetSubscriptionPlansQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetSubscriptionPlansQuery, GetSubscriptionPlansQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetSubscriptionPlansQuery, GetSubscriptionPlansQueryVariables>(GetSubscriptionPlansDocument, options);\n }\nexport function useGetSubscriptionPlansLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetSubscriptionPlansQuery, GetSubscriptionPlansQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetSubscriptionPlansQuery, GetSubscriptionPlansQueryVariables>(GetSubscriptionPlansDocument, options);\n }\n// @ts-ignore\nexport function useGetSubscriptionPlansSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetSubscriptionPlansQuery, GetSubscriptionPlansQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetSubscriptionPlansQuery, GetSubscriptionPlansQueryVariables>;\nexport function useGetSubscriptionPlansSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetSubscriptionPlansQuery, GetSubscriptionPlansQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetSubscriptionPlansQuery | undefined, GetSubscriptionPlansQueryVariables>;\nexport function useGetSubscriptionPlansSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetSubscriptionPlansQuery, GetSubscriptionPlansQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetSubscriptionPlansQuery, GetSubscriptionPlansQueryVariables>(GetSubscriptionPlansDocument, options);\n }\nexport type GetSubscriptionPlansQueryHookResult = ReturnType<typeof useGetSubscriptionPlansQuery>;\nexport type GetSubscriptionPlansLazyQueryHookResult = ReturnType<typeof useGetSubscriptionPlansLazyQuery>;\nexport type GetSubscriptionPlansSuspenseQueryHookResult = ReturnType<typeof useGetSubscriptionPlansSuspenseQuery>;\nexport type GetSubscriptionPlansQueryResult = ApolloReactCommon.QueryResult<GetSubscriptionPlansQuery, GetSubscriptionPlansQueryVariables>;\nexport const GetUsersDocument = gql`\n query getUsers {\n users {\n ...UserFields\n }\n}\n ${UserFieldsFragmentDoc}`;\n\n/**\n * __useGetUsersQuery__\n *\n * To run a query within a React component, call `useGetUsersQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetUsersQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetUsersQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetUsersQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetUsersQuery, GetUsersQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetUsersQuery, GetUsersQueryVariables>(GetUsersDocument, options);\n }\nexport function useGetUsersLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetUsersQuery, GetUsersQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetUsersQuery, GetUsersQueryVariables>(GetUsersDocument, options);\n }\n// @ts-ignore\nexport function useGetUsersSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetUsersQuery, GetUsersQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUsersQuery, GetUsersQueryVariables>;\nexport function useGetUsersSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUsersQuery, GetUsersQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUsersQuery | undefined, GetUsersQueryVariables>;\nexport function useGetUsersSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUsersQuery, GetUsersQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetUsersQuery, GetUsersQueryVariables>(GetUsersDocument, options);\n }\nexport type GetUsersQueryHookResult = ReturnType<typeof useGetUsersQuery>;\nexport type GetUsersLazyQueryHookResult = ReturnType<typeof useGetUsersLazyQuery>;\nexport type GetUsersSuspenseQueryHookResult = ReturnType<typeof useGetUsersSuspenseQuery>;\nexport type GetUsersQueryResult = ApolloReactCommon.QueryResult<GetUsersQuery, GetUsersQueryVariables>;\nexport const GetUserDocument = gql`\n query getUser($_id: ID!) {\n user(_id: $_id) {\n ...UserFields\n }\n}\n ${UserFieldsFragmentDoc}`;\n\n/**\n * __useGetUserQuery__\n *\n * To run a query within a React component, call `useGetUserQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetUserQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetUserQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useGetUserQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetUserQuery, GetUserQueryVariables> & ({ variables: GetUserQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetUserQuery, GetUserQueryVariables>(GetUserDocument, options);\n }\nexport function useGetUserLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetUserQuery, GetUserQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetUserQuery, GetUserQueryVariables>(GetUserDocument, options);\n }\n// @ts-ignore\nexport function useGetUserSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetUserQuery, GetUserQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserQuery, GetUserQueryVariables>;\nexport function useGetUserSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserQuery, GetUserQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserQuery | undefined, GetUserQueryVariables>;\nexport function useGetUserSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserQuery, GetUserQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetUserQuery, GetUserQueryVariables>(GetUserDocument, options);\n }\nexport type GetUserQueryHookResult = ReturnType<typeof useGetUserQuery>;\nexport type GetUserLazyQueryHookResult = ReturnType<typeof useGetUserLazyQuery>;\nexport type GetUserSuspenseQueryHookResult = ReturnType<typeof useGetUserSuspenseQuery>;\nexport type GetUserQueryResult = ApolloReactCommon.QueryResult<GetUserQuery, GetUserQueryVariables>;\nexport const GetUserEventsDocument = gql`\n query getUserEvents {\n userEvents {\n ...EventFields\n }\n}\n ${EventFieldsFragmentDoc}`;\n\n/**\n * __useGetUserEventsQuery__\n *\n * To run a query within a React component, call `useGetUserEventsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetUserEventsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetUserEventsQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetUserEventsQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetUserEventsQuery, GetUserEventsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetUserEventsQuery, GetUserEventsQueryVariables>(GetUserEventsDocument, options);\n }\nexport function useGetUserEventsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetUserEventsQuery, GetUserEventsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetUserEventsQuery, GetUserEventsQueryVariables>(GetUserEventsDocument, options);\n }\n// @ts-ignore\nexport function useGetUserEventsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetUserEventsQuery, GetUserEventsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserEventsQuery, GetUserEventsQueryVariables>;\nexport function useGetUserEventsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserEventsQuery, GetUserEventsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserEventsQuery | undefined, GetUserEventsQueryVariables>;\nexport function useGetUserEventsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserEventsQuery, GetUserEventsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetUserEventsQuery, GetUserEventsQueryVariables>(GetUserEventsDocument, options);\n }\nexport type GetUserEventsQueryHookResult = ReturnType<typeof useGetUserEventsQuery>;\nexport type GetUserEventsLazyQueryHookResult = ReturnType<typeof useGetUserEventsLazyQuery>;\nexport type GetUserEventsSuspenseQueryHookResult = ReturnType<typeof useGetUserEventsSuspenseQuery>;\nexport type GetUserEventsQueryResult = ApolloReactCommon.QueryResult<GetUserEventsQuery, GetUserEventsQueryVariables>;\nexport const GetUserVendorsDocument = gql`\n query getUserVendors {\n userVendors {\n ...VendorFields\n }\n}\n ${VendorFieldsFragmentDoc}`;\n\n/**\n * __useGetUserVendorsQuery__\n *\n * To run a query within a React component, call `useGetUserVendorsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetUserVendorsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetUserVendorsQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetUserVendorsQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetUserVendorsQuery, GetUserVendorsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetUserVendorsQuery, GetUserVendorsQueryVariables>(GetUserVendorsDocument, options);\n }\nexport function useGetUserVendorsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetUserVendorsQuery, GetUserVendorsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetUserVendorsQuery, GetUserVendorsQueryVariables>(GetUserVendorsDocument, options);\n }\n// @ts-ignore\nexport function useGetUserVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetUserVendorsQuery, GetUserVendorsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserVendorsQuery, GetUserVendorsQueryVariables>;\nexport function useGetUserVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserVendorsQuery, GetUserVendorsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserVendorsQuery | undefined, GetUserVendorsQueryVariables>;\nexport function useGetUserVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserVendorsQuery, GetUserVendorsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetUserVendorsQuery, GetUserVendorsQueryVariables>(GetUserVendorsDocument, options);\n }\nexport type GetUserVendorsQueryHookResult = ReturnType<typeof useGetUserVendorsQuery>;\nexport type GetUserVendorsLazyQueryHookResult = ReturnType<typeof useGetUserVendorsLazyQuery>;\nexport type GetUserVendorsSuspenseQueryHookResult = ReturnType<typeof useGetUserVendorsSuspenseQuery>;\nexport type GetUserVendorsQueryResult = ApolloReactCommon.QueryResult<GetUserVendorsQuery, GetUserVendorsQueryVariables>;\nexport const GetUserPartnersDocument = gql`\n query getUserPartners {\n userPartners {\n ...PartnerFields\n }\n}\n ${PartnerFieldsFragmentDoc}`;\n\n/**\n * __useGetUserPartnersQuery__\n *\n * To run a query within a React component, call `useGetUserPartnersQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetUserPartnersQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetUserPartnersQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetUserPartnersQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetUserPartnersQuery, GetUserPartnersQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetUserPartnersQuery, GetUserPartnersQueryVariables>(GetUserPartnersDocument, options);\n }\nexport function useGetUserPartnersLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetUserPartnersQuery, GetUserPartnersQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetUserPartnersQuery, GetUserPartnersQueryVariables>(GetUserPartnersDocument, options);\n }\n// @ts-ignore\nexport function useGetUserPartnersSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetUserPartnersQuery, GetUserPartnersQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserPartnersQuery, GetUserPartnersQueryVariables>;\nexport function useGetUserPartnersSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserPartnersQuery, GetUserPartnersQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserPartnersQuery | undefined, GetUserPartnersQueryVariables>;\nexport function useGetUserPartnersSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserPartnersQuery, GetUserPartnersQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetUserPartnersQuery, GetUserPartnersQueryVariables>(GetUserPartnersDocument, options);\n }\nexport type GetUserPartnersQueryHookResult = ReturnType<typeof useGetUserPartnersQuery>;\nexport type GetUserPartnersLazyQueryHookResult = ReturnType<typeof useGetUserPartnersLazyQuery>;\nexport type GetUserPartnersSuspenseQueryHookResult = ReturnType<typeof useGetUserPartnersSuspenseQuery>;\nexport type GetUserPartnersQueryResult = ApolloReactCommon.QueryResult<GetUserPartnersQuery, GetUserPartnersQueryVariables>;\nexport const GetUserActivitiesDocument = gql`\n query getUserActivities {\n userActivities {\n favourites {\n events {\n ...EventListItemFields\n }\n partners {\n ...PartnerFields\n }\n vendors {\n ...VendorFields\n }\n }\n going {\n events {\n ...EventListItemFields\n }\n }\n interested {\n events {\n ...EventListItemFields\n }\n }\n present {\n events {\n ...EventListItemFields\n }\n }\n }\n}\n ${EventListItemFieldsFragmentDoc}\n${PartnerFieldsFragmentDoc}\n${VendorFieldsFragmentDoc}`;\n\n/**\n * __useGetUserActivitiesQuery__\n *\n * To run a query within a React component, call `useGetUserActivitiesQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetUserActivitiesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetUserActivitiesQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetUserActivitiesQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetUserActivitiesQuery, GetUserActivitiesQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetUserActivitiesQuery, GetUserActivitiesQueryVariables>(GetUserActivitiesDocument, options);\n }\nexport function useGetUserActivitiesLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetUserActivitiesQuery, GetUserActivitiesQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetUserActivitiesQuery, GetUserActivitiesQueryVariables>(GetUserActivitiesDocument, options);\n }\n// @ts-ignore\nexport function useGetUserActivitiesSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetUserActivitiesQuery, GetUserActivitiesQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserActivitiesQuery, GetUserActivitiesQueryVariables>;\nexport function useGetUserActivitiesSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserActivitiesQuery, GetUserActivitiesQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserActivitiesQuery | undefined, GetUserActivitiesQueryVariables>;\nexport function useGetUserActivitiesSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserActivitiesQuery, GetUserActivitiesQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetUserActivitiesQuery, GetUserActivitiesQueryVariables>(GetUserActivitiesDocument, options);\n }\nexport type GetUserActivitiesQueryHookResult = ReturnType<typeof useGetUserActivitiesQuery>;\nexport type GetUserActivitiesLazyQueryHookResult = ReturnType<typeof useGetUserActivitiesLazyQuery>;\nexport type GetUserActivitiesSuspenseQueryHookResult = ReturnType<typeof useGetUserActivitiesSuspenseQuery>;\nexport type GetUserActivitiesQueryResult = ApolloReactCommon.QueryResult<GetUserActivitiesQuery, GetUserActivitiesQueryVariables>;\nexport const GetUserResourcesDocument = gql`\n query getUserResources($userId: ID!) {\n userResources(userId: $userId) {\n resources {\n _id\n active\n logo\n name\n resourceType\n }\n }\n}\n `;\n\n/**\n * __useGetUserResourcesQuery__\n *\n * To run a query within a React component, call `useGetUserResourcesQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetUserResourcesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetUserResourcesQuery({\n * variables: {\n * userId: // value for 'userId'\n * },\n * });\n */\nexport function useGetUserResourcesQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetUserResourcesQuery, GetUserResourcesQueryVariables> & ({ variables: GetUserResourcesQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetUserResourcesQuery, GetUserResourcesQueryVariables>(GetUserResourcesDocument, options);\n }\nexport function useGetUserResourcesLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetUserResourcesQuery, GetUserResourcesQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetUserResourcesQuery, GetUserResourcesQueryVariables>(GetUserResourcesDocument, options);\n }\n// @ts-ignore\nexport function useGetUserResourcesSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetUserResourcesQuery, GetUserResourcesQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserResourcesQuery, GetUserResourcesQueryVariables>;\nexport function useGetUserResourcesSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserResourcesQuery, GetUserResourcesQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUserResourcesQuery | undefined, GetUserResourcesQueryVariables>;\nexport function useGetUserResourcesSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUserResourcesQuery, GetUserResourcesQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetUserResourcesQuery, GetUserResourcesQueryVariables>(GetUserResourcesDocument, options);\n }\nexport type GetUserResourcesQueryHookResult = ReturnType<typeof useGetUserResourcesQuery>;\nexport type GetUserResourcesLazyQueryHookResult = ReturnType<typeof useGetUserResourcesLazyQuery>;\nexport type GetUserResourcesSuspenseQueryHookResult = ReturnType<typeof useGetUserResourcesSuspenseQuery>;\nexport type GetUserResourcesQueryResult = ApolloReactCommon.QueryResult<GetUserResourcesQuery, GetUserResourcesQueryVariables>;\nexport const GetVendorsDocument = gql`\n query getVendors {\n vendors {\n ...VendorFields\n }\n}\n ${VendorFieldsFragmentDoc}`;\n\n/**\n * __useGetVendorsQuery__\n *\n * To run a query within a React component, call `useGetVendorsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetVendorsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetVendorsQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetVendorsQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetVendorsQuery, GetVendorsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetVendorsQuery, GetVendorsQueryVariables>(GetVendorsDocument, options);\n }\nexport function useGetVendorsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetVendorsQuery, GetVendorsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetVendorsQuery, GetVendorsQueryVariables>(GetVendorsDocument, options);\n }\n// @ts-ignore\nexport function useGetVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetVendorsQuery, GetVendorsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorsQuery, GetVendorsQueryVariables>;\nexport function useGetVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorsQuery, GetVendorsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorsQuery | undefined, GetVendorsQueryVariables>;\nexport function useGetVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorsQuery, GetVendorsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetVendorsQuery, GetVendorsQueryVariables>(GetVendorsDocument, options);\n }\nexport type GetVendorsQueryHookResult = ReturnType<typeof useGetVendorsQuery>;\nexport type GetVendorsLazyQueryHookResult = ReturnType<typeof useGetVendorsLazyQuery>;\nexport type GetVendorsSuspenseQueryHookResult = ReturnType<typeof useGetVendorsSuspenseQuery>;\nexport type GetVendorsQueryResult = ApolloReactCommon.QueryResult<GetVendorsQuery, GetVendorsQueryVariables>;\nexport const GetVendorDocument = gql`\n query getVendor($_id: ID!) {\n vendor(_id: $_id) {\n ...VendorFields\n }\n}\n ${VendorFieldsFragmentDoc}`;\n\n/**\n * __useGetVendorQuery__\n *\n * To run a query within a React component, call `useGetVendorQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetVendorQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetVendorQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useGetVendorQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetVendorQuery, GetVendorQueryVariables> & ({ variables: GetVendorQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetVendorQuery, GetVendorQueryVariables>(GetVendorDocument, options);\n }\nexport function useGetVendorLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetVendorQuery, GetVendorQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetVendorQuery, GetVendorQueryVariables>(GetVendorDocument, options);\n }\n// @ts-ignore\nexport function useGetVendorSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetVendorQuery, GetVendorQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorQuery, GetVendorQueryVariables>;\nexport function useGetVendorSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorQuery, GetVendorQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorQuery | undefined, GetVendorQueryVariables>;\nexport function useGetVendorSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorQuery, GetVendorQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetVendorQuery, GetVendorQueryVariables>(GetVendorDocument, options);\n }\nexport type GetVendorQueryHookResult = ReturnType<typeof useGetVendorQuery>;\nexport type GetVendorLazyQueryHookResult = ReturnType<typeof useGetVendorLazyQuery>;\nexport type GetVendorSuspenseQueryHookResult = ReturnType<typeof useGetVendorSuspenseQuery>;\nexport type GetVendorQueryResult = ApolloReactCommon.QueryResult<GetVendorQuery, GetVendorQueryVariables>;\nexport const GetVendorsByRegionDocument = gql`\n query getVendorsByRegion($region: String!, $options: ResourcesByRegionOptions) {\n vendorsByRegion(region: $region, options: $options) {\n ...VendorFields\n }\n}\n ${VendorFieldsFragmentDoc}`;\n\n/**\n * __useGetVendorsByRegionQuery__\n *\n * To run a query within a React component, call `useGetVendorsByRegionQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetVendorsByRegionQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetVendorsByRegionQuery({\n * variables: {\n * region: // value for 'region'\n * options: // value for 'options'\n * },\n * });\n */\nexport function useGetVendorsByRegionQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetVendorsByRegionQuery, GetVendorsByRegionQueryVariables> & ({ variables: GetVendorsByRegionQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetVendorsByRegionQuery, GetVendorsByRegionQueryVariables>(GetVendorsByRegionDocument, options);\n }\nexport function useGetVendorsByRegionLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetVendorsByRegionQuery, GetVendorsByRegionQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetVendorsByRegionQuery, GetVendorsByRegionQueryVariables>(GetVendorsByRegionDocument, options);\n }\n// @ts-ignore\nexport function useGetVendorsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetVendorsByRegionQuery, GetVendorsByRegionQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorsByRegionQuery, GetVendorsByRegionQueryVariables>;\nexport function useGetVendorsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorsByRegionQuery, GetVendorsByRegionQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorsByRegionQuery | undefined, GetVendorsByRegionQueryVariables>;\nexport function useGetVendorsByRegionSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorsByRegionQuery, GetVendorsByRegionQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetVendorsByRegionQuery, GetVendorsByRegionQueryVariables>(GetVendorsByRegionDocument, options);\n }\nexport type GetVendorsByRegionQueryHookResult = ReturnType<typeof useGetVendorsByRegionQuery>;\nexport type GetVendorsByRegionLazyQueryHookResult = ReturnType<typeof useGetVendorsByRegionLazyQuery>;\nexport type GetVendorsByRegionSuspenseQueryHookResult = ReturnType<typeof useGetVendorsByRegionSuspenseQuery>;\nexport type GetVendorsByRegionQueryResult = ApolloReactCommon.QueryResult<GetVendorsByRegionQuery, GetVendorsByRegionQueryVariables>;\nexport const SearchVendorsDocument = gql`\n query searchVendors($search: String!, $region: String!) {\n vendorSearch(search: $search, region: $region) {\n ...VendorFields\n }\n}\n ${VendorFieldsFragmentDoc}`;\n\n/**\n * __useSearchVendorsQuery__\n *\n * To run a query within a React component, call `useSearchVendorsQuery` and pass it any options that fit your needs.\n * When your component renders, `useSearchVendorsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useSearchVendorsQuery({\n * variables: {\n * search: // value for 'search'\n * region: // value for 'region'\n * },\n * });\n */\nexport function useSearchVendorsQuery(baseOptions: ApolloReactHooks.QueryHookOptions<SearchVendorsQuery, SearchVendorsQueryVariables> & ({ variables: SearchVendorsQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<SearchVendorsQuery, SearchVendorsQueryVariables>(SearchVendorsDocument, options);\n }\nexport function useSearchVendorsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<SearchVendorsQuery, SearchVendorsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<SearchVendorsQuery, SearchVendorsQueryVariables>(SearchVendorsDocument, options);\n }\n// @ts-ignore\nexport function useSearchVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<SearchVendorsQuery, SearchVendorsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<SearchVendorsQuery, SearchVendorsQueryVariables>;\nexport function useSearchVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<SearchVendorsQuery, SearchVendorsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<SearchVendorsQuery | undefined, SearchVendorsQueryVariables>;\nexport function useSearchVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<SearchVendorsQuery, SearchVendorsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<SearchVendorsQuery, SearchVendorsQueryVariables>(SearchVendorsDocument, options);\n }\nexport type SearchVendorsQueryHookResult = ReturnType<typeof useSearchVendorsQuery>;\nexport type SearchVendorsLazyQueryHookResult = ReturnType<typeof useSearchVendorsLazyQuery>;\nexport type SearchVendorsSuspenseQueryHookResult = ReturnType<typeof useSearchVendorsSuspenseQuery>;\nexport type SearchVendorsQueryResult = ApolloReactCommon.QueryResult<SearchVendorsQuery, SearchVendorsQueryVariables>;\nexport const GetVendorInfoDocument = gql`\n query getVendorInfo($vendorId: ID!) {\n vendorInfo(vendorId: $vendorId) {\n ...VendorInfoFields\n }\n}\n ${VendorInfoFieldsFragmentDoc}`;\n\n/**\n * __useGetVendorInfoQuery__\n *\n * To run a query within a React component, call `useGetVendorInfoQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetVendorInfoQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetVendorInfoQuery({\n * variables: {\n * vendorId: // value for 'vendorId'\n * },\n * });\n */\nexport function useGetVendorInfoQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetVendorInfoQuery, GetVendorInfoQueryVariables> & ({ variables: GetVendorInfoQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetVendorInfoQuery, GetVendorInfoQueryVariables>(GetVendorInfoDocument, options);\n }\nexport function useGetVendorInfoLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetVendorInfoQuery, GetVendorInfoQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetVendorInfoQuery, GetVendorInfoQueryVariables>(GetVendorInfoDocument, options);\n }\n// @ts-ignore\nexport function useGetVendorInfoSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetVendorInfoQuery, GetVendorInfoQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorInfoQuery, GetVendorInfoQueryVariables>;\nexport function useGetVendorInfoSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorInfoQuery, GetVendorInfoQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetVendorInfoQuery | undefined, GetVendorInfoQueryVariables>;\nexport function useGetVendorInfoSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetVendorInfoQuery, GetVendorInfoQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetVendorInfoQuery, GetVendorInfoQueryVariables>(GetVendorInfoDocument, options);\n }\nexport type GetVendorInfoQueryHookResult = ReturnType<typeof useGetVendorInfoQuery>;\nexport type GetVendorInfoLazyQueryHookResult = ReturnType<typeof useGetVendorInfoLazyQuery>;\nexport type GetVendorInfoSuspenseQueryHookResult = ReturnType<typeof useGetVendorInfoSuspenseQuery>;\nexport type GetVendorInfoQueryResult = ApolloReactCommon.QueryResult<GetVendorInfoQuery, GetVendorInfoQueryVariables>;\nexport const GetUnregisteredVendorsDocument = gql`\n query getUnregisteredVendors {\n unregisteredVendors {\n ...UnregisteredVendorFields\n }\n}\n ${UnregisteredVendorFieldsFragmentDoc}`;\n\n/**\n * __useGetUnregisteredVendorsQuery__\n *\n * To run a query within a React component, call `useGetUnregisteredVendorsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetUnregisteredVendorsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetUnregisteredVendorsQuery({\n * variables: {\n * },\n * });\n */\nexport function useGetUnregisteredVendorsQuery(baseOptions?: ApolloReactHooks.QueryHookOptions<GetUnregisteredVendorsQuery, GetUnregisteredVendorsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetUnregisteredVendorsQuery, GetUnregisteredVendorsQueryVariables>(GetUnregisteredVendorsDocument, options);\n }\nexport function useGetUnregisteredVendorsLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetUnregisteredVendorsQuery, GetUnregisteredVendorsQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetUnregisteredVendorsQuery, GetUnregisteredVendorsQueryVariables>(GetUnregisteredVendorsDocument, options);\n }\n// @ts-ignore\nexport function useGetUnregisteredVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetUnregisteredVendorsQuery, GetUnregisteredVendorsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUnregisteredVendorsQuery, GetUnregisteredVendorsQueryVariables>;\nexport function useGetUnregisteredVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUnregisteredVendorsQuery, GetUnregisteredVendorsQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUnregisteredVendorsQuery | undefined, GetUnregisteredVendorsQueryVariables>;\nexport function useGetUnregisteredVendorsSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUnregisteredVendorsQuery, GetUnregisteredVendorsQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetUnregisteredVendorsQuery, GetUnregisteredVendorsQueryVariables>(GetUnregisteredVendorsDocument, options);\n }\nexport type GetUnregisteredVendorsQueryHookResult = ReturnType<typeof useGetUnregisteredVendorsQuery>;\nexport type GetUnregisteredVendorsLazyQueryHookResult = ReturnType<typeof useGetUnregisteredVendorsLazyQuery>;\nexport type GetUnregisteredVendorsSuspenseQueryHookResult = ReturnType<typeof useGetUnregisteredVendorsSuspenseQuery>;\nexport type GetUnregisteredVendorsQueryResult = ApolloReactCommon.QueryResult<GetUnregisteredVendorsQuery, GetUnregisteredVendorsQueryVariables>;\nexport const GetUnregisteredVendorsByInviterIdDocument = gql`\n query getUnregisteredVendorsByInviterId($inviterId: ID!) {\n unregisteredVendorsByInviterId(inviterId: $inviterId) {\n ...UnregisteredVendorFields\n }\n}\n ${UnregisteredVendorFieldsFragmentDoc}`;\n\n/**\n * __useGetUnregisteredVendorsByInviterIdQuery__\n *\n * To run a query within a React component, call `useGetUnregisteredVendorsByInviterIdQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetUnregisteredVendorsByInviterIdQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetUnregisteredVendorsByInviterIdQuery({\n * variables: {\n * inviterId: // value for 'inviterId'\n * },\n * });\n */\nexport function useGetUnregisteredVendorsByInviterIdQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetUnregisteredVendorsByInviterIdQuery, GetUnregisteredVendorsByInviterIdQueryVariables> & ({ variables: GetUnregisteredVendorsByInviterIdQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetUnregisteredVendorsByInviterIdQuery, GetUnregisteredVendorsByInviterIdQueryVariables>(GetUnregisteredVendorsByInviterIdDocument, options);\n }\nexport function useGetUnregisteredVendorsByInviterIdLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetUnregisteredVendorsByInviterIdQuery, GetUnregisteredVendorsByInviterIdQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetUnregisteredVendorsByInviterIdQuery, GetUnregisteredVendorsByInviterIdQueryVariables>(GetUnregisteredVendorsByInviterIdDocument, options);\n }\n// @ts-ignore\nexport function useGetUnregisteredVendorsByInviterIdSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetUnregisteredVendorsByInviterIdQuery, GetUnregisteredVendorsByInviterIdQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUnregisteredVendorsByInviterIdQuery, GetUnregisteredVendorsByInviterIdQueryVariables>;\nexport function useGetUnregisteredVendorsByInviterIdSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUnregisteredVendorsByInviterIdQuery, GetUnregisteredVendorsByInviterIdQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUnregisteredVendorsByInviterIdQuery | undefined, GetUnregisteredVendorsByInviterIdQueryVariables>;\nexport function useGetUnregisteredVendorsByInviterIdSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUnregisteredVendorsByInviterIdQuery, GetUnregisteredVendorsByInviterIdQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetUnregisteredVendorsByInviterIdQuery, GetUnregisteredVendorsByInviterIdQueryVariables>(GetUnregisteredVendorsByInviterIdDocument, options);\n }\nexport type GetUnregisteredVendorsByInviterIdQueryHookResult = ReturnType<typeof useGetUnregisteredVendorsByInviterIdQuery>;\nexport type GetUnregisteredVendorsByInviterIdLazyQueryHookResult = ReturnType<typeof useGetUnregisteredVendorsByInviterIdLazyQuery>;\nexport type GetUnregisteredVendorsByInviterIdSuspenseQueryHookResult = ReturnType<typeof useGetUnregisteredVendorsByInviterIdSuspenseQuery>;\nexport type GetUnregisteredVendorsByInviterIdQueryResult = ApolloReactCommon.QueryResult<GetUnregisteredVendorsByInviterIdQuery, GetUnregisteredVendorsByInviterIdQueryVariables>;\nexport const GetUnregisteredVendorDocument = gql`\n query getUnregisteredVendor($_id: ID!) {\n unregisteredVendor(_id: $_id) {\n ...UnregisteredVendorFields\n }\n}\n ${UnregisteredVendorFieldsFragmentDoc}`;\n\n/**\n * __useGetUnregisteredVendorQuery__\n *\n * To run a query within a React component, call `useGetUnregisteredVendorQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetUnregisteredVendorQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetUnregisteredVendorQuery({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useGetUnregisteredVendorQuery(baseOptions: ApolloReactHooks.QueryHookOptions<GetUnregisteredVendorQuery, GetUnregisteredVendorQueryVariables> & ({ variables: GetUnregisteredVendorQueryVariables; skip?: boolean; } | { skip: boolean; }) ) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useQuery<GetUnregisteredVendorQuery, GetUnregisteredVendorQueryVariables>(GetUnregisteredVendorDocument, options);\n }\nexport function useGetUnregisteredVendorLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions<GetUnregisteredVendorQuery, GetUnregisteredVendorQueryVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useLazyQuery<GetUnregisteredVendorQuery, GetUnregisteredVendorQueryVariables>(GetUnregisteredVendorDocument, options);\n }\n// @ts-ignore\nexport function useGetUnregisteredVendorSuspenseQuery(baseOptions?: ApolloReactHooks.SuspenseQueryHookOptions<GetUnregisteredVendorQuery, GetUnregisteredVendorQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUnregisteredVendorQuery, GetUnregisteredVendorQueryVariables>;\nexport function useGetUnregisteredVendorSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUnregisteredVendorQuery, GetUnregisteredVendorQueryVariables>): ApolloReactHooks.UseSuspenseQueryResult<GetUnregisteredVendorQuery | undefined, GetUnregisteredVendorQueryVariables>;\nexport function useGetUnregisteredVendorSuspenseQuery(baseOptions?: ApolloReactHooks.SkipToken | ApolloReactHooks.SuspenseQueryHookOptions<GetUnregisteredVendorQuery, GetUnregisteredVendorQueryVariables>) {\n const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSuspenseQuery<GetUnregisteredVendorQuery, GetUnregisteredVendorQueryVariables>(GetUnregisteredVendorDocument, options);\n }\nexport type GetUnregisteredVendorQueryHookResult = ReturnType<typeof useGetUnregisteredVendorQuery>;\nexport type GetUnregisteredVendorLazyQueryHookResult = ReturnType<typeof useGetUnregisteredVendorLazyQuery>;\nexport type GetUnregisteredVendorSuspenseQueryHookResult = ReturnType<typeof useGetUnregisteredVendorSuspenseQuery>;\nexport type GetUnregisteredVendorQueryResult = ApolloReactCommon.QueryResult<GetUnregisteredVendorQuery, GetUnregisteredVendorQueryVariables>;\nexport const CreateRelationDocument = gql`\n mutation createRelation($input: RelationInputType!) {\n createRelation(input: $input) {\n data {\n ...RelationFields\n }\n message\n }\n}\n ${RelationFieldsFragmentDoc}`;\nexport type CreateRelationMutationFn = ApolloReactCommon.MutationFunction<CreateRelationMutation, CreateRelationMutationVariables>;\n\n/**\n * __useCreateRelationMutation__\n *\n * To run a mutation, you first call `useCreateRelationMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateRelationMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createRelationMutation, { data, loading, error }] = useCreateRelationMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateRelationMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateRelationMutation, CreateRelationMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateRelationMutation, CreateRelationMutationVariables>(CreateRelationDocument, options);\n }\nexport type CreateRelationMutationHookResult = ReturnType<typeof useCreateRelationMutation>;\nexport type CreateRelationMutationResult = ApolloReactCommon.MutationResult<CreateRelationMutation>;\nexport type CreateRelationMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateRelationMutation, CreateRelationMutationVariables>;\nexport const UpdateRelationDocument = gql`\n mutation updateRelation($_id: ID!, $input: RelationInputType!) {\n updateRelation(_id: $_id, input: $input) {\n data {\n ...RelationFields\n }\n message\n }\n}\n ${RelationFieldsFragmentDoc}`;\nexport type UpdateRelationMutationFn = ApolloReactCommon.MutationFunction<UpdateRelationMutation, UpdateRelationMutationVariables>;\n\n/**\n * __useUpdateRelationMutation__\n *\n * To run a mutation, you first call `useUpdateRelationMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateRelationMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateRelationMutation, { data, loading, error }] = useUpdateRelationMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateRelationMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateRelationMutation, UpdateRelationMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateRelationMutation, UpdateRelationMutationVariables>(UpdateRelationDocument, options);\n }\nexport type UpdateRelationMutationHookResult = ReturnType<typeof useUpdateRelationMutation>;\nexport type UpdateRelationMutationResult = ApolloReactCommon.MutationResult<UpdateRelationMutation>;\nexport type UpdateRelationMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateRelationMutation, UpdateRelationMutationVariables>;\nexport const DeleteRelationDocument = gql`\n mutation deleteRelation($_id: ID!) {\n deleteRelation(_id: $_id) {\n data {\n ...RelationFields\n }\n message\n }\n}\n ${RelationFieldsFragmentDoc}`;\nexport type DeleteRelationMutationFn = ApolloReactCommon.MutationFunction<DeleteRelationMutation, DeleteRelationMutationVariables>;\n\n/**\n * __useDeleteRelationMutation__\n *\n * To run a mutation, you first call `useDeleteRelationMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteRelationMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteRelationMutation, { data, loading, error }] = useDeleteRelationMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useDeleteRelationMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeleteRelationMutation, DeleteRelationMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeleteRelationMutation, DeleteRelationMutationVariables>(DeleteRelationDocument, options);\n }\nexport type DeleteRelationMutationHookResult = ReturnType<typeof useDeleteRelationMutation>;\nexport type DeleteRelationMutationResult = ApolloReactCommon.MutationResult<DeleteRelationMutation>;\nexport type DeleteRelationMutationOptions = ApolloReactCommon.BaseMutationOptions<DeleteRelationMutation, DeleteRelationMutationVariables>;\nexport const CreateResourceActivityDocument = gql`\n mutation createResourceActivity($input: ResourceActivityInputType!) {\n createResourceActivity(input: $input) {\n data\n message\n }\n}\n `;\nexport type CreateResourceActivityMutationFn = ApolloReactCommon.MutationFunction<CreateResourceActivityMutation, CreateResourceActivityMutationVariables>;\n\n/**\n * __useCreateResourceActivityMutation__\n *\n * To run a mutation, you first call `useCreateResourceActivityMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateResourceActivityMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createResourceActivityMutation, { data, loading, error }] = useCreateResourceActivityMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateResourceActivityMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateResourceActivityMutation, CreateResourceActivityMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateResourceActivityMutation, CreateResourceActivityMutationVariables>(CreateResourceActivityDocument, options);\n }\nexport type CreateResourceActivityMutationHookResult = ReturnType<typeof useCreateResourceActivityMutation>;\nexport type CreateResourceActivityMutationResult = ApolloReactCommon.MutationResult<CreateResourceActivityMutation>;\nexport type CreateResourceActivityMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateResourceActivityMutation, CreateResourceActivityMutationVariables>;\nexport const CreateSchoolDocument = gql`\n mutation createSchool($input: SchoolInputType!) {\n createSchool(input: $input) {\n data {\n ...SchoolFields\n }\n message\n }\n}\n ${SchoolFieldsFragmentDoc}`;\nexport type CreateSchoolMutationFn = ApolloReactCommon.MutationFunction<CreateSchoolMutation, CreateSchoolMutationVariables>;\n\n/**\n * __useCreateSchoolMutation__\n *\n * To run a mutation, you first call `useCreateSchoolMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateSchoolMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createSchoolMutation, { data, loading, error }] = useCreateSchoolMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateSchoolMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateSchoolMutation, CreateSchoolMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateSchoolMutation, CreateSchoolMutationVariables>(CreateSchoolDocument, options);\n }\nexport type CreateSchoolMutationHookResult = ReturnType<typeof useCreateSchoolMutation>;\nexport type CreateSchoolMutationResult = ApolloReactCommon.MutationResult<CreateSchoolMutation>;\nexport type CreateSchoolMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateSchoolMutation, CreateSchoolMutationVariables>;\nexport const UpdateSchoolDocument = gql`\n mutation updateSchool($_id: ID!, $input: SchoolInputType!) {\n updateSchool(_id: $_id, input: $input) {\n data {\n ...SchoolFields\n }\n message\n }\n}\n ${SchoolFieldsFragmentDoc}`;\nexport type UpdateSchoolMutationFn = ApolloReactCommon.MutationFunction<UpdateSchoolMutation, UpdateSchoolMutationVariables>;\n\n/**\n * __useUpdateSchoolMutation__\n *\n * To run a mutation, you first call `useUpdateSchoolMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateSchoolMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateSchoolMutation, { data, loading, error }] = useUpdateSchoolMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateSchoolMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateSchoolMutation, UpdateSchoolMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateSchoolMutation, UpdateSchoolMutationVariables>(UpdateSchoolDocument, options);\n }\nexport type UpdateSchoolMutationHookResult = ReturnType<typeof useUpdateSchoolMutation>;\nexport type UpdateSchoolMutationResult = ApolloReactCommon.MutationResult<UpdateSchoolMutation>;\nexport type UpdateSchoolMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateSchoolMutation, UpdateSchoolMutationVariables>;\nexport const DeleteSchoolDocument = gql`\n mutation deleteSchool($_id: ID!) {\n deleteSchool(_id: $_id) {\n data\n message\n }\n}\n `;\nexport type DeleteSchoolMutationFn = ApolloReactCommon.MutationFunction<DeleteSchoolMutation, DeleteSchoolMutationVariables>;\n\n/**\n * __useDeleteSchoolMutation__\n *\n * To run a mutation, you first call `useDeleteSchoolMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteSchoolMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteSchoolMutation, { data, loading, error }] = useDeleteSchoolMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useDeleteSchoolMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeleteSchoolMutation, DeleteSchoolMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeleteSchoolMutation, DeleteSchoolMutationVariables>(DeleteSchoolDocument, options);\n }\nexport type DeleteSchoolMutationHookResult = ReturnType<typeof useDeleteSchoolMutation>;\nexport type DeleteSchoolMutationResult = ApolloReactCommon.MutationResult<DeleteSchoolMutation>;\nexport type DeleteSchoolMutationOptions = ApolloReactCommon.BaseMutationOptions<DeleteSchoolMutation, DeleteSchoolMutationVariables>;\nexport const RequestMarketingMaterialDocument = gql`\n mutation requestMarketingMaterial($input: MarketingMaterialRequestInputType!) {\n requestMarketingMaterial(input: $input) {\n data\n message\n }\n}\n `;\nexport type RequestMarketingMaterialMutationFn = ApolloReactCommon.MutationFunction<RequestMarketingMaterialMutation, RequestMarketingMaterialMutationVariables>;\n\n/**\n * __useRequestMarketingMaterialMutation__\n *\n * To run a mutation, you first call `useRequestMarketingMaterialMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRequestMarketingMaterialMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [requestMarketingMaterialMutation, { data, loading, error }] = useRequestMarketingMaterialMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRequestMarketingMaterialMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<RequestMarketingMaterialMutation, RequestMarketingMaterialMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<RequestMarketingMaterialMutation, RequestMarketingMaterialMutationVariables>(RequestMarketingMaterialDocument, options);\n }\nexport type RequestMarketingMaterialMutationHookResult = ReturnType<typeof useRequestMarketingMaterialMutation>;\nexport type RequestMarketingMaterialMutationResult = ApolloReactCommon.MutationResult<RequestMarketingMaterialMutation>;\nexport type RequestMarketingMaterialMutationOptions = ApolloReactCommon.BaseMutationOptions<RequestMarketingMaterialMutation, RequestMarketingMaterialMutationVariables>;\nexport const CreateCheckoutSessionDocument = gql`\n mutation createCheckoutSession($planId: LicencesEnumType!, $billingPeriod: BillingPeriodEnumType) {\n createCheckoutSession(planId: $planId, billingPeriod: $billingPeriod) {\n data {\n sessionId\n checkoutUrl\n }\n message\n }\n}\n `;\nexport type CreateCheckoutSessionMutationFn = ApolloReactCommon.MutationFunction<CreateCheckoutSessionMutation, CreateCheckoutSessionMutationVariables>;\n\n/**\n * __useCreateCheckoutSessionMutation__\n *\n * To run a mutation, you first call `useCreateCheckoutSessionMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateCheckoutSessionMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createCheckoutSessionMutation, { data, loading, error }] = useCreateCheckoutSessionMutation({\n * variables: {\n * planId: // value for 'planId'\n * billingPeriod: // value for 'billingPeriod'\n * },\n * });\n */\nexport function useCreateCheckoutSessionMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateCheckoutSessionMutation, CreateCheckoutSessionMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateCheckoutSessionMutation, CreateCheckoutSessionMutationVariables>(CreateCheckoutSessionDocument, options);\n }\nexport type CreateCheckoutSessionMutationHookResult = ReturnType<typeof useCreateCheckoutSessionMutation>;\nexport type CreateCheckoutSessionMutationResult = ApolloReactCommon.MutationResult<CreateCheckoutSessionMutation>;\nexport type CreateCheckoutSessionMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateCheckoutSessionMutation, CreateCheckoutSessionMutationVariables>;\nexport const CancelSubscriptionDocument = gql`\n mutation cancelSubscription {\n cancelSubscription {\n data\n message\n }\n}\n `;\nexport type CancelSubscriptionMutationFn = ApolloReactCommon.MutationFunction<CancelSubscriptionMutation, CancelSubscriptionMutationVariables>;\n\n/**\n * __useCancelSubscriptionMutation__\n *\n * To run a mutation, you first call `useCancelSubscriptionMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCancelSubscriptionMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [cancelSubscriptionMutation, { data, loading, error }] = useCancelSubscriptionMutation({\n * variables: {\n * },\n * });\n */\nexport function useCancelSubscriptionMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CancelSubscriptionMutation, CancelSubscriptionMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CancelSubscriptionMutation, CancelSubscriptionMutationVariables>(CancelSubscriptionDocument, options);\n }\nexport type CancelSubscriptionMutationHookResult = ReturnType<typeof useCancelSubscriptionMutation>;\nexport type CancelSubscriptionMutationResult = ApolloReactCommon.MutationResult<CancelSubscriptionMutation>;\nexport type CancelSubscriptionMutationOptions = ApolloReactCommon.BaseMutationOptions<CancelSubscriptionMutation, CancelSubscriptionMutationVariables>;\nexport const UpdateSubscriptionPlanDocument = gql`\n mutation updateSubscriptionPlan($newPlanId: LicencesEnumType!, $billingPeriod: BillingPeriodEnumType) {\n updateSubscriptionPlan(newPlanId: $newPlanId, billingPeriod: $billingPeriod) {\n data {\n subscriptionId\n status\n priceId\n currentPlan\n }\n message\n }\n}\n `;\nexport type UpdateSubscriptionPlanMutationFn = ApolloReactCommon.MutationFunction<UpdateSubscriptionPlanMutation, UpdateSubscriptionPlanMutationVariables>;\n\n/**\n * __useUpdateSubscriptionPlanMutation__\n *\n * To run a mutation, you first call `useUpdateSubscriptionPlanMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateSubscriptionPlanMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateSubscriptionPlanMutation, { data, loading, error }] = useUpdateSubscriptionPlanMutation({\n * variables: {\n * newPlanId: // value for 'newPlanId'\n * billingPeriod: // value for 'billingPeriod'\n * },\n * });\n */\nexport function useUpdateSubscriptionPlanMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateSubscriptionPlanMutation, UpdateSubscriptionPlanMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateSubscriptionPlanMutation, UpdateSubscriptionPlanMutationVariables>(UpdateSubscriptionPlanDocument, options);\n }\nexport type UpdateSubscriptionPlanMutationHookResult = ReturnType<typeof useUpdateSubscriptionPlanMutation>;\nexport type UpdateSubscriptionPlanMutationResult = ApolloReactCommon.MutationResult<UpdateSubscriptionPlanMutation>;\nexport type UpdateSubscriptionPlanMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateSubscriptionPlanMutation, UpdateSubscriptionPlanMutationVariables>;\nexport const CreateCustomerPortalDocument = gql`\n mutation createCustomerPortal($returnUrl: String) {\n createCustomerPortal(returnUrl: $returnUrl) {\n data {\n portalUrl\n }\n message\n }\n}\n `;\nexport type CreateCustomerPortalMutationFn = ApolloReactCommon.MutationFunction<CreateCustomerPortalMutation, CreateCustomerPortalMutationVariables>;\n\n/**\n * __useCreateCustomerPortalMutation__\n *\n * To run a mutation, you first call `useCreateCustomerPortalMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateCustomerPortalMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createCustomerPortalMutation, { data, loading, error }] = useCreateCustomerPortalMutation({\n * variables: {\n * returnUrl: // value for 'returnUrl'\n * },\n * });\n */\nexport function useCreateCustomerPortalMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateCustomerPortalMutation, CreateCustomerPortalMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateCustomerPortalMutation, CreateCustomerPortalMutationVariables>(CreateCustomerPortalDocument, options);\n }\nexport type CreateCustomerPortalMutationHookResult = ReturnType<typeof useCreateCustomerPortalMutation>;\nexport type CreateCustomerPortalMutationResult = ApolloReactCommon.MutationResult<CreateCustomerPortalMutation>;\nexport type CreateCustomerPortalMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateCustomerPortalMutation, CreateCustomerPortalMutationVariables>;\nexport const UpdateUserDocument = gql`\n mutation updateUser($_id: ID!, $input: UserInputType!) {\n updateUser(_id: $_id, input: $input) {\n data {\n ...UserFields\n }\n message\n }\n}\n ${UserFieldsFragmentDoc}`;\nexport type UpdateUserMutationFn = ApolloReactCommon.MutationFunction<UpdateUserMutation, UpdateUserMutationVariables>;\n\n/**\n * __useUpdateUserMutation__\n *\n * To run a mutation, you first call `useUpdateUserMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateUserMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateUserMutation, { data, loading, error }] = useUpdateUserMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateUserMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateUserMutation, UpdateUserMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateUserMutation, UpdateUserMutationVariables>(UpdateUserDocument, options);\n }\nexport type UpdateUserMutationHookResult = ReturnType<typeof useUpdateUserMutation>;\nexport type UpdateUserMutationResult = ApolloReactCommon.MutationResult<UpdateUserMutation>;\nexport type UpdateUserMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateUserMutation, UpdateUserMutationVariables>;\nexport const DeleteUserDocument = gql`\n mutation deleteUser($email: String!) {\n deleteUser(email: $email) {\n data\n message\n }\n}\n `;\nexport type DeleteUserMutationFn = ApolloReactCommon.MutationFunction<DeleteUserMutation, DeleteUserMutationVariables>;\n\n/**\n * __useDeleteUserMutation__\n *\n * To run a mutation, you first call `useDeleteUserMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteUserMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteUserMutation, { data, loading, error }] = useDeleteUserMutation({\n * variables: {\n * email: // value for 'email'\n * },\n * });\n */\nexport function useDeleteUserMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeleteUserMutation, DeleteUserMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeleteUserMutation, DeleteUserMutationVariables>(DeleteUserDocument, options);\n }\nexport type DeleteUserMutationHookResult = ReturnType<typeof useDeleteUserMutation>;\nexport type DeleteUserMutationResult = ApolloReactCommon.MutationResult<DeleteUserMutation>;\nexport type DeleteUserMutationOptions = ApolloReactCommon.BaseMutationOptions<DeleteUserMutation, DeleteUserMutationVariables>;\nexport const RedeemRewardDocument = gql`\n mutation redeemReward($input: RedeemRewardInputType!) {\n redeemReward(input: $input) {\n data {\n userId\n }\n message\n }\n}\n `;\nexport type RedeemRewardMutationFn = ApolloReactCommon.MutationFunction<RedeemRewardMutation, RedeemRewardMutationVariables>;\n\n/**\n * __useRedeemRewardMutation__\n *\n * To run a mutation, you first call `useRedeemRewardMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRedeemRewardMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [redeemRewardMutation, { data, loading, error }] = useRedeemRewardMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRedeemRewardMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<RedeemRewardMutation, RedeemRewardMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<RedeemRewardMutation, RedeemRewardMutationVariables>(RedeemRewardDocument, options);\n }\nexport type RedeemRewardMutationHookResult = ReturnType<typeof useRedeemRewardMutation>;\nexport type RedeemRewardMutationResult = ApolloReactCommon.MutationResult<RedeemRewardMutation>;\nexport type RedeemRewardMutationOptions = ApolloReactCommon.BaseMutationOptions<RedeemRewardMutation, RedeemRewardMutationVariables>;\nexport const AddUserFavouriteResourceDocument = gql`\n mutation addUserFavouriteResource($resourceId: ID!, $resourceType: ResourceTypeEnum!) {\n addUserFavouriteResource(resourceId: $resourceId, resourceType: $resourceType) {\n data {\n ...UserFields\n }\n message\n }\n}\n ${UserFieldsFragmentDoc}`;\nexport type AddUserFavouriteResourceMutationFn = ApolloReactCommon.MutationFunction<AddUserFavouriteResourceMutation, AddUserFavouriteResourceMutationVariables>;\n\n/**\n * __useAddUserFavouriteResourceMutation__\n *\n * To run a mutation, you first call `useAddUserFavouriteResourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAddUserFavouriteResourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [addUserFavouriteResourceMutation, { data, loading, error }] = useAddUserFavouriteResourceMutation({\n * variables: {\n * resourceId: // value for 'resourceId'\n * resourceType: // value for 'resourceType'\n * },\n * });\n */\nexport function useAddUserFavouriteResourceMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<AddUserFavouriteResourceMutation, AddUserFavouriteResourceMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<AddUserFavouriteResourceMutation, AddUserFavouriteResourceMutationVariables>(AddUserFavouriteResourceDocument, options);\n }\nexport type AddUserFavouriteResourceMutationHookResult = ReturnType<typeof useAddUserFavouriteResourceMutation>;\nexport type AddUserFavouriteResourceMutationResult = ApolloReactCommon.MutationResult<AddUserFavouriteResourceMutation>;\nexport type AddUserFavouriteResourceMutationOptions = ApolloReactCommon.BaseMutationOptions<AddUserFavouriteResourceMutation, AddUserFavouriteResourceMutationVariables>;\nexport const RemoveUserFavouriteResourceDocument = gql`\n mutation removeUserFavouriteResource($resourceId: ID!, $resourceType: ResourceTypeEnum!) {\n removeUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n data {\n ...UserFields\n }\n message\n }\n}\n ${UserFieldsFragmentDoc}`;\nexport type RemoveUserFavouriteResourceMutationFn = ApolloReactCommon.MutationFunction<RemoveUserFavouriteResourceMutation, RemoveUserFavouriteResourceMutationVariables>;\n\n/**\n * __useRemoveUserFavouriteResourceMutation__\n *\n * To run a mutation, you first call `useRemoveUserFavouriteResourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRemoveUserFavouriteResourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [removeUserFavouriteResourceMutation, { data, loading, error }] = useRemoveUserFavouriteResourceMutation({\n * variables: {\n * resourceId: // value for 'resourceId'\n * resourceType: // value for 'resourceType'\n * },\n * });\n */\nexport function useRemoveUserFavouriteResourceMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<RemoveUserFavouriteResourceMutation, RemoveUserFavouriteResourceMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<RemoveUserFavouriteResourceMutation, RemoveUserFavouriteResourceMutationVariables>(RemoveUserFavouriteResourceDocument, options);\n }\nexport type RemoveUserFavouriteResourceMutationHookResult = ReturnType<typeof useRemoveUserFavouriteResourceMutation>;\nexport type RemoveUserFavouriteResourceMutationResult = ApolloReactCommon.MutationResult<RemoveUserFavouriteResourceMutation>;\nexport type RemoveUserFavouriteResourceMutationOptions = ApolloReactCommon.BaseMutationOptions<RemoveUserFavouriteResourceMutation, RemoveUserFavouriteResourceMutationVariables>;\nexport const AddUserInterestResourceDocument = gql`\n mutation addUserInterestResource($input: UserActivityInputType!) {\n addUserInterestResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n}\n ${UserFieldsFragmentDoc}`;\nexport type AddUserInterestResourceMutationFn = ApolloReactCommon.MutationFunction<AddUserInterestResourceMutation, AddUserInterestResourceMutationVariables>;\n\n/**\n * __useAddUserInterestResourceMutation__\n *\n * To run a mutation, you first call `useAddUserInterestResourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAddUserInterestResourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [addUserInterestResourceMutation, { data, loading, error }] = useAddUserInterestResourceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAddUserInterestResourceMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<AddUserInterestResourceMutation, AddUserInterestResourceMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<AddUserInterestResourceMutation, AddUserInterestResourceMutationVariables>(AddUserInterestResourceDocument, options);\n }\nexport type AddUserInterestResourceMutationHookResult = ReturnType<typeof useAddUserInterestResourceMutation>;\nexport type AddUserInterestResourceMutationResult = ApolloReactCommon.MutationResult<AddUserInterestResourceMutation>;\nexport type AddUserInterestResourceMutationOptions = ApolloReactCommon.BaseMutationOptions<AddUserInterestResourceMutation, AddUserInterestResourceMutationVariables>;\nexport const RemoveUserInterestResourceDocument = gql`\n mutation removeUserInterestResource($input: UserActivityInputType!) {\n removeUserInterestResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n}\n ${UserFieldsFragmentDoc}`;\nexport type RemoveUserInterestResourceMutationFn = ApolloReactCommon.MutationFunction<RemoveUserInterestResourceMutation, RemoveUserInterestResourceMutationVariables>;\n\n/**\n * __useRemoveUserInterestResourceMutation__\n *\n * To run a mutation, you first call `useRemoveUserInterestResourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRemoveUserInterestResourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [removeUserInterestResourceMutation, { data, loading, error }] = useRemoveUserInterestResourceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRemoveUserInterestResourceMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<RemoveUserInterestResourceMutation, RemoveUserInterestResourceMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<RemoveUserInterestResourceMutation, RemoveUserInterestResourceMutationVariables>(RemoveUserInterestResourceDocument, options);\n }\nexport type RemoveUserInterestResourceMutationHookResult = ReturnType<typeof useRemoveUserInterestResourceMutation>;\nexport type RemoveUserInterestResourceMutationResult = ApolloReactCommon.MutationResult<RemoveUserInterestResourceMutation>;\nexport type RemoveUserInterestResourceMutationOptions = ApolloReactCommon.BaseMutationOptions<RemoveUserInterestResourceMutation, RemoveUserInterestResourceMutationVariables>;\nexport const AddUserGoingResourceDocument = gql`\n mutation addUserGoingResource($input: UserActivityInputType!) {\n addUserGoingResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n}\n ${UserFieldsFragmentDoc}`;\nexport type AddUserGoingResourceMutationFn = ApolloReactCommon.MutationFunction<AddUserGoingResourceMutation, AddUserGoingResourceMutationVariables>;\n\n/**\n * __useAddUserGoingResourceMutation__\n *\n * To run a mutation, you first call `useAddUserGoingResourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAddUserGoingResourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [addUserGoingResourceMutation, { data, loading, error }] = useAddUserGoingResourceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAddUserGoingResourceMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<AddUserGoingResourceMutation, AddUserGoingResourceMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<AddUserGoingResourceMutation, AddUserGoingResourceMutationVariables>(AddUserGoingResourceDocument, options);\n }\nexport type AddUserGoingResourceMutationHookResult = ReturnType<typeof useAddUserGoingResourceMutation>;\nexport type AddUserGoingResourceMutationResult = ApolloReactCommon.MutationResult<AddUserGoingResourceMutation>;\nexport type AddUserGoingResourceMutationOptions = ApolloReactCommon.BaseMutationOptions<AddUserGoingResourceMutation, AddUserGoingResourceMutationVariables>;\nexport const RemoveUserGoingResourceDocument = gql`\n mutation removeUserGoingResource($input: UserActivityInputType!) {\n removeUserGoingResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n}\n ${UserFieldsFragmentDoc}`;\nexport type RemoveUserGoingResourceMutationFn = ApolloReactCommon.MutationFunction<RemoveUserGoingResourceMutation, RemoveUserGoingResourceMutationVariables>;\n\n/**\n * __useRemoveUserGoingResourceMutation__\n *\n * To run a mutation, you first call `useRemoveUserGoingResourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRemoveUserGoingResourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [removeUserGoingResourceMutation, { data, loading, error }] = useRemoveUserGoingResourceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRemoveUserGoingResourceMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<RemoveUserGoingResourceMutation, RemoveUserGoingResourceMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<RemoveUserGoingResourceMutation, RemoveUserGoingResourceMutationVariables>(RemoveUserGoingResourceDocument, options);\n }\nexport type RemoveUserGoingResourceMutationHookResult = ReturnType<typeof useRemoveUserGoingResourceMutation>;\nexport type RemoveUserGoingResourceMutationResult = ApolloReactCommon.MutationResult<RemoveUserGoingResourceMutation>;\nexport type RemoveUserGoingResourceMutationOptions = ApolloReactCommon.BaseMutationOptions<RemoveUserGoingResourceMutation, RemoveUserGoingResourceMutationVariables>;\nexport const AddUserPresentResourceDocument = gql`\n mutation addUserPresentResource($input: UserActivityInputType!) {\n addUserPresentResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n}\n ${UserFieldsFragmentDoc}`;\nexport type AddUserPresentResourceMutationFn = ApolloReactCommon.MutationFunction<AddUserPresentResourceMutation, AddUserPresentResourceMutationVariables>;\n\n/**\n * __useAddUserPresentResourceMutation__\n *\n * To run a mutation, you first call `useAddUserPresentResourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAddUserPresentResourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [addUserPresentResourceMutation, { data, loading, error }] = useAddUserPresentResourceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAddUserPresentResourceMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<AddUserPresentResourceMutation, AddUserPresentResourceMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<AddUserPresentResourceMutation, AddUserPresentResourceMutationVariables>(AddUserPresentResourceDocument, options);\n }\nexport type AddUserPresentResourceMutationHookResult = ReturnType<typeof useAddUserPresentResourceMutation>;\nexport type AddUserPresentResourceMutationResult = ApolloReactCommon.MutationResult<AddUserPresentResourceMutation>;\nexport type AddUserPresentResourceMutationOptions = ApolloReactCommon.BaseMutationOptions<AddUserPresentResourceMutation, AddUserPresentResourceMutationVariables>;\nexport const RemoveUserPresentResourceDocument = gql`\n mutation removeUserPresentResource($input: UserActivityInputType!) {\n removeUserPresentResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n}\n ${UserFieldsFragmentDoc}`;\nexport type RemoveUserPresentResourceMutationFn = ApolloReactCommon.MutationFunction<RemoveUserPresentResourceMutation, RemoveUserPresentResourceMutationVariables>;\n\n/**\n * __useRemoveUserPresentResourceMutation__\n *\n * To run a mutation, you first call `useRemoveUserPresentResourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRemoveUserPresentResourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [removeUserPresentResourceMutation, { data, loading, error }] = useRemoveUserPresentResourceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRemoveUserPresentResourceMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<RemoveUserPresentResourceMutation, RemoveUserPresentResourceMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<RemoveUserPresentResourceMutation, RemoveUserPresentResourceMutationVariables>(RemoveUserPresentResourceDocument, options);\n }\nexport type RemoveUserPresentResourceMutationHookResult = ReturnType<typeof useRemoveUserPresentResourceMutation>;\nexport type RemoveUserPresentResourceMutationResult = ApolloReactCommon.MutationResult<RemoveUserPresentResourceMutation>;\nexport type RemoveUserPresentResourceMutationOptions = ApolloReactCommon.BaseMutationOptions<RemoveUserPresentResourceMutation, RemoveUserPresentResourceMutationVariables>;\nexport const SelectStandardPackageDocument = gql`\n mutation selectStandardPackage($selectedLicence: LicencesEnumType!) {\n selectStandardPackage(selectedLicence: $selectedLicence) {\n data {\n licences {\n ...LicenceFields\n }\n userId\n }\n message\n }\n}\n ${LicenceFieldsFragmentDoc}`;\nexport type SelectStandardPackageMutationFn = ApolloReactCommon.MutationFunction<SelectStandardPackageMutation, SelectStandardPackageMutationVariables>;\n\n/**\n * __useSelectStandardPackageMutation__\n *\n * To run a mutation, you first call `useSelectStandardPackageMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useSelectStandardPackageMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [selectStandardPackageMutation, { data, loading, error }] = useSelectStandardPackageMutation({\n * variables: {\n * selectedLicence: // value for 'selectedLicence'\n * },\n * });\n */\nexport function useSelectStandardPackageMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<SelectStandardPackageMutation, SelectStandardPackageMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<SelectStandardPackageMutation, SelectStandardPackageMutationVariables>(SelectStandardPackageDocument, options);\n }\nexport type SelectStandardPackageMutationHookResult = ReturnType<typeof useSelectStandardPackageMutation>;\nexport type SelectStandardPackageMutationResult = ApolloReactCommon.MutationResult<SelectStandardPackageMutation>;\nexport type SelectStandardPackageMutationOptions = ApolloReactCommon.BaseMutationOptions<SelectStandardPackageMutation, SelectStandardPackageMutationVariables>;\nexport const CreateVendorDocument = gql`\n mutation createVendor($input: VendorInputType!) {\n createVendor(input: $input) {\n data {\n ...VendorFields\n }\n message\n }\n}\n ${VendorFieldsFragmentDoc}`;\nexport type CreateVendorMutationFn = ApolloReactCommon.MutationFunction<CreateVendorMutation, CreateVendorMutationVariables>;\n\n/**\n * __useCreateVendorMutation__\n *\n * To run a mutation, you first call `useCreateVendorMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateVendorMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createVendorMutation, { data, loading, error }] = useCreateVendorMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateVendorMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateVendorMutation, CreateVendorMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateVendorMutation, CreateVendorMutationVariables>(CreateVendorDocument, options);\n }\nexport type CreateVendorMutationHookResult = ReturnType<typeof useCreateVendorMutation>;\nexport type CreateVendorMutationResult = ApolloReactCommon.MutationResult<CreateVendorMutation>;\nexport type CreateVendorMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateVendorMutation, CreateVendorMutationVariables>;\nexport const UpdateVendorDocument = gql`\n mutation updateVendor($_id: ID!, $input: VendorInputType!) {\n updateVendor(_id: $_id, input: $input) {\n data {\n ...VendorFields\n }\n message\n }\n}\n ${VendorFieldsFragmentDoc}`;\nexport type UpdateVendorMutationFn = ApolloReactCommon.MutationFunction<UpdateVendorMutation, UpdateVendorMutationVariables>;\n\n/**\n * __useUpdateVendorMutation__\n *\n * To run a mutation, you first call `useUpdateVendorMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateVendorMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateVendorMutation, { data, loading, error }] = useUpdateVendorMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateVendorMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateVendorMutation, UpdateVendorMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateVendorMutation, UpdateVendorMutationVariables>(UpdateVendorDocument, options);\n }\nexport type UpdateVendorMutationHookResult = ReturnType<typeof useUpdateVendorMutation>;\nexport type UpdateVendorMutationResult = ApolloReactCommon.MutationResult<UpdateVendorMutation>;\nexport type UpdateVendorMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateVendorMutation, UpdateVendorMutationVariables>;\nexport const DeleteVendorDocument = gql`\n mutation deleteVendor($_id: ID!) {\n deleteVendor(_id: $_id) {\n data\n message\n }\n}\n `;\nexport type DeleteVendorMutationFn = ApolloReactCommon.MutationFunction<DeleteVendorMutation, DeleteVendorMutationVariables>;\n\n/**\n * __useDeleteVendorMutation__\n *\n * To run a mutation, you first call `useDeleteVendorMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteVendorMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteVendorMutation, { data, loading, error }] = useDeleteVendorMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useDeleteVendorMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeleteVendorMutation, DeleteVendorMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeleteVendorMutation, DeleteVendorMutationVariables>(DeleteVendorDocument, options);\n }\nexport type DeleteVendorMutationHookResult = ReturnType<typeof useDeleteVendorMutation>;\nexport type DeleteVendorMutationResult = ApolloReactCommon.MutationResult<DeleteVendorMutation>;\nexport type DeleteVendorMutationOptions = ApolloReactCommon.BaseMutationOptions<DeleteVendorMutation, DeleteVendorMutationVariables>;\nexport const CreateVendorInfoDocument = gql`\n mutation createVendorInfo($input: VendorInfoInputType!) {\n createVendorInfo(input: $input) {\n data {\n ...VendorInfoFields\n }\n message\n }\n}\n ${VendorInfoFieldsFragmentDoc}`;\nexport type CreateVendorInfoMutationFn = ApolloReactCommon.MutationFunction<CreateVendorInfoMutation, CreateVendorInfoMutationVariables>;\n\n/**\n * __useCreateVendorInfoMutation__\n *\n * To run a mutation, you first call `useCreateVendorInfoMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateVendorInfoMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createVendorInfoMutation, { data, loading, error }] = useCreateVendorInfoMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateVendorInfoMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateVendorInfoMutation, CreateVendorInfoMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateVendorInfoMutation, CreateVendorInfoMutationVariables>(CreateVendorInfoDocument, options);\n }\nexport type CreateVendorInfoMutationHookResult = ReturnType<typeof useCreateVendorInfoMutation>;\nexport type CreateVendorInfoMutationResult = ApolloReactCommon.MutationResult<CreateVendorInfoMutation>;\nexport type CreateVendorInfoMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateVendorInfoMutation, CreateVendorInfoMutationVariables>;\nexport const UpdateVendorInfoDocument = gql`\n mutation updateVendorInfo($_id: ID!, $input: VendorInfoInputType!) {\n updateVendorInfo(_id: $_id, input: $input) {\n data {\n ...VendorInfoFields\n }\n message\n }\n}\n ${VendorInfoFieldsFragmentDoc}`;\nexport type UpdateVendorInfoMutationFn = ApolloReactCommon.MutationFunction<UpdateVendorInfoMutation, UpdateVendorInfoMutationVariables>;\n\n/**\n * __useUpdateVendorInfoMutation__\n *\n * To run a mutation, you first call `useUpdateVendorInfoMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateVendorInfoMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateVendorInfoMutation, { data, loading, error }] = useUpdateVendorInfoMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateVendorInfoMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateVendorInfoMutation, UpdateVendorInfoMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateVendorInfoMutation, UpdateVendorInfoMutationVariables>(UpdateVendorInfoDocument, options);\n }\nexport type UpdateVendorInfoMutationHookResult = ReturnType<typeof useUpdateVendorInfoMutation>;\nexport type UpdateVendorInfoMutationResult = ApolloReactCommon.MutationResult<UpdateVendorInfoMutation>;\nexport type UpdateVendorInfoMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateVendorInfoMutation, UpdateVendorInfoMutationVariables>;\nexport const CreateUnregisteredVendorDocument = gql`\n mutation createUnregisteredVendor($input: UnregisteredVendorInputType!) {\n createUnregisteredVendor(input: $input) {\n data {\n ...UnregisteredVendorFields\n }\n message\n }\n}\n ${UnregisteredVendorFieldsFragmentDoc}`;\nexport type CreateUnregisteredVendorMutationFn = ApolloReactCommon.MutationFunction<CreateUnregisteredVendorMutation, CreateUnregisteredVendorMutationVariables>;\n\n/**\n * __useCreateUnregisteredVendorMutation__\n *\n * To run a mutation, you first call `useCreateUnregisteredVendorMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateUnregisteredVendorMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createUnregisteredVendorMutation, { data, loading, error }] = useCreateUnregisteredVendorMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateUnregisteredVendorMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<CreateUnregisteredVendorMutation, CreateUnregisteredVendorMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<CreateUnregisteredVendorMutation, CreateUnregisteredVendorMutationVariables>(CreateUnregisteredVendorDocument, options);\n }\nexport type CreateUnregisteredVendorMutationHookResult = ReturnType<typeof useCreateUnregisteredVendorMutation>;\nexport type CreateUnregisteredVendorMutationResult = ApolloReactCommon.MutationResult<CreateUnregisteredVendorMutation>;\nexport type CreateUnregisteredVendorMutationOptions = ApolloReactCommon.BaseMutationOptions<CreateUnregisteredVendorMutation, CreateUnregisteredVendorMutationVariables>;\nexport const UpdateUnregisteredVendorDocument = gql`\n mutation updateUnregisteredVendor($_id: ID!, $input: UnregisteredVendorInputType!) {\n updateUnregisteredVendor(_id: $_id, input: $input) {\n data {\n ...UnregisteredVendorFields\n }\n message\n }\n}\n ${UnregisteredVendorFieldsFragmentDoc}`;\nexport type UpdateUnregisteredVendorMutationFn = ApolloReactCommon.MutationFunction<UpdateUnregisteredVendorMutation, UpdateUnregisteredVendorMutationVariables>;\n\n/**\n * __useUpdateUnregisteredVendorMutation__\n *\n * To run a mutation, you first call `useUpdateUnregisteredVendorMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateUnregisteredVendorMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateUnregisteredVendorMutation, { data, loading, error }] = useUpdateUnregisteredVendorMutation({\n * variables: {\n * _id: // value for '_id'\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateUnregisteredVendorMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UpdateUnregisteredVendorMutation, UpdateUnregisteredVendorMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UpdateUnregisteredVendorMutation, UpdateUnregisteredVendorMutationVariables>(UpdateUnregisteredVendorDocument, options);\n }\nexport type UpdateUnregisteredVendorMutationHookResult = ReturnType<typeof useUpdateUnregisteredVendorMutation>;\nexport type UpdateUnregisteredVendorMutationResult = ApolloReactCommon.MutationResult<UpdateUnregisteredVendorMutation>;\nexport type UpdateUnregisteredVendorMutationOptions = ApolloReactCommon.BaseMutationOptions<UpdateUnregisteredVendorMutation, UpdateUnregisteredVendorMutationVariables>;\nexport const DeleteUnregisteredVendorDocument = gql`\n mutation deleteUnregisteredVendor($_id: ID!) {\n deleteUnregisteredVendor(_id: $_id) {\n data\n message\n }\n}\n `;\nexport type DeleteUnregisteredVendorMutationFn = ApolloReactCommon.MutationFunction<DeleteUnregisteredVendorMutation, DeleteUnregisteredVendorMutationVariables>;\n\n/**\n * __useDeleteUnregisteredVendorMutation__\n *\n * To run a mutation, you first call `useDeleteUnregisteredVendorMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteUnregisteredVendorMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteUnregisteredVendorMutation, { data, loading, error }] = useDeleteUnregisteredVendorMutation({\n * variables: {\n * _id: // value for '_id'\n * },\n * });\n */\nexport function useDeleteUnregisteredVendorMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<DeleteUnregisteredVendorMutation, DeleteUnregisteredVendorMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<DeleteUnregisteredVendorMutation, DeleteUnregisteredVendorMutationVariables>(DeleteUnregisteredVendorDocument, options);\n }\nexport type DeleteUnregisteredVendorMutationHookResult = ReturnType<typeof useDeleteUnregisteredVendorMutation>;\nexport type DeleteUnregisteredVendorMutationResult = ApolloReactCommon.MutationResult<DeleteUnregisteredVendorMutation>;\nexport type DeleteUnregisteredVendorMutationOptions = ApolloReactCommon.BaseMutationOptions<DeleteUnregisteredVendorMutation, DeleteUnregisteredVendorMutationVariables>;\nexport const UnlinkUnregisteredVendorByInviterIdDocument = gql`\n mutation unlinkUnregisteredVendorByInviterId($_id: ID!, $inviterId: ID!) {\n unlinkUnregisteredVendorByInviterId(_id: $_id, inviterId: $inviterId) {\n data\n message\n }\n}\n `;\nexport type UnlinkUnregisteredVendorByInviterIdMutationFn = ApolloReactCommon.MutationFunction<UnlinkUnregisteredVendorByInviterIdMutation, UnlinkUnregisteredVendorByInviterIdMutationVariables>;\n\n/**\n * __useUnlinkUnregisteredVendorByInviterIdMutation__\n *\n * To run a mutation, you first call `useUnlinkUnregisteredVendorByInviterIdMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUnlinkUnregisteredVendorByInviterIdMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [unlinkUnregisteredVendorByInviterIdMutation, { data, loading, error }] = useUnlinkUnregisteredVendorByInviterIdMutation({\n * variables: {\n * _id: // value for '_id'\n * inviterId: // value for 'inviterId'\n * },\n * });\n */\nexport function useUnlinkUnregisteredVendorByInviterIdMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<UnlinkUnregisteredVendorByInviterIdMutation, UnlinkUnregisteredVendorByInviterIdMutationVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useMutation<UnlinkUnregisteredVendorByInviterIdMutation, UnlinkUnregisteredVendorByInviterIdMutationVariables>(UnlinkUnregisteredVendorByInviterIdDocument, options);\n }\nexport type UnlinkUnregisteredVendorByInviterIdMutationHookResult = ReturnType<typeof useUnlinkUnregisteredVendorByInviterIdMutation>;\nexport type UnlinkUnregisteredVendorByInviterIdMutationResult = ApolloReactCommon.MutationResult<UnlinkUnregisteredVendorByInviterIdMutation>;\nexport type UnlinkUnregisteredVendorByInviterIdMutationOptions = ApolloReactCommon.BaseMutationOptions<UnlinkUnregisteredVendorByInviterIdMutation, UnlinkUnregisteredVendorByInviterIdMutationVariables>;\nexport const GetChatMessageDocument = gql`\n subscription GetChatMessage {\n getChatMessage {\n ...ChatFields\n }\n}\n ${ChatFieldsFragmentDoc}`;\n\n/**\n * __useGetChatMessageSubscription__\n *\n * To run a query within a React component, call `useGetChatMessageSubscription` and pass it any options that fit your needs.\n * When your component renders, `useGetChatMessageSubscription` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetChatMessageSubscription({\n * variables: {\n * },\n * });\n */\nexport function useGetChatMessageSubscription(baseOptions?: ApolloReactHooks.SubscriptionHookOptions<GetChatMessageSubscription, GetChatMessageSubscriptionVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSubscription<GetChatMessageSubscription, GetChatMessageSubscriptionVariables>(GetChatMessageDocument, options);\n }\nexport type GetChatMessageSubscriptionHookResult = ReturnType<typeof useGetChatMessageSubscription>;\nexport type GetChatMessageSubscriptionResult = ApolloReactCommon.SubscriptionResult<GetChatMessageSubscription>;\nexport const UserNotificationsSubscriptionDocument = gql`\n subscription UserNotificationsSubscription {\n getUserNotifications {\n ...NotificationFields\n }\n}\n ${NotificationFieldsFragmentDoc}`;\n\n/**\n * __useUserNotificationsSubscriptionSubscription__\n *\n * To run a query within a React component, call `useUserNotificationsSubscriptionSubscription` and pass it any options that fit your needs.\n * When your component renders, `useUserNotificationsSubscriptionSubscription` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useUserNotificationsSubscriptionSubscription({\n * variables: {\n * },\n * });\n */\nexport function useUserNotificationsSubscriptionSubscription(baseOptions?: ApolloReactHooks.SubscriptionHookOptions<UserNotificationsSubscriptionSubscription, UserNotificationsSubscriptionSubscriptionVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSubscription<UserNotificationsSubscriptionSubscription, UserNotificationsSubscriptionSubscriptionVariables>(UserNotificationsSubscriptionDocument, options);\n }\nexport type UserNotificationsSubscriptionSubscriptionHookResult = ReturnType<typeof useUserNotificationsSubscriptionSubscription>;\nexport type UserNotificationsSubscriptionSubscriptionResult = ApolloReactCommon.SubscriptionResult<UserNotificationsSubscriptionSubscription>;\nexport const NotificationCountSubscriptionDocument = gql`\n subscription NotificationCountSubscription {\n getNotificationCount {\n total\n unread\n }\n}\n `;\n\n/**\n * __useNotificationCountSubscriptionSubscription__\n *\n * To run a query within a React component, call `useNotificationCountSubscriptionSubscription` and pass it any options that fit your needs.\n * When your component renders, `useNotificationCountSubscriptionSubscription` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useNotificationCountSubscriptionSubscription({\n * variables: {\n * },\n * });\n */\nexport function useNotificationCountSubscriptionSubscription(baseOptions?: ApolloReactHooks.SubscriptionHookOptions<NotificationCountSubscriptionSubscription, NotificationCountSubscriptionSubscriptionVariables>) {\n const options = {...defaultOptions, ...baseOptions}\n return ApolloReactHooks.useSubscription<NotificationCountSubscriptionSubscription, NotificationCountSubscriptionSubscriptionVariables>(NotificationCountSubscriptionDocument, options);\n }\nexport type NotificationCountSubscriptionSubscriptionHookResult = ReturnType<typeof useNotificationCountSubscriptionSubscription>;\nexport type NotificationCountSubscriptionSubscriptionResult = ApolloReactCommon.SubscriptionResult<NotificationCountSubscriptionSubscription>;","import { print, type DocumentNode } from \"graphql\";\n\nexport function toGraphqlQueryString(query: DocumentNode): string {\n return print(query);\n}\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n ADMIN_PERMANENTLY_DELETE_RESOURCE_MUTATION,\n ADMIN_RESEND_USER_VERIFICATION_EMAIL_MUTATION,\n ADMIN_UPDATE_RESOURCE_TYPE_MUTATION,\n} from \"src/graphql/mutations/admin\";\nimport { AdminUpdateResourceType, MutationResponse } from \"src/types\";\n\nimport { ResourceTypeEnum } from \"../../../generated/graphql\";\nimport { GetEventDocument } from \"../../../generated/operations\";\nimport { GetVendorDocument } from \"../../../generated/operations\";\n\nexport const useAdminUpdateResourceType = () => {\n const [adminUpdateResourceType, { loading, error }] = useMutation<{\n adminUpdateResourceType: MutationResponse<AdminUpdateResourceType>;\n }>(ADMIN_UPDATE_RESOURCE_TYPE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const adminUpdateResourceType =\n mutationResult?.data?.adminUpdateResourceType?.data;\n const resourceId = adminUpdateResourceType?.resourceId;\n const resourceType = adminUpdateResourceType?.resourceType;\n\n if (!resourceId) return [];\n\n const detectQuery =\n resourceType === ResourceTypeEnum.Event\n ? GetEventDocument\n : GetVendorDocument;\n\n return [\n {\n query: detectQuery,\n variables: { _id: resourceId },\n },\n ];\n },\n });\n\n return {\n adminUpdateResourceType,\n error,\n loading,\n };\n};\n\nexport const useAdminResendUserVerificationEmail = () => {\n const [adminResendUserVerificationEmail, { loading, error }] = useMutation<{\n adminResendUserVerificationEmail: MutationResponse<boolean>;\n }>(ADMIN_RESEND_USER_VERIFICATION_EMAIL_MUTATION);\n\n return {\n adminResendUserVerificationEmail,\n error,\n loading,\n };\n};\n\nexport const useAdminPermanentlyDeleteResource = () => {\n const [adminPermanentlyDeleteResource, { loading, error }] = useMutation<{\n adminPermanentlyDeleteResource: MutationResponse<boolean>;\n }>(ADMIN_PERMANENTLY_DELETE_RESOURCE_MUTATION);\n\n return {\n adminPermanentlyDeleteResource,\n error,\n loading,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const ADMIN_UPDATE_RESOURCE_TYPE_MUTATION = gql`\n mutation adminUpdateResourceType($input: AdminUpdateResourceInputType!) {\n adminUpdateResourceType(input: $input) {\n data {\n active\n resourceId\n resourceType\n }\n message\n }\n }\n`;\n\nexport const ADMIN_RESEND_USER_VERIFICATION_EMAIL_MUTATION = gql`\n mutation adminResendUserVerificationEmail($userId: ID!) {\n adminResendUserVerificationEmail(userId: $userId) {\n data\n message\n }\n }\n`;\n\nexport const ADMIN_PERMANENTLY_DELETE_RESOURCE_MUTATION = gql`\n mutation adminPermanentlyDeleteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n adminPermanentlyDeleteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n data\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n AuthMutationResponse,\n RefreshTokenMutationResponse,\n} from \"src/types/auth\";\nimport { MutationResponse } from \"src/types/global\";\n\nimport {\n LOGIN_MUTATION,\n LOGOUT_MUTATION,\n REFRESH_TOKEN_MUTATION,\n REGISTER_MUTATION,\n REQUEST_PASSWORD_RESET_MUTATION,\n RESET_PASSWORD_MUTATION,\n VALIDATE_VERIFICATION_TOKEN_MUTATION,\n} from \"../mutations/auth\";\n\ntype MessageOnlyResponse = MutationResponse<boolean>;\n\nexport const useRegister = () => {\n const [register, { loading, error }] = useMutation<{\n register: AuthMutationResponse;\n }>(REGISTER_MUTATION);\n return { error, loading, register };\n};\n\nexport const useLogin = () => {\n const [login, { loading, error }] = useMutation<{\n login: AuthMutationResponse;\n }>(LOGIN_MUTATION);\n return { error, loading, login };\n};\n\nexport const useLogout = () => {\n const [logout, { loading, error }] = useMutation<{\n logout: MessageOnlyResponse;\n }>(LOGOUT_MUTATION);\n return { error, loading, logout };\n};\n\nexport const useRefreshToken = () => {\n const [refreshToken, { loading, error }] = useMutation<{\n refreshToken: RefreshTokenMutationResponse;\n }>(REFRESH_TOKEN_MUTATION);\n return { error, loading, refreshToken };\n};\n\nexport const useRequestPasswordReset = () => {\n const [requestPasswordReset, { loading, error }] = useMutation<{\n requestPasswordReset: MessageOnlyResponse;\n }>(REQUEST_PASSWORD_RESET_MUTATION);\n\n return { error, loading, requestPasswordReset };\n};\n\nexport const useValidateVerificationToken = () => {\n const [validateVerificationToken, { loading, error }] = useMutation<{\n validateVerificationToken: MessageOnlyResponse;\n }>(VALIDATE_VERIFICATION_TOKEN_MUTATION);\n\n return { error, loading, validateVerificationToken };\n};\n\nexport const useResetPassword = () => {\n const [resetPassword, { loading, error }] = useMutation<{\n resetPassword: MessageOnlyResponse;\n }>(RESET_PASSWORD_MUTATION);\n\n return { error, loading, resetPassword };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { UserFieldsFragmentDoc as USER_FIELDS_FRAGMENT } from \"../../generated/operations\";\n\nexport const REGISTER_MUTATION = gql`\n mutation register($input: RegisterInputType!) {\n register(input: $input) {\n data {\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGIN_MUTATION = gql`\n mutation login($input: LoginInputType!) {\n login(input: $input) {\n data {\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGOUT_MUTATION = gql`\n mutation logout {\n logout {\n data\n message\n }\n }\n`;\n\nexport const REFRESH_TOKEN_MUTATION = gql`\n mutation refreshToken($input: RefreshTokenInputType!) {\n refreshToken(input: $input) {\n data {\n refreshToken\n token\n }\n message\n }\n }\n`;\n\nexport const RESET_PASSWORD_MUTATION = gql`\n mutation resetPassword($input: ResetPasswordInputType!) {\n resetPassword(input: $input) {\n data\n message\n }\n }\n`;\n\nexport const REQUEST_PASSWORD_RESET_MUTATION = gql`\n mutation requestPasswordReset($input: RequestPasswordResetInputType!) {\n requestPasswordReset(input: $input) {\n data\n message\n }\n }\n`;\n\nexport const VALIDATE_VERIFICATION_TOKEN_MUTATION = gql`\n mutation validateVerificationToken(\n $input: ValidateVerificationTokenInputType!\n ) {\n validateVerificationToken(input: $input) {\n data\n message\n }\n }\n`;\n","import { PureQueryOptions, useMutation } from \"@apollo/client\";\n\nimport { ChatType, MutationResponse, ReportChatUserType } from \"src/types\";\n\nimport {\n ChatDocument,\n GetChatsByRegionDocument,\n UserChatsDocument,\n} from \"../../../generated/operations\";\nimport {\n ADD_PARTICIPANT_TO_CHAT_MUTATION,\n DELETE_CHAT_MUTATION,\n REMOVE_PARTICIPANT_FROM_CHAT_MUTATION,\n SEND_CHAT_MESSAGE_MUTATION,\n TOGGLE_CHAT_MESSAGE_LIKE_MUTATION,\n MARK_CHAT_MESSAGES_SEEN_MUTATION,\n REPORT_CHAT_USER_MUTATION,\n CREATE_PRIVATE_CHAT_MUTATION,\n} from \"../../mutations/chat\";\n\nexport const useCreatePrivateChat = () => {\n const [createPrivateChat, { loading, error }] = useMutation<{\n createPrivateChat: MutationResponse<ChatType>;\n }>(CREATE_PRIVATE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: UserChatsDocument }],\n });\n\n return { createPrivateChat, error, loading };\n};\n\nexport const useSendChatMessage = () => {\n const [sendChatMessage, { loading, error }] = useMutation<{\n sendChatMessage: MutationResponse<ChatType>;\n }>(SEND_CHAT_MESSAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.sendChatMessage?.data?._id;\n\n return [\n {\n query: ChatDocument,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { error, loading, sendChatMessage };\n};\n\nexport const useDeleteChat = () => {\n const [deleteChat, { loading, error }] = useMutation<{\n deleteChat: MutationResponse<boolean>;\n }>(DELETE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: UserChatsDocument }],\n });\n\n return { deleteChat, error, loading };\n};\n\nexport const useAddParticipantToChat = () => {\n const [addParticipantToChat, { loading, error }] = useMutation<{\n addParticipantToChat: MutationResponse<ChatType>;\n }>(ADD_PARTICIPANT_TO_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.addParticipantToChat?.data?._id;\n\n return [\n {\n query: ChatDocument,\n variables: { _id: chatId },\n },\n {\n query: UserChatsDocument,\n },\n ];\n },\n });\n\n return { addParticipantToChat, error, loading };\n};\n\nexport const useRemoveParticipantFromChat = () => {\n const [removeParticipantFromChat, { loading, error }] = useMutation<{\n removeParticipantFromChat: MutationResponse<{\n success: boolean;\n region?: string | null;\n }>;\n }>(REMOVE_PARTICIPANT_FROM_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult): PureQueryOptions[] => {\n const region =\n mutationResult?.data?.removeParticipantFromChat?.data?.region;\n\n const queries: PureQueryOptions[] = [{ query: UserChatsDocument }];\n\n if (region && region.trim() !== \"\") {\n queries.push({\n query: GetChatsByRegionDocument,\n variables: { region },\n });\n }\n\n return queries;\n },\n });\n\n return { error, loading, removeParticipantFromChat };\n};\n\nexport const useToggleChatMessageLike = () => {\n const [toggleChatMessageLike, { loading, error }] = useMutation<{\n toggleChatMessageLike: MutationResponse<ChatType>;\n }>(TOGGLE_CHAT_MESSAGE_LIKE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const chatId = mutationResult?.data?.toggleChatMessageLike?.data?._id;\n\n return [\n {\n query: ChatDocument,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { error, loading, toggleChatMessageLike };\n};\n\nexport const useMarkChatMessagesSeen = () => {\n const [markChatMessagesSeen, { loading, error }] = useMutation<{\n markChatMessagesSeen: MutationResponse<ChatType>;\n }>(MARK_CHAT_MESSAGES_SEEN_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const chatId = mutationResult?.data?.markChatMessagesSeen?.data?._id;\n\n return [\n {\n query: ChatDocument,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { error, loading, markChatMessagesSeen };\n};\n\nexport const useReportChatUser = () => {\n const [reportChatUser, { loading, error }] = useMutation<{\n reportChatUser: MutationResponse<ReportChatUserType>;\n }>(REPORT_CHAT_USER_MUTATION);\n\n return { error, loading, reportChatUser };\n};\n","import { gql } from \"@apollo/client\";\n\nimport {\n ChatFieldsFragmentDoc as CHAT_FIELDS_FRAGMENT,\n ChatReportFieldsFragmentDoc as CHAT_REPORT_FIELDS_FRAGMENT,\n} from \"../../generated/operations\";\n\nexport const CREATE_PRIVATE_CHAT_MUTATION = gql`\n mutation createPrivateChat($userId: ID!) {\n createPrivateChat(userId: $userId) {\n data {\n ...ChatFields\n }\n message\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const SEND_CHAT_MESSAGE_MUTATION = gql`\n mutation sendChatMessage($_id: ID!, $input: ChatMessageInputType!) {\n sendChatMessage(_id: $_id, input: $input) {\n data {\n ...ChatFields\n }\n message\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_CHAT_MUTATION = gql`\n mutation deleteChat($_id: ID!) {\n deleteChat(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const ADD_PARTICIPANT_TO_CHAT_MUTATION = gql`\n mutation addParticipantToChat($chatId: ID!, $userId: ID!) {\n addParticipantToChat(chatId: $chatId, userId: $userId) {\n data {\n ...ChatFields\n }\n message\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_PARTICIPANT_FROM_CHAT_MUTATION = gql`\n mutation removeParticipantFromChat($chatId: ID!, $userId: ID!) {\n removeParticipantFromChat(chatId: $chatId, userId: $userId) {\n data {\n success\n region\n }\n message\n }\n }\n`;\n\nexport const TOGGLE_CHAT_MESSAGE_LIKE_MUTATION = gql`\n mutation toggleChatMessageLike($chatId: ID!, $messageId: ID!) {\n toggleChatMessageLike(chatId: $chatId, messageId: $messageId) {\n data {\n ...ChatFields\n }\n message\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const MARK_CHAT_MESSAGES_SEEN_MUTATION = gql`\n mutation markChatMessagesSeen($chatId: ID!, $messageIds: [ID!]!) {\n markChatMessagesSeen(chatId: $chatId, messageIds: $messageIds) {\n data {\n ...ChatFields\n }\n message\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const REPORT_CHAT_USER_MUTATION = gql`\n mutation reportChatUser($input: ReportChatUserInputType!) {\n reportChatUser(input: $input) {\n data {\n ...ChatReportFields\n }\n message\n }\n }\n ${CHAT_REPORT_FIELDS_FRAGMENT}\n`;\n","import { useQuery, useSubscription } from \"@apollo/client\";\n\nimport { GET_CHAT_MESSAGE } from \"src/graphql/subscriptions/chat\";\nimport { ChatType } from \"src/types\";\n\nimport {\n ChatDocument,\n GetChatsByRegionDocument,\n UserChatsDocument,\n} from \"../../../generated/operations\";\n\nexport const useGetChat = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ chat: ChatType }>(\n ChatDocument,\n {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n },\n );\n\n const chat = data?.chat;\n\n return { chat, error, loading, refetch };\n};\n\nexport const useGetUserChats = () => {\n const { loading, error, data, refetch } = useQuery<{ userChats: ChatType[] }>(\n UserChatsDocument,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const userChats = data?.userChats || [];\n\n return { error, loading, refetch, userChats };\n};\n\nexport const useGetChatSubscription = () => {\n const { data, loading, error } = useSubscription<{ getChat: ChatType }>(\n GET_CHAT_MESSAGE,\n );\n\n const chat = data?.getChat;\n\n return { chat, error, loading };\n};\n\nexport const useGetChatsByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n chatsByRegion: ChatType[];\n }>(GetChatsByRegionDocument, {\n fetchPolicy: \"network-only\",\n variables: { region },\n });\n\n const chatsByRegion = data?.chatsByRegion || [];\n\n return { chatsByRegion, error, loading, refetch };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { ChatFieldsFragmentDoc as CHAT_FIELDS_FRAGMENT } from \"../../generated/operations\";\n\nexport const GET_CHAT_MESSAGE = gql`\n subscription GetChatMessage {\n getChatMessage {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { MutationResponse } from \"src/types\";\n\nimport { CONTACT_US_MUTATION } from \"../mutations/contactUs\";\n\nexport const useContactUs = () => {\n const [contactUs, { loading, error }] = useMutation<{\n contactUs: MutationResponse<boolean>;\n }>(CONTACT_US_MUTATION);\n return { contactUs, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CONTACT_US_MUTATION = gql`\n mutation contactUs($input: ContactUsInputType!) {\n contactUs(input: $input) {\n data\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { EventType, MutationResponse } from \"src/types\";\n\nimport {\n GetEventDocument,\n GetEventInfoDocument,\n} from \"../../../generated/operations\";\nimport { GetUserEventsDocument } from \"../../../generated/operations\";\nimport {\n CREATE_EVENT_INFO_MUTATION,\n CREATE_EVENT_MUTATION,\n DELETE_EVENT_MUTATION,\n UPDATE_EVENT_INFO_MUTATION,\n UPDATE_EVENT_MUTATION,\n} from \"../../mutations/event\";\n\nexport const useCreateEvent = () => {\n const [createEvent, { loading, error }] = useMutation<{\n createEvent: MutationResponse<EventType>;\n }>(CREATE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserEventsDocument }],\n });\n\n return { createEvent, error, loading };\n};\n\nexport const useUpdateEvent = () => {\n const [updateEvent, { loading, error }] = useMutation<{\n updateEvent: MutationResponse<EventType>;\n }>(UPDATE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.updateEvent?.data?._id;\n\n if (!eventId) return [];\n\n return [\n {\n query: GetUserEventsDocument,\n },\n {\n query: GetEventDocument,\n variables: { _id: eventId },\n },\n {\n query: GetEventInfoDocument,\n variables: { eventId },\n },\n ];\n },\n });\n\n return { error, loading, updateEvent };\n};\n\nexport const useDeleteEvent = () => {\n const [deleteEvent, { loading, error }] = useMutation<{\n deleteEvent: MutationResponse<boolean>;\n }>(DELETE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserEventsDocument }],\n });\n return { deleteEvent, error, loading };\n};\n\nexport const useCreateEventInfo = () => {\n const [createEventInfo, { loading, error }] = useMutation<{\n createEventInfo: MutationResponse<{ eventId: string }>;\n }>(CREATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.createEventInfo?.data?.eventId;\n\n if (!eventId) return [];\n\n return [\n {\n query: GetEventInfoDocument,\n variables: { eventId }, // Pass the eventId for refetching\n },\n {\n query: GetUserEventsDocument,\n },\n {\n query: GetEventDocument,\n variables: { _id: eventId },\n },\n ];\n },\n });\n\n return { createEventInfo, error, loading };\n};\n\nexport const useUpdateEventInfo = () => {\n const [updateEventInfo, { loading, error }] = useMutation<{\n updateEventInfo: MutationResponse<{ eventId: string }>;\n }>(UPDATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.updateEventInfo?.data?.eventId;\n\n if (!eventId) return [];\n\n return [\n {\n query: GetEventInfoDocument,\n variables: { eventId },\n },\n {\n query: GetEventDocument,\n variables: { _id: eventId },\n },\n {\n query: GetUserEventsDocument,\n },\n ];\n },\n });\n\n return { error, loading, updateEventInfo };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { EventFieldsFragmentDoc as EVENT, EventInfoFieldsFragmentDoc as EVENT_INFO } from \"../../generated/operations\";\n\nexport const CREATE_EVENT_MUTATION = gql`\n mutation createEvent($input: EventInputType!) {\n createEvent(input: $input) {\n data {\n ...EventFields\n }\n message\n }\n }\n ${EVENT}\n`;\n\nexport const UPDATE_EVENT_MUTATION = gql`\n mutation updateEvent($_id: ID!, $input: EventInputType!) {\n updateEvent(_id: $_id, input: $input) {\n data {\n ...EventFields\n }\n message\n }\n }\n ${EVENT}\n`;\n\nexport const DELETE_EVENT_MUTATION = gql`\n mutation deleteEvent($_id: ID!) {\n deleteEvent(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const CREATE_EVENT_INFO_MUTATION = gql`\n mutation createEventInfo($input: EventInfoInputType!) {\n createEventInfo(input: $input) {\n data {\n ...EventInfoFields\n }\n message\n }\n }\n ${EVENT_INFO}\n`;\n\nexport const UPDATE_EVENT_INFO_MUTATION = gql`\n mutation updateEventInfo($_id: ID!, $input: EventInfoInputType!) {\n updateEventInfo(_id: $_id, input: $input) {\n data {\n ...EventInfoFields\n }\n message\n }\n }\n ${EVENT_INFO}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EventDateStatusEnumType } from \"../../../generated/graphql\";\nimport type {\n EventInfoType,\n EventListItemType,\n EventType,\n} from \"../../../generated/graphql\";\nimport {\n GetEventDocument,\n GetEventByPlaceIdDocument,\n GetEventInfoDocument,\n GetEventsDocument,\n GetEventsByRegionDocument,\n GetEventsNearMeDocument,\n SearchEventsDocument,\n} from \"../../../generated/operations\";\nimport { UseGetResourcesByRegionOptions } from \"../../../types/global\";\n\nexport const useGetEvents = (dateStatus?: EventDateStatusEnumType) => {\n const { loading, error, data, refetch } = useQuery<{\n events: EventListItemType[];\n }>(GetEventsDocument, {\n fetchPolicy: \"network-only\",\n variables: { dateStatus },\n });\n\n const events = data?.events || [];\n\n return { error, events, loading, refetch };\n};\n\nexport const useGetEvent = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{\n event: EventType | null;\n }>(GetEventDocument, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const event = data?.event || null;\n\n return { error, event, loading, refetch };\n};\n\nexport const useGetEventByPlaceId = (googlePlaceId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventByPlaceId: EventListItemType | null;\n }>(GetEventByPlaceIdDocument, {\n fetchPolicy: \"network-only\",\n skip: !googlePlaceId,\n variables: { googlePlaceId },\n });\n\n const eventByPlaceId = data?.eventByPlaceId || null;\n\n return { error, eventByPlaceId, loading, refetch };\n};\n\nexport const useGetEventsByRegion = (\n region: string,\n options?: UseGetResourcesByRegionOptions,\n dateStatus?: EventDateStatusEnumType,\n) => {\n const variables = {\n dateStatus,\n options,\n region,\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n eventsByRegion: EventListItemType[];\n }>(GetEventsByRegionDocument, {\n fetchPolicy: \"network-only\",\n skip: !region || region === \"\",\n variables,\n });\n\n const eventsByRegion = data?.eventsByRegion || [];\n\n return {\n error,\n eventsByRegion,\n fetchMore,\n loading,\n refetch,\n };\n};\n\nexport const useSearchEvents = (\n region: string,\n searchQuery?: string,\n tags?: string[],\n dateStatus?: EventDateStatusEnumType,\n) => {\n const normalizedSearch = searchQuery?.trim() ?? \"\";\n const normalizedTags = (tags ?? []).filter(Boolean);\n\n const shouldRunQuery =\n normalizedSearch.length > 3 || normalizedTags.length > 0;\n\n const { loading, error, data, refetch } = useQuery<{\n eventsSearch: EventListItemType[];\n }>(SearchEventsDocument, {\n fetchPolicy: \"network-only\",\n skip: !shouldRunQuery,\n variables: {\n dateStatus,\n region,\n search: normalizedSearch,\n tags: normalizedTags,\n },\n });\n\n return {\n error,\n eventsSearch: data?.eventsSearch ?? [],\n loading,\n refetch,\n };\n};\n\nexport const useGetEventsNearMe = (\n location: {\n latitude: number;\n longitude: number;\n radius?: number;\n },\n dateStatus?: EventDateStatusEnumType,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n eventsNearMe: EventListItemType[];\n }>(GetEventsNearMeDocument, {\n fetchPolicy: \"network-only\",\n skip: !location.latitude || !location.longitude,\n variables: {\n dateStatus,\n latitude: location.latitude,\n longitude: location.longitude,\n radius: location.radius || 10000, // Default to 10km if no radius is provided\n },\n });\n\n const eventsNearMe = data?.eventsNearMe || [];\n\n return { error, eventsNearMe, loading, refetch };\n};\n\nexport const useGetEventInfo = (eventId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventInfo: EventInfoType;\n }>(GetEventInfoDocument, {\n fetchPolicy: \"network-only\",\n skip: !eventId || eventId === \"\",\n variables: { eventId },\n });\n\n const eventInfo = data?.eventInfo;\n\n return { error, eventInfo, loading, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_BULK_NOTIFICATIONS,\n DELETE_ALL_NOTIFICATIONS,\n DELETE_NOTIFICATION,\n MARK_ALL_NOTIFICATIONS_READ,\n MARK_NOTIFICATION_READ,\n} from \"src/graphql/mutations/notification\";\nimport { MutationResponse, NotificationType } from \"src/types\";\n\nimport {\n GetNotificationCountDocument,\n GetUserNotificationsDocument,\n} from \"../../../generated/operations\";\n\nexport const useCreateBulkNotifications = () => {\n const [createBulkNotifications, { loading, error }] = useMutation<{\n createBulkNotifications: MutationResponse<boolean>;\n }>(CREATE_BULK_NOTIFICATIONS);\n return { createBulkNotifications, error, loading };\n};\n\nexport const useMarkNotificationRead = () => {\n const [markNotificationRead, { loading, error }] = useMutation<{\n markNotificationRead: MutationResponse<NotificationType>;\n }>(MARK_NOTIFICATION_READ, {\n refetchQueries: [\n {\n query: GetUserNotificationsDocument,\n },\n {\n query: GetNotificationCountDocument,\n },\n ],\n });\n return { error, loading, markNotificationRead };\n};\n\nexport const useMarkAllNotificationsRead = () => {\n const [markAllNotificationsRead, { loading, error }] = useMutation<{\n markAllNotificationsRead: MutationResponse<boolean>;\n }>(MARK_ALL_NOTIFICATIONS_READ, {\n refetchQueries: [\n {\n query: GetUserNotificationsDocument,\n },\n {\n query: GetNotificationCountDocument,\n },\n ],\n });\n return { error, loading, markAllNotificationsRead };\n};\n\nexport const useDeleteNotification = () => {\n const [deleteNotification, { loading, error }] = useMutation<{\n deleteNotification: MutationResponse<boolean>;\n }>(DELETE_NOTIFICATION, {\n refetchQueries: [\n {\n query: GetUserNotificationsDocument,\n },\n {\n query: GetNotificationCountDocument,\n },\n ],\n });\n return { deleteNotification, error, loading };\n};\n\nexport const useDeleteAllNotifications = () => {\n const [deleteAllNotifications, { loading, error }] = useMutation<{\n deleteAllNotifications: MutationResponse<boolean>;\n }>(DELETE_ALL_NOTIFICATIONS, {\n refetchQueries: [\n {\n query: GetUserNotificationsDocument,\n },\n {\n query: GetNotificationCountDocument,\n },\n ],\n });\n return { deleteAllNotifications, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { NotificationFieldsFragmentDoc as NOTIFICATION_FRAGMENT } from \"../../generated/operations\";\n\nexport const CREATE_BULK_NOTIFICATIONS = gql`\n mutation createBulkNotifications($input: CreateBulkNotificationInput!) {\n createBulkNotifications(input: $input) {\n data\n message\n }\n }\n`;\n\nexport const MARK_NOTIFICATION_READ = gql`\n mutation markNotificationRead($_id: ID!) {\n markNotificationRead(_id: $_id) {\n data {\n ...NotificationFields\n }\n message\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const MARK_ALL_NOTIFICATIONS_READ = gql`\n mutation markAllNotificationsRead {\n markAllNotificationsRead {\n data\n message\n }\n }\n`;\n\nexport const DELETE_NOTIFICATION = gql`\n mutation deleteNotification($_id: ID!) {\n deleteNotification(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const DELETE_ALL_NOTIFICATIONS = gql`\n mutation deleteAllNotifications {\n deleteAllNotifications {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n GetNotificationCountDocument,\n GetUserNotificationsDocument,\n} from \"../../../generated/operations\";\nimport { NotificationCount, NotificationType } from \"../../../types\";\n\nexport const useGetUserNotifications = (limit?: number, offset?: number) => {\n const { data, loading, error, refetch } = useQuery<{\n userNotifications: NotificationType[];\n }>(GetUserNotificationsDocument, {\n fetchPolicy: \"no-cache\",\n variables: { limit, offset },\n });\n\n return {\n error,\n loading,\n notifications: data?.userNotifications || [],\n refetch,\n };\n};\n\nexport const useGetNotificationCount = () => {\n const { data, loading, error, refetch } = useQuery<{\n notificationCount: NotificationCount;\n }>(GetNotificationCountDocument, {\n fetchPolicy: \"no-cache\",\n });\n\n return {\n error,\n loading,\n notificationCount: data?.notificationCount || { total: 0, unread: 0 },\n refetch,\n };\n};\n","import { useSubscription } from \"@apollo/client\";\n\nimport { NotificationCount, NotificationType } from \"../../../types\";\nimport {\n GET_NOTIFICATION_COUNT_SUBSCRIPTION,\n GET_NOTIFICATIONS_SUBSCRIPTION,\n} from \"../../subscriptions/notification\";\n\nexport const useGetUserNotificationsSubscription = () => {\n const { data, loading, error } = useSubscription<{\n getUserNotifications: NotificationType[];\n }>(GET_NOTIFICATIONS_SUBSCRIPTION, {\n fetchPolicy: \"no-cache\",\n shouldResubscribe: true,\n });\n\n return {\n error,\n loading,\n notifications: data?.getUserNotifications,\n };\n};\n\nexport const useGetNotificationCountSubscription = () => {\n const { data, loading, error } = useSubscription<{\n getNotificationCount: NotificationCount;\n }>(GET_NOTIFICATION_COUNT_SUBSCRIPTION, {\n fetchPolicy: \"no-cache\",\n shouldResubscribe: true,\n });\n\n return {\n error,\n loading,\n notificationCount: data?.getNotificationCount,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { NotificationFieldsFragmentDoc as NOTIFICATION_FRAGMENT } from \"../../generated/operations\";\n\nexport const GET_NOTIFICATIONS_SUBSCRIPTION = gql`\n subscription UserNotificationsSubscription {\n getUserNotifications {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const GET_NOTIFICATION_COUNT_SUBSCRIPTION = gql`\n subscription NotificationCountSubscription {\n getNotificationCount {\n total\n unread\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { MutationResponse, PosterUsageType } from \"src/types\";\n\nimport {\n GetUserEventsDocument,\n GetUserVendorsDocument,\n} from \"../../generated/operations\";\nimport { CREATE_POSTER_MUTATION } from \"../mutations/poster\";\n\nexport const useCreatePoster = () => {\n const [createPoster, { loading, error }] = useMutation<{\n createPoster: MutationResponse<{ posterUsage: PosterUsageType }>;\n }>(CREATE_POSTER_MUTATION, {\n refetchQueries: [\n { query: GetUserEventsDocument },\n { query: GetUserVendorsDocument },\n ],\n });\n return { createPoster, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { PosterUsageFieldsFragmentDoc as POSTER_USAGE_FIELDS_FRAGMENT } from \"../../generated/operations\";\n\nexport const CREATE_POSTER_MUTATION = gql`\n mutation createPoster($input: PosterInputType!) {\n createPoster(input: $input) {\n data {\n posterUsage {\n ...PosterUsageFields\n }\n }\n message\n }\n }\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { MutationResponse } from \"src/types\";\n\nimport { CREATE_PUSH_TOKEN_MUTATION } from \"../mutations/pushToken\";\n\nexport const useCreatePushToken = () => {\n const [createPushToken, { loading, error }] = useMutation<{\n createPushToken: MutationResponse<{ success: boolean }>;\n }>(CREATE_PUSH_TOKEN_MUTATION);\n return { createPushToken, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_PUSH_TOKEN_MUTATION = gql`\n mutation createPushToken($input: PushTokenInput!) {\n createPushToken(input: $input) {\n data {\n success\n }\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { MutationResponse, RelationType } from \"src/types\";\n\nimport { ResourceTypeEnum } from \"../../../generated/graphql\";\nimport { UserChatsDocument } from \"../../../generated/operations\";\nimport {\n GetEventDocument,\n GetEventInfoDocument,\n} from \"../../../generated/operations\";\nimport {\n GetEventRelationsDocument,\n GetRelationByEventAndVendorDocument,\n GetResourceConnectionsDocument,\n GetVendorRelationsDocument,\n} from \"../../../generated/operations\";\nimport { GetVendorDocument } from \"../../../generated/operations\";\nimport {\n CREATE_RELATION_MUTATION,\n DELETE_RELATION_MUTATION,\n UPDATE_RELATION_MUTATION,\n} from \"../../mutations/relation\";\n\nexport const useCreateRelation = () => {\n const [createRelation, { loading, error }] = useMutation<{\n createRelation: MutationResponse<RelationType>;\n }>(CREATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const createRelation = mutationResult?.data?.createRelation?.data;\n const eventId = createRelation?.eventId;\n const vendorId = createRelation?.vendorId;\n\n const resourceType = createRelation?.lastUpdateBy;\n const resourceId =\n resourceType === ResourceTypeEnum.Event ? eventId : vendorId;\n\n return [\n {\n query: GetEventRelationsDocument,\n variables: { eventId },\n },\n {\n query: GetEventDocument,\n variables: { _id: eventId },\n },\n {\n query: GetEventInfoDocument,\n variables: { eventId },\n },\n {\n query: GetVendorRelationsDocument,\n variables: { vendorId },\n },\n {\n query: GetVendorDocument,\n variables: { _id: vendorId },\n },\n {\n query: GetRelationByEventAndVendorDocument,\n variables: { eventId, vendorId },\n },\n {\n query: GetResourceConnectionsDocument,\n variables: { resourceId, resourceType },\n },\n {\n query: UserChatsDocument,\n },\n ];\n },\n });\n\n return { createRelation, error, loading };\n};\n\nexport const useUpdateRelation = () => {\n const [updateRelation, { loading, error }] = useMutation<{\n updateRelation: MutationResponse<RelationType>;\n }>(UPDATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const updateRelation = mutationResult?.data?.updateRelation?.data;\n const eventId = updateRelation?.eventId;\n const vendorId = updateRelation?.vendorId;\n\n const resourceType = updateRelation?.lastUpdateBy;\n const resourceId =\n resourceType === ResourceTypeEnum.Event ? eventId : vendorId;\n\n return [\n {\n query: GetEventRelationsDocument,\n variables: { eventId },\n },\n {\n query: GetEventDocument,\n variables: { _id: eventId },\n },\n {\n query: GetEventInfoDocument,\n variables: { eventId },\n },\n {\n query: GetVendorRelationsDocument,\n variables: { vendorId },\n },\n {\n query: GetVendorDocument,\n variables: { _id: vendorId },\n },\n {\n query: GetRelationByEventAndVendorDocument,\n variables: { eventId, vendorId },\n },\n {\n query: GetResourceConnectionsDocument,\n variables: { resourceId, resourceType },\n },\n ];\n },\n });\n\n return { error, loading, updateRelation };\n};\n\nexport const useDeleteRelation = () => {\n const [deleteRelation, { loading, error }] = useMutation<{\n deleteRelation: MutationResponse<RelationType>;\n }>(DELETE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const deleteRelation = mutationResult?.data?.deleteRelation?.data;\n const eventId = deleteRelation?.eventId;\n const vendorId = deleteRelation?.vendorId;\n const resourceType = deleteRelation?.lastUpdateBy;\n const resourceId =\n resourceType === ResourceTypeEnum.Event ? eventId : vendorId;\n return [\n {\n query: GetEventInfoDocument,\n variables: { eventId },\n },\n {\n query: GetEventRelationsDocument,\n variables: { eventId },\n },\n {\n query: GetVendorRelationsDocument,\n variables: { vendorId },\n },\n {\n query: GetRelationByEventAndVendorDocument,\n variables: { eventId, vendorId },\n },\n {\n query: GetResourceConnectionsDocument,\n variables: { resourceId, resourceType },\n },\n {\n query: UserChatsDocument,\n },\n ];\n },\n });\n return { deleteRelation, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { RelationFieldsFragmentDoc as RELATION_FIELDS_FRAGMENT } from \"../../generated/operations\";\n\nexport const CREATE_RELATION_MUTATION = gql`\n mutation createRelation($input: RelationInputType!) {\n createRelation(input: $input) {\n data {\n ...RelationFields\n }\n message\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_RELATION_MUTATION = gql`\n mutation updateRelation($_id: ID!, $input: RelationInputType!) {\n updateRelation(_id: $_id, input: $input) {\n data {\n ...RelationFields\n }\n message\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_RELATION_MUTATION = gql`\n mutation deleteRelation($_id: ID!) {\n deleteRelation(_id: $_id) {\n data {\n ...RelationFields\n }\n message\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { ResourceTypeEnum } from \"../../../generated/graphql\";\nimport {\n GetEventRelationsDocument,\n GetRelationByEventAndVendorDocument,\n GetResourceConnectionsDocument,\n GetRelationDocument,\n GetVendorRelationsDocument,\n} from \"../../../generated/operations\";\nimport { ResourceConnectionsType } from \"../../../types\";\nimport { RelationType } from \"../../../types/relation\";\n\nexport const useGetRelation = (_id?: string) => {\n const { loading, error, data, refetch } = useQuery<{\n relation: RelationType;\n }>(GetRelationDocument, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: _id ? { _id } : undefined,\n });\n\n const relation = data?.relation;\n\n return { error, loading, refetch, relation };\n};\n\nexport const useGetRelationByEventAndVendor = (\n eventId: string,\n vendorId: string,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n relationByEventAndVendor: RelationType;\n }>(GetRelationByEventAndVendorDocument, {\n fetchPolicy: \"network-only\",\n skip: !eventId || eventId === \"\" || !vendorId || vendorId === \"\",\n variables: { eventId, vendorId },\n });\n\n const relationByEventAndVendor = data?.relationByEventAndVendor;\n\n return { error, loading, refetch, relationByEventAndVendor };\n};\n\nexport const useGetEventRelations = (eventId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventRelations: RelationType[];\n }>(GetEventRelationsDocument, {\n fetchPolicy: \"network-only\",\n skip: !eventId || eventId === \"\",\n variables: { eventId },\n });\n\n const eventRelations = data?.eventRelations || [];\n\n return { error, eventRelations, loading, refetch };\n};\n\nexport const useGetVendorRelations = (vendorId?: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorRelations: RelationType[];\n }>(GetVendorRelationsDocument, {\n fetchPolicy: \"network-only\",\n skip: !vendorId || vendorId === \"\",\n variables: { vendorId },\n });\n\n const vendorRelations = data?.vendorRelations || [];\n\n return { error, loading, refetch, vendorRelations };\n};\n\nexport const useGetResourceConnections = (\n resourceId: string,\n resourceType: ResourceTypeEnum,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n resourceConnections: ResourceConnectionsType;\n }>(GetResourceConnectionsDocument, {\n fetchPolicy: \"network-only\",\n skip: !resourceId || resourceId === \"\" || !resourceType,\n variables: { resourceId, resourceType },\n });\n\n const resourceConnections = data?.resourceConnections;\n\n return { error, loading, refetch, resourceConnections };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n MutationResponse,\n UnregisteredVendorType,\n VendorType,\n} from \"src/types\";\n\nimport { GetUserVendorsDocument } from \"../../../generated/operations\";\nimport {\n GetVendorDocument,\n GetVendorInfoDocument,\n} from \"../../../generated/operations\";\nimport {\n CREATE_UNREGISTERED_VENDOR_MUTATION,\n CREATE_VENDOR_INFO_MUTATION,\n CREATE_VENDOR_MUTATION,\n DELETE_UNREGISTERED_VENDOR_MUTATION,\n DELETE_VENDOR_MUTATION,\n UNLINK_UNREGISTERED_VENDOR_BY_INVITER_ID_MUTATION,\n UPDATE_UNREGISTERED_VENDOR_MUTATION,\n UPDATE_VENDOR_INFO_MUTATION,\n UPDATE_VENDOR_MUTATION,\n} from \"../../mutations/vendor\";\n\nexport const useCreateVendor = () => {\n const [createVendor, { loading, error }] = useMutation<{\n createVendor: MutationResponse<VendorType>;\n }>(CREATE_VENDOR_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserVendorsDocument }],\n });\n\n return { createVendor, error, loading };\n};\n\nexport const useUpdateVendor = () => {\n const [updateVendor, { loading, error }] = useMutation<{\n updateVendor: MutationResponse<VendorType>;\n }>(UPDATE_VENDOR_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserVendorsDocument }],\n });\n return { error, loading, updateVendor };\n};\n\nexport const useDeleteVendor = () => {\n const [deleteVendor, { loading, error }] = useMutation<{\n deleteVendor: MutationResponse<boolean>;\n }>(DELETE_VENDOR_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserVendorsDocument }],\n });\n return { deleteVendor, error, loading };\n};\n\nexport const useCreateVendorInfo = () => {\n const [createVendorInfo, { loading, error }] = useMutation<{\n createVendorInfo: MutationResponse<{ vendorId: string }>;\n }>(CREATE_VENDOR_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract vendorId from the mutation response\n const vendorId = mutationResult?.data?.createVendorInfo?.data?.vendorId;\n\n if (!vendorId) return [];\n\n return [\n {\n query: GetVendorInfoDocument,\n variables: { vendorId }, // Pass the vendorId for refetching\n },\n {\n query: GetUserVendorsDocument,\n },\n {\n query: GetVendorDocument,\n variables: { _id: vendorId },\n },\n ];\n },\n });\n\n return { createVendorInfo, error, loading };\n};\n\nexport const useUpdateVendorInfo = () => {\n const [updateVendorInfo, { loading, error }] = useMutation<{\n updateVendorInfo: MutationResponse<{ vendorId: string }>;\n }>(UPDATE_VENDOR_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract vendorId from the mutation response\n const vendorId = mutationResult?.data?.updateVendorInfo?.data?.vendorId;\n\n if (!vendorId) return [];\n\n return [\n {\n query: GetVendorInfoDocument,\n variables: { vendorId }, // Pass the vendorId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updateVendorInfo };\n};\n\nexport const useCreateUnregisteredVendor = () => {\n const [createUnregisteredVendor, { loading, error }] = useMutation<{\n createUnregisteredVendor: MutationResponse<UnregisteredVendorType>;\n }>(CREATE_UNREGISTERED_VENDOR_MUTATION);\n\n return { createUnregisteredVendor, error, loading };\n};\n\nexport const useUpdateUnregisteredVendor = () => {\n const [updateUnregisteredVendor, { loading, error }] = useMutation<{\n updateUnregisteredVendor: MutationResponse<UnregisteredVendorType>;\n }>(UPDATE_UNREGISTERED_VENDOR_MUTATION);\n return { error, loading, updateUnregisteredVendor };\n};\n\nexport const useDeleteUnregisteredVendor = () => {\n const [deleteUnregisteredVendor, { loading, error }] = useMutation<{\n deleteUnregisteredVendor: MutationResponse<boolean>;\n }>(DELETE_UNREGISTERED_VENDOR_MUTATION);\n return { deleteUnregisteredVendor, error, loading };\n};\n\nexport const useUnlinkUnregisteredVendorByInviterId = () => {\n const [unlinkUnregisteredVendorByInviterId, { loading, error }] =\n useMutation<{\n unlinkUnregisteredVendorByInviterId: MutationResponse<boolean>;\n }>(UNLINK_UNREGISTERED_VENDOR_BY_INVITER_ID_MUTATION);\n return { error, loading, unlinkUnregisteredVendorByInviterId };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { UnregisteredVendorFieldsFragmentDoc as UNREGISTERED_VENDOR, VendorFieldsFragmentDoc as VENDOR, VendorInfoFieldsFragmentDoc as VENDOR_INFO } from \"../../generated/operations\";\n\nexport const CREATE_VENDOR_MUTATION = gql`\n mutation createVendor($input: VendorInputType!) {\n createVendor(input: $input) {\n data {\n ...VendorFields\n }\n message\n }\n }\n ${VENDOR}\n`;\n\nexport const UPDATE_VENDOR_MUTATION = gql`\n mutation updateVendor($_id: ID!, $input: VendorInputType!) {\n updateVendor(_id: $_id, input: $input) {\n data {\n ...VendorFields\n }\n message\n }\n }\n ${VENDOR}\n`;\n\nexport const DELETE_VENDOR_MUTATION = gql`\n mutation deleteVendor($_id: ID!) {\n deleteVendor(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const CREATE_VENDOR_INFO_MUTATION = gql`\n mutation createVendorInfo($input: VendorInfoInputType!) {\n createVendorInfo(input: $input) {\n data {\n ...VendorInfoFields\n }\n message\n }\n }\n ${VENDOR_INFO}\n`;\n\nexport const UPDATE_VENDOR_INFO_MUTATION = gql`\n mutation updateVendorInfo($_id: ID!, $input: VendorInfoInputType!) {\n updateVendorInfo(_id: $_id, input: $input) {\n data {\n ...VendorInfoFields\n }\n message\n }\n }\n ${VENDOR_INFO}\n`;\n\nexport const CREATE_UNREGISTERED_VENDOR_MUTATION = gql`\n mutation createUnregisteredVendor($input: UnregisteredVendorInputType!) {\n createUnregisteredVendor(input: $input) {\n data {\n ...UnregisteredVendorFields\n }\n message\n }\n }\n ${UNREGISTERED_VENDOR}\n`;\n\nexport const UPDATE_UNREGISTERED_VENDOR_MUTATION = gql`\n mutation updateUnregisteredVendor(\n $_id: ID!\n $input: UnregisteredVendorInputType!\n ) {\n updateUnregisteredVendor(_id: $_id, input: $input) {\n data {\n ...UnregisteredVendorFields\n }\n message\n }\n }\n ${UNREGISTERED_VENDOR}\n`;\n\nexport const DELETE_UNREGISTERED_VENDOR_MUTATION = gql`\n mutation deleteUnregisteredVendor($_id: ID!) {\n deleteUnregisteredVendor(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const UNLINK_UNREGISTERED_VENDOR_BY_INVITER_ID_MUTATION = gql`\n mutation unlinkUnregisteredVendorByInviterId($_id: ID!, $inviterId: ID!) {\n unlinkUnregisteredVendorByInviterId(_id: $_id, inviterId: $inviterId) {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n GetUnregisteredVendorDocument,\n GetUnregisteredVendorsDocument,\n GetUnregisteredVendorsByInviterIdDocument,\n GetVendorDocument,\n GetVendorInfoDocument,\n GetVendorsDocument,\n GetVendorsByRegionDocument,\n SearchVendorsDocument,\n} from \"../../../generated/operations\";\nimport type {\n UnregisteredVendorType,\n VendorInfoType,\n VendorType,\n} from \"../../../types\";\nimport { UseGetResourcesByRegionOptions } from \"../../../types/global\";\n\nexport const useGetVendors = () => {\n const { loading, error, data, refetch } = useQuery<{ vendors: VendorType[] }>(\n GetVendorsDocument,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const vendors = data?.vendors || [];\n\n return {\n error,\n loading,\n refetch,\n vendors,\n };\n};\n\nexport const useGetVendor = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ vendor: VendorType }>(\n GetVendorDocument,\n {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n },\n );\n\n const vendor = data?.vendor;\n\n return { error, loading, refetch, vendor };\n};\n\nexport const useGetVendorsByRegion = (\n region: string,\n options?: UseGetResourcesByRegionOptions,\n) => {\n const variables = {\n options,\n region,\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n vendorsByRegion: VendorType[];\n }>(GetVendorsByRegionDocument, {\n fetchPolicy: \"network-only\",\n variables,\n });\n\n const vendorsByRegion = data?.vendorsByRegion || [];\n\n return {\n error,\n fetchMore,\n loading,\n refetch,\n vendorsByRegion,\n };\n};\n\nexport const useSearchVendors = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorSearch: VendorType[];\n }>(SearchVendorsDocument, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const vendorSearch = data?.vendorSearch || [];\n\n return { error, loading, refetch, vendorSearch };\n};\n\nexport const useGetVendorInfo = (vendorId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorInfo: VendorInfoType;\n }>(GetVendorInfoDocument, {\n fetchPolicy: \"network-only\",\n skip: !vendorId || vendorId === \"\",\n variables: { vendorId },\n });\n\n const vendorInfo = data?.vendorInfo;\n\n return {\n error,\n loading,\n refetch,\n vendorInfo,\n };\n};\n\nexport const useGetUnregisteredVendors = () => {\n const { loading, error, data, refetch } = useQuery<{\n unregisteredVendors: UnregisteredVendorType[];\n }>(GetUnregisteredVendorsDocument, {\n fetchPolicy: \"network-only\",\n });\n\n const unregisteredVendors = data?.unregisteredVendors || [];\n\n return {\n error,\n loading,\n refetch,\n unregisteredVendors,\n };\n};\n\nexport const useGetUnregisteredVendorsByInviterId = (inviterId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n unregisteredVendorsByInviterId: UnregisteredVendorType[];\n }>(GetUnregisteredVendorsByInviterIdDocument, {\n fetchPolicy: \"network-only\",\n skip: !inviterId || inviterId === \"\",\n variables: { inviterId },\n });\n\n const unregisteredVendorsByInviterId =\n data?.unregisteredVendorsByInviterId || [];\n\n return { error, loading, refetch, unregisteredVendorsByInviterId };\n};\n\nexport const useGetUnregisteredVendor = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{\n unregisteredVendor: UnregisteredVendorType;\n }>(GetUnregisteredVendorDocument, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n const unregisteredVendor = data?.unregisteredVendor;\n\n return { error, loading, refetch, unregisteredVendor };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n UserLicenceType,\n SafeUserType,\n RedeemRewardMutationResponse,\n MutationResponse,\n} from \"src/types\";\n\nimport {\n GetUserDocument,\n GetUserActivitiesDocument,\n GetUserEventsDocument,\n GetUserVendorsDocument,\n} from \"../../../generated/operations\";\nimport {\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n ADD_USER_GOING_RESOURCE_MUTATION,\n ADD_USER_INTEREST_RESOURCE_MUTATION,\n ADD_USER_PRESENT_RESOURCE_MUTATION,\n DELETE_USER_MUTATION,\n REDEEM_REWARD_MUTATION,\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n REMOVE_USER_GOING_RESOURCE_MUTATION,\n REMOVE_USER_INTEREST_RESOURCE_MUTATION,\n REMOVE_USER_PRESENT_RESOURCE_MUTATION,\n SELECT_STANDARD_PACKAGE_MUTATION,\n UPDATE_USER_MUTATION,\n} from \"../../mutations/user\";\n\nexport const useUpdateUser = () => {\n const [updateUser, { loading, error }] = useMutation<{\n updateUser: MutationResponse<SafeUserType>;\n }>(UPDATE_USER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.updateUser?.data?._id;\n\n if (!userId) return [];\n\n return [{ query: GetUserDocument, variables: { _id: userId } }];\n },\n });\n\n return { error, loading, updateUser };\n};\n\nexport const useDeleteUser = () => {\n const [deleteUser, { loading, error }] = useMutation<{\n deleteUser: MutationResponse<boolean>;\n }>(DELETE_USER_MUTATION);\n\n return { deleteUser, error, loading };\n};\n\nexport const useRedeemReward = () => {\n const [redeemReward, { loading, error }] = useMutation<{\n redeemReward: RedeemRewardMutationResponse;\n }>(REDEEM_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const userId = mutationResult?.data?.redeemReward?.data?.userId;\n\n if (!userId) return [];\n\n return [\n {\n query: GetUserDocument,\n variables: { _id: userId }, // Pass the userId for refetching\n },\n ];\n },\n });\n\n return { error, loading, redeemReward };\n};\n\nexport const useAddUserFavouriteResource = () => {\n const [addUserFavouriteResource, { loading, error }] = useMutation<{\n addUserFavouriteResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_FAVOURITE_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserActivitiesDocument }],\n });\n\n return { addUserFavouriteResource, error, loading };\n};\n\nexport const useRemoveUserFavouriteResource = () => {\n const [removeUserFavouriteResource, { loading, error }] = useMutation<{\n removeUserFavouriteResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_FAVOURITE_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserActivitiesDocument }],\n });\n\n return { error, loading, removeUserFavouriteResource };\n};\n\nexport const useAddUserInterestResource = () => {\n const [addUserInterestResource, { loading, error }] = useMutation<{\n addUserInterestResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_INTEREST_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserActivitiesDocument }],\n });\n\n return { addUserInterestResource, error, loading };\n};\n\nexport const useRemoveUserInterestResource = () => {\n const [removeUserInterestResource, { loading, error }] = useMutation<{\n removeUserInterestResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_INTEREST_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserActivitiesDocument }],\n });\n\n return { error, loading, removeUserInterestResource };\n};\n\nexport const useAddUserGoingResource = () => {\n const [addUserGoingResource, { loading, error }] = useMutation<{\n addUserGoingResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_GOING_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserActivitiesDocument }],\n });\n\n return { addUserGoingResource, error, loading };\n};\n\nexport const useRemoveUserGoingResource = () => {\n const [removeUserGoingResource, { loading, error }] = useMutation<{\n removeUserGoingResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_GOING_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserActivitiesDocument }],\n });\n\n return { error, loading, removeUserGoingResource };\n};\n\nexport const useAddUserPresentResource = () => {\n const [addUserPresentResource, { loading, error }] = useMutation<{\n addUserPresentResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_PRESENT_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserActivitiesDocument }],\n });\n\n return { addUserPresentResource, error, loading };\n};\n\nexport const useRemoveUserPresentResource = () => {\n const [removeUserPresentResource, { loading, error }] = useMutation<{\n removeUserPresentResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_PRESENT_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserActivitiesDocument }],\n });\n\n return { error, loading, removeUserPresentResource };\n};\n\nexport const useSelectStandardPackage = () => {\n const [selectStandardPackage, { loading, error }] = useMutation<{\n selectStandardPackage: MutationResponse<{\n userId: string;\n licences: UserLicenceType[];\n }>;\n }>(SELECT_STANDARD_PACKAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.selectStandardPackage?.data?.userId;\n\n if (!userId) return [];\n\n return [\n { query: GetUserDocument, variables: { _id: userId } },\n { query: GetUserEventsDocument },\n { query: GetUserVendorsDocument },\n ];\n },\n });\n\n return { error, loading, selectStandardPackage };\n};\n","import { gql } from \"@apollo/client\";\n\nimport {\n LicenceFieldsFragmentDoc as LICENCE_FIELDS_FRAGMENT,\n UserFieldsFragmentDoc as USER_FIELDS_FRAGMENT,\n} from \"../../generated/operations\";\n\nexport const UPDATE_USER_MUTATION = gql`\n mutation updateUser($_id: ID!, $input: UserInputType!) {\n updateUser(_id: $_id, input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_USER_MUTATION = gql`\n mutation deleteUser($email: String!) {\n deleteUser(email: $email) {\n data\n message\n }\n }\n`;\n\nexport const REDEEM_REWARD_MUTATION = gql`\n mutation redeemReward($input: RedeemRewardInputType!) {\n redeemReward(input: $input) {\n data {\n userId\n }\n message\n }\n }\n`;\n\nexport const ADD_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation addUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n addUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation removeUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n removeUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_INTEREST_RESOURCE_MUTATION = gql`\n mutation addUserInterestResource($input: UserActivityInputType!) {\n addUserInterestResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_INTEREST_RESOURCE_MUTATION = gql`\n mutation removeUserInterestResource($input: UserActivityInputType!) {\n removeUserInterestResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_GOING_RESOURCE_MUTATION = gql`\n mutation addUserGoingResource($input: UserActivityInputType!) {\n addUserGoingResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_GOING_RESOURCE_MUTATION = gql`\n mutation removeUserGoingResource($input: UserActivityInputType!) {\n removeUserGoingResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_PRESENT_RESOURCE_MUTATION = gql`\n mutation addUserPresentResource($input: UserActivityInputType!) {\n addUserPresentResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_PRESENT_RESOURCE_MUTATION = gql`\n mutation removeUserPresentResource($input: UserActivityInputType!) {\n removeUserPresentResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const SELECT_STANDARD_PACKAGE_MUTATION = gql`\n mutation selectStandardPackage($selectedLicence: LicencesEnumType!) {\n selectStandardPackage(selectedLicence: $selectedLicence) {\n data {\n licences {\n ...LicenceFields\n }\n userId\n }\n message\n }\n }\n ${LICENCE_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n EventListItemType,\n EventType,\n PartnerType,\n VendorType,\n ResourceByUser,\n SafeUserType,\n} from \"src/types\";\n\nimport {\n GetUserDocument,\n GetUserActivitiesDocument,\n GetUserEventsDocument,\n GetUserPartnersDocument,\n GetUserResourcesDocument,\n GetUserVendorsDocument,\n GetUsersDocument,\n} from \"../../../generated/operations\";\n\nexport const useGetUsers = () => {\n const { loading, error, data, refetch } = useQuery<{ users: SafeUserType[] }>(\n GetUsersDocument,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const users = data?.users || [];\n\n return { error, loading, refetch, users };\n};\n\nexport const useGetUser = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ user: SafeUserType }>(\n GetUserDocument,\n {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n },\n );\n\n const user = data?.user;\n\n return { error, loading, refetch, user };\n};\n\nexport const useGetUserEvents = () => {\n const { loading, error, data, refetch } = useQuery<{\n userEvents: EventType[];\n }>(GetUserEventsDocument, {\n fetchPolicy: \"network-only\",\n });\n\n const userEvents = data?.userEvents || [];\n\n return { error, loading, refetch, userEvents };\n};\n\nexport const useGetUserVendors = () => {\n const { loading, error, data, refetch } = useQuery<{\n userVendors: VendorType[];\n }>(GetUserVendorsDocument, {\n fetchPolicy: \"network-only\",\n });\n\n const userVendors = data?.userVendors || [];\n\n return { error, loading, refetch, userVendors };\n};\n\nexport const useGetUserPartners = () => {\n const { loading, error, data, refetch } = useQuery<{\n userPartners: PartnerType[];\n }>(GetUserPartnersDocument, {\n fetchPolicy: \"network-only\",\n });\n\n const userPartners = data?.userPartners || [];\n\n return { error, loading, refetch, userPartners };\n};\n\nexport const useGetUserActivities = () => {\n const { loading, error, data, refetch } = useQuery<{\n userActivities: {\n favourites: {\n events: EventListItemType[];\n partners: PartnerType[];\n vendors: VendorType[];\n };\n going: {\n events: EventListItemType[];\n };\n interested: {\n events: EventListItemType[];\n };\n present: {\n events: EventListItemType[];\n };\n };\n }>(GetUserActivitiesDocument, {\n fetchPolicy: \"network-only\",\n });\n\n const userActivities = {\n favourites: {\n events: data?.userActivities.favourites.events || [],\n partners: data?.userActivities.favourites.partners || [],\n vendors: data?.userActivities.favourites.vendors || [],\n },\n going: {\n events: data?.userActivities.going.events || [],\n },\n interested: {\n events: data?.userActivities.interested.events || [],\n },\n present: {\n events: data?.userActivities.present.events || [],\n },\n };\n\n return { error, loading, refetch, userActivities };\n};\n\nexport const useGetUserResources = (userId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n userResources: {\n resources: ResourceByUser[];\n };\n }>(GetUserResourcesDocument, {\n fetchPolicy: \"network-only\",\n skip: !userId || userId === \"\",\n variables: { userId },\n });\n\n const userResources = data?.userResources.resources || [];\n\n return { error, loading, refetch, userResources };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { AdType, MutationResponse } from \"src/types\";\n\nimport {\n CreateAdDocument,\n DeleteAdDocument,\n UpdateAdDocument,\n} from \"../../../generated/operations\";\nimport { GetAdsDocument } from \"../../../generated/operations\";\n\nexport const useCreateAd = () => {\n const [createAd, { loading, error }] = useMutation<{\n createAd: MutationResponse<AdType>;\n }>(CreateAdDocument, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetAdsDocument }],\n });\n\n return {\n createAd,\n error,\n loading,\n };\n};\n\nexport const useUpdateAd = () => {\n const [updateAd, { loading, error }] = useMutation<{\n updateAd: MutationResponse<AdType>;\n }>(UpdateAdDocument, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetAdsDocument }],\n });\n\n return {\n error,\n loading,\n updateAd,\n };\n};\n\nexport const useDeleteAd = () => {\n const [deleteAd, { loading, error }] = useMutation<{\n deleteAd: MutationResponse<boolean>;\n }>(DeleteAdDocument, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetAdsDocument }],\n });\n\n return {\n deleteAd,\n error,\n loading,\n };\n};\n","import { useQuery } from \"@apollo/client\";\n\nimport { AdType } from \"src/types\";\n\nimport { AdStatusTypeEnum } from \"../../../generated/graphql\";\nimport {\n GetAdsDocument,\n GetAdDocument,\n GetAdsByRegionDocument,\n} from \"../../../generated/operations\";\n\nexport const useGetAds = () => {\n const { data, loading, error, refetch } = useQuery<{ ads: AdType[] }>(\n GetAdsDocument,\n {\n fetchPolicy: \"no-cache\",\n },\n );\n\n return {\n ads: data?.ads || [],\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAd = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{ ad: AdType }>(\n GetAdDocument,\n {\n fetchPolicy: \"no-cache\",\n skip: !_id || _id === \"\",\n variables: { _id },\n },\n );\n\n return {\n ad: data?.ad,\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAdsByRegion = (\n region: string,\n status?: AdStatusTypeEnum,\n) => {\n const { data, loading, error, refetch } = useQuery<{\n adsByRegion: AdType[];\n }>(GetAdsByRegionDocument, {\n fetchPolicy: \"no-cache\",\n skip: !region || region === \"\",\n variables: { region, status },\n });\n\n return {\n adsByRegion: data?.adsByRegion || [],\n error,\n loading,\n refetch,\n };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_RESOURCE_ACTIVITY_MUTATION } from \"src/graphql/mutations/resourceActivities\";\nimport { MutationResponse } from \"src/types\";\n\nexport const useCreateResourceActivity = () => {\n const [createResourceActivity, { loading, error }] = useMutation<{\n createResourceActivity: MutationResponse<boolean>;\n }>(CREATE_RESOURCE_ACTIVITY_MUTATION);\n\n return { createResourceActivity, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_RESOURCE_ACTIVITY_MUTATION = gql`\n mutation createResourceActivity($input: ResourceActivityInputType!) {\n createResourceActivity(input: $input) {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { ResourceActivityType } from \"src/types\";\n\nimport { ResourceTypeEnum } from \"../../../generated/graphql\";\nimport { GetResourceActivityDocument } from \"../../../generated/operations\";\n\nexport const useGetResourceActivity = (\n resourceId: string,\n resourceType: ResourceTypeEnum,\n) => {\n const { data, loading, error, refetch } = useQuery<{\n resourceActivity: ResourceActivityType;\n }>(GetResourceActivityDocument, {\n fetchPolicy: \"network-only\",\n variables: { resourceId, resourceType },\n });\n\n return {\n error,\n loading,\n refetch,\n resourceActivity: data?.resourceActivity || null,\n };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { MutationResponse } from \"src/types\";\n\nimport {\n CANCEL_SUBSCRIPTION_MUTATION,\n CREATE_CHECKOUT_SESSION_MUTATION,\n CREATE_CUSTOMER_PORTAL,\n UPDATE_SUBSCRIPTION_PLAN_MUTATION,\n} from \"../../mutations/stripe\";\n\nexport const useCreateCheckoutSession = () => {\n const [createCheckoutSession, { loading, error }] = useMutation<{\n createCheckoutSession: MutationResponse<{\n sessionId: string;\n checkoutUrl: string;\n }>;\n }>(CREATE_CHECKOUT_SESSION_MUTATION);\n\n return { createCheckoutSession, error, loading };\n};\n\nexport const useCancelSubscription = () => {\n const [cancelSubscription, { loading, error }] = useMutation<{\n cancelSubscription: MutationResponse<string>;\n }>(CANCEL_SUBSCRIPTION_MUTATION);\n\n return { cancelSubscription, error, loading };\n};\n\nexport const useUpdateSubscriptionPlan = () => {\n const [updateSubscriptionPlan, { loading, error }] = useMutation<{\n updateSubscriptionPlan: MutationResponse<{\n subscriptionId: string;\n status: string;\n priceId: string;\n currentPlan: string;\n }>;\n }>(UPDATE_SUBSCRIPTION_PLAN_MUTATION);\n\n return { error, loading, updateSubscriptionPlan };\n};\n\nexport const useCreateCustomerPortal = () => {\n const [createCustomerPortal, { loading, error }] = useMutation<{\n createCustomerPortal: MutationResponse<{ portalUrl: string }>;\n }>(CREATE_CUSTOMER_PORTAL);\n\n return { createCustomerPortal, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_CHECKOUT_SESSION_MUTATION = gql`\n mutation createCheckoutSession(\n $planId: LicencesEnumType!\n $billingPeriod: BillingPeriodEnumType\n ) {\n createCheckoutSession(planId: $planId, billingPeriod: $billingPeriod) {\n data {\n sessionId\n checkoutUrl\n }\n message\n }\n }\n`;\n\nexport const CANCEL_SUBSCRIPTION_MUTATION = gql`\n mutation cancelSubscription {\n cancelSubscription {\n data\n message\n }\n }\n`;\n\nexport const UPDATE_SUBSCRIPTION_PLAN_MUTATION = gql`\n mutation updateSubscriptionPlan(\n $newPlanId: LicencesEnumType!\n $billingPeriod: BillingPeriodEnumType\n ) {\n updateSubscriptionPlan(\n newPlanId: $newPlanId\n billingPeriod: $billingPeriod\n ) {\n data {\n subscriptionId\n status\n priceId\n currentPlan\n }\n message\n }\n }\n`;\n\nexport const CREATE_CUSTOMER_PORTAL = gql`\n mutation createCustomerPortal($returnUrl: String) {\n createCustomerPortal(returnUrl: $returnUrl) {\n data {\n portalUrl\n }\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n SubscriptionStatusData,\n} from \"../../../types/user\";\nimport type { SubscriptionPlansResponse } from \"../../../types\";\nimport {\n GetSubscriptionStatusDocument,\n GetSubscriptionPlansDocument,\n} from \"../../../generated/operations\";\n\nexport const useGetSubscriptionStatus = () => {\n const { data, loading, error, refetch } = useQuery<{\n getSubscriptionStatus: SubscriptionStatusData;\n }>(GetSubscriptionStatusDocument);\n\n return {\n data: data?.getSubscriptionStatus,\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetSubscriptionPlans = () => {\n const { data, loading, error, refetch } = useQuery<{\n getSubscriptionPlans: SubscriptionPlansResponse;\n }>(GetSubscriptionPlansDocument);\n\n return {\n data: data?.getSubscriptionPlans,\n error,\n loading,\n refetch,\n };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_PARTNER_MUTATION,\n DELETE_PARTNER_MUTATION,\n UPDATE_PARTNER_MUTATION,\n} from \"src/graphql/mutations/partner\";\nimport { MutationResponse, PartnerType } from \"src/types\";\n\nimport { GetUserPartnersDocument } from \"../../../generated/operations\";\n\nexport const useCreatePartner = () => {\n const [createPartner, { loading, error }] = useMutation<{\n createPartner: MutationResponse<PartnerType>;\n }>(CREATE_PARTNER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserPartnersDocument }],\n });\n\n return { createPartner, error, loading };\n};\n\nexport const useUpdatePartner = () => {\n const [updatePartner, { loading, error }] = useMutation<{\n updatePartner: MutationResponse<PartnerType>;\n }>(UPDATE_PARTNER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserPartnersDocument }],\n });\n\n return { error, loading, updatePartner };\n};\n\nexport const useDeletePartner = () => {\n const [deletePartner, { loading, error }] = useMutation<{\n deletePartner: MutationResponse<boolean>;\n }>(DELETE_PARTNER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetUserPartnersDocument }],\n });\n\n return { deletePartner, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { PartnerFieldsFragmentDoc as PARTNER } from \"../../generated/operations\";\n\nexport const CREATE_PARTNER_MUTATION = gql`\n mutation createPartner($input: PartnerInputType!) {\n createPartner(input: $input) {\n data {\n ...PartnerFields\n }\n message\n }\n }\n ${PARTNER}\n`;\n\nexport const UPDATE_PARTNER_MUTATION = gql`\n mutation updatePartner($_id: ID!, $input: PartnerInputType!) {\n updatePartner(_id: $_id, input: $input) {\n data {\n ...PartnerFields\n }\n message\n }\n }\n ${PARTNER}\n`;\n\nexport const DELETE_PARTNER_MUTATION = gql`\n mutation deletePartner($_id: ID!) {\n deletePartner(_id: $_id) {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { PartnerType } from \"src/types\";\n\nimport {\n GetPartnerDocument,\n GetPartnersDocument,\n GetPartnersByRegionDocument,\n SearchPartnersDocument,\n} from \"../../../generated/operations\";\nimport { UseGetResourcesByRegionOptions } from \"../../../types/global\";\n\nexport const useGetPartners = () => {\n const { loading, error, data, refetch } = useQuery<{\n partners: PartnerType[];\n }>(GetPartnersDocument, {\n fetchPolicy: \"network-only\",\n });\n const partners = data?.partners || [];\n\n return {\n error,\n loading,\n partners,\n refetch,\n };\n};\n\nexport const useGetPartner = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ partner: PartnerType }>(\n GetPartnerDocument,\n {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n },\n );\n\n const partner = data?.partner;\n\n return { error, loading, partner, refetch };\n};\n\nexport const useGetPartnersByRegion = (\n region: string,\n options?: UseGetResourcesByRegionOptions,\n) => {\n const variables = {\n options,\n region,\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n partnersByRegion: PartnerType[];\n }>(GetPartnersByRegionDocument, {\n fetchPolicy: \"network-only\",\n variables,\n });\n\n const partnersByRegion = data?.partnersByRegion || [];\n\n return {\n error,\n fetchMore,\n loading,\n partnersByRegion,\n refetch,\n };\n};\n\nexport const useSearchPartners = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n partnersSearch: PartnerType[];\n }>(SearchPartnersDocument, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const partnersSearch = data?.partnersSearch || [];\n\n return { error, loading, partnersSearch, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_POST_MUTATION,\n DELETE_POST_MUTATION,\n UPDATE_POST_MUTATION,\n} from \"src/graphql/mutations/post\";\nimport { MutationResponse, PostType } from \"src/types\";\n\nimport { GetPostsDocument } from \"../../../generated/operations\";\n\nexport const useCreatePost = () => {\n const [createPost, { loading, error }] = useMutation<{\n createPost: MutationResponse<PostType>;\n }>(CREATE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetPostsDocument }],\n });\n\n return { createPost, error, loading };\n};\n\nexport const useUpdatePost = () => {\n const [updatePost, { loading, error }] = useMutation<{\n updatePost: MutationResponse<PostType>;\n }>(UPDATE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetPostsDocument }],\n });\n\n return { error, loading, updatePost };\n};\n\nexport const useDeletePost = () => {\n const [deletePost, { loading, error }] = useMutation<{\n deletePost: MutationResponse<boolean>;\n }>(DELETE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetPostsDocument }],\n });\n\n return { deletePost, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { PostFieldsFragmentDoc as POST_FIELDS_FRAGMENT } from \"../../generated/operations\";\n\nexport const CREATE_POST_MUTATION = gql`\n mutation createPost($input: PostInputType!) {\n createPost(input: $input) {\n data {\n ...PostFields\n }\n message\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_POST_MUTATION = gql`\n mutation updatePost($_id: ID!, $input: PostInputType!) {\n updatePost(_id: $_id, input: $input) {\n data {\n ...PostFields\n }\n message\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_POST_MUTATION = gql`\n mutation deletePost($_id: ID!) {\n deletePost(_id: $_id) {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { PostType } from \"src/types\";\n\nimport { PostTypeEnum } from \"../../../generated/graphql\";\nimport {\n GetPostDocument,\n GetPostsDocument,\n GetPostsByTypeDocument,\n} from \"../../../generated/operations\";\n\nexport const useGetPosts = () => {\n const { data, loading, error, refetch } = useQuery<{\n posts: PostType[];\n }>(GetPostsDocument, {\n fetchPolicy: \"network-only\",\n });\n\n return { error, loading, posts: data?.posts || [], refetch };\n};\n\nexport const useGetPost = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{\n post: PostType;\n }>(GetPostDocument, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n return { error, loading, post: data?.post, refetch };\n};\n\nexport const useGetPostsByType = (postType: PostTypeEnum) => {\n const { data, loading, error, refetch } = useQuery<{\n postsByType: PostType[];\n }>(GetPostsByTypeDocument, {\n fetchPolicy: \"network-only\",\n skip: !postType,\n variables: { postType },\n });\n\n return { error, loading, postsByType: data?.postsByType || [], refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CRAWL_GOOGLE_MARKETS_MUTATION,\n UPDATE_APP_SETTINGS_MUTATION,\n UPDATE_GOOGLE_IMPORTED_MARKET_MUTATION,\n} from \"src/graphql/mutations/appSettings\";\nimport { MutationResponse } from \"src/types\";\n\nimport { GetAppSettingsDocument } from \"../../../generated/operations\";\n\nexport const useUpdateAppSettings = () => {\n const [updateAppSettings, { loading, error }] = useMutation<{\n updateAppSettings: MutationResponse<boolean>;\n }>(UPDATE_APP_SETTINGS_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetAppSettingsDocument }],\n });\n\n return { error, loading, updateAppSettings };\n};\n\nexport const useCrawlGoogleMarkets = () => {\n const [crawlGoogleMarkets, { loading, error }] = useMutation<{\n crawlGoogleMarkets: MutationResponse<boolean>;\n }>(CRAWL_GOOGLE_MARKETS_MUTATION);\n\n return { crawlGoogleMarkets, error, loading };\n};\n\nexport const useUpdateGoogleImportedMarkets = () => {\n const [updateGoogleImportedMarkets, { loading, error }] = useMutation<{\n updateGoogleImportedMarkets: MutationResponse<boolean>;\n }>(UPDATE_GOOGLE_IMPORTED_MARKET_MUTATION);\n\n return { error, loading, updateGoogleImportedMarkets };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const UPDATE_APP_SETTINGS_MUTATION = gql`\n mutation updateAppSettings($input: AppSettingsInputType!) {\n updateAppSettings(input: $input) {\n data\n message\n }\n }\n`;\n\nexport const CRAWL_GOOGLE_MARKETS_MUTATION = gql`\n mutation crawlGoogleMarkets {\n crawlGoogleMarkets {\n data\n message\n }\n }\n`;\n\nexport const UPDATE_GOOGLE_IMPORTED_MARKET_MUTATION = gql`\n mutation updateGoogleImportedMarkets {\n updateGoogleImportedMarkets {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { AppSettingsType } from \"src/types/appSettings\";\n\nimport { GetAppSettingsDocument } from \"../../../generated/operations\";\n\nexport const useGetAppSettings = () => {\n const { loading, error, data, refetch } = useQuery<{\n appSettings: AppSettingsType;\n }>(GetAppSettingsDocument, {\n fetchPolicy: \"network-only\",\n });\n\n const appSettings = data?.appSettings || null;\n\n return { appSettings, error, loading, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n LEAVE_GAME_MUTATION,\n START_GAME_MUTATION,\n UPDATE_DAILY_CLUE_MUTATION,\n UPDATE_PUZZLE_GAME_MUTATION,\n} from \"src/graphql/mutations/game\";\nimport { GameDocType, MutationResponse } from \"src/types\";\n\nimport {\n GetGameDocument,\n GetGamesDocument,\n} from \"../../../generated/operations\";\nimport { GetUserDocument } from \"../../../generated/operations\";\n\nexport const useStartGame = () => {\n const [startGame, { loading, error }] = useMutation<{\n startGame: MutationResponse<GameDocType>;\n }>(START_GAME_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract gameId from the mutation response\n const gameId = mutationResult?.data?.startGame?.data?._id;\n const userId = mutationResult?.data?.startGame?.data?.owner?.userId;\n\n if (!gameId || !userId) return [];\n\n return [\n {\n query: GetGameDocument,\n variables: { _id: gameId }, // Pass the gameId for refetching\n },\n {\n query: GetUserDocument,\n variables: { _id: userId }, // Pass the userId for refetching\n },\n ];\n },\n });\n\n return { error, loading, startGame };\n};\n\nexport const useLeaveGame = () => {\n const [leaveGame, { loading, error }] = useMutation<{\n leaveGame: MutationResponse<boolean>;\n }>(LEAVE_GAME_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [\n {\n query: GetGamesDocument,\n },\n ],\n });\n\n return { error, leaveGame, loading };\n};\n\nexport const useUpdateDailyClueGame = () => {\n const [updateDailyClueGame, { loading, error }] = useMutation<{\n updateDailyClueGame: MutationResponse<GameDocType>;\n }>(UPDATE_DAILY_CLUE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract gameId from the mutation response\n const gameId = mutationResult?.data?.updateDailyClueGame?.data?._id;\n\n if (!gameId) return [];\n\n return [\n {\n query: GetGameDocument,\n variables: { _id: gameId }, // Pass the gameId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updateDailyClueGame };\n};\n\nexport const useUpdatePuzzleGame = () => {\n const [updatePuzzleGame, { loading, error }] = useMutation<{\n updatePuzzleGame: MutationResponse<GameDocType>;\n }>(UPDATE_PUZZLE_GAME_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract gameId from the mutation response\n const gameId = mutationResult?.data?.updatePuzzleGame?.data?._id;\n\n if (!gameId) return [];\n\n return [\n {\n query: GetGameDocument,\n variables: { _id: gameId }, // Pass the gameId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updatePuzzleGame };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { GameDocFieldsFragmentDoc as GAME_DOC_FIELDS_FRAGMENT } from \"../../generated/operations\";\n\nexport const START_GAME_MUTATION = gql`\n mutation startGame($input: BaseGameInputType!) {\n startGame(input: $input) {\n data {\n ...GameDocFields\n }\n message\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n\nexport const LEAVE_GAME_MUTATION = gql`\n mutation leaveGame(\n $_id: ID!\n $gameType: GameTypeEnumType!\n $gameTypeId: String!\n ) {\n leaveGame(_id: $_id, gameType: $gameType, gameTypeId: $gameTypeId) {\n data\n message\n }\n }\n`;\n\nexport const UPDATE_DAILY_CLUE_MUTATION = gql`\n mutation updateDailyClueGame(\n $_id: ID!\n $foundLetter: String!\n $gameType: GameTypeEnumType!\n $gameTypeId: String!\n ) {\n updateDailyClueGame(\n _id: $_id\n foundLetter: $foundLetter\n gameType: $gameType\n gameTypeId: $gameTypeId\n ) {\n data {\n ...GameDocFields\n }\n message\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_PUZZLE_GAME_MUTATION = gql`\n mutation updatePuzzleGame(\n $_id: ID!\n $answeredQuestions: [PuzzleAnsweredQuestionInputType!]!\n $gameType: GameTypeEnumType!\n $gameTypeId: String!\n ) {\n updatePuzzleGame(\n _id: $_id\n answeredQuestions: $answeredQuestions\n gameType: $gameType\n gameTypeId: $gameTypeId\n ) {\n data {\n ...GameDocFields\n }\n message\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GameLeaderboardType, GameDocType } from \"src/types\";\n\nimport {\n GetGameDocument,\n GetGameLeaderboardDocument,\n GetGamesDocument,\n} from \"../../../generated/operations\";\n\nexport const useGetGames = () => {\n const { loading, error, data, refetch } = useQuery<{\n games: GameDocType[];\n }>(GetGamesDocument, {\n fetchPolicy: \"network-only\",\n });\n\n const games = data?.games || [];\n\n return { error, games, loading, refetch };\n};\n\nexport const useGetGame = (_id?: string | null) => {\n const { loading, error, data, refetch } = useQuery<{\n game: GameDocType | null;\n }>(GetGameDocument, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: _id ? { _id } : undefined,\n });\n\n const game = data?.game || null;\n\n return { error, game, loading, refetch };\n};\n\nexport const useGetGameLeaderboard = () => {\n const { loading, error, data, refetch } = useQuery<{\n gameLeaderboard: GameLeaderboardType[];\n }>(GetGameLeaderboardDocument, {\n fetchPolicy: \"network-only\",\n });\n\n const gameLeaderboard = data?.gameLeaderboard || [];\n\n return { error, gameLeaderboard, loading, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { MutationResponse, SchoolType } from \"src/types\";\n\nimport { GetSchoolsDocument } from \"../../../generated/operations\";\nimport {\n CREATE_SCHOOL_MUTATION,\n DELETE_SCHOOL_MUTATION,\n REQUEST_MARKETING_MATERIAL_MUTATION,\n UPDATE_SCHOOL_MUTATION,\n} from \"../../mutations/school\";\n\nexport const useCreateSchool = () => {\n const [createSchool, { loading, error }] = useMutation<{\n createSchool: MutationResponse<SchoolType>;\n }>(CREATE_SCHOOL_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetSchoolsDocument }],\n });\n\n return { createSchool, error, loading };\n};\n\nexport const useUpdateSchool = () => {\n const [updateSchool, { loading, error }] = useMutation<{\n updateSchool: MutationResponse<SchoolType>;\n }>(UPDATE_SCHOOL_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetSchoolsDocument }],\n });\n\n return { error, loading, updateSchool };\n};\n\nexport const useDeleteSchool = () => {\n const [deleteSchool, { loading, error }] = useMutation<{\n deleteSchool: MutationResponse<boolean>;\n }>(DELETE_SCHOOL_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetSchoolsDocument }],\n });\n return { deleteSchool, error, loading };\n};\n\nexport const useRequestMarketingMaterial = () => {\n const [requestMarketingMaterial, { loading, error }] = useMutation<{\n requestMarketingMaterial: MutationResponse<boolean>;\n }>(REQUEST_MARKETING_MATERIAL_MUTATION);\n\n return { error, loading, requestMarketingMaterial };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { SchoolFieldsFragmentDoc as SCHOOL } from \"../../generated/operations\";\n\nexport const CREATE_SCHOOL_MUTATION = gql`\n mutation createSchool($input: SchoolInputType!) {\n createSchool(input: $input) {\n data {\n ...SchoolFields\n }\n message\n }\n }\n ${SCHOOL}\n`;\n\nexport const UPDATE_SCHOOL_MUTATION = gql`\n mutation updateSchool($_id: ID!, $input: SchoolInputType!) {\n updateSchool(_id: $_id, input: $input) {\n data {\n ...SchoolFields\n }\n message\n }\n }\n ${SCHOOL}\n`;\n\nexport const DELETE_SCHOOL_MUTATION = gql`\n mutation deleteSchool($_id: ID!) {\n deleteSchool(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const REQUEST_MARKETING_MATERIAL_MUTATION = gql`\n mutation requestMarketingMaterial(\n $input: MarketingMaterialRequestInputType!\n ) {\n requestMarketingMaterial(input: $input) {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n GetSchoolDocument,\n GetSchoolsDocument,\n} from \"../../../generated/operations\";\nimport { SchoolReturnType, SchoolType } from \"../../../types\";\n\nexport const useGetSchools = () => {\n const { data, loading, error, refetch } = useQuery<{ schools: SchoolType[] }>(\n GetSchoolsDocument,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n return {\n error,\n loading,\n refetch,\n schools: data?.schools || [],\n };\n};\n\nexport const useGetSchool = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{\n school: SchoolReturnType;\n }>(GetSchoolDocument, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n return {\n error,\n loading,\n refetch,\n school: data?.school || null,\n };\n};\n","import { useQuery } from \"@apollo/client\";\n\nimport { AffiliateType } from \"src/types\";\n\nimport {\n GetAffiliateDocument,\n GetAffiliatesDocument,\n} from \"../../../generated/operations\";\n\nexport const useGetAffiliate = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{\n affiliate: AffiliateType;\n }>(GetAffiliateDocument, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n const affiliate = data?.affiliate;\n\n return {\n affiliate,\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAffiliates = () => {\n const { data, loading, error, refetch } = useQuery<{\n affiliates: AffiliateType[];\n }>(GetAffiliatesDocument, {\n fetchPolicy: \"network-only\",\n });\n\n const affiliates = data?.affiliates || [];\n\n return {\n affiliates,\n error,\n loading,\n refetch,\n };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n ASSIGN_AFFILIATE_BONUS_REWARD_MUTATION,\n ASSIGN_AFFILIATE_RESOURCE_REWARD_MUTATION,\n DELETE_AFFILIATE_MUTATION,\n REDEEM_AFFILIATE_REWARD_MUTATION,\n UPDATE_AFFILIATE_DETAILS_MUTATION,\n} from \"src/graphql/mutations/affiliate\";\nimport { AffiliateType, MutationResponse } from \"src/types\";\n\nimport {\n GetAffiliateDocument,\n GetAffiliatesDocument,\n} from \"../../../generated/operations\";\n\nexport const useUpdateAffiliateDetails = () => {\n const [updateAffiliateDetails, { loading, error }] = useMutation<{\n updateAffiliateDetails: MutationResponse<AffiliateType>;\n }>(UPDATE_AFFILIATE_DETAILS_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.updateAffiliateDetails?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GetAffiliateDocument, variables: { _id: affiliateId } }];\n },\n });\n return { error, loading, updateAffiliateDetails };\n};\n\nexport const useDeleteAffiliate = () => {\n const [deleteAffiliate, { loading, error }] = useMutation<{\n deleteAffiliate: MutationResponse<boolean>;\n }>(DELETE_AFFILIATE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GetAffiliatesDocument }],\n });\n return { deleteAffiliate, error, loading };\n};\n\nexport const useRedeemAffiliateReward = () => {\n const [redeemAffiliateReward, { loading, error }] = useMutation<{\n redeemAffiliateReward: MutationResponse<AffiliateType>;\n }>(REDEEM_AFFILIATE_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.redeemAffiliateReward?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GetAffiliateDocument, variables: { _id: affiliateId } }];\n },\n });\n return { error, loading, redeemAffiliateReward };\n};\n\nexport const useAssignAffiliateResourceReward = () => {\n const [assignAffiliateResourceReward, { loading, error }] = useMutation<{\n assignAffiliateResourceReward: MutationResponse<AffiliateType>;\n }>(ASSIGN_AFFILIATE_RESOURCE_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.assignAffiliateResourceReward?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GetAffiliateDocument, variables: { _id: affiliateId } }];\n },\n });\n return { assignAffiliateResourceReward, error, loading };\n};\n\nexport const useAssignAffiliateBonusReward = () => {\n const [assignAffiliateBonusReward, { loading, error }] = useMutation<{\n assignAffiliateBonusReward: MutationResponse<AffiliateType>;\n }>(ASSIGN_AFFILIATE_BONUS_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.assignAffiliateBonusReward?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GetAffiliateDocument, variables: { _id: affiliateId } }];\n },\n });\n return { assignAffiliateBonusReward, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { AffiliateFieldsFragmentDoc as AFFILIATE_FIELDS_FRAGMENT } from \"../../generated/operations\";\n\nexport const UPDATE_AFFILIATE_DETAILS_MUTATION = gql`\n mutation updateAffiliateDetails(\n $input: AffiliateDetailsInputType!\n $affiliateId: ID!\n ) {\n updateAffiliateDetails(input: $input, affiliateId: $affiliateId) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_AFFILIATE_MUTATION = gql`\n mutation deleteAffiliate($_id: ID!) {\n deleteAffiliate(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const REDEEM_AFFILIATE_REWARD_MUTATION = gql`\n mutation redeemAffiliateReward($affiliateId: ID!) {\n redeemAffiliateReward(affiliateId: $affiliateId) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const ASSIGN_AFFILIATE_RESOURCE_REWARD_MUTATION = gql`\n mutation assignAffiliateResourceReward(\n $affiliateId: ID!\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n $rewardType: AffiliateRewardEnumType!\n ) {\n assignAffiliateResourceReward(\n affiliateId: $affiliateId\n resourceId: $resourceId\n resourceType: $resourceType\n rewardType: $rewardType\n ) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const ASSIGN_AFFILIATE_BONUS_REWARD_MUTATION = gql`\n mutation assignAffiliateBonusReward(\n $affiliateId: ID!\n $rewardType: AffiliateRewardEnumType!\n ) {\n assignAffiliateBonusReward(\n affiliateId: $affiliateId\n rewardType: $rewardType\n ) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n","const PKG = \"@timardex/cluemart-shared\" as const;\nexport const IMAGE_EXTENSION = \".webp\" as const;\n\n/**\n * Basenames under the shared images directory — use with `getSharedImagePath` from `@timardex/cluemart-shared/images/node` (Express / Node).\n * This object is the single source of poster keys; `posters` is derived from it. Add an image with `IMAGE_EXTENSION` under `src/images/posters/` when adding an entry.\n * `images/node` reads this at runtime for `getSharedImagePath` allow-listing.\n */\nexport const posterIds = [\n \"mini-market1\",\n \"mini-market2\",\n \"mini-market3\",\n \"mini-market4\",\n \"mini-market5\",\n \"poster1\",\n \"poster2\",\n \"poster3\",\n \"poster4\",\n] as const;\n\nexport const posterFiles = Object.fromEntries(\n posterIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof posterIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\n/**\n * Basenames for assets under `src/images/clui/` in source; they are copied flat into `dist/images/` (same as posters).\n * `images/node` reads this at runtime for `getSharedImagePath` allow-listing.\n */\nexport const cluiIds = [\n \"cluiTui\",\n \"sima\",\n \"tablas\",\n \"telefonos\",\n \"ugralos\",\n] as const;\n\nexport const cluiFiles = Object.fromEntries(\n cluiIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof cluiIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const iconIds = [\n \"apple-maps-icon\",\n \"facebook\",\n \"google-maps-icon\",\n \"instagram\",\n \"meet\",\n \"poll\",\n \"tiktok\",\n \"tip\",\n \"waze-maps-icon\",\n \"website\",\n \"youtube\",\n] as const;\n\nexport const iconFiles = Object.fromEntries(\n iconIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof iconIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const badgeIds = [\"corporate\", \"private\", \"school\"] as const;\n\nexport const badgeFiles = Object.fromEntries(\n badgeIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof badgeIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const logoIds = [\n \"googleMaps-logo-dark\",\n \"googleMaps-logo-light\",\n \"logo-atr\",\n \"logo-dark\",\n \"logo\",\n] as const;\n\nexport const logoFiles = Object.fromEntries(\n logoIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof logoIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const otherImagesIds = [\n \"banner-horizontal\",\n \"banner-vertical\",\n \"gazebo-top\",\n \"qr-code\",\n \"store-android\",\n \"store-ios\",\n] as const;\n\nexport const otherImagesFiles = Object.fromEntries(\n otherImagesIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof otherImagesIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\n/**\n * Module specifiers for each poster (not resolved file URLs). Use a static import or require with these paths\n * so your bundler resolves the file, e.g.\n * `import poster1 from \"@timardex/cluemart-shared/images/poster1.webp\"`\n * or `require(\"@timardex/cluemart-shared/images/poster1.webp\")` (React Native / Metro).\n *\n * Derived from `posterFiles` so keys and filenames stay aligned.\n */\nexport const posters = Object.fromEntries(\n (\n Object.entries(posterFiles) as [\n keyof typeof posterFiles,\n (typeof posterFiles)[keyof typeof posterFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof posterFiles]: `${typeof PKG}/images/${(typeof posterFiles)[K]}`;\n};\n\n/**\n * Module specifiers for Clui assets (same flat `@…/images/<file>.webp` pattern as posters), e.g.\n * `import clui from \"@timardex/cluemart-shared/images/cluiTui.webp\"`.\n */\nexport const cluiImages = Object.fromEntries(\n (\n Object.entries(cluiFiles) as [\n keyof typeof cluiFiles,\n (typeof cluiFiles)[keyof typeof cluiFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof cluiFiles]: `${typeof PKG}/images/${(typeof cluiFiles)[K]}`;\n};\n\nexport const icons = Object.fromEntries(\n (\n Object.entries(iconFiles) as [\n keyof typeof iconFiles,\n (typeof iconFiles)[keyof typeof iconFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof iconFiles]: `${typeof PKG}/images/${(typeof iconFiles)[K]}`;\n};\n\nexport const badges = Object.fromEntries(\n (\n Object.entries(badgeFiles) as [\n keyof typeof badgeFiles,\n (typeof badgeFiles)[keyof typeof badgeFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof badgeFiles]: `${typeof PKG}/images/${(typeof badgeFiles)[K]}`;\n};\n\nexport const logos = Object.fromEntries(\n (\n Object.entries(logoFiles) as [\n keyof typeof logoFiles,\n (typeof logoFiles)[keyof typeof logoFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof logoFiles]: `${typeof PKG}/images/${(typeof logoFiles)[K]}`;\n};\n\nexport const otherImages = Object.fromEntries(\n (\n Object.entries(otherImagesFiles) as [\n keyof typeof otherImagesFiles,\n (typeof otherImagesFiles)[keyof typeof otherImagesFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof otherImagesFiles]: `${typeof PKG}/images/${(typeof otherImagesFiles)[K]}`;\n};\n\nexport type PosterAssetId = keyof typeof posters;\n\n/** A single filename under the shared images directory (values of `posterFiles`). */\nexport type PosterImageBasename = (typeof posterFiles)[PosterAssetId];\n\nexport type CluiImageId = keyof typeof cluiImages;\n\n/** Basename under the shared images directory (values of `cluiFiles`). */\nexport type CluiImageBasename = (typeof cluiFiles)[CluiImageId];\n\nexport type IconId = keyof typeof icons;\nexport type IconBasename = (typeof iconFiles)[IconId];\n\nexport type BadgeId = keyof typeof badges;\nexport type BadgeBasename = (typeof badgeFiles)[BadgeId];\n\nexport type LogoId = keyof typeof logos;\nexport type LogoBasename = (typeof logoFiles)[LogoId];\n\nexport type OtherImagesId = keyof typeof otherImages;\nexport type OtherImagesBasename = (typeof otherImagesFiles)[OtherImagesId];\n","/**\n * Formats a category for share / display copy.\n * Accepts both form Category (required subcategories) and GraphQL CategoryType\n * (optional/nullable subcategory trees).\n */\nexport function formatCategoryLabel(category: {\n name: string;\n subcategories?: ReadonlyArray<{ name?: string | null } | null> | null;\n}): string {\n const subcategoryNames = (category.subcategories ?? [])\n .filter((subcategory): subcategory is { name?: string | null } =>\n Boolean(subcategory),\n )\n .map((subcategory) => subcategory.name)\n .filter((name): name is string => Boolean(name));\n\n if (subcategoryNames.length === 0) {\n return category.name;\n }\n\n return `${category.name} (${subcategoryNames.join(\", \")})`;\n}\n","import type { StallType } from \"../types/event\";\nimport { formatDate } from \"../utils/date\";\n\nimport {\n SHARE_APPLICATION_DEADLINE_PREFIX,\n SHARE_CATEGORIES_SECTION_HEADING,\n SHARE_FOOD_TRUCK_LINE,\n SHARE_MARKET_DATES_SECTION_HEADING,\n SHARE_RAIN_OR_SHINE_LINE,\n SHARE_REQUIREMENTS_SECTION_HEADING,\n SHARE_COMPLIANCE_PREFIX,\n SHARE_PRICE_RANGE_PREFIX,\n SHARE_STALL_SIZE_PREFIX,\n SHARE_TAGS_SECTION_HEADING,\n} from \"./constants\";\nimport { formatCategoryLabel } from \"./formatCategoryLabel\";\nimport { joinShareDescriptionSections } from \"./joinShareDescriptionSections\";\nimport type {\n ShareEventForInvitation,\n ShareEventInfoForInvitation,\n ShareVendorForApplication,\n ShareVendorInfoForApplication,\n} from \"./shareRelationTypes\";\n\nexport type {\n ShareEventForInvitation,\n ShareEventInfoForInvitation,\n ShareVendorForApplication,\n ShareVendorInfoForApplication,\n} from \"./shareRelationTypes\";\n\n/** Formats event `startDate` (`DD-MM-YYYY`) for share copy — same as share preview UI. */\nexport function formatShareMarketDate(dateStr: string): string {\n return formatDate(dateStr, \"date\");\n}\n\nexport function formatStallCapacityLabel(stallCapacity: number): string {\n return stallCapacity > 0 ? ` (${stallCapacity} spaces available)` : \" - Full\";\n}\n\nexport function formatShareStallLine(stall: StallType): string {\n return ` - ${stall.label} — $${stall.price}${formatStallCapacityLabel(stall.stallCapacity)}`;\n}\n\n/** Nested market dates + per-date stall lines for invitation share copy. */\nexport function formatShareInvitationMarketDatesSection(\n dateTime: ShareEventInfoForInvitation[\"dateTime\"],\n): string {\n const dateBlocks = dateTime.map((date) => {\n const formattedDate = formatShareMarketDate(date.startDate);\n const stallLines = date.stallTypes.map(formatShareStallLine);\n return [`- ${formattedDate}`, ...stallLines].join(\"\\n\");\n });\n\n return `${SHARE_MARKET_DATES_SECTION_HEADING}\\n${dateBlocks.join(\"\\n\")}`;\n}\n\nexport function formatShareRainOrShineLine(\n rainOrShine: boolean,\n): string | null {\n return rainOrShine ? SHARE_RAIN_OR_SHINE_LINE : null;\n}\n\nexport function formatShareIsFoodTrueLine(foodTruck: boolean): string | null {\n return foodTruck ? SHARE_FOOD_TRUCK_LINE : null;\n}\n\n/** Bulleted requirements list for invitation share copy. */\nexport function formatShareInvitationRequirementsSection(\n requirements: ShareEventInfoForInvitation[\"requirements\"] | null,\n): string | null {\n const bullets = (requirements ?? [])\n .filter((item) => item.value)\n .map((item) => item.label.trim())\n .filter((label) => label.length > 0)\n .map((label) => `- ${label}`);\n if (bullets.length === 0) {\n return null;\n }\n return `${SHARE_REQUIREMENTS_SECTION_HEADING}\\n${bullets.join(\"\\n\")}`;\n}\n\nexport function formatShareTagsSection(tags: string[]): string | null {\n const bullets = tags\n .map((tag) => tag.trim())\n .filter((tag) => tag.length > 0)\n .map((tag) => `- ${tag}`);\n if (bullets.length === 0) {\n return null;\n }\n return `${SHARE_TAGS_SECTION_HEADING}\\n${bullets.join(\"\\n\")}`;\n}\n\n/** Bulleted categories list for application share copy. */\nexport function formatShareApplicationCategoriesSection(\n categories: ShareVendorForApplication[\"categories\"],\n): string | null {\n const bullets = categories\n .map((category) => formatCategoryLabel(category).trim())\n .filter((label) => label.length > 0)\n .map((label) => `- ${label}`);\n if (bullets.length === 0) {\n return null;\n }\n return `${SHARE_CATEGORIES_SECTION_HEADING}\\n${bullets.join(\"\\n\")}`;\n}\n\n/** Stall dimensions line for application share copy. */\nexport function formatShareApplicationStallSizeLine(size: {\n width: string;\n depth: string;\n}): string {\n return `${SHARE_STALL_SIZE_PREFIX} ${size.width}m × ${size.depth}m`;\n}\n\n/** Bulleted compliance list for application share copy. */\nexport function formatShareApplicationComplianceSection(\n compliance: ShareVendorInfoForApplication[\"compliance\"],\n): string | null {\n const bullets = [\n compliance?.liabilityInsurance && \"Liability insurance\",\n compliance?.foodBeverageLicense && \"Food & beverage licence\",\n ]\n .filter((label): label is string => Boolean(label))\n .map((label) => `- ${label}`);\n if (bullets.length === 0) {\n return null;\n }\n return `${SHARE_COMPLIANCE_PREFIX}\\n${bullets.join(\"\\n\")}`;\n}\n\n/** Price range line for application share copy. */\nexport function formatShareApplicationPriceRangeLine(priceRange: {\n min: string;\n max: string;\n}): string {\n return `${SHARE_PRICE_RANGE_PREFIX} $${priceRange.min} – $${priceRange.max}`;\n}\n\n/** Application-deadline sentence for invitation share copy. */\nexport function formatShareInvitationApplicationDeadlineLine(\n applicationDeadlineHours: number,\n): string {\n return `${SHARE_APPLICATION_DEADLINE_PREFIX} vendors must apply at least ${applicationDeadlineHours} hours before each market date.`;\n}\n\nexport function buildInvitationShareDescription(\n event: ShareEventForInvitation,\n eventInfo: ShareEventInfoForInvitation | null | undefined,\n): string {\n const stallTypes =\n eventInfo?.dateTime?.flatMap((date) => date.stallTypes) ?? [];\n\n if (!eventInfo || stallTypes.length === 0) {\n return event.description?.trim() || \"\";\n }\n\n const sections = [\n event.location.fullAddress,\n formatShareRainOrShineLine(event.rainOrShine),\n formatShareTagsSection(\n (event.tags ?? []).filter((tag): tag is string => tag != null && tag !== \"\"),\n ),\n formatShareInvitationMarketDatesSection(eventInfo.dateTime),\n formatShareInvitationApplicationDeadlineLine(\n eventInfo.applicationDeadlineHours,\n ),\n formatShareInvitationRequirementsSection(eventInfo.requirements),\n ];\n\n return joinShareDescriptionSections(sections);\n}\n\nexport function buildApplicationShareDescription(\n vendor: ShareVendorForApplication,\n vendorInfo: ShareVendorInfoForApplication | null | undefined,\n): string {\n if (!vendorInfo) {\n return vendor.description?.trim() || \"\";\n }\n\n const profileDescription = vendor.description?.trim();\n\n const sections = [\n formatShareIsFoodTrueLine(vendor.foodTruck),\n formatShareApplicationCategoriesSection(vendor.categories),\n formatShareApplicationStallSizeLine(vendorInfo.stallInfo.size),\n formatShareApplicationComplianceSection(vendorInfo.compliance),\n formatShareApplicationPriceRangeLine(vendorInfo.product.priceRange),\n profileDescription,\n ];\n\n return joinShareDescriptionSections(sections);\n}\n","import {\n formatShareIsFoodTrueLine,\n formatShareRainOrShineLine,\n formatShareTagsSection,\n} from \"./buildRelationShareDescription\";\nimport { joinShareDescriptionSections } from \"./joinShareDescriptionSections\";\n\n/** Minimal event fields for public (market) share copy — matches in-app preview. */\nexport type ShareEventForPublic = {\n description?: string | null;\n rainOrShine: boolean;\n tags: string[];\n};\n\n/** Minimal vendor fields for public (stallholder) share copy — matches in-app preview. */\nexport type ShareVendorForPublic = {\n description?: string | null;\n foodTruck: boolean;\n};\n\nexport function buildPublicEventShareDescription(\n event: ShareEventForPublic,\n): string {\n return joinShareDescriptionSections([\n formatShareRainOrShineLine(event.rainOrShine),\n formatShareTagsSection(event.tags),\n event.description?.trim(),\n ]);\n}\n\nexport function buildPublicVendorShareDescription(\n vendor: ShareVendorForPublic,\n): string {\n return joinShareDescriptionSections([\n formatShareIsFoodTrueLine(vendor.foodTruck),\n vendor.description?.trim(),\n ]);\n}\n","import {\n POST_SHARE_RESOURCE_TYPES,\n RESOURCE_SHARE_TYPES,\n SHARE_SITE_URL,\n} from \"./constants\";\nimport {\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n} from \"./relationShareTypes\";\n\n/** Path segments for public resource share URLs (markets, posts, etc.). */\nexport const PUBLIC_SHARE_PATH_TYPES = [\n ...RESOURCE_SHARE_TYPES,\n ...POST_SHARE_RESOURCE_TYPES,\n] as const;\n\nexport type PublicSharePathType = (typeof PUBLIC_SHARE_PATH_TYPES)[number];\n\nexport type RelationSharePathType =\n | typeof RELATION_SHARE_INVITATION\n | typeof RELATION_SHARE_APPLICATION;\n\nexport type ShareType = PublicSharePathType | RelationSharePathType;\n\n/** Alternation for deep-link regexes — keep in sync with {@link ShareType}. */\nexport const SHARE_TYPE_PATH_REGEX = [\n ...PUBLIC_SHARE_PATH_TYPES,\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n].join(\"|\");\n\nexport function buildShareUrl(\n type: ShareType,\n slug: string,\n utmMedium: string = \"app\",\n): string {\n return `${SHARE_SITE_URL}/${type}/${encodeURIComponent(slug)}?utm_source=share&utm_medium=${utmMedium}&utm_campaign=${type}`;\n}\n","import type { ShareResourceType } from \"./constants\";\n\nexport function normalizeShareRouteId(id: string): string {\n try {\n return decodeURIComponent(id);\n } catch {\n return id;\n }\n}\n\n/** Relative path for a public share landing page (`/market/demo-market`). */\nexport function buildSharePagePath(\n resourceType: ShareResourceType,\n slug: string,\n): string {\n return `/${resourceType}/${encodeURIComponent(normalizeShareRouteId(slug))}`;\n}\n","export type ShareSlugResource = {\n _id: string;\n};\n\nexport function shareSlugResourceId(\n resource: ShareSlugResource | null | undefined,\n): string | null {\n return resource?._id ?? null;\n}\n","/**\n * Normalizes resource `updatedAt` to an epoch-ms string for Facebook/CDN cache busting\n * on social-image URLs (`?v=`). The API ignores this query param.\n */\nexport function toShareSocialImageCacheVersion(\n updatedAt: Date | string | number | null | undefined,\n): string | null {\n if (updatedAt == null || updatedAt === \"\") {\n return null;\n }\n\n let ms: number;\n if (typeof updatedAt === \"number\") {\n ms = updatedAt;\n } else if (updatedAt instanceof Date) {\n ms = updatedAt.getTime();\n } else {\n ms = Date.parse(String(updatedAt));\n }\n\n if (!Number.isFinite(ms)) {\n return null;\n }\n\n return String(Math.trunc(ms));\n}\n","export const SAVED_PASSWORD_KEY = \"savedPassword\";\nexport const SAVED_EMAIL_KEY = \"savedEmail\";\nexport const SAVED_TOKEN_KEY = \"savedToken\";\nexport const SAVED_REFRESH_TOKEN_KEY = \"savedRefreshToken\";\nexport const USER_STORAGE_KEY = \"authUser\";\n","export const darkColors = {\n background: \"#3D3D3F\",\n card: \"#1c1c1e\",\n primary: \"#c96520\", // burnt orange — same hue, lower brightness\n quaternary: \"#3d7a68\", // barely shifted from light — already sits well on dark\n secondary: \"#7a4f78\", // muted plum — visible but not vivid\n tertiary: \"#4e5099\", // dusty indigo\n textMuted: \"#8e8e93\",\n};\n\nexport const lightColors = {\n background: \"#ffffff\",\n card: \"#f1f2f6\",\n primary: \"#ff7a00\",\n quaternary: \"#3b7c67\",\n secondary: \"#371134\",\n tertiary: \"#191a75\",\n textMuted: \"#6c757d\",\n};\n\nexport const fonts = {\n bold: {\n fontFamily: \"Roboto-Bold\",\n fontWeight: \"700\" as const,\n },\n heavy: {\n fontFamily: \"Roboto-ExtraBold\",\n fontWeight: \"900\" as const,\n },\n medium: {\n fontFamily: \"Roboto-Medium\",\n fontWeight: \"500\" as const,\n },\n regular: {\n fontFamily: \"Roboto-Regular\",\n fontWeight: \"400\" as const,\n },\n};\n"],"mappings":"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","names":["EnumFoodType","EnumRegions","ImageTypeEnum","ActivityEnumType","AdShowOnEnum","AdStatusTypeEnum","AdStyleEnum","AdTypeEnum","AffiliateParticipantTypeEnum","AffiliateRewardEnumType","BillingPeriodEnumType","ChatReportReasonEnum","ChatTypeEnum","EventDateStatusEnumType","EventEnumType","FoodFlavorEnumType","GameStatusEnumType","GameTypeEnumType","InviteEnumType","LicencesEnumType","NotificationEnumType","NotificationResourceEnumType","OsPlatformEnumType","PartnerEnumType","PaymentMethodEnumType","PostContentEnum","PostTypeEnum","RelationTypeEnum","ResourceTypeEnum","RewardEnumType","SocialMediaEnumType","SubscriptionStatusEnumType","UserRoleEnumType","VendorEnumType","VerificationEnumType","socialMedia","eventInfo","toPromoCodeType","toPromoCodeType","dayjs","dayjs","useMutation","gql","useMutation","adminUpdateResourceType","useMutation","gql","gql","useMutation","useMutation","gql","gql","useMutation","useQuery","useSubscription","gql","gql","useQuery","useSubscription","useMutation","gql","useMutation","useMutation","gql","gql","useMutation","useQuery","useQuery","eventInfo","useMutation","gql","gql","useMutation","useQuery","useQuery","useSubscription","gql","gql","useSubscription","useMutation","gql","gql","useMutation","useMutation","gql","useMutation","useMutation","gql","gql","useMutation","createRelation","updateRelation","deleteRelation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","useMutation","useQuery","useQuery","useMutation","gql","useMutation","useQuery","useQuery","useMutation","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useQuery","useQuery","useMutation","gql","gql","useMutation","eventInfo","stallTypes"]}
1
+ {"version":3,"sources":["../src/enums/index.ts","../src/formFields/vendor/vendor.ts","../src/types/game/dailyClue.ts","../src/utils/date.ts","../src/utils/mapArrayToOptions.ts","../src/utils/dailyClueGame.ts","../src/sharing/relationShareTypes.ts","../src/sharing/constants.ts","../src/sharing/joinShareDescriptionSections.ts","../src/sharing/normalizeShareDescription.ts","../src/types/auth.ts","../src/types/global.ts","../src/types/ad.ts","../src/types/resourceActivities.ts","../src/types/post.ts","../src/types/game/index.ts","../src/types/game/global.ts","../src/types/subscription.ts","../src/types/affiliate.ts","../src/utils/utils.ts","../src/utils/resourceImage.ts","../src/utils/school.ts","../src/utils/eventDateStatus.ts","../src/calendar/eventCalendar.ts","../src/formFields/categories/clothingAndFashion.ts","../src/formFields/categories/electronicsAndTechnology.ts","../src/formFields/categories/foodAndBeverages.ts","../src/formFields/categories/handmadeAndLocalProducts.ts","../src/formFields/categories/healthAndWellness.ts","../src/formFields/categories/homeGardenHousehold.ts","../src/formFields/categories/petProductsAndAnimalGoods.ts","../src/formFields/categories/serviceAndExperience.ts","../src/formFields/categories/toysChildren.ts","../src/formFields/categories/vintageAndAntique.ts","../src/formFields/categories/index.ts","../src/eventStallholders/eventStallholderFilters.ts","../src/vendorEvents/vendorEventFilters.ts","../src/utils/affiliate.ts","../src/utils/irdNumber.ts","../src/utils/isTransientNetworkError.ts","../src/utils/toUserFacingErrorMessage.ts","../src/formFields/vendor/vendorInfo.ts","../src/formFields/event/event.ts","../src/formFields/global.ts","../src/formFields/event/eventInfo.ts","../src/formFields/auth.ts","../src/formFields/user.ts","../src/formFields/socialMedia.ts","../src/formFields/contactUs.ts","../src/formFields/partner.ts","../src/graphql/queries/event.ts","../src/graphql/queries/global.ts","../src/graphql/queries/vendor.ts","../src/graphql/queries/partner.ts","../src/graphql/queries/post.ts","../src/graphql/queries/game/dailyClue.ts","../src/graphql/queries/game/puzzleGame.ts","../src/graphql/queries/shareSlug.ts","../src/graphql/queries/relation.ts","../src/graphql/toGraphqlQueryString.ts","../src/graphql/hooks/admin/hooksMutation.ts","../src/graphql/mutations/admin.ts","../src/graphql/hooks/auth.ts","../src/graphql/mutations/auth.ts","../src/graphql/hooks/chat/hooksMutation.ts","../src/graphql/mutations/chat.ts","../src/graphql/queries/chat.ts","../src/graphql/hooks/chat/hooksQuery.ts","../src/graphql/subscriptions/chat.ts","../src/graphql/hooks/contactUs.ts","../src/graphql/mutations/contactUs.ts","../src/graphql/hooks/event/hooksMutation.ts","../src/graphql/mutations/event.ts","../src/graphql/queries/user.ts","../src/graphql/hooks/event/hooksQuery.ts","../src/graphql/hooks/notifications/hooksMutation.ts","../src/graphql/mutations/notification.ts","../src/graphql/queries/notification.ts","../src/graphql/hooks/notifications/hooksQuery.ts","../src/graphql/hooks/notifications/hooksSubscription.ts","../src/graphql/subscriptions/notification.ts","../src/graphql/hooks/poster.ts","../src/graphql/mutations/poster.ts","../src/graphql/hooks/pushToken.ts","../src/graphql/mutations/pushToken.ts","../src/graphql/hooks/relation/hooksMutation.ts","../src/graphql/mutations/relation.ts","../src/graphql/hooks/relation/hooksQuery.ts","../src/graphql/hooks/vendor/hooksMutation.ts","../src/graphql/mutations/vendor.ts","../src/graphql/hooks/vendor/hooksQuery.ts","../src/graphql/hooks/user/hooksMutation.ts","../src/graphql/mutations/user.ts","../src/graphql/hooks/user/hooksQuery.ts","../src/graphql/hooks/ad/hooksMutation.ts","../src/graphql/mutations/ad.ts","../src/graphql/queries/ad.ts","../src/graphql/hooks/ad/hooksQuery.ts","../src/graphql/hooks/resourceActivities/hooksMutation.ts","../src/graphql/mutations/resourceActivities.ts","../src/graphql/hooks/resourceActivities/hooksQuery.ts","../src/graphql/queries/resourceActivities.ts","../src/graphql/hooks/stripe/hooksMutation.ts","../src/graphql/mutations/stripe.ts","../src/graphql/hooks/stripe/hooksQuery.ts","../src/graphql/queries/stripe.ts","../src/graphql/hooks/partner/hooksMutation.ts","../src/graphql/mutations/partner.ts","../src/graphql/hooks/partner/hooksQuery.ts","../src/graphql/hooks/post/hooksMutation.ts","../src/graphql/mutations/post.ts","../src/graphql/hooks/post/hooksQuery.ts","../src/graphql/hooks/appSettings/hooksMutation.ts","../src/graphql/mutations/appSettings.ts","../src/graphql/queries/appSettings.ts","../src/graphql/hooks/appSettings/hooksQuery.ts","../src/graphql/hooks/game/hooksMutation.ts","../src/graphql/mutations/game.ts","../src/graphql/queries/game/game.ts","../src/graphql/hooks/game/hooksQuery.ts","../src/graphql/hooks/school/hooksMutation.ts","../src/graphql/mutations/school.ts","../src/graphql/queries/school.ts","../src/graphql/hooks/school/hooksQuery.ts","../src/graphql/hooks/affiliate/hooksQuery.ts","../src/graphql/queries/affiliate.ts","../src/graphql/hooks/affiliate/hooksMutation.ts","../src/graphql/mutations/affiliate.ts","../src/images/index.ts","../src/sharing/formatCategoryLabel.ts","../src/sharing/buildRelationShareDescription.ts","../src/sharing/buildPublicShareDescription.ts","../src/sharing/buildShareUrl.ts","../src/sharing/normalizeShareRouteId.ts","../src/sharing/shareSlugResource.ts","../src/sharing/toShareSocialImageCacheVersion.ts","../src/storage/index.ts","../src/theme/index.ts","../src/auth/permissions/permissions.ts","../src/auth/permissions/rolePermissions.ts","../src/auth/permissions/helpers.ts","../src/auth/permissions/adminAppAccess.ts"],"sourcesContent":["export enum EnumInviteStatus {\n ACCEPTED = \"Accepted\",\n COMPLETED = \"Completed\",\n EXPIRED = \"Expired\",\n NO_STATUS = \"No_Status\",\n PENDING = \"Pending\",\n REJECTED = \"Rejected\",\n UNAVAILABLE = \"Unavailable\",\n}\n\nexport enum EnumChatReportReason {\n INAPPROPRIATE_CONTENT = \"Inappropriate_Content\",\n HARASSMENT_OR_BULLYING = \"Harassment_or_Bullying\",\n HATE_SPEECH = \"Hate_Speech\",\n SPAM_OR_SCAM = \"Spam_or_Scam\",\n VIOLENCE_OR_DANGEROUS_BEHAVIOR = \"Violence_or_Dangerous_Behavior\",\n OTHER = \"Other\",\n}\n\nexport enum EnumChatType {\n GROUP = \"group\",\n PRIVATE = \"private\",\n RELATION = \"relation\",\n}\n\nexport enum EnumPaymentMethod {\n CASH = \"cash\",\n EFTPOS = \"eftpos\",\n BANK_TRANSFER = \"bank_transfer\",\n PAYPAL = \"paypal\",\n STRIPE = \"stripe\",\n}\n\nexport enum EnumFoodFlavor {\n SALTY = \"Salty\",\n SAVOURY = \"Savoury\",\n SPICY = \"Spicy\",\n SWEET = \"Sweet\",\n OTHER = \"Not_Applicable\",\n}\n\nexport enum EnumFoodType {\n ADDITIVE_FREE = \"Additive_Free\",\n AIR_FRIED = \"Air_Fried\",\n ALLERGEN_FRIENDLY = \"Allergen_Friendly\",\n ATHLETE_FRIENDLY = \"Athlete_Friendly\",\n BAKED = \"Baked\",\n DAIRY_FREE = \"Dairy_Free\",\n DIABETIC_FRIENDLY = \"Diabetic_Friendly\",\n EGG_FREE = \"Egg_Free\",\n FRESH = \"Fresh\",\n GLUTEN_FREE = \"Gluten_Free\",\n GRILLED = \"Grilled\",\n HALAL = \"Halal\",\n HEART_HEALTHY = \"Heart_Healthy\",\n HIGH_FIBER = \"High_Fiber\",\n HIGH_PROTEIN = \"High_Protein\",\n KETO = \"Keto\",\n KOSHER = \"Kosher\",\n LACTOSE_FREE = \"Lactose_Free\",\n LOW_CALORIE = \"Low_Calorie\",\n LOW_CARB = \"Low_Carb\",\n LOW_FAT = \"Low_Fat\",\n LOW_SODIUM = \"Low_Sodium\",\n NO_ADDED_SUGAR = \"No_Added_Sugar\",\n NO_PRESERVATIVES = \"No_Preservatives\",\n NON_GMO = \"Non_GMO\",\n NUT_FREE = \"Nut_Free\",\n ORGANIC = \"Organic\",\n PALEO = \"Paleo\",\n PLANT_BASED = \"Plant_Based\",\n RAW = \"Raw\",\n SMOKED = \"Smoked\",\n SOY_FREE = \"Soy_Free\",\n SUGAR_FREE = \"Sugar_Free\",\n VEGAN = \"Vegan\",\n VEGETARIAN = \"Vegetarian\",\n}\n\nexport enum EnumResourceType {\n AFFILIATE = \"affiliate\",\n EVENT = \"event\",\n VENDOR = \"vendor\",\n PARTNER = \"partner\",\n SCHOOL = \"school\",\n}\n\nexport enum EnumEventType {\n MARKET = \"Market\",\n EXPO = \"Expo\",\n FAIR = \"Fair\",\n FESTIVAL = \"Festival\",\n}\n\nexport enum EnumVendorType {\n STALLHOLDER = \"Stallholder\",\n SHOP = \"Shop\",\n}\n\nexport enum EnumPartnerType {\n CHARITY_PARTNER = \"Charity_Partner\",\n MEDIA_PARTNER = \"Media_Partner\",\n SUPPORTING_PARTNER = \"Supporting_Partner\",\n}\n\nexport enum EnumOSPlatform {\n ANDROID = \"android\",\n IOS = \"ios\",\n WEB = \"web\",\n}\n\nexport enum EnumRelationResource {\n EVENT_INVITE_VENDOR = \"event_invite_vendor\",\n EVENT_UPDATE_RELATION_TO_VENDOR = \"event_update_relation_to_vendor\",\n VENDOR_UPDATE_RELATION_TO_EVENT = \"vendor_update_relation_to_event\",\n VENDOR_APPLICATION_TO_EVENT = \"vendor_application_to_event\",\n}\n\nexport enum EnumNotificationResourceType {\n APPROVED_AFFILIATE = \"approved_affiliate\",\n AFFILIATE_REWARD_RECEIVED = \"affiliate_reward_received\",\n APPROVED_EVENT = \"approved_event\",\n APPROVED_PARTNER = \"approved_partner\",\n APPROVED_SCHOOL = \"approved_school\",\n APPROVED_VENDOR = \"approved_vendor\",\n CREATED_EVENT = \"created_event\",\n CREATED_PARTNER = \"created_partner\",\n CREATED_VENDOR = \"created_vendor\",\n DAILY_CLUE_GAME = \"daily_clue_game\",\n DEACTIVATED_EVENT = \"deactivated_event\",\n DEACTIVATED_PARTNER = \"deactivated_partner\",\n DEACTIVATED_VENDOR = \"deactivated_vendor\",\n DECLINED_EVENT = \"declined_event\",\n DECLINED_PARTNER = \"declined_partner\",\n DECLINED_VENDOR = \"declined_vendor\",\n DOWNGRADED_EVENT = \"downgraded_event\",\n DOWNGRADED_PARTNER = \"downgraded_partner\",\n DOWNGRADED_VENDOR = \"downgraded_vendor\",\n EVENT_INVITE_VENDOR = EnumRelationResource.EVENT_INVITE_VENDOR,\n EVENT_STARTING_SOON = \"event_starting_soon\",\n EVENT_UPDATE_RELATION_TO_VENDOR = EnumRelationResource.EVENT_UPDATE_RELATION_TO_VENDOR,\n EXPIRATION_REMINDER_EVENT = \"expiration_reminder_event\",\n EXPIRATION_REMINDER_PARTNER = \"expiration_reminder_partner\",\n EXPIRATION_REMINDER_VENDOR = \"expiration_reminder_vendor\",\n NEW_CHAT_MESSAGE = \"new_chat_message\",\n NEW_POST_CREATED = \"new_post_created\",\n REGISTERED_USER_BY_SCHOOL_CODE = \"registered_user_by_school_code\",\n SYSTEM_ALERT = \"system_alert\",\n VENDOR_APPLICATION_TO_EVENT = EnumRelationResource.VENDOR_APPLICATION_TO_EVENT,\n VENDOR_UPDATE_RELATION_TO_EVENT = EnumRelationResource.VENDOR_UPDATE_RELATION_TO_EVENT,\n}\n\nexport enum EnumNotificationType {\n CHAT = \"chat\",\n EVENT = EnumResourceType.EVENT,\n RELATION = \"relation\",\n SYSTEM = \"system\",\n VENDOR = EnumResourceType.VENDOR,\n}\n\nexport enum EnumRegions {\n All = \"All Regions\",\n Auckland = \"Auckland\",\n BayOfPlentyGisborne = \"Bay of Plenty & Gisborne\",\n CanterburyWestCoast = \"Canterbury & West Coast\",\n HawkesBay = \"Hawke's Bay\",\n ManawatuWanganui = \"Manawatu-Wanganui\",\n MarlboroughNelsonTasman = \"Marlborough & Nelson & Tasman\",\n Northland = \"Northland\",\n Otago = \"Otago\",\n Southland = \"Southland\",\n Taranaki = \"Taranaki\",\n Waikato = \"Waikato\",\n Wellington = \"Wellington\",\n}\n\nexport enum ImageTypeEnum {\n AVATAR = \"avatar\",\n COVER = \"cover\",\n IMAGE = \"image\",\n LOGO = \"logo\",\n}\n\nexport enum EnumUserLicence {\n PRO_EVENT = \"pro_event\",\n PRO_PLUS_EVENT = \"pro_plus_event\",\n PRO_PLUS_VENDOR = \"pro_plus_vendor\",\n PRO_VENDOR = \"pro_vendor\",\n STANDARD_EVENT = \"standard_event\",\n STANDARD_VENDOR = \"standard_vendor\",\n STANDARD_PARTNER = \"standard_partner\",\n STANDARD_AFFILIATE = \"standard_affiliate\",\n STANDARD_SCHOOL = \"standard_school\",\n}\n\nexport enum EnumUserRole {\n ADMIN = \"admin\",\n AFFILIATE = \"affiliate\",\n CUSTOMER = \"customer\",\n EVENT = \"event\",\n PARTNER = \"partner\",\n SCHOOL = \"school\",\n SUPER_ADMIN = \"super_admin\",\n VENDOR = \"vendor\",\n}\n\nexport enum EnumSocialMedia {\n FACEBOOK = \"facebook\",\n INSTAGRAM = \"instagram\",\n TIKTOK = \"tiktok\",\n TWITTER = \"twitter\",\n WEBSITE = \"website\",\n YOUTUBE = \"youtube\",\n}\n\nexport enum EnumEventDateStatus {\n STARTING_SOON = \"Starting_Soon\",\n STARTED = \"Started\",\n TODAY = \"Today\",\n TOMORROW = \"Tomorrow\",\n THIS_WEEK = \"This_Week\",\n NEXT_WEEK = \"Next_Week\",\n UPCOMING = \"Upcoming\",\n ENDED = \"Ended\",\n RE_SCHEDULED = \"Rescheduled\",\n CANCELED = \"Canceled\",\n INVALID = \"Invalid\",\n}\n\nexport enum EnumSubscriptionStatus {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n CANCELLED = \"cancelled\",\n NO_SUBSCRIPTION = \"no_subscription\",\n PAST_DUE = \"past_due\",\n TRIALING = \"trialing\",\n}\n\nexport enum EnumBillingPeriod {\n MONTHLY_CANCEL_ANYTIME = \"monthly_cancel_anytime\",\n YEARLY_ANNUAL_BILLED = \"yearly_annual_billed\",\n YEARLY_MONTHLY_BILLED = \"yearly_monthly_billed\",\n}\n\nexport enum EnumReward {\n MYSTERY_JOY_BOX = \"mystery_joy_box\",\n MYSTERY_SQUEEZE_BOX = \"mystery_squeeze_box\",\n MYSTERY_DELUXE_BOX = \"mystery_deluxe_box\",\n}\n","import { FormDateField, FormField, OptionItem } from \"../../types/global\";\n\nexport const vendorBasicInfoFields: FormField[] = [\n {\n helperText: \"Business Name *\",\n name: \"name\",\n placeholder: \"Business Name\",\n },\n {\n helperText: \"Description *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n\nexport const vendorFullAddress: FormField = {\n helperText: \"Enter address\",\n name: \"fullAddress\",\n placeholder: \"Start typing to find address\",\n};\n\nexport const vendorStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const vendorEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const vendorAvailability: FormField[] = [\n {\n name: \"availability.school\",\n placeholder: \"School events\",\n },\n {\n name: \"availability.private\",\n placeholder: \"Private events\",\n },\n {\n name: \"availability.corporate\",\n placeholder: \"Corporate events\",\n },\n];\n\nexport const vendorLocationDescription: FormField = {\n helperText: \"Description\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n};\n\nexport const vendorMenuFields: FormField[] = [\n {\n helperText: \"Item name\",\n name: \"name\",\n placeholder: \"Item name\",\n },\n {\n helperText: \"Price\",\n keyboardType: \"decimal-pad\",\n name: \"price\",\n placeholder: \"Price\",\n },\n {\n helperText: \"Item Description\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Item Description\",\n },\n];\n\nexport const productLabelGroups = [\n {\n category: \"Food Sensitivity\",\n items: [\n { abbreviation: \"DF\", fullName: \"Dairy-Free\" },\n { abbreviation: \"EF\", fullName: \"Egg-Free\" },\n { abbreviation: \"GF\", fullName: \"Gluten-Free\" },\n { abbreviation: \"NF\", fullName: \"Nut-Free\" },\n ],\n },\n {\n category: \"Lifestyle\",\n items: [\n { abbreviation: \"KETO\", fullName: \"Keto-Friendly\" },\n { abbreviation: \"P\", fullName: \"Paleo\" },\n { abbreviation: \"V\", fullName: \"Vegan\" },\n { abbreviation: \"VG\", fullName: \"Vegetarian\" },\n { abbreviation: \"KID\", fullName: \"Kid-Friendly\" }, // Gyerekbarát\n { abbreviation: \"PET\", fullName: \"Pet-Friendly Product\" }, // Állatok\n ],\n },\n {\n category: \"Natural\",\n items: [\n { abbreviation: \"ECO\", fullName: \"Eco-Friendly\" },\n { abbreviation: \"ORGANIC\", fullName: \"Organic Product\" },\n { abbreviation: \"NAT\", fullName: \"Natural Product\" }, // Természetesség\n { abbreviation: \"NPF\", fullName: \"Non-Pesticide / Chemical-Free\" },\n { abbreviation: \"PLN\", fullName: \"Plant-Based\" },\n ],\n },\n {\n category: \"Market Character\",\n items: [\n { abbreviation: \"HM\", fullName: \"Handmade\" },\n { abbreviation: \"LOC\", fullName: \"Local Product\" },\n { abbreviation: \"ART\", fullName: \"Artisan\" },\n { abbreviation: \"LTD\", fullName: \"Limited Edition\" },\n ],\n },\n {\n category: \"Cosmetic / Natural\",\n items: [\n { abbreviation: \"AROM\", fullName: \"Aromatherapy\" },\n { abbreviation: \"CRF\", fullName: \"Cruelty-Free\" },\n { abbreviation: \"HYPO\", fullName: \"Hypoallergenic\" },\n { abbreviation: \"BODY\", fullName: \"Body Care\" }, // Testápolás\n ],\n },\n {\n category: \"Wellbeing\",\n items: [\n { abbreviation: \"CARE\", fullName: \"Health Support Product\" }, // Egészség / testi jóllét\n { abbreviation: \"PHYS\", fullName: \"Physical Wellbeing\" }, // Fizikai jóllét\n { abbreviation: \"MENTAL\", fullName: \"Mental Wellbeing\" }, // Mentális jóllét\n { abbreviation: \"RELAX\", fullName: \"Relaxation Product\" }, // Relaxáció / lazítás\n { abbreviation: \"SPIRIT\", fullName: \"Spiritual Wellbeing\" }, // Lelki jóllét\n ],\n },\n {\n category: \"Tech & Digital\",\n items: [\n { abbreviation: \"TECH\", fullName: \"Technology Product\" }, // Technológia\n { abbreviation: \"DIGI\", fullName: \"Digital Technology\" }, // Digitális technológia\n ],\n },\n {\n category: \"Practical & Home\",\n items: [\n { abbreviation: \"PRAC\", fullName: \"Practical Solution\" }, // Praktikum\n { abbreviation: \"HOME\", fullName: \"Home & Living\" }, // Otthon / lakókörnyezet\n ],\n },\n {\n category: \"Sustainability\",\n items: [\n { abbreviation: \"ZWP\", fullName: \"Zero-Waste Product\" },\n { abbreviation: \"SUST\", fullName: \"Sustainable Product\" }, // Fenntarthatóság\n ],\n },\n];\n\nexport const priceUnits: OptionItem[] = [\n { label: \"Piece\", value: \"PIECE\" },\n { label: \"Portion\", value: \"PORTION\" },\n { label: \"Slice\", value: \"SLICE\" },\n { label: \"Cup\", value: \"CUP\" },\n { label: \"Bottle\", value: \"BOTTLE\" },\n { label: \"Can\", value: \"CAN\" },\n { label: \"Jar\", value: \"JAR\" },\n { label: \"Box\", value: \"BOX\" },\n { label: \"Pack\", value: \"PACK\" },\n { label: \"Bag\", value: \"BAG\" },\n { label: \"Bunch\", value: \"BUNCH\" },\n { label: \"Tray\", value: \"TRAY\" },\n { label: \"Punnet\", value: \"PUNNET\" },\n { label: \"Gr\", value: \"GRAM\" },\n { label: \"Kg\", value: \"KILOGRAM\" },\n { label: \"L\", value: \"LITRE\" },\n { label: \"Ml\", value: \"MILLILITRE\" },\n { label: \"Dozen\", value: \"DOZEN\" },\n { label: \"Half dozen\", value: \"HALF_DOZEN\" },\n];\n","import { GameDate, GlobalGameData } from \"./global\";\n\nconst OBJECT_ID_PATH_SEGMENT = \"[a-f0-9]{24}\";\nconst OBJECT_ID_PATH_SEGMENT_END = `${OBJECT_ID_PATH_SEGMENT}$`;\n\nexport const gameScreenIdentifierList = [\n {\n clue: \"Where your actions turn into a timeline.\",\n id: \"activities\",\n match: \"/profile/activities\",\n },\n {\n clue: \"Where conversations happen without speaking.\",\n id: \"chat\",\n match: \"/profile/chat\",\n },\n {\n clue: \"The place to redefine who you are.\",\n id: \"edit-profile\",\n match: \"/profile/edit-profile\",\n },\n {\n clue: \"A single moment worth showing up for.\",\n id: \"single-event\",\n match: new RegExp(`^/events/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"What’s happening around you, right now.\",\n id: \"events-near-me\",\n match: \"/events/events-near-me\",\n },\n {\n clue: \"Where events appear as pins on a map.\",\n id: \"events-map\",\n match: \"/events/events-map\",\n },\n {\n clue: \"A collection of events worth attending.\",\n id: \"events\",\n match: \"/events\",\n },\n {\n clue: \"What’s happening in a wider area — not just nearby.\",\n id: \"events-region\",\n match: /^\\/events\\/region\\/[^/]+$/,\n },\n {\n clue: \"Where fun becomes a challenge.\",\n id: \"games\",\n match: \"/games\",\n },\n {\n clue: \"Your starting point for everything.\",\n id: \"home\",\n match: \"/\",\n },\n {\n clue: \"Where the app whispers what you shouldn’t miss.\",\n id: \"notifications\",\n match: \"/notifications\",\n },\n {\n clue: \"Where you fine-tune your experience.\",\n id: \"options\",\n match: \"/options\",\n },\n {\n clue: \"An organisation or creator supporting the community.\",\n id: \"single-partner\",\n match: new RegExp(`^/partners/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Organisations and creators supporting the community.\",\n id: \"partners\",\n match: \"/partners\",\n },\n {\n clue: \"A single published post in full view.\",\n id: \"single-visitor-post\",\n match: new RegExp(`^/visitors/post/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Your identity, on display.\",\n id: \"profile\",\n match: \"/profile\",\n },\n {\n clue: \"One stallholder offering something valuable.\",\n id: \"single-vendor\",\n match: new RegExp(`^/vendors/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Where every stallholder waits under the right category.\",\n id: \"vendors\",\n match: \"/vendors\",\n },\n {\n clue: \"Where you browse articles and posts from around the platform.\",\n id: \"visitors\",\n match: \"/visitors\",\n },\n] as const;\n\nexport type GamePlacement = (typeof gameScreenIdentifierList)[number][\"id\"];\nexport type GamePlacementClue =\n (typeof gameScreenIdentifierList)[number][\"clue\"];\n\nexport type DailyClueBaseGame = {\n gameDate: GameDate;\n gameSolution: string;\n};\n\nexport type DailyClueGameData = GlobalGameData & {\n gameFields: DailyClueBaseGame;\n lastFoundDate: Date | null;\n letterInfo: {\n collected: string[] | null; // The letters the user has found, e.g. [\"C\", \"L\", \"U\"]\n solutionShuffled: string[]; // The letters of the solution, but shuffled, e.g. [\"L\", \"C\", \"U\"]\n todaysClue: GamePlacementClue | null; // The clue for user to find the letter, e.g. related to {todaysPlacement}\n todaysLetter: string | null; // The letter the user has to find today, e.g. \"C\"\n todaysPlacement: GamePlacement | null; // The screen where the user has to find the clue, e.g. \"HomeScreen\"\n };\n};\n","import dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter.js\";\nimport timezone from \"dayjs/plugin/timezone.js\";\nimport utc from \"dayjs/plugin/utc.js\";\n\nimport { EnumEventDateStatus } from \"src/enums\";\n\nimport { mapArrayToOptions } from \"./mapArrayToOptions\";\n\nexport const dateFormat = \"DD-MM-YYYY\";\nexport const timeFormat = \"HH:mm\";\n\n// Enable custom format parsing\ndayjs.extend(customParseFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(isSameOrAfter);\n\nconst NZ_TZ = \"Pacific/Auckland\";\n\nexport function toNZTime(date?: Date | string) {\n return date ? dayjs(date).tz(NZ_TZ) : dayjs().tz(NZ_TZ);\n}\n\n/** Start of the calendar day in Pacific/Auckland (daily games, streaks, etc.). */\nexport function nzStartOfDay(\n input?: Date | string | number | null,\n): dayjs.Dayjs {\n if (input == null) {\n return dayjs().tz(NZ_TZ).startOf(\"day\");\n }\n return dayjs.tz(input, NZ_TZ).startOf(\"day\");\n}\n\ntype DateFormat = \"date\" | \"time\" | \"datetime\";\n\n/**\n * Format a date string to a more readable format.\n * @param dateStr - the date string\n * @param timeStr - optional time string\n * @param display - 'date' | 'time' | 'datetime'\n * @returns formatted string based on display option\n */\nexport const formatDate = (\n dateStr: string,\n display: DateFormat = \"datetime\",\n timeStr?: string,\n) => {\n // Combine date and time into a single string if time is provided\n const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;\n\n // Parse with formats\n const dateTime = timeStr\n ? dayjs(dateTimeStr, `${dateFormat} ${timeFormat}`)\n : dayjs(dateStr, dateFormat);\n\n // Format parts\n const formattedDate = dateTime.format(\"dddd, D MMMM, YYYY\");\n const formattedTime = dateTime.format(\"h:mm a\");\n\n // Return based on display option\n switch (display) {\n case \"date\":\n return formattedDate;\n case \"time\":\n return formattedTime;\n case \"datetime\":\n return `${formattedDate} at ${formattedTime}`;\n default:\n return formattedDate;\n }\n};\n\nexport const getCurrentAndFutureDates = <\n T extends { startDate: string; startTime: string },\n>(\n dates: T[],\n): T[] => {\n const now = dayjs(); // current date and time\n\n return dates.filter((dateObj) => {\n const dateTime = dayjs(\n `${dateObj.startDate} ${dateObj.startTime}`,\n `${dateFormat} ${timeFormat}`,\n );\n return dateTime.isSameOrAfter(now);\n });\n};\n\nexport const isFutureDatesBeforeThreshold = (\n date: {\n startDate: string;\n startTime: string;\n },\n minHoursFromNow: number,\n): boolean => {\n const threshold = minHoursFromNow\n ? dayjs().add(minHoursFromNow, \"hour\")\n : dayjs().startOf(\"day\");\n\n const dateTime = dayjs(\n `${date.startDate} ${date.startTime}`,\n `${dateFormat} ${timeFormat}`,\n );\n\n return dateTime.isSameOrAfter(threshold);\n};\n\nexport const formatTimestamp = (timestamp: string) => {\n const formattedDate = toNZTime(timestamp).format(dateFormat);\n\n return formatDate(formattedDate, \"date\");\n};\n\nexport const isIsoDateString = (value: unknown): value is string => {\n return typeof value === \"string\" && !Number.isNaN(Date.parse(value));\n};\n\n/**\n * Sort an array of date strings by their proximity to the current date.\n * @param dates - The array of date strings to sort.\n * @returns - The sorted array of date strings.\n */\nexport function sortDatesChronologically<\n T extends { startDate: string; startTime: string },\n>(dates: T[]): T[] {\n if (!dates?.length) {\n return [];\n }\n\n return [...dates].sort((a, b) => {\n const dateTimeFormat = `${dateFormat} ${timeFormat}`;\n const dateA = dayjs(`${a.startDate} ${a.startTime}`, dateTimeFormat);\n const dateB = dayjs(`${b.startDate} ${b.startTime}`, dateTimeFormat);\n return dateA.valueOf() - dateB.valueOf(); // chronological order\n });\n}\n\nexport const futureTimePeriods = mapArrayToOptions(\n Object.values(EnumEventDateStatus),\n)\n .filter(\n (period) =>\n period.value !== EnumEventDateStatus.STARTING_SOON &&\n period.value !== EnumEventDateStatus.CANCELED &&\n period.value !== EnumEventDateStatus.RE_SCHEDULED &&\n period.value !== EnumEventDateStatus.STARTED &&\n period.value !== EnumEventDateStatus.ENDED &&\n period.value !== EnumEventDateStatus.INVALID,\n )\n .map((period) => ({\n label: period.value.replaceAll(\"_\", \" \"),\n value: period.value,\n }));\n","import { OptionItem } from \"src/types\";\n\n/**\n * Convert an array of strings to an array of objects with label and value properties.\n */\nexport const mapArrayToOptions = (items: string[]): OptionItem[] =>\n items.map((item) => ({\n label: item,\n value: item,\n }));\n","import type { Dayjs } from \"dayjs\";\n\nimport {\n DailyClueGameData,\n GamePlacement,\n GamePlacementClue,\n gameScreenIdentifierList,\n} from \"../types/game/dailyClue\";\n\nimport { nzStartOfDay } from \"./date\";\n\nfunction createSeededRng(seed: number) {\n let t = seed >>> 0;\n\n return function random() {\n t += 0x6d2b79f5;\n let x = t;\n\n x = Math.imul(x ^ (x >>> 15), x | 1);\n x ^= x + Math.imul(x ^ (x >>> 7), x | 61);\n\n return ((x ^ (x >>> 14)) >>> 0) / 4294967296;\n };\n}\n\nfunction hashStringToNumber(seed: string): number {\n let hash = 2166136261;\n\n for (let i = 0; i < seed.length; i++) {\n hash ^= seed.codePointAt(i) ?? 0;\n hash = Math.imul(hash, 16777619);\n }\n\n return hash >>> 0;\n}\n\n/** Seeded shuffle so all players see the same letter order / placements for a game. */\nexport function seededShuffle<T>(array: readonly T[], seed: string): T[] {\n const rng = createSeededRng(hashStringToNumber(seed));\n const result = [...array];\n\n for (let i = result.length - 1; i > 0; i--) {\n const j = Math.floor(rng() * (i + 1));\n [result[i], result[j]] = [result[j], result[i]];\n }\n\n return result;\n}\n\nfunction getDayIndex(start: Dayjs, today: Dayjs): number {\n return today.diff(start, \"day\");\n}\n\nexport function computeDailyClueState(dailyClue: DailyClueGameData): {\n todaysClue: GamePlacementClue | null;\n todaysLetter: string | null;\n todaysPlacement: GamePlacement | null;\n} | null {\n const { startDate, endDate } = dailyClue.gameFields.gameDate;\n const { solutionShuffled, collected } = dailyClue.letterInfo;\n\n const today = nzStartOfDay();\n const start = nzStartOfDay(startDate);\n const end = nzStartOfDay(endDate);\n\n // Before game starts\n if (today.isBefore(start)) {\n return null;\n }\n\n const shuffledPlacements = seededShuffle(\n gameScreenIdentifierList,\n start.toISOString(),\n );\n\n const index = getDayIndex(start, today);\n\n // After game ends\n if (today.isAfter(end)) {\n return {\n todaysClue: null,\n todaysLetter: null,\n todaysPlacement: null,\n };\n }\n\n // Safety: index must exist in BOTH arrays\n if (\n index < 0 ||\n index >= solutionShuffled.length ||\n index >= shuffledPlacements.length\n ) {\n return null;\n }\n\n const letterToday = solutionShuffled[index];\n const placement = shuffledPlacements[index];\n\n if (!letterToday || !placement) return null;\n\n const alreadyCollectedToday = (collected ?? []).includes(letterToday);\n\n // Already completed today\n if (alreadyCollectedToday) {\n return {\n todaysClue: null,\n todaysLetter: null,\n todaysPlacement: null,\n };\n }\n\n // Active state\n return {\n todaysClue: placement.clue,\n todaysLetter: letterToday,\n todaysPlacement: placement.id,\n };\n}\n","/** Path segments for relation share URLs — must match mobile `RelationTitle` values. */\nexport const RELATION_SHARE_INVITATION = \"invitation\" as const;\nexport const RELATION_SHARE_APPLICATION = \"application\" as const;\n\n/**\n * Bump when relation overlay SVG/layout changes so og:image URLs and API ETags\n * invalidate after deploy. Facebook caches preview JPEGs by exact URL — changing\n * this value forces crawlers to fetch a fresh image after server deploy.\n */\nexport const RELATION_OVERLAY_LAYOUT_VERSION = 43;\n\nexport const RELATION_SHARE_RESOURCE_TYPES = [\n RELATION_SHARE_INVITATION,\n RELATION_SHARE_APPLICATION,\n] as const;\n\nexport type RelationShareResourceType =\n (typeof RELATION_SHARE_RESOURCE_TYPES)[number];\n\nexport function isRelationShareResourceType(\n resourceType: string,\n): resourceType is RelationShareResourceType {\n return (RELATION_SHARE_RESOURCE_TYPES as readonly string[]).includes(\n resourceType,\n );\n}\n","import {\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n type RelationShareResourceType,\n} from \"./relationShareTypes\";\n\nexport {\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n RELATION_OVERLAY_LAYOUT_VERSION,\n RELATION_SHARE_RESOURCE_TYPES,\n isRelationShareResourceType,\n type RelationShareResourceType,\n} from \"./relationShareTypes\";\n\n/** Open Graph recommended preview size (must match admin `SHARE_OG_IMAGE_*`). */\nexport const SOCIAL_IMAGE_WIDTH = 1200;\n\n/** Open Graph recommended preview size (must match admin `SHARE_OG_IMAGE_*`). */\nexport const SOCIAL_IMAGE_HEIGHT = 630;\n\n/** Keep in sync with `CLUEMART_MAIN_DOMAIN_URL` in utils (avoid utils↔sharing import cycle). */\nexport const SHARE_SITE_URL = \"https://cluemart.co.nz\";\n\n/** Calendar marker for invitation market-dates share copy (U+1F4C5 📅). */\nexport const SHARE_CALENDAR_ICON = \"\\u{1F4C5}\";\n\nexport const SHARE_MARKET_DATES_SECTION_HEADING = `${SHARE_CALENDAR_ICON} Market dates:`;\n\n/** Check mark for invitation requirements share copy (U+2705 ✅). */\nexport const SHARE_CHECKMARK_ICON = \"\\u{2705}\";\n\nexport const SHARE_REQUIREMENTS_SECTION_HEADING = `${SHARE_CHECKMARK_ICON} Requirements:`;\n\n/** Information marker for tags share copy (U+2139 ℹ️). */\nexport const SHARE_INFO_ICON = \"\\u{2139}\\u{FE0F}\";\n\nexport const SHARE_TAGS_SECTION_HEADING = `${SHARE_INFO_ICON} Tags:`;\n\n/** Standalone line when `rainOrShine` is true (invitation share + OG section parsing). */\nexport const SHARE_RAIN_OR_SHINE_LINE = \"Rain or Shine\";\n\n/** Standalone line when `foodTruck` is true (application share + OG section parsing). */\nexport const SHARE_FOOD_TRUCK_LINE = \"Food Truck\";\n\n/** Prefix for application compliance line (share text + OG section parsing). */\nexport const SHARE_COMPLIANCE_PREFIX = `${SHARE_CHECKMARK_ICON} Compliance:`;\n\n/** Label tag for application categories share copy (U+1F3F7 🏷️). */\nexport const SHARE_CATEGORY_ICON = \"\\u{1F3F7}\\u{FE0F}\";\n\nexport const SHARE_CATEGORIES_SECTION_HEADING = `${SHARE_CATEGORY_ICON} Categories:`;\n\n/** Straight ruler for application stall-size share copy (U+1F4CF 📏). */\nexport const SHARE_RULER_ICON = \"\\u{1F4CF}\";\n\n/** Prefix for application stall-size line (share text + OG section parsing). */\nexport const SHARE_STALL_SIZE_PREFIX = `${SHARE_RULER_ICON} Stall size:`;\n\n/** Dollar marker for price-range share copy (U+0024 $ — text, not emoji, so it stays black). */\nexport const SHARE_DOLLAR_ICON = \"$\";\n\n/** Prefix for application price-range line (share text + OG section parsing). */\nexport const SHARE_PRICE_RANGE_PREFIX = `${SHARE_DOLLAR_ICON} Price range:`;\n\n/** Alarm clock for invitation application-deadline share copy (U+23F0 ⏰). */\nexport const SHARE_CLOCK_ICON = \"\\u{23F0}\";\n\n/** Prefix for the invitation application-deadline sentence (share text + OG section parsing). */\nexport const SHARE_APPLICATION_DEADLINE_PREFIX = `${SHARE_CLOCK_ICON} Application deadline:`;\n\n/** First line on share sheet messages, Facebook SDK quote, and `og:description`. */\nexport const SHARE_MORE_INFO_LINE = \"Shared from ClueMart\";\n\nexport const DEFAULT_SHARE_OG_IMAGE = `${SHARE_SITE_URL}/assets/logo.webp`;\n\nexport const RESOURCE_SHARE_TYPES = [\n \"market\",\n \"stallholder\",\n \"partner\",\n \"affiliate\",\n \"school\",\n] as const;\n\nexport type ResourceShareType = (typeof RESOURCE_SHARE_TYPES)[number];\n\nexport const POST_SHARE_RESOURCE_TYPES = [\n \"market_faces\",\n \"clue_bites\",\n \"play_and_win\",\n] as const;\n\nexport type PostShareResourceType = (typeof POST_SHARE_RESOURCE_TYPES)[number];\n\nexport type ShareResourceType =\n | ResourceShareType\n | PostShareResourceType\n | RelationShareResourceType;\n\nexport const SHARE_RESOURCE_LABEL: Record<ShareResourceType, string> = {\n [RELATION_SHARE_APPLICATION]: \"Application\",\n [RELATION_SHARE_INVITATION]: \"Invitation\",\n clue_bites: \"Clue Bites\",\n market_faces: \"Market Faces\",\n play_and_win: \"Play & Win\",\n market: \"Market\",\n partner: \"Partner\",\n stallholder: \"Stallholder\",\n affiliate: \"Affiliate\",\n school: \"School\",\n};\n\nexport function isPostShareResourceType(\n resourceType: ShareResourceType,\n): resourceType is PostShareResourceType {\n return (POST_SHARE_RESOURCE_TYPES as readonly string[]).includes(\n resourceType,\n );\n}\n","import { SHARE_MORE_INFO_LINE } from \"./constants\";\n\n/** Blank line between share sections — title, address, dates, URL, etc. */\nexport const SHARE_DESCRIPTION_SECTION_BREAK = \"\\n\\n\";\n\n/**\n * Line break for `og:description` meta content. Use instead of `\\n` — Next.js\n * HTML serialisation collapses literal newlines to spaces; Facebook reads `&#10;`.\n */\nexport const OG_DESCRIPTION_LINE_BREAK = \"&#10;\";\n\n/** Joins OG description sections for Facebook link cards (and Twitter). */\nexport function joinShareOgDescriptionSections(\n sections: ReadonlyArray<string | false | null | undefined>,\n): string {\n return sections\n .map((section) => (typeof section === \"string\" ? section.trim() : \"\"))\n .filter((section): section is string => section.length > 0)\n .map((section) => section.replace(/\\n/g, OG_DESCRIPTION_LINE_BREAK))\n .join(OG_DESCRIPTION_LINE_BREAK);\n}\n\nexport function joinShareDescriptionSections(\n sections: ReadonlyArray<string | false | null | undefined>,\n): string {\n return sections\n .filter((section): section is string => Boolean(section))\n .join(SHARE_DESCRIPTION_SECTION_BREAK);\n}\n\n/** Prepends the standard share branding line when assembling display text. */\nexport function appendShareMoreInfoLine(description: string): string {\n const trimmed = description.trim();\n if (trimmed.startsWith(SHARE_MORE_INFO_LINE)) {\n return trimmed;\n }\n if (trimmed.length === 0) {\n return SHARE_MORE_INFO_LINE;\n }\n return joinShareDescriptionSections([SHARE_MORE_INFO_LINE, trimmed]);\n}\n","import { SHARE_MORE_INFO_LINE, type ShareResourceType } from \"./constants\";\nimport {\n joinShareOgDescriptionSections,\n SHARE_DESCRIPTION_SECTION_BREAK,\n} from \"./joinShareDescriptionSections\";\n\nexport {\n joinShareOgDescriptionSections,\n OG_DESCRIPTION_LINE_BREAK,\n SHARE_DESCRIPTION_SECTION_BREAK,\n} from \"./joinShareDescriptionSections\";\n\n/** Trims share text and collapses spaces per line; preserves `\\n\\n` section breaks. */\nconst LEADING_WHITESPACE = /^[ \\t]*/;\n\nexport function normalizeShareText(value: string | null | undefined): string {\n if (value == null) {\n return \"\";\n }\n return value\n .trim()\n .split(\"\\n\")\n .map((line) => {\n const leading = LEADING_WHITESPACE.exec(line)?.[0] ?? \"\";\n const rest = line\n .slice(leading.length)\n .trim()\n .replace(/[ \\t]{2,}/g, \" \");\n return leading + rest;\n })\n .join(\"\\n\")\n .replace(/\\n{3,}/g, \"\\n\\n\");\n}\n\n/** Branding line placement — first so Facebook truncation does not drop it. */\nexport type ShareMessageFooterPlacement = \"before-body\";\n\nexport function shareMessageFooterPlacementForType(\n _shareType?: ShareResourceType,\n): ShareMessageFooterPlacement {\n return \"before-body\";\n}\n\n/**\n * Ordered sections for share-sheet / Facebook SDK quote text:\n * {@link SHARE_MORE_INFO_LINE} → title → description (full body or post caption).\n */\nexport function buildShareMessageSections(input: {\n title?: string | null;\n description?: string | null;\n shareType?: ShareResourceType;\n}): string[] {\n const title = normalizeShareText(input.title);\n const description = normalizeShareText(input.description);\n\n return [SHARE_MORE_INFO_LINE, title, description].filter(\n (section) => section.length > 0,\n );\n}\n\nexport function splitShareDescriptionSections(value: string): string[] {\n const trimmed = normalizeShareText(value);\n if (!trimmed) {\n return [];\n }\n\n if (/\\n\\n/.test(trimmed)) {\n return trimmed\n .split(/\\n\\n+/)\n .map((section) => normalizeShareText(section))\n .filter((section) => section.length > 0);\n }\n\n if (/\\n/.test(trimmed)) {\n return trimmed\n .split(/\\n+/)\n .map((section) => normalizeShareText(section))\n .filter((section) => section.length > 0);\n }\n\n return [trimmed];\n}\n\n/**\n * Formats share descriptions for Open Graph / Twitter meta tags.\n * Sections are joined with {@link OG_DESCRIPTION_LINE_BREAK} (`&#10;`).\n */\nexport function normalizeShareOgDescription(value: string): string {\n return joinShareOgDescriptionSections(splitShareDescriptionSections(value));\n}\n\n/**\n * Quote text for Facebook ShareDialog on iOS (`ShareLinkContent.quote`).\n *\n * Title + blank lines + body sections. URL is omitted — `contentUrl` supplies\n * the link card (OG on resource landing pages controls card title/image).\n */\nexport function buildFacebookShareQuote(\n title: string,\n description: string,\n shareType?: ShareResourceType,\n): string | undefined {\n const sections = buildShareMessageSections({ description, shareType, title });\n const quote = sections.join(SHARE_DESCRIPTION_SECTION_BREAK).trim();\n return quote.length > 0 ? quote : undefined;\n}\n\n/**\n * Open Graph / Twitter description from pre-built section strings.\n * Prefer {@link joinShareOgDescriptionSections} when sections are already known.\n */\nexport function buildShareOgDescriptionFromSections(\n sections: ReadonlyArray<string | false | null | undefined>,\n): string {\n return joinShareOgDescriptionSections(sections);\n}\n\n/** Open Graph / Twitter description — body sections only (`og:title` is separate). */\nexport function buildShareOgDescription(\n _title: string,\n description: string,\n): string {\n return joinShareOgDescriptionSections(\n splitShareDescriptionSections(description),\n );\n}\n\n/**\n * Strips emoji and symbols that do not render reliably in overlay SVG fonts.\n * Keeps letters, numbers, whitespace, and common sentence punctuation.\n */\nexport function stripOverlaySubtitleSpecialChars(text: string): string {\n const regex = /[^\\p{L}\\p{M}\\p{N}\\s.,!?'\"&\\-():;/]/gu;\n const result = text\n .replace(/\\p{Extended_Pictographic}/gu, \"\")\n .replace(regex, \"\");\n return result.trim();\n}\n","import {\n CreateFormData,\n EnumOSPlatform,\n PromoCodeType,\n TermsAgreement,\n} from \"src\";\n\nimport { MutationResponse } from \"./global\";\nimport { SafeUserType } from \"./user\";\n\nexport enum EnumVerificationType {\n REGISTER = \"register\",\n RESET_PASSWORD = \"resetPassword\",\n}\n\nexport type LoginFormData = {\n email: string;\n isAdminPage?: boolean;\n password: string;\n platform?: EnumOSPlatform;\n};\n\nexport type CreateLoginFormData = CreateFormData<LoginFormData>;\n\nexport type RegisterFormData = {\n email: string;\n firstName: string;\n lastName: string;\n password: string;\n platform?: EnumOSPlatform;\n preferredRegion: string;\n promoCode?: PromoCodeType | null;\n termsAgreement?: TermsAgreement | null;\n};\n\nexport type CreateRegisterFormData = CreateFormData<RegisterFormData>;\n\nexport type RequestPasswordResetFormData = {\n email: string;\n};\n\nexport type CreateRequestPasswordResetFormData =\n CreateFormData<RequestPasswordResetFormData>;\n\nexport type ResetPasswordFormData = {\n confirmPassword: string;\n email: string;\n password: string;\n};\n\nexport type CreateResetPasswordFormData = CreateFormData<ResetPasswordFormData>;\n\nexport type ValidateVerificationTokenFormData = {\n email: string;\n verificationToken: string;\n verificationType?: EnumVerificationType;\n};\n\nexport type CreateValidateVerificationTokenFormData =\n CreateFormData<ValidateVerificationTokenFormData>;\n\nexport type AuthPayloadType = {\n refreshToken: string | null;\n token: string;\n user: SafeUserType;\n};\n\nexport type AuthMutationResponse = MutationResponse<AuthPayloadType>;\n\nexport type RefreshTokenPayloadType = {\n refreshToken: string;\n token: string;\n};\n\nexport type RefreshTokenMutationResponse =\n MutationResponse<RefreshTokenPayloadType>;\n","import {\n Control,\n FieldValues,\n FormState,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormReset,\n UseFormSetValue,\n UseFormWatch,\n} from \"react-hook-form\";\n\nimport {\n EnumEventDateStatus,\n EnumEventType,\n EnumResourceType,\n EnumSocialMedia,\n EnumUserLicence,\n} from \"../enums\";\n\nimport { EventListItemType } from \"./event\";\nimport { EnumPostType } from \"./post\";\nimport { VendorType } from \"./vendor\";\n\nexport const PROMO_CODE_PREFIX = \"CM-\";\n\nexport type PromoCodeType = `${typeof PROMO_CODE_PREFIX}${string}`;\n\nexport type Nullable<T> = {\n [K in keyof T]: T[K] | null | undefined;\n};\n\n/** Uniform mutation response envelope used across GraphQL mutations. */\nexport type MutationResponse<T> = {\n data: T | null;\n message: string | null;\n};\n\nexport type DeviceInfo = {\n appBuildNumber: string;\n appId: string;\n appVersion: string;\n brand: string;\n deviceName: string;\n installationId: string;\n manufacturer: string;\n modelName: string;\n osName: string;\n osVersion: string;\n timestamp: string;\n};\n\nexport type TermsAgreement = DeviceInfo & {\n termVersion: string;\n};\n\nexport type ResourceContactDetailsType = {\n email?: string | null;\n landlinePhone?: string | null;\n mobilePhone?: string | null;\n};\n\nexport type ResourceImageType = {\n active: boolean;\n source: string;\n title: string;\n};\n\nexport type SocialMediaType = {\n name?: EnumSocialMedia;\n link?: string;\n};\n\nexport type UserLicenceType = {\n expiryDate: Date;\n issuedDate: Date;\n licenceType: EnumUserLicence;\n prevLicenceType?: EnumUserLicence | null;\n};\n\nexport type OwnerType = {\n email: string;\n userId: string;\n};\n\nexport interface BaseResourceTypeFormData {\n _id?: string;\n active: boolean;\n contactDetails: ResourceContactDetailsType | null;\n cover: ResourceImageType;\n coverUpload?: ResourceImageType | null;\n description: string;\n images?: ResourceImageType[] | null;\n imagesUpload?: ResourceImageType[] | null;\n logo?: ResourceImageType | null;\n logoUpload?: ResourceImageType | null;\n name: string;\n promoCodes?: PromoCodeType[] | null;\n region: string;\n socialMedia: SocialMediaType[] | null;\n termsAgreement?: TermsAgreement | null;\n}\n\nexport type PosterUsageType = {\n month: string;\n count: number;\n};\n\nexport type RelatedPostType = {\n postActive: boolean;\n postId: string;\n postSlug: string;\n postType: EnumPostType;\n};\n\nexport type SocialShareResourceType = {\n qrCode: ResourceImageType;\n socialImage: ResourceImageType;\n};\n\nexport type BaseResourceType = Omit<\n BaseResourceTypeFormData,\n \"_id\" | \"coverUpload\" | \"imagesUpload\" | \"logoUpload\"\n> & {\n _id: string;\n adIds?: string[] | null;\n approvedAt?: Date | null;\n createdAt: Date;\n deletedAt: Date | null;\n owner: OwnerType;\n posterUsage?: PosterUsageType | null;\n rating?: number | null;\n relatedPost?: RelatedPostType | null;\n reviewCount?: number | null;\n slug: string;\n updatedAt: Date | null;\n};\n\nexport type LocationGeoType = {\n coordinates: number[]; // [longitude, latitude]\n type: \"Point\"; // Mongoose GeoJSON type\n};\n\nexport type LocationType = {\n city: string;\n country: string;\n fullAddress: string;\n geo: LocationGeoType;\n latitude: number;\n longitude: number;\n region: string;\n};\n\nexport type DateTimeType = {\n dateStatus: EnumEventDateStatus;\n endDate: string;\n endTime: string;\n startDate: string;\n startTime: string;\n};\n\nexport type Region = {\n latitude: number;\n latitudeDelta: number;\n longitude: number;\n longitudeDelta: number;\n};\n\nexport type ResourceDetails = {\n dateTime: DateTimeType[] | null;\n description: string | null;\n eventStatus?: EventStatusType | null;\n location: LocationType | null;\n resourceCover: ResourceImageType | null;\n resourceId: string;\n resourceLogo: ResourceImageType | null;\n resourceName: string;\n resourceType: EnumResourceType;\n};\n\nexport type GeocodeLocation = Pick<LocationType, \"latitude\" | \"longitude\">;\n\nexport type EventStatusType = {\n claimed: boolean;\n eventType: EnumEventType;\n googlePlaceId?: string | null;\n};\n\nexport interface FormField {\n disabled?: boolean;\n helperText?: string;\n isTextArea?: boolean;\n keyboardType?:\n | \"default\"\n | \"email-address\"\n | \"number-pad\"\n | \"url\"\n | \"decimal-pad\"\n | \"phone-pad\";\n name: string;\n placeholder: string;\n required?: boolean;\n secureTextEntry?: boolean;\n}\n\nexport interface FormDateField {\n dateMode: \"date\" | \"time\";\n helperText?: string;\n name: \"endDate\" | \"endTime\" | \"startDate\" | \"startTime\";\n placeholder: string;\n}\n\nexport interface SubcategoryItems {\n id: string;\n name: string;\n description?: string | null;\n}\n\nexport interface Subcategory {\n id: string;\n name: string;\n items?: SubcategoryItems[] | null;\n}\n\nexport interface Category {\n color?: string | null;\n description?: string | null;\n id: string;\n name: string;\n subcategories: Subcategory[];\n}\n\nexport type OptionItem = {\n value: string;\n label: string;\n};\n\nexport type ImageObjectType = {\n uri: string;\n type: string;\n name: string;\n};\n\nexport interface ResourceConnectionsType {\n events: EventListItemType[] | null;\n vendors: VendorType[] | null;\n}\n\nexport interface CreateFormData<T extends FieldValues> {\n control: Control<T, any>;\n fields: T;\n formState: FormState<T>;\n handleSubmit: UseFormHandleSubmit<T, any>;\n reset: UseFormReset<T>;\n setValue: UseFormSetValue<T>;\n watch: UseFormWatch<T>;\n getValues: UseFormGetValues<T>;\n}\n\nexport interface UseGetResourcesByRegionOptions {\n onlyClaimed?: boolean;\n limit?: number;\n offset?: number;\n}\n","import { EnumResourceType } from \"src/enums\";\n\nimport { CreateFormData } from \"./global\";\n\nexport enum EnumAdShowOn {\n EVENTS_PAGE = \"Events_page\",\n FRONT_PAGE = \"Front_page\",\n PARTNERS_PAGE = \"Partners_page\",\n VENDORS_PAGE = \"Vendors_page\",\n}\n\nexport enum EnumAdStatus {\n ACTIVE = \"Active\",\n PAUSED = \"Paused\",\n EXPIRED = \"Expired\",\n}\n\nexport enum EnumAdType {\n SPONSORED = \"Sponsored\",\n FREE = \"Free\",\n}\n\nexport enum EnumAdStyle {\n BLOOM = \"Bloom\",\n RISE = \"Rise\",\n}\n\nexport type AdResource = {\n adDescription: string;\n adImage: string;\n adStyle: EnumAdStyle;\n adTitle: string;\n adType: EnumAdType;\n resourceId: string;\n resourceName: string;\n resourceRegion: string;\n resourceType: EnumResourceType;\n resourceSlug: string;\n};\n\nexport interface AdFormData {\n active: boolean;\n end: Date; // ISO date string\n resource: AdResource;\n showOn: EnumAdShowOn[];\n start?: Date; // ISO date string\n status: EnumAdStatus;\n targetRegion: string[];\n}\n\n// Form state matches the validation schema: all resource fields are present.\n// Use empty strings / explicit enum defaults in `defaultValues` for \"create\" flows.\nexport type AdFormState = AdFormData;\n\nexport type CreateAdFormData = CreateFormData<AdFormData>;\nexport type CreateAdFormState = CreateFormData<AdFormState>;\n\nexport interface AdType extends AdFormData {\n _id: string;\n clicks?: number; // How many times the ad was clicked\n createdAt: Date;\n impressions?: number; // How often the ad was seen\n start: Date; // ISO date string\n updatedAt: Date | null;\n}\n","import {\n EnumEventDateStatus,\n EnumOSPlatform,\n EnumResourceType,\n} from \"src/enums\";\n\nimport { LocationGeoType } from \"./global\";\n\nexport enum EnumActivity {\n FAVORITE = \"FAVORITE\",\n GOING = \"GOING\",\n INTERESTED = \"INTERESTED\",\n PRESENT = \"PRESENT\",\n VIEW = \"VIEW\",\n}\n\nexport type ResourceActivityEntry = {\n activityType: EnumActivity;\n location: LocationGeoType | null;\n dateStatus?: EnumEventDateStatus | null;\n startDate?: string | null;\n startTime?: string | null;\n timestamp: Date;\n userAgent: EnumOSPlatform;\n userId?: string | null;\n};\n\nexport type ResourceActivityType = {\n _id: string;\n resourceType: EnumResourceType;\n resourceId: string;\n activity: ResourceActivityEntry[];\n};\n\nexport type ResourceActivityInputType = {\n resourceId: string;\n resourceType: EnumResourceType;\n activity: Omit<ResourceActivityEntry, \"timestamp\">;\n};\n","import { EnumResourceType } from \"src/enums\";\n\nimport { BaseGameType } from \"./game\";\nimport {\n CreateFormData,\n ResourceImageType,\n SocialShareResourceType,\n} from \"./global\";\n\nexport enum EnumPostType {\n MARKET_FACES = \"market_faces\",\n CLUE_BITES = \"clue_bites\",\n PLAY_AND_WIN = \"play_and_win\",\n}\n\nexport enum EnumPostContentType {\n GAME = \"game\",\n IMAGE = \"image\",\n LIST = \"list\",\n TEXTAREA = \"textarea\",\n VIDEO = \"video\",\n}\n\nexport type PostFileInput = {\n source: File;\n title?: string;\n};\n\nexport type PostContentTextarea = {\n textarea: {\n title?: string;\n data: string;\n };\n};\n\nexport type PostContentImage = {\n images: ResourceImageType[] | null;\n imagesUpload?: PostFileInput[] | null;\n};\n\nexport type PostContentVideo = {\n video: {\n source: string;\n title?: string;\n };\n};\n\nexport type PostContentList = {\n list: {\n title?: string;\n items: {\n text: string;\n }[];\n };\n};\n\nexport type PostContentGame = {\n game: BaseGameType;\n};\n\nexport type PostContentData =\n | PostContentGame\n | PostContentTextarea\n | PostContentImage\n | PostContentVideo\n | PostContentList;\n\nexport type PostContentFormData = {\n contentData?: PostContentData | null;\n contentOrder?: number | null;\n contentType?: EnumPostContentType | null;\n};\n\nexport type PostResource = {\n resourceSlug: string;\n resourceId: string;\n resourceType: EnumResourceType;\n resourceRegion: string;\n};\n\nexport interface PostFormData {\n active: boolean;\n caption: string;\n content: PostContentFormData[];\n cover?: ResourceImageType | null;\n coverUpload?: PostFileInput | null;\n postType: EnumPostType;\n resource?: PostResource | null;\n tags?: string[] | null;\n title: string;\n notifyUsers?: boolean | null;\n}\n\nexport type CreatePostFormData = CreateFormData<PostFormData>;\n\nexport type PostContentType = Omit<PostContentFormData, \"contentData\"> & {\n contentData: Omit<PostContentData, \"imagesUpload\">;\n};\n\nexport type PostType = Omit<\n PostFormData,\n \"content\" | \"coverUpload\" | \"resource\"\n> & {\n _id: string;\n approvedAt?: Date | null;\n content: PostContentType[];\n createdAt: Date;\n deletedAt: Date | null;\n resource?: PostResource | null;\n slug: string;\n sharePublic?: SocialShareResourceType | null;\n updatedAt: Date | null;\n};\n","import { OwnerType } from \"../global\";\n\nimport { DailyClueBaseGame, DailyClueGameData } from \"./dailyClue\";\nimport { EnumGameType, GameDate } from \"./global\";\nimport { PuzzleBaseGame, PuzzleGameData } from \"./puzzleGame\";\n\nexport type BaseGameMap = {\n [EnumGameType.DAILY_CLUE]: DailyClueBaseGame;\n [EnumGameType.MINI_QUIZ]: PuzzleBaseGame;\n [EnumGameType.ODD_ONE_OUT]: PuzzleBaseGame;\n};\n\nexport type BaseGameType = {\n gameType: EnumGameType;\n gameTypeId: string;\n gameTitle: string;\n} & {\n [K in keyof BaseGameMap]?: BaseGameMap[K] | null;\n};\n\nexport enum EnumGameStatus {\n GAME_COMPLETED = \"GAME_COMPLETED\",\n GAME_IN_PROGRESS = \"GAME_IN_PROGRESS\",\n GAME_LEFT = \"GAME_LEFT\",\n GAME_STARTED = \"GAME_STARTED\",\n}\n\nexport type GameHistory = Pick<\n BaseGameType,\n \"gameTitle\" | \"gameType\" | \"gameTypeId\"\n> & {\n createdAt: Date;\n gameDate: GameDate;\n gameStatus: EnumGameStatus;\n /** Per-event delta. Not persisted for overallGamePoints (computed at read time). */\n pointsEarned: number;\n /** Running total for this game instance; computed at read time, not stored in Mongo. */\n overallGamePoints?: number;\n};\n\ntype GameDataMap = {\n [EnumGameType.DAILY_CLUE]: DailyClueGameData;\n [EnumGameType.MINI_QUIZ]: PuzzleGameData;\n [EnumGameType.ODD_ONE_OUT]: PuzzleGameData;\n};\ntype GameDataType = {\n [K in keyof GameDataMap]?: GameDataMap[K] | null;\n};\n\nexport type GameType = Pick<\n BaseGameType,\n \"gameTitle\" | \"gameType\" | \"gameTypeId\"\n> & {\n _id: string;\n active: boolean;\n createdAt: Date;\n gameData: GameDataType;\n gameHistory: GameHistory[] | null;\n updatedAt: Date | null;\n};\n\nexport type GameDocType = {\n _id: string;\n active: boolean;\n createdAt: Date;\n deletedAt: Date | null;\n games: GameType[] | null;\n owner: OwnerType;\n points: number;\n updatedAt: Date | null;\n};\n\nexport type GameLeaderboard = {\n gameHistory: GameHistory[] | null;\n overallPoints: number;\n owner: OwnerType;\n};\n","export enum EnumGameType {\n DAILY_CLUE = \"dailyClue\",\n MINI_QUIZ = \"miniQuiz\",\n ODD_ONE_OUT = \"oddOneOut\",\n}\n\nexport type GameDate = {\n startDate: Date;\n endDate: Date;\n};\n\nexport const gameTypeToDisplayName: Record<EnumGameType, string> = {\n [EnumGameType.DAILY_CLUE]: \"Daily Clue\",\n [EnumGameType.MINI_QUIZ]: \"Mini Quiz\",\n [EnumGameType.ODD_ONE_OUT]: \"Odd One Out\",\n};\n\nexport type GlobalGameData = {\n points: number;\n // User has found the clue 3 days in a row, this is incrementing if the user finds the clue and decrements if user misses a day\n streak: number;\n};\n","import { EnumUserLicence } from \"../enums\";\n\n/** Tier keys in descending priority (highest first) for licence resolution. */\nexport const TIERS_BY_PRIORITY = [\"pro_plus\", \"pro\", \"standard\"] as const;\n\n/** Canonical subscription tier keys — matches Stripe/server tier identifiers. */\nexport type Tier = (typeof TIERS_BY_PRIORITY)[number];\n\n/** User-facing tier labels (decoupled from the Tier discriminant). */\nexport const TIER_DISPLAY_LABELS: Record<Tier, string> = {\n pro: \"Pro\",\n // eslint-disable-next-line camelcase\n pro_plus: \"Pro+ Ads\",\n standard: \"Standard\",\n};\n\n/** Maps licence enums to their canonical tier key. */\nexport const TIER_FROM_LICENCE: Record<EnumUserLicence, Tier> = {\n [EnumUserLicence.PRO_EVENT]: \"pro\",\n [EnumUserLicence.PRO_PLUS_EVENT]: \"pro_plus\",\n [EnumUserLicence.PRO_PLUS_VENDOR]: \"pro_plus\",\n [EnumUserLicence.PRO_VENDOR]: \"pro\",\n [EnumUserLicence.STANDARD_EVENT]: \"standard\",\n [EnumUserLicence.STANDARD_PARTNER]: \"standard\",\n [EnumUserLicence.STANDARD_VENDOR]: \"standard\",\n [EnumUserLicence.STANDARD_AFFILIATE]: \"standard\",\n [EnumUserLicence.STANDARD_SCHOOL]: \"standard\",\n};\n","import { EnumResourceType } from \"src/enums\";\n\nimport {\n CreateFormData,\n LocationType,\n OwnerType,\n PromoCodeType,\n SocialMediaType,\n} from \"./global\";\nimport { UserFormData } from \"./user\";\n\nexport enum EnumAffiliateParticipantType {\n INDIVIDUAL = \"INDIVIDUAL\",\n SOLE_TRADER = \"SOLE_TRADER\",\n COMPANY = \"COMPANY\",\n}\n\nexport type AffiliateContactDetails = {\n mobilePhone: string;\n};\n\nexport type AffiliateBankAccountDetailsType = {\n accountHolderName: string;\n accountNumber: string;\n};\n\nexport type AffiliateUserDefaultFields = Pick<\n UserFormData,\n \"email\" | \"firstName\" | \"lastName\" | \"termsAgreement\"\n>;\n\nexport type AffiliateDetailsType = AffiliateUserDefaultFields & {\n bankAccountDetails: AffiliateBankAccountDetailsType;\n contactDetails: AffiliateContactDetails;\n irdNumber: string;\n location: LocationType;\n participantType: EnumAffiliateParticipantType;\n socialMedia: SocialMediaType[] | null;\n};\n\nexport enum EnumAffiliateRewardType {\n ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS = \"ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS\",\n ACTIVE_VENDOR_BONUS_REWARD = \"ACTIVE_VENDOR_BONUS_REWARD\",\n ACTIVE_VENDOR_PRO_SUBSCRIPTION = \"ACTIVE_VENDOR_PRO_SUBSCRIPTION\",\n ACTIVE_VENDOR_STANDARD_SUBSCRIPTION = \"ACTIVE_VENDOR_STANDARD_SUBSCRIPTION\",\n NEW_EVENT_REGISTRATION = \"NEW_EVENT_REGISTRATION\",\n NEW_VENDOR_REGISTRATION = \"NEW_VENDOR_REGISTRATION\",\n}\n\nexport type AffiliateRewardType = {\n createdAt: Date;\n redeemedAt: Date | null;\n rewardDescription: string;\n rewardType: EnumAffiliateRewardType;\n rewardValue: number;\n};\n\nexport type AffiliateResourceType = {\n resourceActive: boolean;\n resourceDeletedAt: Date | null;\n resourceId: string;\n resourceName: string;\n resourceOwner: OwnerType;\n resourceType: EnumResourceType;\n rewards: AffiliateRewardType[];\n};\n\nexport type RedeemHistoryType = {\n paidAt?: Date | null;\n redeemedAt: Date;\n rewardValue: number;\n};\n\nexport interface AffiliateType {\n _id: string;\n active: boolean;\n approvedAt?: Date | null;\n affiliateBonusRewards?: AffiliateRewardType[] | null;\n affiliateCode: PromoCodeType | null;\n affiliateDetails: AffiliateDetailsType | null;\n affiliateResources: AffiliateResourceType[];\n createdAt: Date;\n deletedAt: Date | null;\n overallPoints: number;\n owner: OwnerType;\n redeemHistory?: RedeemHistoryType[] | null;\n updatedAt: Date | null;\n}\n\nexport type AffiliateFormData = Omit<\n AffiliateDetailsType,\n \"email\" | \"firstName\" | \"lastName\"\n>;\n\nexport type CreateAffiliateFormData = CreateFormData<AffiliateFormData>;\n","import {\n EnumInviteStatus,\n EnumPaymentMethod,\n EnumRegions,\n EnumReward,\n EnumSocialMedia,\n EnumUserLicence,\n} from \"src/enums\";\nimport { stripOverlaySubtitleSpecialChars } from \"src/sharing/normalizeShareDescription\";\nimport {\n EnumPostType,\n OptionItem,\n PROMO_CODE_PREFIX,\n SocialMediaType,\n} from \"src/types\";\n\nimport { isIsoDateString } from \"./date\";\nimport { mapArrayToOptions } from \"./mapArrayToOptions\";\n\nexport const removeTypename = (obj: any): any => {\n // Preserve Date objects\n if (obj instanceof Date) {\n return obj;\n }\n\n // Preserve File objects (for apollo-upload-client)\n if (obj instanceof File) {\n return obj;\n }\n\n // Preserve ISO date strings\n if (isIsoDateString(obj)) {\n return obj;\n }\n\n // Handle arrays\n if (Array.isArray(obj)) {\n return obj.map(removeTypename);\n }\n\n // Handle plain objects only\n if (obj !== null && typeof obj === \"object\") {\n const { __typename, ...cleanedObj } = obj;\n\n return Object.keys(cleanedObj).reduce((acc: any, key) => {\n acc[key] = removeTypename(cleanedObj[key]);\n return acc;\n }, {});\n }\n\n // Primitives\n return obj;\n};\n\n/**\n * Truncate text to a specified length and append ellipsis if necessary.\n * @param text\n * @param maxLength\n * @returns\n */\nexport const truncateText = (text: string, maxLength: number = 30): string => {\n const result = stripOverlaySubtitleSpecialChars(text);\n return result.length > maxLength\n ? result.substring(0, maxLength) + \"...\"\n : result;\n};\n\nexport const capitalizeFirstLetter = (str: string): string => {\n return str\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(\" \");\n};\n\nexport const statusOptions = [\n ...Object.values(EnumInviteStatus)\n .map((status) => ({\n label: status,\n value: status,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)), // Sort the options alphabetically\n];\n\nexport const availableRegionTypes = Object.values(EnumRegions);\nexport const availableRegionOptions: OptionItem[] =\n mapArrayToOptions(availableRegionTypes);\n\nexport const paymentMethodOptions: OptionItem[] = mapArrayToOptions(\n Object.values(EnumPaymentMethod),\n);\n\nexport function normalizeUrl(url: string): string {\n const withProtocol =\n !url.startsWith(\"http://\") && !url.startsWith(\"https://\")\n ? `https://${url}`\n : url;\n return withProtocol.replace(/\\/+$/, \"\");\n}\n\nexport const licenseNiceNames: Record<EnumUserLicence, string> = {\n [EnumUserLicence.PRO_EVENT]: \"Pro Event\",\n [EnumUserLicence.PRO_VENDOR]: \"Pro Stallholder\",\n [EnumUserLicence.STANDARD_EVENT]: \"Standard Event\",\n [EnumUserLicence.STANDARD_VENDOR]: \"Standard Stallholder\",\n [EnumUserLicence.PRO_PLUS_EVENT]: \"Pro+Ads Event\",\n [EnumUserLicence.PRO_PLUS_VENDOR]: \"Pro+Ads Stallholder\",\n [EnumUserLicence.STANDARD_PARTNER]: \"Partner\",\n [EnumUserLicence.STANDARD_AFFILIATE]: \"Affiliate\",\n [EnumUserLicence.STANDARD_SCHOOL]: \"School\",\n};\n\nexport const cluemartSocialMedia: SocialMediaType[] = [\n {\n link: \"https://www.facebook.com/ClueMartApp\",\n name: EnumSocialMedia.FACEBOOK,\n },\n {\n link: \"https://www.instagram.com/cluemart_app\",\n name: EnumSocialMedia.INSTAGRAM,\n },\n {\n link: \"https://www.tiktok.com/@cluemart\",\n name: EnumSocialMedia.TIKTOK,\n },\n {\n link: \"https://www.youtube.com/@ClueMart-App-NZ\",\n name: EnumSocialMedia.YOUTUBE,\n },\n];\n\nexport const IOS_URL = \"https://apps.apple.com/nz/app/cluemart/id6747251008\";\nexport const ANDROID_URL =\n \"https://play.google.com/store/apps/details?id=com.timardex.cluemart\";\n\nexport const DEFAULT_RESOURCES_RETURN_LIMIT = 1000;\nexport const DEFAULT_RESOURCES_RETURN_OFFSET = 0;\nexport const CLUEMART_MAIN_DOMAIN_URL = \"https://cluemart.co.nz\";\n\nexport const rewardNiceNames: Record<\n EnumReward,\n { name: string; points: number }\n> = {\n [EnumReward.MYSTERY_JOY_BOX]: {\n name: \"Mystery Joy Box\",\n points: 250,\n },\n [EnumReward.MYSTERY_SQUEEZE_BOX]: {\n name: \"Mystery Squeeze Box\",\n points: 350,\n },\n [EnumReward.MYSTERY_DELUXE_BOX]: {\n name: \"Mystery Deluxe Box\",\n points: 500,\n },\n};\n\nexport const PostTypeLabels: Record<EnumPostType, string> = {\n [EnumPostType.MARKET_FACES]: \"Market Faces\",\n [EnumPostType.CLUE_BITES]: \"Clue Bites\",\n [EnumPostType.PLAY_AND_WIN]: \"Play & Win\",\n};\n\n/** Hardcoded registration gateway code; only valid at sign-up (not a generated school referral code). */\nexport const CM_SCHOOL_PROMO_CODE = `${PROMO_CODE_PREFIX}SCHOOL`;\n\n/** Hardcoded registration gateway code; only valid at sign-up (not a generated affiliate referral code). */\nexport const CM_AFFILIATE_PROMO_CODE = `${PROMO_CODE_PREFIX}AFFILIATE`;\n\nexport function formatNZBankAccount(input: string): string {\n // Remove all non-digit characters\n const digitsOnly = input.replaceAll(/\\D/g, \"\");\n\n // Build the formatted string step-by-step\n const parts = [];\n if (digitsOnly.length > 0) parts.push(digitsOnly.slice(0, 2)); // bank\n if (digitsOnly.length > 2) parts.push(digitsOnly.slice(2, 6)); // branch\n if (digitsOnly.length > 6) parts.push(digitsOnly.slice(6, 13)); // account\n if (digitsOnly.length > 13) parts.push(digitsOnly.slice(13, 15)); // suffix\n\n return parts.join(\"-\");\n}\n","import { ResourceImageType } from \"../types/global\";\n\n/**\n * Loose input shape for normalization helpers. Callers often pass partial or legacy\n * data (e.g. Mongo docs without `active`, GraphQL input, empty placeholders) before\n * it becomes a strict `ResourceImageType`.\n */\ntype ResourceImageLike = {\n active?: boolean | null;\n source?: string | null;\n title?: string | null;\n};\n\n/**\n * Resolves whether a resource image is active.\n * Only an explicit `active: true` shows the image; missing `active` defaults to false\n * so licence downgrades (e.g. standard vendor gallery limit) are not overridden.\n */\nexport function resolveResourceImageActive(\n image: ResourceImageLike | null | undefined,\n): boolean {\n if (image?.active != null) {\n return image.active;\n }\n\n return false;\n}\n\nexport function normalizeResourceImage(\n image: ResourceImageLike | null | undefined,\n): ResourceImageType {\n return {\n active: resolveResourceImageActive(image),\n source: image?.source ?? \"\",\n title: image?.title ?? \"\",\n };\n}\n\nexport function isResourceImageActive(\n image: ResourceImageLike | null | undefined,\n): boolean {\n return resolveResourceImageActive(image);\n}\n","export const SCHOOL_MIN_STUDENT_COUNT = 300;\nexport const SCHOOL_MAX_STUDENT_COUNT = 0;\n","import { EnumEventDateStatus } from \"../enums\";\nimport type { DateTimeType } from \"../types/global\";\n\nexport const EVENT_DATE_STATUS_PERIOD_MAP: Partial<\n Record<EnumEventDateStatus, EnumEventDateStatus[]>\n> = {\n [EnumEventDateStatus.TODAY]: [\n EnumEventDateStatus.STARTED,\n EnumEventDateStatus.STARTING_SOON,\n EnumEventDateStatus.TODAY,\n ],\n [EnumEventDateStatus.THIS_WEEK]: [\n EnumEventDateStatus.STARTED,\n EnumEventDateStatus.STARTING_SOON,\n EnumEventDateStatus.THIS_WEEK,\n EnumEventDateStatus.TODAY,\n EnumEventDateStatus.TOMORROW,\n ],\n};\n\nexport function getAllowedEventDateStatuses(\n period: EnumEventDateStatus,\n): EnumEventDateStatus[] {\n return EVENT_DATE_STATUS_PERIOD_MAP[period] ?? [period];\n}\n\nexport function eventMatchesDateStatusPeriod(\n dateTime: Pick<DateTimeType, \"dateStatus\">[] | null | undefined,\n period: EnumEventDateStatus,\n): boolean {\n const allowedStatuses = getAllowedEventDateStatuses(period);\n\n return (\n dateTime?.some((dt) => allowedStatuses.includes(dt.dateStatus)) ?? false\n );\n}\n\nexport function filterEventsByDateStatusPeriod<\n T extends { dateTime?: Pick<DateTimeType, \"dateStatus\">[] | null },\n>(events: T[], period: EnumEventDateStatus): T[] {\n return events.filter((event) =>\n eventMatchesDateStatusPeriod(event.dateTime, period),\n );\n}\n","import dayjs from \"dayjs\";\n\nimport { EnumEventDateStatus, EnumResourceType } from \"../enums\";\nimport type { DateTimeType, LocationType } from \"../types/global\";\nimport { dateFormat, formatDate } from \"../utils/date\";\n\nexport type CalendarSheetContentData = {\n dateTime: DateTimeType;\n location: LocationType;\n resourceId: string;\n resourceType: EnumResourceType;\n};\n\nexport const KNOWN_EVENT_SCHEDULE_STATUSES = new Set<EnumEventDateStatus>([\n EnumEventDateStatus.STARTED,\n EnumEventDateStatus.STARTING_SOON,\n EnumEventDateStatus.ENDED,\n]);\n\nexport type EventScheduleStatusTone =\n | \"started\"\n | \"startingSoon\"\n | \"ended\"\n | \"default\";\n\nexport type EventScheduleStatusPresentation = {\n status: EnumEventDateStatus;\n statusLabel: string;\n tone: EventScheduleStatusTone;\n};\n\nexport function toCalendarIsoDate(startDate: string): string | null {\n const formatted = dayjs(startDate, dateFormat).format(\"YYYY-MM-DD\");\n\n return dayjs(formatted, \"YYYY-MM-DD\", true).isValid() ? formatted : null;\n}\n\nexport function fromCalendarIsoDate(isoDate: string): string {\n return dayjs(isoDate, \"YYYY-MM-DD\").format(dateFormat);\n}\n\nexport function getEventCalendarIsoDates(\n dateTimes: DateTimeType[] | null | undefined,\n): string[] {\n return (\n dateTimes\n ?.map((dateTime) => toCalendarIsoDate(dateTime.startDate))\n .filter((date): date is string => Boolean(date)) ?? []\n );\n}\n\nexport function findEventDateTimeByIsoDate(\n dateTimes: DateTimeType[] | null | undefined,\n isoDate: string,\n): DateTimeType | null {\n const selected = fromCalendarIsoDate(isoDate);\n\n return dateTimes?.find((dateTime) => dateTime.startDate === selected) ?? null;\n}\n\nexport function buildCalendarSheetContentData(\n dateTimes: DateTimeType[],\n isoDate: string,\n location: LocationType,\n resourceId: string,\n resourceType: EnumResourceType,\n): CalendarSheetContentData | null {\n const dateTime = findEventDateTimeByIsoDate(dateTimes, isoDate);\n\n if (!dateTime) {\n return null;\n }\n\n return {\n dateTime,\n location,\n resourceId,\n resourceType,\n };\n}\n\nexport function getEventScheduleStatusTone(\n status: EnumEventDateStatus,\n): EventScheduleStatusTone {\n switch (status) {\n case EnumEventDateStatus.STARTED:\n return \"started\";\n case EnumEventDateStatus.STARTING_SOON:\n return \"startingSoon\";\n case EnumEventDateStatus.ENDED:\n return \"ended\";\n default:\n return \"default\";\n }\n}\n\nexport function getEventScheduleStatusPresentation(\n dateTime: DateTimeType,\n): EventScheduleStatusPresentation {\n return {\n status: dateTime.dateStatus,\n statusLabel: dateTime.dateStatus.replaceAll(\"_\", \" \").toLowerCase(),\n tone: getEventScheduleStatusTone(dateTime.dateStatus),\n };\n}\n\nexport function getEventScheduleStatusLabel(\n dateTime: DateTimeType,\n onlyShowKnownStatuses: boolean,\n): string | null {\n const { dateStatus: status } = dateTime;\n const isKnownStatus = Boolean(\n status && KNOWN_EVENT_SCHEDULE_STATUSES.has(status),\n );\n\n if (onlyShowKnownStatuses && !isKnownStatus) {\n return null;\n }\n\n return isKnownStatus\n ? status.replaceAll(\"_\", \" \").toLowerCase()\n : `Next event date: ${formatDate(dateTime.startDate, \"date\")}`;\n}\n\nexport function shouldShowEventActionsWithWeather(\n resourceType: EnumResourceType,\n dateTime: DateTimeType,\n location: LocationType | null | undefined,\n): boolean {\n return (\n resourceType === EnumResourceType.EVENT &&\n Boolean(location) &&\n Boolean(dateTime?.dateStatus) &&\n ![\n EnumEventDateStatus.ENDED,\n EnumEventDateStatus.CANCELED,\n EnumEventDateStatus.STARTED,\n ].includes(dateTime.dateStatus)\n );\n}\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const clothingAndFashion: Category[] = [\n {\n id: \"clothing-fashion\",\n name: \"Clothing & Fashion\",\n description:\n \"New, handmade, or upcycled clothing and accessories with a creative twist.\",\n subcategories: [\n {\n id: \"apparel-babywear\",\n name: \"Apparel & Babywear\",\n items: [\n {\n id: \"apparel\",\n name: \"Apparel\",\n description: \"Dresses, t-shirts, jumpers, rompers, sets, kidswear.\",\n },\n {\n id: \"baby-toddler-apparel\",\n name: \"Baby & Toddler Apparel\",\n description:\n \"Handmade baby clothes, soft shoes, bibs, hats, knitted sets.\",\n },\n {\n id: \"upcycled-fashion\",\n name: \"Upcycled Fashion\",\n description:\n \"Reworked garments, patchwork pieces, restyled vintage.\",\n },\n {\n id: \"other-wearable-items\",\n name: \"Other wearable items\",\n description: \"Unique clothing not listed above.\",\n },\n ],\n },\n {\n id: \"fashion-accessories\",\n name: \"Fashion Accessories\",\n items: [\n {\n id: \"accessories\",\n name: \"Accessories\",\n description: \"Scarves, belts, gloves, hats, headbands, caps.\",\n },\n {\n id: \"shoes\",\n name: \"Shoes\",\n description: \"Handmade shoes, baby booties, sandals, slippers.\",\n },\n {\n id: \"bags-wallets\",\n name: \"Bags & Wallets\",\n description:\n \"Leather bags, fabric purses, wallets, backpacks, totes.\",\n },\n {\n id: \"other-accessories\",\n name: \"Other accessories\",\n description: \"Brooches, pins, or hybrid functional items.\",\n },\n ],\n },\n {\n id: \"jewelry-creative-wearables\",\n name: \"Jewelry & Creative Wearables\",\n items: [\n {\n id: \"jewelry\",\n name: \"Jewelry\",\n description: \"Necklaces, earrings, bracelets, rings, anklets.\",\n },\n {\n id: \"other-creative-wearables\",\n name: \"Other creative wearables\",\n description:\n \"Wearable art, statement pieces, bold handmade designs.\",\n },\n ],\n },\n {\n id: \"traditional-cultural-clothing-accessories\",\n name: \"Traditional & Cultural Clothing and Accessories\",\n items: [\n {\n id: \"traditional-clothing-accessories\",\n name: \"Traditional Clothing & Accessories \",\n description:\n \"raditional clothing, jewellery, accessories and footwear from around the world, including both handmade and non-handmade items.\",\n },\n {\n id: \"other-traditional-cultural-items\",\n name: \"Other Traditional & Cultural Items\",\n description:\n \"traditional or culturally inspired wearables and decorative cultural pieces such as plates, table linens and similar items.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const electronicsAndTechnology: Category[] = [\n {\n id: \"electronics-technology\",\n name: \"Electronics & Technology\",\n description:\n \"New, second-hand, or handmade tech and digital items commonly found at markets.\",\n subcategories: [\n {\n id: \"mobile-everyday-tech\",\n name: \"Mobile & Everyday Tech\",\n items: [\n {\n id: \"mobile-phone-accessories\",\n name: \"Mobile & Phone Accessories\",\n description:\n \"Phone cases, holders, screen protectors, charging cables, power banks, grips.\",\n },\n {\n id: \"other-mobile-gadgets\",\n name: \"Other mobile gadgets\",\n description:\n \"Stands, styluses, SIM tools, cleaning kits, wallet accessories.\",\n },\n ],\n },\n {\n id: \"audio-music-creative-tech\",\n name: \"Audio, Music & Creative Tech\",\n items: [\n {\n id: \"audio-music-tech\",\n name: \"Audio & Music Tech\",\n description:\n \"Portable speakers, headphones, mini radios, Bluetooth adapters, sound accessories.\",\n },\n {\n id: \"instruments-music-gear\",\n name: \"Instruments & Music Gear\",\n description:\n \"Small electronic instruments, DIY synth kits, drum pads, loop machines.\",\n },\n {\n id: \"recording-creative-devices\",\n name: \"Recording & Creative Devices\",\n description:\n \"USB microphones, podcast tools, voice recorders, mobile lighting, content tools.\",\n },\n {\n id: \"other-audio-music-items\",\n name: \"Other audio or music-related items\",\n description: \"Musical gadgets or creative gear not listed above.\",\n },\n ],\n },\n {\n id: \"diy-gadgets-secondhand-finds\",\n name: \"DIY, Gadgets & Second-Hand Finds\",\n items: [\n {\n id: \"diy-electronics-tools\",\n name: \"DIY Electronics & Tools\",\n description:\n \"LED lights, USB gadgets, circuit boards, repair kits, tech-themed toys, novelty items.\",\n },\n {\n id: \"other-tech-finds\",\n name: \"Other Tech Finds\",\n description:\n \"Used electronics, smart gadgets, wearable tech, calculators, tablet stands, e-waste upcycles.\",\n },\n {\n id: \"other-technology-innovation-items\",\n name: \"Other technology or innovation-related items\",\n description: \"Anything not covered but clearly tech-driven.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const foodAndBeverages: Category[] = [\n {\n id: \"food-beverages\",\n name: \"Food & Beverages\",\n description:\n \"Fresh produce, drinks, sweet and savoury street food, ready-to-eat meals, and packaged goods.\",\n subcategories: [\n {\n id: \"fresh-food-groceries\",\n name: \"Fresh Food & Groceries\",\n items: [\n {\n id: \"fruits-vegetables\",\n name: \"Fruits & Vegetables\",\n description:\n \"Fresh seasonal fruit, organic vegetables, specialty produce, berries, tropical fruit, heritage varieties.\",\n },\n {\n id: \"meat-seafood\",\n name: \"Meat & Seafood\",\n description:\n \"Butcher cuts, fresh fish, smoked meats, sausages, seafood platters, artisanal jerky.\",\n },\n {\n id: \"dairy-eggs\",\n name: \"Dairy & Eggs\",\n description:\n \"Farm eggs, handmade cheeses, yoghurt, fresh milk, goat’s milk products.\",\n },\n {\n id: \"bakery-pastries\",\n name: \"Bakery & Pastries\",\n description:\n \"Freshly baked bread, sourdough, bagels, croissants, focaccia, traditional baked goods.\",\n },\n {\n id: \"spices-condiments\",\n name: \"Spices & Condiments\",\n description:\n \"Dried herbs, spice blends, specialty salts, hot sauces, infused oils, chutneys.\",\n },\n {\n id: \"packaged-specialty-foods\",\n name: \"Packaged & Specialty Foods\",\n description:\n \"Honey, jams, preserves, pickles, nut butters, sauces, pre-packaged snacks.\",\n },\n {\n id: \"other-fresh-food-items\",\n name: \"Other fresh food items\",\n description:\n \"Items that don’t fit above, e.g. fermented foods, plant-based substitutes.\",\n },\n ],\n },\n {\n id: \"beverages-specialty-drinks\",\n name: \"Beverages & Specialty Drinks\",\n items: [\n {\n id: \"fresh-juices-smoothies\",\n name: \"Fresh Juices & Smoothies\",\n description:\n \"Cold-pressed juices, detox blends, fruit smoothies, tropical mixes.\",\n },\n {\n id: \"coffee-teas\",\n name: \"Coffee & Teas\",\n description:\n \"Espresso, pour-over coffee, herbal teas, matcha, bubble tea, locally blended tea.\",\n },\n {\n id: \"dairy-plant-based-drinks\",\n name: \"Dairy & Plant-Based Drinks\",\n description:\n \"Milkshakes, lassis, almond/oat milk drinks, coconut water.\",\n },\n {\n id: \"alcoholic-beverages\",\n name: \"Alcoholic Beverages\",\n description:\n \"Local wines, craft beer, mead, cider, infused spirits, cocktail kits.\",\n },\n {\n id: \"other-beverages\",\n name: \"Other beverages\",\n description:\n \"Kombucha, kefir, energy drinks, non-alcoholic wines or beers.\",\n },\n ],\n },\n {\n id: \"savoury-prepared-foods-street-food\",\n name: \"Savoury Prepared Foods & Street Food\",\n items: [\n {\n id: \"local-specialties\",\n name: \"Local Specialties\",\n description:\n \"Meat pies, hangi, seafood chowder, fry bread, traditional NZ dishes.\",\n },\n {\n id: \"asian-cuisine\",\n name: \"Asian Cuisine\",\n description:\n \"Sushi, bao buns, dumplings, ramen, satay, spring rolls, fried rice.\",\n },\n {\n id: \"mediterranean-cuisine\",\n name: \"Mediterranean Cuisine\",\n description: \"Falafel, hummus wraps, souvlaki, Greek salad, dolma.\",\n },\n {\n id: \"italian-delights\",\n name: \"Italian Delights\",\n description: \"Pizza, calzone, focaccia, fresh pasta, arancini.\",\n },\n {\n id: \"bbq-grilled-foods\",\n name: \"BBQ & Grilled Foods\",\n description: \"Kebabs, grilled chicken, ribs, burgers, sausages.\",\n },\n {\n id: \"savoury-crepes-pancakes\",\n name: \"Savoury Crepes & Pancakes\",\n description: \"Filled savoury crepes, mini savoury pancakes.\",\n },\n {\n id: \"savoury-baked-goods-pastries\",\n name: \"Savoury Baked Goods & Pastries\",\n description:\n \"Quiches, savoury muffins, filled savoury pastries, empanadas.\",\n },\n {\n id: \"vegan-vegetarian-dishes\",\n name: \"Vegan & Vegetarian Dishes\",\n description:\n \"Buddha bowls, plant-based burgers, salads, vegan sushi.\",\n },\n {\n id: \"other-savoury-foods\",\n name: \"Other Savoury Foods\",\n description: \"Fusion dishes, mixed platters, savoury meal kits.\",\n },\n ],\n },\n {\n id: \"sweet-prepared-foods\",\n name: \"Sweet Prepared Foods\",\n items: [\n {\n id: \"sweet-crepes-pancakes-fried-treats\",\n name: \"Sweet Crepes, Pancakes & Fried Treats\",\n description: \"Crepes, waffles, mini pancakes, muffins, doughnuts.\",\n },\n {\n id: \"sweet-baked-goods-desserts\",\n name: \"Sweet Baked Goods & Desserts\",\n description: \"Cakes, pastries, slices, trifles, layered desserts.\",\n },\n {\n id: \"fruit-based-snacks\",\n name: \"Fruit-Based Snacks\",\n description:\n \"Fruit skewers, dried fruit packs, chocolate-dipped fruit.\",\n },\n {\n id: \"candy-confectionery\",\n name: \"Candy & Confectionery\",\n description: \"Fudge, handmade candies, toffee, nougat, brittle.\",\n },\n {\n id: \"other-sweet-foods\",\n name: \"Other Sweet Foods\",\n description: \"Fusion desserts, sweet platters, sweet meal kits.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const handmadeAndLocalProducts: Category[] = [\n {\n id: \"handmade-local-products\",\n name: \"Handmade & Local Products\",\n description: \"Unique, handmade, or locally produced artisan goods.\",\n subcategories: [\n {\n id: \"home-living\",\n name: \"Home & Living\",\n items: [\n {\n id: \"ceramics-pottery\",\n name: \"Ceramics & Pottery\",\n description:\n \"Handmade mugs, vases, bowls, decorative plates, plant pots.\",\n },\n {\n id: \"candles-home-scents\",\n name: \"Candles & Home Scents\",\n description:\n \"Soy candles, beeswax candles, wax melts, incense sticks, room sprays and herbal sachets.\",\n },\n {\n id: \"botanical-crafts\",\n name: \"Botanical Crafts\",\n description: \"Dried-flower décor and pressed-flower crafts\",\n },\n {\n id: \"textiles-embroidery\",\n name: \"Textiles & Embroidery\",\n description:\n \"Handsewn items, embroidered napkins, home linens, aprons, fabric gift wraps, handmade fabric bags, quilted goods, personalized textile gifts.\",\n },\n {\n id: \"woodcraft-metalcraft\",\n name: \"Woodcraft & Metalcraft\",\n description:\n \"Wooden boards, handmade frames, sculptures, metal signs, furniture.\",\n },\n {\n id: \"handmade-soaps-natural-body-goods\",\n name: \"Handmade Soaps & Natural Body Goods\",\n description: \"Handmade soaps, balms, oils, bath items\",\n },\n {\n id: \"seasonal-festive-crafts\",\n name: \"Seasonal & Festive Crafts\",\n description: \"Christmas, Easter and seasonal handmade decor\",\n },\n {\n id: \"other-home-living-products\",\n name: \"Other home & living products\",\n description:\n \"Items that don't fit above but serve home-related purposes.\",\n },\n ],\n },\n {\n id: \"art-personal-expression\",\n name: \"Art & Personal Expression\",\n items: [\n {\n id: \"paintings-illustrations\",\n name: \"Paintings & Illustrations\",\n description:\n \"Paintings, canvas art, hand-drawn illustrations, digital prints, graphic art and calligraphy pieces.\",\n },\n {\n id: \"sculptures-carvings\",\n name: \"Sculptures & Carvings \",\n description:\n \"Sculptures made from wood, stone, metal, clay or resin, carved decorative pieces and artistic 3D works.\",\n },\n {\n id: \"creative-handmade-alternative-art\",\n name: \"Creative Handmade & Alternative Art\",\n description:\n \"Handmade textile décor, fabric ornaments, mixed-media art, creative craft pieces and modern handmade artworks.\",\n },\n {\n id: \"handmade-mini-figures-decor\",\n name: \"Handmade Mini Figures & Décor\",\n description:\n \"Small handmade figures, tiny houses and crafted mini decorative items.\",\n },\n {\n id: \"other-artistic-expressive-products\",\n name: \"Other Artistic or Expressive Products\",\n description:\n \"Custom artworks, specialty handmade décor, unique crafts.\",\n },\n ],\n },\n {\n id: \"handmade-jewellery-accessories-cultural-crafts\",\n name: \"Handmade Jewellery, Accessories & Cultural Crafts\",\n items: [\n {\n id: \"jewellery-handmade-items-nz-traditional-materials\",\n name: \"Jewellery & Handmade Items from NZ Traditional Materials\",\n description:\n \"Handmade jewellery and decorative or functional items crafted from pounamu, bone, wood and other traditional New Zealand materials.\",\n },\n {\n id: \"maori-pasifika-cultural-crafts-clothing\",\n name: \"Māori & Pasifika Cultural Crafts and Clothing\",\n description:\n \"Culturally inspired handmade items, accessories and garments featuring Māori or Pasifika motifs, traditional patterns and regional craftsmanship.\",\n },\n {\n id: \"traditional-handmade-clothing-jewellery-crafts-global-cultures\",\n name: \"Traditional Handmade Clothing, Jewellery & Crafts from Global Cultures\",\n description:\n \"Handcrafted clothing, jewellery and cultural items from diverse traditions — including Asian, African, European, Middle Eastern, Indian, Chinese, Japanese, Pacific, and other culturally significant handmade pieces.\",\n },\n {\n id: \"other-handmade-cultural-items\",\n name: \"Other Handmade Cultural Items\",\n description:\n \"Unique or culturally inspired handmade pieces not specifically covered in the categories above.\",\n },\n ],\n },\n {\n id: \"gift-ideas-accessories\",\n name: \"Gift Ideas & Accessories\",\n items: [\n {\n id: \"handmade-pens-keychains-fridge-magnets\",\n name: \"Handmade Pens, Keychains and Fridge Magnets\",\n description: null,\n },\n {\n id: \"gift-packaging-wrapping-accessories\",\n name: \"Gift Packaging & Wrapping Accessories\",\n description: null,\n },\n {\n id: \"handmade-crochet-knitting-fibre-crafts\",\n name: \"Handmade Crochet, Knitting & Fibre Crafts\",\n description:\n \"Handmade crochet and knitted items, fabric-based crafts, small decorative pieces, creative fibre artworks and unique handcrafted accessories.\",\n },\n {\n id: \"handmade-toys-mini-play-items\",\n name: \"Handmade Toys & Mini Play Items\",\n description:\n \"small handmade toys, soft toys, wooden miniatures, crochet or felt play pieces\",\n },\n {\n id: \"other-small-handmade-gifts-accessories\",\n name: \"Other small handmade gifts or accessories\",\n description: \"Compact creative items made to surprise or delight.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const healthAndWellness: Category[] = [\n {\n id: \"health-wellness\",\n name: \"Health & Wellness\",\n description:\n \"Natural products and services that promote wellbeing, body care, and holistic health.\",\n subcategories: [\n {\n id: \"body-skincare\",\n name: \"Body & Skincare\",\n items: [\n {\n id: \"skincare-body-products\",\n name: \"Skincare & Body Products\",\n description:\n \"Soaps, creams, lip balms, bath salts, bath bombs, body oils, natural deodorants.\",\n },\n {\n id: \"other-body-care-items\",\n name: \"Other body care items\",\n description:\n \"Additional handmade or eco-conscious personal care goods.\",\n },\n ],\n },\n {\n id: \"aromatherapy-herbal-wellness\",\n name: \"Aromatherapy & Herbal Wellness\",\n items: [\n {\n id: \"aromatherapy-herbal-remedies\",\n name: \"Aromatherapy & Herbal Remedies\",\n description:\n \"Essential oils, herbal balms, massage oils, salves, natural teas, rollers.\",\n },\n {\n id: \"other-herbal-aroma-products\",\n name: \"Other herbal or aroma-based products\",\n description: \"Wellness blends, herb sachets, custom infusions.\",\n },\n ],\n },\n {\n id: \"wellness-tools-accessories\",\n name: \"Wellness Tools & Accessories\",\n items: [\n {\n id: \"wellness-accessories\",\n name: \"Wellness Accessories\",\n description:\n \"Yoga mats, meditation cushions, eye pillows, incense, smudging sticks, eco water bottles, wellness journals.\",\n },\n {\n id: \"spiritual-tools-crystals\",\n name: \"Spiritual Tools & Crystals\",\n description:\n \"Healing crystals, gemstone bracelets, pendulums, sprays, spiritual kits, altar decor.\",\n },\n {\n id: \"other-wellness-spiritual-items\",\n name: \"Other wellness or spiritual items\",\n description: \"Items that aid relaxation, focus, or inner work.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const homeGardenHousehold: Category[] = [\n {\n id: \"home-garden-household-goods\",\n name: \"Home, Garden & Household Goods\",\n description:\n \"Functional, decorative, and eco-conscious products designed for everyday use indoors and outdoors.\",\n subcategories: [\n {\n id: \"home-decor-living\",\n name: \"Home Decor & Living\",\n items: [\n {\n id: \"home-decor\",\n name: \"Home Decor\",\n description:\n \"Cushions, wall art, table runners, vases, trays, mirrors, handmade centerpieces.\",\n },\n {\n id: \"kitchenware-dining\",\n name: \"Kitchenware & Dining\",\n description:\n \"Mugs, bowls, cutting boards, utensils, jars, coasters, kitchen textiles.\",\n },\n {\n id: \"mini-figures-decor\",\n name: \"Mini Figures & Décor\",\n description:\n \"handmade or non-handmade small figures, tiny houses and miniature decorative items.\",\n },\n {\n id: \"other-indoor-home-items\",\n name: \"Other indoor home items\",\n description:\n \"Any decorative or practical household items not listed above.\",\n },\n ],\n },\n {\n id: \"cleaning-eco-essentials\",\n name: \"Cleaning & Eco Essentials\",\n items: [\n {\n id: \"cleaning-eco-supplies\",\n name: \"Cleaning & Eco Supplies\",\n description:\n \"Beeswax wraps, reusable cloths, brushes, natural soaps, detergent bars, eco sponges.\",\n },\n {\n id: \"other-eco-cleaning-items\",\n name: \"Other eco or cleaning items\",\n description: \"Environmentally friendly goods not listed above.\",\n },\n ],\n },\n {\n id: \"garden-outdoor-living\",\n name: \"Garden & Outdoor Living\",\n items: [\n {\n id: \"plants-botanical-decor\",\n name: \"Plants & Botanical Decor\",\n description:\n \"Potted herbs, succulents, dried flowers, terrariums, plant-based ornaments.\",\n },\n {\n id: \"fresh-flowers-botanical-bouquets\",\n name: \"Fresh Flowers & Botanical Bouquets\",\n description:\n \"Cut flowers, seasonal bouquets, simple floral arrangements, native flower selections, and other fresh botanical items.\",\n },\n {\n id: \"natural-decor-nature-inspired-elements\",\n name: \"Natural Decor & Nature-Inspired Elements\",\n description:\n \"Seashell décor, driftwood pieces, sand ornaments, natural wood accents, stone or mineral decorations, and other nature-based decorative items.\",\n },\n {\n id: \"garden-tools-outdoor-items\",\n name: \"Garden Tools & Outdoor Items\",\n description:\n \"Plant markers, garden signs, stakes, small tools, wind chimes, gifts.\",\n },\n {\n id: \"other-outdoor-garden-products\",\n name: \"Other outdoor or garden products\",\n description: \"Functional or decorative items for outside use.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const petProductsAndAnimalGoods: Category[] = [\n {\n id: \"pet-products-animal-goods\",\n name: \"Pet Products & Animal Goods\",\n description: \"Items for pets, pet lovers, or animal-themed market stalls.\",\n subcategories: [\n {\n id: \"products-for-pets\",\n name: \"Products for Pets\",\n items: [\n {\n id: \"pet-food-treats\",\n name: \"Pet Food & Treats\",\n description:\n \"Homemade dog biscuits, cat snacks, natural chews, pet-safe cakes, training treats.\",\n },\n {\n id: \"apparel-toys-accessories\",\n name: \"Apparel, Toys & Accessories\",\n description:\n \"Leashes, collars, harnesses, toys, grooming tools, beds, travel gear, jumpers, bandanas.\",\n },\n {\n id: \"other-pet-products\",\n name: \"Other pet products\",\n description: \"Any pet-related items not listed above.\",\n },\n ],\n },\n {\n id: \"small-pets-birds-exotic-animals\",\n name: \"Small Pets, Birds & Exotic Animals\",\n items: [\n {\n id: \"products-small-pets-birds-exotics\",\n name: \"Products for Small Pets, Birds & Exotics\",\n description:\n \"Toys, enclosures, perches, feeding bowls, bedding, habitat decor, transport gear, and care items for birds, rabbits, hamsters, reptiles, turtles, aquarium pets, and other exotic species.\",\n },\n {\n id: \"other-small-exotic-animal-items\",\n name: \"Other small or exotic animal items\",\n description: \"Unusual accessories for non-mainstream pets.\",\n },\n ],\n },\n {\n id: \"farm-working-animals\",\n name: \"Farm & Working Animals\",\n items: [\n {\n id: \"goods-for-farm-working-animals\",\n name: \"Goods for Farm & Working Animals\",\n description:\n \"Treats, care products, equipment, signage and accessories for chickens, goats, alpacas, horses, and other livestock.\",\n },\n {\n id: \"other-farm-animal-items\",\n name: \"Other farm animal-related items\",\n description:\n \"Rural, barnyard, or utility-specific gear not listed above.\",\n },\n ],\n },\n {\n id: \"animal-themed-gifts-custom-items\",\n name: \"Animal-Themed Gifts & Custom Items\",\n items: [\n {\n id: \"pet-art-custom-gifts\",\n name: \"Pet Art & Custom Gifts\",\n description:\n \"Pet portraits, name tags, personalized bowls, breed-specific items, pet-themed home decor and stationery.\",\n },\n {\n id: \"other-animal-themed-gifts\",\n name: \"Other animal-themed gifts\",\n description:\n \"Artistic or sentimental items made for animal lovers.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"src/types\";\n\n/* eslint-disable sort-keys */\nexport const serviceAndExperience: Category[] = [\n {\n id: \"services-experiences\",\n name: \"Services & Experiences\",\n description:\n \"On-site offerings that provide entertainment, personal care, learning, or interactive activities beyond products.\",\n subcategories: [\n {\n id: \"personal-care-body-art\",\n name: \"Personal Care & Body Art\",\n items: [\n {\n id: \"nails-handcare\",\n name: \"Nails & Handcare\",\n description:\n \"Nail painting, decoration, quick manicures, temporary nail extensions.\",\n },\n {\n id: \"hair-styling-braiding\",\n name: \"Hair Styling & Braiding\",\n description:\n \"Hair braiding, plaits, child-friendly festival hairstyles.\",\n },\n {\n id: \"face-body-decoration\",\n name: \"Face & Body Decoration\",\n description:\n \"Henna, glitter tattoos, face painting, light makeup, eyelash styling, professional tattooing (where permitted).\",\n },\n {\n id: \"other-beauty-grooming-services\",\n name: \"Other beauty or grooming services\",\n description: \"Small-scale personal care options offered on-site.\",\n },\n ],\n },\n {\n id: \"practical-wellness-services\",\n name: \"Practical & Wellness Services\",\n items: [\n {\n id: \"mobile-practical-services\",\n name: \"Mobile & Practical Services\",\n description:\n \"Shoe repair, phone repairs, knife sharpening, key cutting, battery replacement, bike repairs, engraving.\",\n },\n {\n id: \"wellness-alternative-therapies\",\n name: \"Wellness & Alternative Therapies\",\n description:\n \"Massage, aromatherapy, reflexology, energy healing (e.g. Reiki), natural consultations.\",\n },\n {\n id: \"other-service-based-offerings\",\n name: \"Other service-based offerings\",\n description: \"Wellness or functional services not listed above.\",\n },\n ],\n },\n {\n id: \"creative-educational-experiences\",\n name: \"Creative & Educational Experiences\",\n items: [\n {\n id: \"creative-workshops-maker-services\",\n name: \"Creative Workshops & Maker Services\",\n description:\n \"Candle making, pottery, jewelry crafting, soap or balm workshops, calligraphy, seasonal crafts.\",\n },\n {\n id: \"education-awareness-stalls\",\n name: \"Education & Awareness Stalls\",\n description:\n \"Eco awareness, cultural storytelling, local history, first aid demos, health booths, sustainability education, kids’ science displays.\",\n },\n {\n id: \"other-creative-educational-services\",\n name: \"Other creative or educational services\",\n description:\n \"Informal learning, demonstrations, or community-focused sessions.\",\n },\n ],\n },\n {\n id: \"kids-activities-family-fun\",\n name: \"Kids’ Activities & Family Fun\",\n items: [\n {\n id: \"kids-activities-fun\",\n name: \"Kids’ Activities & Fun\",\n description:\n \"Face painting, glitter tattoos, pony rides, bouncy castles, small amusement rides, balloon twisting, animal petting zones.\",\n },\n {\n id: \"other-family-oriented-activities\",\n name: \"Other family-oriented activities\",\n description:\n \"On-site entertainment that engages children or family groups.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"src/types\";\n\n/* eslint-disable sort-keys */\nexport const toysChildren: Category[] = [\n {\n id: \"toys-childrens-items\",\n name: \"Toys & Children’s Items\",\n description: \"Products and services made for or inspired by children.\",\n subcategories: [\n {\n id: \"toys-playthings\",\n name: \"Toys & Playthings\",\n items: [\n {\n id: \"toys-classic-electric-character\",\n name: \"Toys – Classic, Electric & Character-Based\",\n description:\n \"Building blocks, dolls, puzzles, plush animals, toy vehicles, remote-control toys, light-up gadgets, character figurines, themed playsets.\",\n },\n {\n id: \"handmade-toys-crafty-playthings\",\n name: \"Handmade Toys & Crafty Playthings\",\n description:\n \"Wooden puzzles, crocheted animals, felt toys, fabric dolls, DIY kits, nature-inspired games, sensory toys.\",\n },\n {\n id: \"other-play-items\",\n name: \"Other play items\",\n description:\n \"Toys not listed above, including limited-edition or hybrid items.\",\n },\n ],\n },\n {\n id: \"educational-developmental\",\n name: \"Educational & Developmental\",\n items: [\n {\n id: \"educational-developmental-tools\",\n name: \"Educational & Developmental Tools\",\n description:\n \"STEM kits, Montessori toys, storybooks, picture books, flashcards, early learning games, language tools.\",\n },\n {\n id: \"other-educational-experience-based-items\",\n name: \"Other educational or experience-based items\",\n description:\n \"Creative experiences or learning aids not listed above.\",\n },\n ],\n },\n {\n id: \"baby-kidswear-accessories\",\n name: \"Baby & Kidswear + Accessories\",\n items: [\n {\n id: \"baby-kidswear-accessories\",\n name: \"Baby & Kidswear + Accessories\",\n description:\n \"Handmade baby clothes, toddler outfits, bibs, hats, headbands, bags, pacifier clips, soft shoes.\",\n },\n {\n id: \"baby-developmental-soft-toys\",\n name: \"Baby Developmental Soft Toys\",\n description:\n \"Sensory toys, rattles, fabric books, teething items, high-contrast cards, and early-skill. Montessori materials designed to support infants’ cognitive and motor development.\",\n },\n {\n id: \"other-childrens-clothing-accessories\",\n name: \"Other children’s clothing or accessories\",\n description: \"Unique fashion or functional pieces for kids.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const vintageAndAntique: Category[] = [\n {\n id: \"vintage-antique\",\n name: \"Vintage & Antique\",\n description:\n \"Unique, historic, or nostalgic items with collectible or decorative value.\",\n subcategories: [\n {\n id: \"vintage-antique-clothing-accessories\",\n name: \"Vintage & Antique Clothing & Accessories\",\n items: [\n {\n id: \"clothing-vintage-fashion\",\n name: \"Clothing and wearable items from past eras\",\n description:\n \"Vintage dresses, jackets, hats, gloves, belts, bags, shoes, jewellery.\",\n },\n {\n id: \"other-clothing-accessory-items\",\n name: \"Other clothing-related items\",\n description:\n \"Hair clips, brooches, pins, scarf rings, small fashion accessories.\",\n },\n ],\n },\n {\n id: \"collectibles-memorabilia\",\n name: \"Collectibles & Memorabilia\",\n items: [\n {\n id: \"small-collectible-items\",\n name: \"Small collectible items with historical or nostalgic significance\",\n description:\n \"Coins, stamps, toys, postcards, comics, sports cards, vintage packaging.\",\n },\n {\n id: \"other-collectible-items\",\n name: \"Other collectible items\",\n description:\n \"Rare small objects, miniature figurines, special-edition items.\",\n },\n ],\n },\n {\n id: \"homewares-decor-curiosities\",\n name: \"Homewares, Decor & Curiosities\",\n items: [\n {\n id: \"decorative-functional-vintage-items\",\n name: \"Decorative or functional items with a vintage or antique aesthetic\",\n description:\n \"Teacups, plates, vases, mirrors, clocks, furniture, old tools, lanterns, typewriters, curiosities.\",\n },\n {\n id: \"handmade-vintage-art\",\n name: \"Handmade vintage art\",\n description: \"Paintings, sculptures, crafted pieces.\",\n },\n {\n id: \"other-home-decor-items\",\n name: \"Other home or decor items\",\n description:\n \"Decorative pieces not listed above, unique household objects.\",\n },\n ],\n },\n {\n id: \"vintage-media-printed-nostalgia\",\n name: \"Vintage Media & Printed Nostalgia\",\n items: [\n {\n id: \"older-media-printed-works\",\n name: \"Older media formats and printed works\",\n description:\n \"Vinyl records, cassette tapes, CDs, DVDs, books, magazines, board games, posters.\",\n },\n {\n id: \"other-media-printed-items\",\n name: \"Other media or printed items\",\n description: \"Maps, manuals, leaflets, out-of-print materials.\",\n },\n ],\n },\n {\n id: \"other-vintage-antique-items\",\n name: \"Other Vintage & Antique Items\",\n items: [\n {\n id: \"any-vintage-antique-items-not-listed\",\n name: \"Any vintage or antique items not listed above\",\n description: \"Unique, rare or uncategorised pieces.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"../../types/global\";\n\nimport { clothingAndFashion } from \"./clothingAndFashion\";\nimport { electronicsAndTechnology } from \"./electronicsAndTechnology\";\nimport { foodAndBeverages } from \"./foodAndBeverages\";\nimport { handmadeAndLocalProducts } from \"./handmadeAndLocalProducts\";\nimport { healthAndWellness } from \"./healthAndWellness\";\nimport { homeGardenHousehold } from \"./homeGardenHousehold\";\nimport { petProductsAndAnimalGoods } from \"./petProductsAndAnimalGoods\";\nimport { serviceAndExperience } from \"./serviceAndExperience\";\nimport { toysChildren } from \"./toysChildren\";\nimport { vintageAndAntique } from \"./vintageAndAntique\";\n\nexport const categoryColors: Record<string, string> = {\n \"clothing-fashion\": \"#9D4EDD\",\n \"electronics-technology\": \"#3AF3FF\",\n \"food-beverages\": \"#FF0D1F\",\n \"handmade-local-products\": \"#EE7E54\",\n \"health-wellness\": \"#E23794\",\n \"home-garden-household-goods\": \"#067325\",\n \"pet-products-animal-goods\": \"#68E788\",\n \"services-experiences\": \"#2E16A5\",\n \"toys-childrens-items\": \"#FFF966\",\n \"vintage-antique\": \"#8D6748\",\n};\n\nconst assignColorToCategories = (categories: Category[]): Category[] => {\n const result = categories.map((category) => ({\n ...category,\n color: categoryColors[category.id],\n }));\n return result;\n};\n\nexport const availableCategories = assignColorToCategories([\n ...foodAndBeverages,\n ...handmadeAndLocalProducts,\n ...clothingAndFashion,\n ...homeGardenHousehold,\n ...toysChildren,\n ...healthAndWellness,\n ...electronicsAndTechnology,\n ...vintageAndAntique,\n ...petProductsAndAnimalGoods,\n ...serviceAndExperience,\n]);\n","import { availableCategories } from \"../formFields/categories\";\nimport type { DateTimeType } from \"../types/global\";\nimport type { UnregisteredVendorType, VendorType } from \"../types/vendor\";\nimport { sortDatesChronologically } from \"../utils/date\";\n\ntype RelationType = NonNullable<VendorType[\"relations\"]>[number];\ntype RelationDateType = NonNullable<RelationType[\"relationDates\"]>[number];\n\nexport type StallholderFilterOption = {\n label: string;\n value: string;\n};\n\nexport function eventStartDatesSet(\n dateTime: DateTimeType[] | undefined,\n): Set<string> {\n return new Set((dateTime ?? []).map((date) => date.startDate));\n}\n\nexport function hasMatchingEventDate(\n vendorStartDates: string[],\n eventStartDates: Set<string>,\n): boolean {\n return vendorStartDates.some((startDate) => eventStartDates.has(startDate));\n}\n\nexport function matchesSelectedDate(\n vendorStartDates: string[],\n selectedDate: string | null,\n): boolean {\n if (!selectedDate) {\n return true;\n }\n\n return vendorStartDates.includes(selectedDate);\n}\n\nexport function matchesCategory(\n categoryNames: string[],\n selectedCategory: string | null,\n): boolean {\n if (!selectedCategory) {\n return true;\n }\n\n return categoryNames.includes(selectedCategory);\n}\n\nexport function getRegisteredVendorStartDates(vendor: VendorType): string[] {\n const relations = vendor.relations ?? [];\n\n return relations.flatMap((relation) =>\n (relation.relationDates ?? []).map(\n (relationDate: RelationDateType) => relationDate.dateTime.startDate,\n ),\n );\n}\n\nexport function getRegisteredVendorCategoryNames(vendor: VendorType): string[] {\n return (vendor.categories ?? []).map((category) => category.name);\n}\n\nexport function getUnregisteredVendorStartDates(\n vendor: UnregisteredVendorType,\n): string[] {\n return (vendor.invitations ?? []).flatMap((invitation) =>\n invitation.dateTime.map((date) => date.startDate),\n );\n}\n\nexport function getUnregisteredVendorCategoryNames(\n vendor: UnregisteredVendorType,\n): string[] {\n return availableCategories\n .filter(\n (category) => category.id && vendor.categoryIds.includes(category.id),\n )\n .map((category) => category.name);\n}\n\nexport function filterRegisteredVendorsForEvent(\n vendors: VendorType[] | null | undefined,\n eventStartDates: Set<string>,\n selectedDate: string | null,\n selectedCategory: string | null,\n): VendorType[] {\n if (!vendors) {\n return [];\n }\n\n return vendors.filter((vendor) => {\n const startDates = getRegisteredVendorStartDates(vendor);\n\n return (\n hasMatchingEventDate(startDates, eventStartDates) &&\n matchesSelectedDate(startDates, selectedDate) &&\n matchesCategory(\n getRegisteredVendorCategoryNames(vendor),\n selectedCategory,\n )\n );\n });\n}\n\nexport function filterUnregisteredVendorsForEvent(\n vendors: UnregisteredVendorType[],\n eventStartDates: Set<string>,\n selectedDate: string | null,\n selectedCategory: string | null,\n): UnregisteredVendorType[] {\n return vendors.filter((vendor) => {\n const startDates = getUnregisteredVendorStartDates(vendor);\n\n return (\n hasMatchingEventDate(startDates, eventStartDates) &&\n matchesSelectedDate(startDates, selectedDate) &&\n matchesCategory(\n getUnregisteredVendorCategoryNames(vendor),\n selectedCategory,\n )\n );\n });\n}\n\nexport function filterRegisteredVendorsByEventDatesOnly(\n vendors: VendorType[] | null | undefined,\n eventStartDates: Set<string>,\n): VendorType[] {\n if (!vendors) {\n return [];\n }\n\n return vendors.filter((vendor) =>\n hasMatchingEventDate(\n getRegisteredVendorStartDates(vendor),\n eventStartDates,\n ),\n );\n}\n\nexport function filterUnregisteredVendorsByEventDatesOnly(\n vendors: UnregisteredVendorType[],\n eventStartDates: Set<string>,\n): UnregisteredVendorType[] {\n return vendors.filter((vendor) =>\n hasMatchingEventDate(\n getUnregisteredVendorStartDates(vendor),\n eventStartDates,\n ),\n );\n}\n\nexport function collectStallholderStartDates(\n registeredVendors: VendorType[],\n unregisteredVendors: UnregisteredVendorType[] = [],\n): string[] {\n return [\n ...registeredVendors.flatMap(getRegisteredVendorStartDates),\n ...unregisteredVendors.flatMap(getUnregisteredVendorStartDates),\n ];\n}\n\nexport function getEventDatesWithStallholders(\n eventDateTime: DateTimeType[] | undefined,\n stallholderStartDates: string[],\n): DateTimeType[] {\n if (!eventDateTime?.length) {\n return [];\n }\n\n const startDates = new Set(stallholderStartDates);\n\n return sortDatesChronologically(\n eventDateTime.filter((date) => startDates.has(date.startDate)),\n );\n}\n\nexport function getStallholderCategoryNames(\n registeredVendors: VendorType[],\n unregisteredVendors: UnregisteredVendorType[] = [],\n): string[] {\n const names = [\n ...registeredVendors.flatMap(getRegisteredVendorCategoryNames),\n ...unregisteredVendors.flatMap(getUnregisteredVendorCategoryNames),\n ];\n\n return Array.from(new Set(names));\n}\n\nexport function getStallholderCategoryOptions(\n registeredVendors: VendorType[],\n unregisteredVendors: UnregisteredVendorType[] = [],\n): StallholderFilterOption[] {\n return getStallholderCategoryNames(\n registeredVendors,\n unregisteredVendors,\n ).map((name) => ({\n label: name,\n value: name,\n }));\n}\n\nexport function getEventStallholderEmptyMessage(\n hasAnyStallholdersForEvent: boolean,\n selectedDate: string | null,\n): string {\n return hasAnyStallholdersForEvent && selectedDate\n ? \"No stallholders found for this event date.\"\n : \"No stallholders found for this event.\";\n}\n","import type { StallholderFilterOption } from \"../eventStallholders/eventStallholderFilters\";\nimport type { EventListItemType } from \"../types/event\";\nimport type { DateTimeType } from \"../types/global\";\nimport { sortDatesChronologically } from \"../utils/date\";\n\ntype RelationType = NonNullable<EventListItemType[\"relations\"]>[number];\ntype RelationDateType = NonNullable<RelationType[\"relationDates\"]>[number];\n\nexport function relationHasSelectedDate(\n relation: RelationType,\n selectedDate: string,\n): boolean {\n return (\n relation.relationDates?.some(\n (date: RelationDateType) => date.dateTime.startDate === selectedDate,\n ) ?? false\n );\n}\n\nexport function eventHasSelectedDate(\n event: EventListItemType,\n selectedDate: string,\n): boolean {\n return (\n event.relations?.some((relation) =>\n relationHasSelectedDate(relation, selectedDate),\n ) ?? false\n );\n}\n\nexport function filterVendorEventsBySelectedDate(\n events: EventListItemType[] | null | undefined,\n selectedDate: string | null,\n): EventListItemType[] {\n if (!events) {\n return [];\n }\n\n if (!selectedDate) {\n return events;\n }\n\n return events.filter((event) => eventHasSelectedDate(event, selectedDate));\n}\n\nexport function collectVendorEventRelationDateTimes(\n events: EventListItemType[] | null | undefined,\n): DateTimeType[] {\n if (!events?.length) {\n return [];\n }\n\n return events.flatMap((event) =>\n (event.relations ?? []).flatMap((relation) =>\n (relation.relationDates ?? []).map(\n (relationDate) => relationDate.dateTime,\n ),\n ),\n );\n}\n\nexport function getVendorEventRelationStartDates(\n events: EventListItemType[] | null | undefined,\n): string[] {\n const sortedDates = sortDatesChronologically(\n collectVendorEventRelationDateTimes(events),\n );\n const uniqueStartDates: string[] = [];\n\n for (const dateTime of sortedDates) {\n if (!uniqueStartDates.includes(dateTime.startDate)) {\n uniqueStartDates.push(dateTime.startDate);\n }\n }\n\n return uniqueStartDates;\n}\n\nexport function getVendorEventRelationDateOptions(\n events: EventListItemType[] | null | undefined,\n): StallholderFilterOption[] {\n return getVendorEventRelationStartDates(events).map((startDate) => ({\n label: startDate,\n value: startDate,\n }));\n}\n\nexport function getVendorEventsEmptyMessage(): string {\n return \"No events found.\";\n}\n","import {\n AffiliateRewardType,\n EnumAffiliateParticipantType,\n EnumAffiliateRewardType,\n} from \"src/types/affiliate\";\n\nexport const AFFILIATE_PARTICIPANT_TYPE_LABELS = {\n [EnumAffiliateParticipantType.INDIVIDUAL]: \"Individual\",\n [EnumAffiliateParticipantType.SOLE_TRADER]: \"Sole Trader\",\n [EnumAffiliateParticipantType.COMPANY]: \"Company\",\n} as const satisfies Record<EnumAffiliateParticipantType, string>;\n\ntype AffiliateRewardConfig = {\n description: string;\n value: number;\n};\n\nexport const AFFILIATE_REWARDS = {\n [EnumAffiliateRewardType.NEW_EVENT_REGISTRATION]: {\n description: \"10 points for new event registration (one-time reward)\",\n value: 10,\n },\n [EnumAffiliateRewardType.NEW_VENDOR_REGISTRATION]: {\n description: \"5 points for new vendor registration (one-time reward)\",\n value: 5,\n },\n [EnumAffiliateRewardType.ACTIVE_VENDOR_PRO_SUBSCRIPTION]: {\n description: \"3 points for active vendor pro subscription (monthly reward)\",\n value: 3,\n },\n [EnumAffiliateRewardType.ACTIVE_VENDOR_STANDARD_SUBSCRIPTION]: {\n description:\n \"1 point for active vendor standard subscription (monthly reward)\",\n value: 1,\n },\n [EnumAffiliateRewardType.ACTIVE_VENDOR_BONUS_REWARD]: {\n description:\n \"5 bonus points for every 10th active vendor (one-time reward)\",\n value: 5,\n },\n [EnumAffiliateRewardType.ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS]: {\n description:\n \"40 points for active event with vendor registrations (one-time reward)\",\n value: 40,\n },\n} satisfies Record<EnumAffiliateRewardType, AffiliateRewardConfig>;\n\n/**\n * Create an affiliate reward\n * @param rewardType - The type of reward\n * @param createdAt - The date the reward was received\n * @returns The affiliate reward\n * @example\n * const reward = createAffiliateReward(EnumAffiliateRewardType.NEW_EVENT_REGISTRATION, new Date());\n * console.log(reward);\n */\nexport function createAffiliateReward(\n rewardType: EnumAffiliateRewardType,\n createdAt: Date,\n): AffiliateRewardType {\n const reward = AFFILIATE_REWARDS[rewardType];\n\n return {\n createdAt,\n redeemedAt: null,\n rewardDescription: reward.description,\n rewardType,\n rewardValue: reward.value,\n };\n}\n","/**\n * NZ IRD number validation (Inland Revenue modulus-11 check digit).\n *\n * Valid range: 10,000,000 – 200,000,000 (upper limit raised Feb 2026; length stays\n * 8–9 digits). See IRD file-upload / payday filing specifications.\n */\n\nconst PRIMARY_WEIGHTS = [3, 2, 7, 6, 5, 4, 3, 2] as const;\nconst SECONDARY_WEIGHTS = [7, 4, 3, 2, 5, 2, 7, 6] as const;\n\nconst IRD_MIN = 10_000_000;\n/** Raised from 150_000_000 as of IRD's Feb 2026 annual update. */\nconst IRD_MAX = 200_000_000;\n\nfunction calculateCheckDigit(\n baseDigits: string,\n weights: readonly number[],\n): number {\n const sum = [...baseDigits].reduce(\n (acc, digit, index) => acc + Number(digit) * weights[index],\n 0,\n );\n const remainder = sum % 11;\n return remainder === 0 ? 0 : 11 - remainder;\n}\n\n/** Digits only; strips spaces/hyphens and other non-digits. */\nexport function normalizeIrdNumber(value: string): string {\n return value.replace(/\\D/g, \"\");\n}\n\n/**\n * Formats an IRD number as groups of three digits separated by hyphens\n * (e.g. `490-918-50` / `049-091-850`), capping at 9 digits.\n */\nexport function formatIrdNumber(input: string): string {\n const digitsOnly = normalizeIrdNumber(input).slice(0, 9);\n\n const parts = [];\n if (digitsOnly.length > 0) parts.push(digitsOnly.slice(0, 3));\n if (digitsOnly.length > 3) parts.push(digitsOnly.slice(3, 6));\n if (digitsOnly.length > 6) parts.push(digitsOnly.slice(6, 9));\n\n return parts.join(\"-\");\n}\n\n/**\n * Returns true when `value` is a valid NZ IRD number (8–9 digits, in issued\n * range, and modulus-11 check digit matches).\n */\nexport function isValidIrdNumber(value: string): boolean {\n const digits = normalizeIrdNumber(value);\n\n if (!/^\\d{8,9}$/.test(digits)) {\n return false;\n }\n\n const ird = Number(digits);\n if (ird < IRD_MIN || ird > IRD_MAX) {\n return false;\n }\n\n const padded = digits.padStart(9, \"0\");\n const baseDigits = padded.slice(0, -1);\n const checkDigit = Number(padded.slice(-1));\n\n let calculated = calculateCheckDigit(baseDigits, PRIMARY_WEIGHTS);\n if (calculated === 10) {\n calculated = calculateCheckDigit(baseDigits, SECONDARY_WEIGHTS);\n if (calculated === 10) {\n return false;\n }\n }\n\n return calculated === checkDigit;\n}\n","const TRANSIENT_NETWORK_PATTERNS = [\n /network connection was lost/i,\n /network request failed/i,\n /fetch failed/i,\n /failed to fetch/i,\n /internet connection appears to be offline/i,\n // Transport-layer timeouts only — avoid generic \"timeout\" (backend/query timeouts).\n /\\b(request|connection|network)\\s+timed\\s+out\\b/i,\n /\\b(connect|read|write|socket)\\s+timeout\\b/i,\n /\\bsocket\\s+timed\\s+out\\b/i,\n /\\betimedout\\b/i,\n /\\benotfound\\b/i,\n /\\beconnreset\\b/i,\n /\\beconnrefused\\b/i,\n] as const;\n\nfunction extractErrorMessage(err: unknown): string {\n if (err instanceof Error) return err.message;\n if (typeof err === \"string\") return err;\n if (err && typeof err === \"object\") {\n const obj = err as Record<string, unknown>;\n if (typeof obj.message === \"string\") return obj.message;\n if (obj.networkError) return extractErrorMessage(obj.networkError);\n try {\n return JSON.stringify(err);\n } catch {\n return \"[object]\";\n }\n }\n if (err == null) return \"\";\n if (\n typeof err === \"number\" ||\n typeof err === \"boolean\" ||\n typeof err === \"bigint\"\n ) {\n return String(err);\n }\n if (typeof err === \"symbol\") return err.toString();\n return \"\";\n}\n\n/** True for short-lived connectivity failures (e.g. resume before the stack is ready). */\nexport function isTransientNetworkError(err: unknown): boolean {\n const message = extractErrorMessage(err);\n return TRANSIENT_NETWORK_PATTERNS.some((pattern) => pattern.test(message));\n}\n","import { isTransientNetworkError } from \"./isTransientNetworkError\";\n\nexport const DEFAULT_USER_FACING_ERROR =\n \"Something went wrong. Please try again.\";\n\nexport const NETWORK_USER_FACING_ERROR =\n \"Unable to connect. Please check your internet connection and try again.\";\n\n/** Backend/infra messages that must never be shown to end users. */\nconst INTERNAL_ERROR_PATTERNS = [\n /connection\\s*<monitor>/i,\n /\\bmongo/i,\n /\\b\\d{1,3}(?:\\.\\d{1,3}){3}(?::\\d+)?\\b/,\n /\\beconn(?:refused|reset|aborted)\\b/i,\n /\\betimedout\\b/i,\n /\\benotfound\\b/i,\n /\\bsocket hang up\\b/i,\n /\\binternal server error\\b/i,\n /received status code 5\\d\\d/i,\n /\\bat\\s+\\S+\\s+\\([^)]+:\\d+:\\d+\\)/,\n] as const;\n\nexport function isInternalErrorMessage(message: string): boolean {\n return INTERNAL_ERROR_PATTERNS.some((pattern) => pattern.test(message));\n}\n\n/**\n * Maps raw API/client errors to a safe message for UI surfaces.\n * Keeps intentional product copy (e.g. \"Vendor not found\"); hides infra details.\n */\nexport function toUserFacingErrorMessage(\n error: string | null | undefined,\n fallback = DEFAULT_USER_FACING_ERROR,\n): string {\n const message = (error ?? \"\").trim();\n if (!message) return fallback;\n\n if (isTransientNetworkError(message)) {\n return NETWORK_USER_FACING_ERROR;\n }\n\n if (isInternalErrorMessage(message)) {\n return fallback;\n }\n\n return message;\n}\n\n/** Extracts and sanitizes an unknown catch/Apollo error for toasts and alerts. */\nexport function getErrorMessage(\n error: unknown,\n fallback = DEFAULT_USER_FACING_ERROR,\n): string {\n let raw: string | undefined;\n if (error instanceof Error) {\n raw = error.message;\n } else if (typeof error === \"string\") {\n raw = error;\n }\n\n return toUserFacingErrorMessage(raw, fallback);\n}\n","import { EnumFoodFlavor } from \"src/enums\";\n\nimport { FormField, OptionItem } from \"../../types\";\nimport { mapArrayToOptions } from \"../../utils\";\n\nexport const vendorElectricity: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. amps, voltage, etc.\",\n isTextArea: true,\n name: \"requirements.electricity.details\",\n placeholder: \"Electricity requirements\",\n },\n isRequired: {\n name: \"requirements.electricity.isRequired\",\n placeholder: \"Do you require electricity?\",\n },\n};\n\nexport const vendorGazebo: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"requirements.gazebo.details\",\n placeholder: \"Gazebo requirements\",\n },\n isRequired: {\n name: \"requirements.gazebo.isRequired\",\n placeholder: \"Do you require Gazebo?\",\n },\n};\n\nexport const vendorTable: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"requirements.table.details\",\n placeholder: \"Table requirements\",\n },\n isRequired: {\n name: \"requirements.table.isRequired\",\n placeholder: \"Do you require Table?\",\n },\n};\n\nexport const vendorPriceRange: {\n max: FormField;\n min: FormField;\n} = {\n max: {\n helperText: \"Product maximum price\",\n name: \"product.priceRange.max\",\n placeholder: \"Maximum price: \",\n },\n min: {\n helperText: \"Product minimum price\",\n name: \"product.priceRange.min\",\n placeholder: \"Minimum price: \",\n },\n};\n\nexport const vendorStallSize: {\n depth: FormField;\n width: FormField;\n} = {\n depth: {\n helperText: \"Stall size in depth\",\n name: \"stallInfo.size.depth\",\n placeholder: \"Stall Depth: \",\n },\n width: {\n helperText: \"Stall size in width\",\n name: \"stallInfo.size.width\",\n placeholder: \"Stall Width: \",\n },\n};\n\nexport const vendorPackaging: FormField = {\n helperText: \"Select packaging type, you can select more than one\",\n name: \"product.packaging\",\n placeholder: \"Packaging type\",\n};\n\nexport const vendorProducedIn: FormField = {\n helperText:\n \"Select where the product is produced, you can select more than one\",\n name: \"product.producedIn\",\n placeholder: \"Produced type\",\n};\n\nexport const vendorFoodFlavour: FormField = {\n helperText: \"You can select more than one food flavour\",\n name: \"product.foodFlavors\",\n placeholder: \"Food flavours\",\n};\n\nexport const vendorCompliance: FormField[] = [\n {\n name: \"compliance.liabilityInsurance\",\n placeholder: \"Liability Insurance\",\n },\n {\n name: \"compliance.foodBeverageLicense\",\n placeholder: \"Food and Beverage License\",\n },\n];\n\nconst packagingTypes = [\n \"Biodegradable\",\n \"Compostable\",\n \"Fabric\",\n \"Glass\",\n \"Other\",\n \"Paper\",\n \"Plastic\",\n \"Recyclable\",\n \"Reusable\",\n \"Single-use\",\n \"Wood\",\n];\n\nconst producedIngTypes = [\n \"Commercial Kitchen\",\n \"Home Premises\",\n \"Factory\",\n \"Farm\",\n \"Other\",\n];\n\nexport const packagingOptions: OptionItem[] = mapArrayToOptions(packagingTypes);\nexport const producedIngOptions: OptionItem[] =\n mapArrayToOptions(producedIngTypes);\nexport const foodFlavourOptions: OptionItem[] = Object.values(\n EnumFoodFlavor,\n).map((flavour) => ({\n label: flavour.replaceAll(\"_\", \" \"),\n value: flavour,\n}));\n","import { FormDateField, FormField, OptionItem } from \"../../types/global\";\n\nexport const eventBasicInfoFields: FormField[] = [\n {\n helperText: \"Name of the Event *\",\n name: \"name\",\n placeholder: \"Name\",\n },\n {\n helperText:\n \"NZBN number (required – ClueMart only accepts events with valid NZBN number) *\",\n keyboardType: \"number-pad\",\n name: \"nzbn\",\n placeholder: \"NZBN number\",\n },\n {\n helperText: \"Name of the Provider (if applicable)\",\n name: \"provider\",\n placeholder: \"Provider\",\n },\n {\n helperText: \"Description of the Event *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n\nexport const eventStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date of the Event *\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time of the Event *\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const eventEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date of the Event *\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time of the Event *\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const availableTagTypes = [\n { icon: \"human-male-female-child\", label: \"All Ages\" },\n { icon: \"weather-sunny\", label: \"Day Market\" },\n { icon: \"account-child\", label: \"Family Friendly\" },\n { icon: \"ticket-percent\", label: \"Free Entry\" },\n { icon: \"home-city\", label: \"Indoor Market\" },\n { icon: \"music\", label: \"Live Music\" },\n { icon: \"bus\", label: \"Near Bustop\" },\n { icon: \"slide\", label: \"Near Playground\" },\n { icon: \"train\", label: \"Near Train Station\" },\n { icon: \"weather-night\", label: \"Night Market\" },\n { icon: \"tree\", label: \"Outdoor Market\" },\n { icon: \"car\", label: \"Parking Available\" },\n { icon: \"dog\", label: \"Pet Friendly\" },\n { icon: \"ship-wheel\", label: \"Port Nearby\" },\n { icon: \"toilet\", label: \"Toilet Available\" },\n { icon: \"wheelchair-accessibility\", label: \"Wheelchair Accessible\" },\n];\n\nexport const tagOptions: OptionItem[] = availableTagTypes.map((tag) => ({\n label: tag.label,\n value: tag.label,\n}));\n","import { FormField } from \"src/types/global\";\n\nexport const emailField: FormField = {\n helperText: \"Enter email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n};\n\nexport const companyContactFields: FormField[] = [\n {\n ...emailField,\n name: \"contactDetails.email\",\n },\n {\n helperText: \"Enter your mobile phone number\",\n keyboardType: \"phone-pad\",\n name: \"contactDetails.mobilePhone\",\n placeholder: \"Mobile Phone Number\",\n },\n {\n helperText: \"Enter your landline phone number\",\n keyboardType: \"phone-pad\",\n name: \"contactDetails.landlinePhone\",\n placeholder: \"Landline Phone Number\",\n },\n];\n\nexport const bankAccountDetailsFields: FormField[] = [\n {\n helperText: \"Account holder name *\",\n name: \"accountHolderName\",\n placeholder: \"Account holder name\",\n },\n {\n helperText: \"Account number *\",\n keyboardType: \"number-pad\",\n name: \"accountNumber\",\n placeholder: \"Account number\",\n },\n];\n","import { RefundPolicy, Requirement, StallType } from \"../../types/event\";\nimport { FormField } from \"../../types/global\";\nimport { bankAccountDetailsFields } from \"../global\";\n\nexport const eventInfo: FormField[] = [\n {\n helperText: \"Application Deadline (hours before event start) *\",\n keyboardType: \"number-pad\",\n name: \"applicationDeadlineHours\",\n placeholder: \"Application Deadline (in hours)\",\n },\n {\n helperText:\n \"Payment Due (hours after application or invitation acceptance) *\",\n keyboardType: \"number-pad\",\n name: \"paymentDueHours\",\n placeholder: \"Payment Due (in hours)\",\n },\n {\n helperText: \"Pack-In Time (hours before event start) *\",\n keyboardType: \"number-pad\",\n name: \"packInTime\",\n placeholder: \"Pack In Time (in hours)\",\n },\n];\n\nexport const eventInfoPaymentInfo: FormField[] = [\n ...bankAccountDetailsFields,\n {\n helperText: \"Payment link, where applicants can pay *\",\n keyboardType: \"url\",\n name: \"link\",\n placeholder: \"Payment link\",\n },\n];\n\nexport const requirementsOptions: Requirement[] = [\n {\n category: \"Environment\",\n label: \"All packaging must be eco-friendly or recyclable where possible.\",\n value: false,\n },\n {\n category: \"Environment\",\n label: \"No single-use plastic bags are to be handed out.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"Stall area must be left clean with no trace of activity after pack-down.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"No disposal of oils, fats, or chemicals in public drains or on grassed areas.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"You must provide bins at your site for rubbish and recycling, and take away all bins including rubbish, to dispose of outside of the town centre.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Food must be prepared and stored according to your food regulation.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"The stallholder must display a current food grade certificate.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"Only licensed food vendors may sell ready-to-eat food items.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Handwashing facilities must be available at your stall if preparing food.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"You must have a food safety plan in place for your stall.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Allergens must be clearly listed on packaged and unpackaged food items.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All stallholders must comply with local council regulations.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"No unauthorised subletting of stall space to other vendors.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Gas bottles and fuel containers must be secured and in good condition if applicable.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Fire extinguishers must be available for stalls using cooking or heating equipment.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Stallholders must not sell items that are illegal or prohibited by law.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All electrical equipment must be tested and tagged.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Noise levels must be kept to a minimum unless part of a permitted performance.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Pets at the stall must be secured and well-behaved at all times.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Cables must be secured and not create tripping hazards.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stalls must not obstruct emergency access routes.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"First aid kit must be available at the stall for minor injuries.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stallholders must hold valid liability insurance where required.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You must secure your gazebo and equipment to withstand wind or bad weather.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You are responsible for the safety of your setup and any potential hazards.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Generators must be quiet and pre-approved by the event organiser.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Only approved products or services may be sold — no last-minute changes.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Stallholders must arrive and be fully set up by the designated opening time.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You may not pack down your stall before the event officially ends.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You must be self-sufficient in all operations.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Stall layout must be kept within your allocated space.\",\n value: false,\n },\n];\n\nconst stallTypes = [\n \"1.8m table only\",\n \"2x2m mini stall\",\n \"3x3m tent site\",\n \"Corner stall\",\n \"Craft stall with power\",\n \"Craft stall without power\",\n \"Double stall (6x3m)\",\n \"Food truck site\",\n \"Food vendor with power\",\n \"Food vendor without power\",\n \"Inside hall stall\",\n \"Non-profit/community stall\",\n \"Outdoor open area\",\n \"Shared table space\",\n \"Wall-based vendor\",\n \"Workshop/seating area\",\n] as const;\n\nexport const stallTypeOptions: StallType[] = stallTypes.map((type) => ({\n label: type,\n price: 0,\n stallCapacity: 0,\n}));\n\nexport const refundPolicyOptions: RefundPolicy[] = [\n {\n category: \"Cancelled by Vendor\",\n label: \"Full refund if cancelled 30+ days before the event.\",\n value: false,\n },\n {\n category: \"Cancelled by Vendor\",\n label: \"50% refund if cancelled 14–29 days before the event.\",\n value: false,\n },\n {\n category: \"Cancelled by Vendor\",\n label: \"No refund if cancelled less than 14 days before the event.\",\n value: false,\n },\n {\n category: \"Cancelled by Vendor\",\n label: \"Full refund if cancelled due to illness or emergency.\",\n value: false,\n },\n {\n category: \"Cancelled by Vendor\",\n label: \"No refund for no-shows or last-minute cancellations.\",\n value: false,\n },\n {\n category: \"Cancelled by Vendor\",\n label: \"No refund\",\n value: false,\n },\n {\n category: \"Cancelled by Organiser\",\n label: \"Full refund if the event is cancelled by the organiser.\",\n value: false,\n },\n {\n category: \"Cancelled by Organiser\",\n label: \"Credit towards a future event if cancelled by the organiser.\",\n value: false,\n },\n {\n category: \"Cancelled by Organiser\",\n label:\n \"Refund only in cases of force majeure (e.g., natural disasters, government restrictions).\",\n value: false,\n },\n {\n category: \"Cancelled by Organiser\",\n label: \"No refund\",\n value: false,\n },\n];\n","import { FormField } from \"../types/global\";\n\nimport { emailField } from \"./global\";\n\nexport const loginFields: FormField[] = [\n {\n ...emailField,\n required: true,\n },\n {\n helperText: \"Enter password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n required: true,\n secureTextEntry: true,\n },\n];\n\nexport const registerFields: FormField[] = [\n {\n helperText: \"Enter first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n required: true,\n },\n {\n helperText: \"Enter last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n required: true,\n },\n {\n ...emailField,\n required: true,\n },\n {\n helperText: \"Enter password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n required: true,\n secureTextEntry: true,\n },\n {\n helperText: \"Promotional code (optional)\",\n keyboardType: \"default\",\n name: \"promoCode\",\n placeholder: \"Promotional Code\",\n required: false,\n },\n];\n\nexport const requestPasswordResetFields: FormField[] = [\n {\n ...emailField,\n helperText: \"Enter email address to reset your password\",\n required: true,\n },\n];\n\nexport const resetPasswordFields: FormField[] = [\n {\n helperText: \"Enter your new password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n required: true,\n secureTextEntry: true,\n },\n {\n helperText: \"Confirm your new password\",\n keyboardType: \"default\",\n name: \"confirmPassword\",\n placeholder: \"Confirm Password\",\n required: true,\n secureTextEntry: true,\n },\n];\n\nexport const validateVerificationTokenFields: FormField[] = [\n {\n ...emailField,\n disabled: true,\n helperText: \"Your email address\",\n },\n {\n helperText: \"Enter the Verification code sent to you by email\",\n keyboardType: \"number-pad\",\n name: \"verificationToken\",\n placeholder: \"Verification code\",\n required: true,\n },\n];\n","import { FormField } from \"../types/global\";\n\nimport { emailField } from \"./global\";\n\nexport const profileFields: FormField[] = [\n {\n ...emailField,\n disabled: true,\n helperText: \"Email cannot be changed\",\n },\n {\n helperText: \"Enter first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your new password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n {\n helperText: \"Confirm your new password\",\n keyboardType: \"default\",\n name: \"confirmPassword\",\n placeholder: \"Confirm Password\",\n secureTextEntry: true,\n },\n];\n","import { FormField } from \"../types/global\";\n\nconst socialMedia = [\n {\n key: \"facebook\",\n name: \"Facebook\",\n placeholder: \"https://www.facebook.com/your-page\",\n },\n {\n key: \"instagram\",\n name: \"Instagram\",\n placeholder: \"https://www.instagram.com/your-profile\",\n },\n {\n key: \"tiktok\",\n name: \"TikTok\",\n placeholder: \"https://www.tiktok.com/@your-profile\",\n },\n {\n key: \"twitter\",\n name: \"Twitter\",\n placeholder: \"https://twitter.com/your-profile\",\n },\n {\n key: \"website\",\n name: \"Website\",\n placeholder: \"https://www.yourwebsite.com\",\n },\n {\n key: \"youtube\",\n name: \"YouTube\",\n placeholder: \"https://www.youtube.com/channel/your-channel\",\n },\n];\nexport const socialMediaFields: FormField[] = socialMedia.map((link) => ({\n helperText: link.name,\n keyboardType: \"url\",\n name: link.key,\n placeholder: link.placeholder,\n}));\n","import { FormField } from \"src/types\";\n\nimport { emailField } from \"./global\";\n\nexport const contactUsFields: FormField[] = [\n {\n helperText: \"Enter first name *\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter last name *\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n ...emailField,\n helperText: \"Enter email address *\",\n },\n {\n helperText: \"Enter your message *\",\n isTextArea: true,\n keyboardType: \"default\",\n name: \"message\",\n placeholder: \"Message\",\n },\n];\n","import { FormField } from \"../types/global\";\n\nexport const partnerBasicInfoFields: FormField[] = [\n {\n helperText: \"Business Name *\",\n name: \"name\",\n placeholder: \"Business Name\",\n },\n {\n helperText:\n \"NZBN number (required – ClueMart only accepts partners with valid NZBN number) *\",\n keyboardType: \"number-pad\",\n name: \"nzbn\",\n placeholder: \"NZBN number\",\n },\n {\n helperText: \"Description *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n","import { gql } from \"@apollo/client\";\n\nimport {\n CONTACT_DETAILS_FIELDS_FRAGMENT,\n DATETIME_FIELDS_FRAGMENT,\n OWNER_FIELDS_FRAGMENT,\n POSTER_USAGE_FIELDS_FRAGMENT,\n RELATION_DATES_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n STALL_TYPE_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n LOCATION_FIELDS_FRAGMENT,\n EVENT_LIST_ITEM,\n RELATED_POST_FIELDS_FRAGMENT,\n SOCIAL_SHARE_RESOURCE_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const EVENT_INFO = gql`\n fragment EventInfoFields on EventInfoType {\n _id\n applicationDeadlineHours\n dateTime {\n dateStatus\n endDate\n endTime\n stallTypes {\n ...StallTypeFields\n }\n startDate\n startTime\n }\n eventId\n packInTime\n paymentDueHours\n paymentInfo {\n accountHolderName\n accountNumber\n link\n paymentMethod\n }\n refundPolicy {\n category\n label\n value\n }\n requirements {\n category\n label\n value\n }\n }\n ${STALL_TYPE_FIELDS_FRAGMENT}\n`;\n\nexport const EVENT = gql`\n fragment EventFields on EventType {\n _id\n active\n adIds\n approvedAt\n cover {\n ...ResourceImageFields\n }\n claimed\n createdAt\n contactDetails {\n ...ContactDetailsFields\n }\n dateTime {\n ...DateTimeFields\n }\n description\n deletedAt\n googlePlaceId\n images {\n ...ResourceImageFields\n }\n eventType\n location {\n ...LocationFields\n }\n logo {\n ...ResourceImageFields\n }\n eventInfoId\n name\n nzbn\n owner {\n ...OwnerFields\n }\n promoCodes\n provider\n posterUsage {\n ...PosterUsageFields\n }\n region\n relations {\n relationId\n relationDates {\n ...RelationDates\n }\n }\n rating\n reviewCount\n rainOrShine\n relatedPost {\n ...RelatedPostFields\n }\n socialMedia {\n ...SocialMediaFields\n }\n sharePublic {\n ...SocialShareResourceFields\n }\n shareRelation {\n ...SocialShareResourceFields\n }\n slug\n tags\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n }\n ${DATETIME_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n ${CONTACT_DETAILS_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${RELATION_DATES_FRAGMENT}\n ${RELATED_POST_FIELDS_FRAGMENT}\n ${SOCIAL_SHARE_RESOURCE_FIELDS_FRAGMENT}\n`;\n\nexport const GET_EVENTS = gql`\n query getEvents($dateStatus: EventDateStatusEnumType) {\n events(dateStatus: $dateStatus) {\n ...EventListItemFields\n }\n }\n ${EVENT_LIST_ITEM}\n`;\n\nexport const GET_EVENT = gql`\n query getEvent($_id: ID!) {\n event(_id: $_id) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_EVENT_BY_PLACE_ID = gql`\n query getEventByPlaceId($googlePlaceId: String!) {\n eventByPlaceId(googlePlaceId: $googlePlaceId) {\n ...EventListItemFields\n }\n }\n ${EVENT_LIST_ITEM}\n`;\n\nexport const GET_EVENTS_BY_REGION = gql`\n query getEventsByRegion(\n $region: String!\n $options: ResourcesByRegionOptions\n $dateStatus: EventDateStatusEnumType\n ) {\n eventsByRegion(\n region: $region\n options: $options\n dateStatus: $dateStatus\n ) {\n ...EventListItemFields\n }\n }\n ${EVENT_LIST_ITEM}\n`;\n\nexport const SEARCH_EVENTS = gql`\n query searchEvents(\n $region: String!\n $search: String\n $tags: [String]\n $dateStatus: EventDateStatusEnumType\n ) {\n eventsSearch(\n region: $region\n search: $search\n tags: $tags\n dateStatus: $dateStatus\n ) {\n ...EventListItemFields\n }\n }\n ${EVENT_LIST_ITEM}\n`;\n\nexport const GET_EVENTS_NEAR_ME = gql`\n query getEventsNearMe(\n $latitude: Float!\n $longitude: Float!\n $radius: Int\n $dateStatus: EventDateStatusEnumType\n ) {\n eventsNearMe(\n latitude: $latitude\n longitude: $longitude\n radius: $radius\n dateStatus: $dateStatus\n ) {\n ...EventListItemFields\n }\n }\n ${EVENT_LIST_ITEM}\n`;\n\nexport const GET_EVENT_INFO = gql`\n query getEventInfo($eventId: ID!) {\n eventInfo(eventId: $eventId) {\n ...EventInfoFields\n }\n }\n ${EVENT_INFO}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const POSTER_USAGE_FIELDS_FRAGMENT = gql`\n fragment PosterUsageFields on PosterUsageType {\n month\n count\n }\n`;\n\nexport const SOCIAL_MEDIA_FIELDS_FRAGMENT = gql`\n fragment SocialMediaFields on SocialMediaType {\n name\n link\n }\n`;\n\nexport const RESOURCE_IMAGE_FIELDS_FRAGMENT = gql`\n fragment ResourceImageFields on ResourceImageType {\n active\n source\n title\n }\n`;\n\nexport const OWNER_FIELDS_FRAGMENT = gql`\n fragment OwnerFields on OwnerType {\n email\n userId\n }\n`;\n\nexport const CATEGORY_FIELDS_FRAGMENT = gql`\n fragment CategoryFields on CategoryType {\n id\n name\n subcategories {\n id\n items {\n id\n name\n }\n name\n }\n }\n`;\n\nexport const LICENCE_FIELDS_FRAGMENT = gql`\n fragment LicenceFields on UserLicenceType {\n expiryDate\n issuedDate\n licenceType\n prevLicenceType\n }\n`;\n\nexport const TERMS_AGREEMENT_FIELDS_FRAGMENT = gql`\n fragment TermsAgreementFields on TermsAgreementType {\n appBuildNumber\n appId\n appVersion\n brand\n deviceName\n installationId\n manufacturer\n modelName\n osName\n osVersion\n termVersion\n timestamp\n }\n`;\n\nexport const DATETIME_FIELDS_FRAGMENT = gql`\n fragment DateTimeFields on DateTimeType {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\nexport const LOCATION_GEO_FIELDS_FRAGMENT = gql`\n fragment LocationGeoFields on LocationGeoType {\n coordinates\n type\n }\n`;\n\nexport const LOCATION_FIELDS_FRAGMENT = gql`\n fragment LocationFields on LocationType {\n city\n country\n fullAddress\n geo {\n ...LocationGeoFields\n }\n latitude\n longitude\n region\n }\n ${LOCATION_GEO_FIELDS_FRAGMENT}\n`;\n\nconst USER_ACTIVITY_FIELDS_FRAGMENT = gql`\n fragment UserActivityFields on UserActivityType {\n favourites {\n events\n partners\n vendors\n }\n going {\n events {\n resourceId\n dateTime {\n ...DateTimeFields\n }\n }\n }\n interested {\n events {\n resourceId\n dateTime {\n ...DateTimeFields\n }\n }\n }\n present {\n events {\n resourceId\n dateTime {\n ...DateTimeFields\n }\n }\n }\n }\n ${DATETIME_FIELDS_FRAGMENT}\n`;\n\nexport const REDEEMED_REWARD_FIELDS_FRAGMENT = gql`\n fragment RedeemedRewardFields on RedeemedRewardType {\n name\n pointsUsed\n redeemedAt\n }\n`;\n\nconst STRIPE_FIELDS_FRAGMENT = gql`\n fragment StripeSubscriptionFields on StripeSubscriptionType {\n customerId\n subscriptionId\n status\n currentPlan\n startDate\n endDate\n }\n`;\n\nexport const USER_FIELDS_FRAGMENT = gql`\n fragment UserFields on UserType {\n _id\n active\n affiliate\n avatar {\n ...ResourceImageFields\n }\n createdAt\n deletedAt\n email\n events\n firstName\n game\n isTester\n lastName\n licences {\n ...LicenceFields\n }\n location {\n ...LocationFields\n }\n partner\n overallPoints\n platform\n preferredRegion\n permissions\n promoCodes\n roles\n redeemedRewards {\n ...RedeemedRewardFields\n }\n school\n stripe {\n ...StripeSubscriptionFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n userActivity {\n ...UserActivityFields\n }\n vendor\n updatedAt\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${USER_ACTIVITY_FIELDS_FRAGMENT}\n ${LICENCE_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${REDEEMED_REWARD_FIELDS_FRAGMENT}\n ${STRIPE_FIELDS_FRAGMENT}\n`;\n\nexport const STALL_TYPE_FIELDS_FRAGMENT = gql`\n fragment StallTypeFields on StallTypeType {\n label\n price\n stallCapacity\n }\n`;\n\nexport const RELATION_DATES_FRAGMENT = gql`\n fragment RelationDates on RelationDateType {\n dateTime {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n stallType {\n ...StallTypeFields\n }\n }\n lastUpdateBy {\n resourceId\n userEmail\n }\n paymentReference\n status\n }\n ${STALL_TYPE_FIELDS_FRAGMENT}\n`;\n\nexport const CONTACT_DETAILS_FIELDS_FRAGMENT = gql`\n fragment ContactDetailsFields on ContactDetailsType {\n email\n landlinePhone\n mobilePhone\n }\n`;\n\nexport const EVENT_LIST_ITEM = gql`\n fragment EventListItemFields on EventListItemType {\n _id\n active\n approvedAt\n claimed\n cover {\n ...ResourceImageFields\n }\n createdAt\n dateTime {\n ...DateTimeFields\n }\n deletedAt\n description\n eventType\n googlePlaceId\n images {\n ...ResourceImageFields\n }\n location {\n ...LocationFields\n }\n logo {\n ...ResourceImageFields\n }\n name\n rainOrShine\n rating\n region\n relations {\n relationId\n relationDates {\n ...RelationDates\n }\n }\n reviewCount\n slug\n updatedAt\n }\n ${DATETIME_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${RELATION_DATES_FRAGMENT}\n`;\n\nexport const RELATED_POST_FIELDS_FRAGMENT = gql`\n fragment RelatedPostFields on RelatedPostType {\n postActive\n postId\n postSlug\n postType\n }\n`;\n\nexport const SOCIAL_SHARE_RESOURCE_FIELDS_FRAGMENT = gql`\n fragment SocialShareResourceFields on SocialShareResourceType {\n qrCode {\n ...ResourceImageFields\n }\n socialImage {\n ...ResourceImageFields\n }\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n CATEGORY_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n POSTER_USAGE_FIELDS_FRAGMENT,\n CONTACT_DETAILS_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n RELATION_DATES_FRAGMENT,\n DATETIME_FIELDS_FRAGMENT,\n LOCATION_FIELDS_FRAGMENT,\n RELATED_POST_FIELDS_FRAGMENT,\n SOCIAL_SHARE_RESOURCE_FIELDS_FRAGMENT,\n} from \"./global\";\n\nconst VENDOR_DATETIME_FIELDS_FRAGMENT = gql`\n fragment VendorDateTimeFields on VendorDateTimeType {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\nconst VENDOR_PRODUCT_LIST_FIELDS_FRAGMENT = gql`\n fragment VendorProductListFields on VendorProductListType {\n description\n name\n price\n priceUnit\n productGroups\n }\n`;\n\nexport const VENDOR = gql`\n fragment VendorFields on VendorType {\n _id\n active\n adIds\n approvedAt\n availability {\n corporate\n private\n school\n }\n vendorInfoId\n categories {\n ...CategoryFields\n }\n calendar {\n active\n calendarData {\n dateTime {\n ...VendorDateTimeFields\n }\n description\n location {\n ...LocationFields\n }\n }\n }\n contactDetails {\n ...ContactDetailsFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n claimed\n description\n deletedAt\n foodTruck\n images {\n ...ResourceImageFields\n }\n logo {\n ...ResourceImageFields\n }\n name\n owner {\n ...OwnerFields\n }\n products {\n active\n productsList {\n ...VendorProductListFields\n }\n }\n promoCodes\n posterUsage {\n ...PosterUsageFields\n }\n rating\n region\n reviewCount\n relatedPost {\n ...RelatedPostFields\n }\n relations {\n relationId\n relationDates {\n ...RelationDates\n }\n }\n slug\n socialMedia {\n ...SocialMediaFields\n }\n sharePublic {\n ...SocialShareResourceFields\n }\n shareRelation {\n ...SocialShareResourceFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n vendorType\n unregisteredVendorId\n }\n ${CATEGORY_FIELDS_FRAGMENT}\n ${VENDOR_DATETIME_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n ${VENDOR_PRODUCT_LIST_FIELDS_FRAGMENT}\n ${CONTACT_DETAILS_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${RELATION_DATES_FRAGMENT}\n ${RELATED_POST_FIELDS_FRAGMENT}\n ${SOCIAL_SHARE_RESOURCE_FIELDS_FRAGMENT}\n`;\n\nconst VENDOR_ATTRIBUTES_FRAGMENT = gql`\n fragment VendorAttributesFields on VendorAttributesType {\n details\n isRequired\n }\n`;\n\nexport const VENDOR_INFO = gql`\n fragment VendorInfoFields on VendorInfoType {\n _id\n compliance {\n foodBeverageLicense\n liabilityInsurance\n }\n documents {\n ...ResourceImageFields\n }\n requirements {\n electricity {\n ...VendorAttributesFields\n }\n gazebo {\n ...VendorAttributesFields\n }\n table {\n ...VendorAttributesFields\n }\n }\n product {\n foodFlavors\n packaging\n priceRange {\n max\n min\n }\n producedIn\n }\n stallInfo {\n size {\n depth\n width\n }\n }\n vendorId\n }\n ${VENDOR_ATTRIBUTES_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n\nconst UNREGISTERED_VENDOR_INVITATION_FRAGMENT = gql`\n fragment UnregisteredVendorInvitationFields on UnregisteredVendorInvitationType {\n dateTime {\n ...DateTimeFields\n }\n inviterId\n }\n ${DATETIME_FIELDS_FRAGMENT}\n`;\n\nexport const UNREGISTERED_VENDOR = gql`\n fragment UnregisteredVendorFields on UnregisteredVendorType {\n _id\n active\n categoryIds\n claimed\n createdAt\n deletedAt\n email\n invitations {\n ...UnregisteredVendorInvitationFields\n }\n name\n region\n updatedAt\n }\n ${UNREGISTERED_VENDOR_INVITATION_FRAGMENT}\n`;\n\nexport const GET_VENDORS = gql`\n query getVendors {\n vendors {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_VENDOR = gql`\n query getVendor($_id: ID!) {\n vendor(_id: $_id) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_VENDORS_BY_REGION = gql`\n query getVendorsByRegion(\n $region: String!\n $options: ResourcesByRegionOptions\n ) {\n vendorsByRegion(region: $region, options: $options) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const SEARCH_VENDORS = gql`\n query searchVendors($search: String!, $region: String!) {\n vendorSearch(search: $search, region: $region) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_VENDOR_INFO = gql`\n query getVendorInfo($vendorId: ID!) {\n vendorInfo(vendorId: $vendorId) {\n ...VendorInfoFields\n }\n }\n ${VENDOR_INFO}\n`;\n\nexport const GET_UNREGISTERED_VENDORS = gql`\n query getUnregisteredVendors {\n unregisteredVendors {\n ...UnregisteredVendorFields\n }\n }\n ${UNREGISTERED_VENDOR}\n`;\n\nexport const GET_UNREGISTERED_VENDORS_BY_INVITER_ID = gql`\n query getUnregisteredVendorsByInviterId($inviterId: ID!) {\n unregisteredVendorsByInviterId(inviterId: $inviterId) {\n ...UnregisteredVendorFields\n }\n }\n ${UNREGISTERED_VENDOR}\n`;\n\nexport const GET_UNREGISTERED_VENDOR = gql`\n query getUnregisteredVendor($_id: ID!) {\n unregisteredVendor(_id: $_id) {\n ...UnregisteredVendorFields\n }\n }\n ${UNREGISTERED_VENDOR}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n CONTACT_DETAILS_FIELDS_FRAGMENT,\n LOCATION_FIELDS_FRAGMENT,\n OWNER_FIELDS_FRAGMENT,\n POSTER_USAGE_FIELDS_FRAGMENT,\n RELATED_POST_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n SOCIAL_SHARE_RESOURCE_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const PARTNER = gql`\n fragment PartnerFields on PartnerType {\n _id\n active\n adIds\n approvedAt\n cover {\n ...ResourceImageFields\n }\n createdAt\n contactDetails {\n ...ContactDetailsFields\n }\n description\n deletedAt\n images {\n ...ResourceImageFields\n }\n location {\n ...LocationFields\n }\n logo {\n ...ResourceImageFields\n }\n name\n nzbn\n owner {\n ...OwnerFields\n }\n partnerType\n posterUsage {\n ...PosterUsageFields\n }\n rating\n region\n reviewCount\n relatedPost {\n ...RelatedPostFields\n }\n socialMedia {\n ...SocialMediaFields\n }\n slug\n sharePublic {\n ...SocialShareResourceFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n }\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${CONTACT_DETAILS_FIELDS_FRAGMENT}\n ${RELATED_POST_FIELDS_FRAGMENT}\n ${SOCIAL_SHARE_RESOURCE_FIELDS_FRAGMENT}\n`;\n\nexport const GET_PARTNERS = gql`\n query getPartners {\n partners {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const GET_PARTNER = gql`\n query getPartner($_id: ID!) {\n partner(_id: $_id) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const GET_PARTNERS_BY_REGION = gql`\n query getPartnersByRegion(\n $region: String!\n $options: ResourcesByRegionOptions\n ) {\n partnersByRegion(region: $region, options: $options) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const SEARCH_PARTNERS = gql`\n query searchPartners($search: String!, $region: String!) {\n partnersSearch(search: $search, region: $region) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { DAILY_CLUE_BASE_GAME_FIELDS_FRAGMENT } from \"./game/dailyClue\";\nimport { PUZZLE_BASE_GAME_FIELDS_FRAGMENT } from \"./game/puzzleGame\";\nimport {\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_SHARE_RESOURCE_FIELDS_FRAGMENT,\n} from \"./global\";\n\nconst BASE_GAME_FIELDS_FRAGMENT = gql`\n fragment BaseGameFields on BaseGameType {\n gameTypeId\n gameTitle\n gameType\n dailyClue {\n ...DailyClueBaseGameFields\n }\n miniQuiz {\n ...PuzzleBaseGameFields\n }\n oddOneOut {\n ...PuzzleBaseGameFields\n }\n }\n ${DAILY_CLUE_BASE_GAME_FIELDS_FRAGMENT}\n ${PUZZLE_BASE_GAME_FIELDS_FRAGMENT}\n`;\n\nconst POST_CONTENT_DATA_FIELDS_FRAGMENT = gql`\n fragment PostContentDataFields on PostContentData {\n game {\n ...BaseGameFields\n }\n textarea {\n title\n data\n }\n images {\n ...ResourceImageFields\n }\n video {\n source\n title\n }\n list {\n title\n items {\n text\n }\n }\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${BASE_GAME_FIELDS_FRAGMENT}\n`;\n\nconst POST_CONTENT_FIELDS_FRAGMENT = gql`\n fragment PostContentFields on PostContentType {\n contentData {\n ...PostContentDataFields\n }\n contentOrder\n contentType\n }\n ${POST_CONTENT_DATA_FIELDS_FRAGMENT}\n`;\n\nconst POST_RESOURCE_FIELDS_FRAGMENT = gql`\n fragment PostResourceFields on PostResourceType {\n resourceId\n resourceSlug\n resourceRegion\n resourceType\n }\n`;\n\nexport const POST_FIELDS_FRAGMENT = gql`\n fragment PostFields on PostType {\n _id\n active\n approvedAt\n caption\n content {\n ...PostContentFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n deletedAt\n postType\n resource {\n ...PostResourceFields\n }\n tags\n title\n slug\n sharePublic {\n ...SocialShareResourceFields\n }\n updatedAt\n }\n ${POST_CONTENT_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${POST_RESOURCE_FIELDS_FRAGMENT}\n ${SOCIAL_SHARE_RESOURCE_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POSTS = gql`\n query getPosts {\n posts {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POST = gql`\n query getPost($_id: ID!) {\n post(_id: $_id) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POSTS_BY_TYPE = gql`\n query getPostsByType($postType: PostTypeEnum!) {\n postsByType(postType: $postType) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const GAME_DATE_FIELDS_FRAGMENT = gql`\n fragment GameDateFields on GameDateType {\n startDate\n endDate\n }\n`;\n\nexport const DAILY_CLUE_BASE_GAME_FIELDS_FRAGMENT = gql`\n fragment DailyClueBaseGameFields on DailyClueBaseGameType {\n gameDate {\n ...GameDateFields\n }\n gameSolution\n }\n ${GAME_DATE_FIELDS_FRAGMENT}\n`;\n\nexport const DAILY_CLUE_GAME_DATA_FIELDS_FRAGMENT = gql`\n fragment DailyClueGameDataFields on DailyClueGameDataType {\n gameFields {\n ...DailyClueBaseGameFields\n }\n lastFoundDate\n points\n letterInfo {\n collected\n solutionShuffled\n todaysClue\n todaysLetter\n todaysPlacement\n }\n streak\n }\n ${DAILY_CLUE_BASE_GAME_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nconst PUZZLE_ANSWER_FIELDS_FRAGMENT = gql`\n fragment PuzzleAnswerFields on PuzzleAnswerType {\n answer\n answerId\n correct\n }\n`;\n\nconst PUZZLE_QUESTION_FIELDS_FRAGMENT = gql`\n fragment PuzzleQuestionFields on PuzzleQuestionType {\n answers {\n ...PuzzleAnswerFields\n }\n question\n questionId\n }\n ${PUZZLE_ANSWER_FIELDS_FRAGMENT}\n`;\n\nconst PUZZLE_ANSWERED_QUESTION_FIELDS_FRAGMENT = gql`\n fragment PuzzleAnsweredQuestionFields on PuzzleAnsweredQuestionType {\n questionId\n selectedAnswerId\n }\n`;\n\nexport const PUZZLE_BASE_GAME_FIELDS_FRAGMENT = gql`\n fragment PuzzleBaseGameFields on PuzzleBaseGameType {\n questions {\n ...PuzzleQuestionFields\n }\n }\n ${PUZZLE_QUESTION_FIELDS_FRAGMENT}\n`;\n\nexport const PUZZLE_GAME_DATA_FIELDS_FRAGMENT = gql`\n fragment PuzzleGameDataFields on PuzzleGameDataType {\n gameFields {\n ...PuzzleBaseGameFields\n }\n answeredQuestions {\n ...PuzzleAnsweredQuestionFields\n }\n points\n streak\n }\n ${PUZZLE_BASE_GAME_FIELDS_FRAGMENT}\n ${PUZZLE_ANSWERED_QUESTION_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const GET_EVENT_BY_SLUG = gql`\n query getEventBySlug($slug: String!) {\n eventBySlug(slug: $slug) {\n _id\n }\n }\n`;\n\nexport const GET_VENDOR_BY_SLUG = gql`\n query getVendorBySlug($slug: String!) {\n vendorBySlug(slug: $slug) {\n _id\n }\n }\n`;\n\nexport const GET_PARTNER_BY_SLUG = gql`\n query getPartnerBySlug($slug: String!) {\n partnerBySlug(slug: $slug) {\n _id\n }\n }\n`;\n\nexport const GET_POST_BY_SLUG = gql`\n query getPostBySlug($slug: String!, $postType: PostTypeEnum!) {\n postBySlug(slug: $slug, postType: $postType) {\n _id\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { EVENT_LIST_ITEM, RELATION_DATES_FRAGMENT } from \"./global\";\nimport { VENDOR } from \"./vendor\";\n\nexport const RELATION_FIELDS_FRAGMENT = gql`\n fragment RelationFields on RelationType {\n _id\n active\n chatId\n createdAt\n lastUpdateBy\n eventId\n relationDates {\n ...RelationDates\n }\n relationType\n vendorId\n updatedAt\n }\n ${RELATION_DATES_FRAGMENT}\n`;\n\nexport const GET_RELATION = gql`\n query getRelation($_id: ID!) {\n relation(_id: $_id) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RELATION_BY_EVENT_AND_VENDOR = gql`\n query getRelationByEventAndVendor($eventId: ID!, $vendorId: ID!) {\n relationByEventAndVendor(eventId: $eventId, vendorId: $vendorId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_EVENT_RELATIONS = gql`\n query getEventRelations($eventId: ID!) {\n eventRelations(eventId: $eventId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_VENDOR_RELATIONS = gql`\n query getVendorRelations($vendorId: ID!) {\n vendorRelations(vendorId: $vendorId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RESOURCE_CONNECTIONS = gql`\n query getResourceConnections(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n resourceConnections(resourceId: $resourceId, resourceType: $resourceType) {\n events {\n ...EventListItemFields\n }\n vendors {\n ...VendorFields\n }\n }\n }\n ${VENDOR}\n ${EVENT_LIST_ITEM}\n`;\n","import { print, type DocumentNode } from \"graphql\";\n\nexport function toGraphqlQueryString(query: DocumentNode): string {\n return print(query);\n}\n","import { useMutation } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport {\n ADMIN_PERMANENTLY_DELETE_RESOURCE_MUTATION,\n ADMIN_RESEND_USER_VERIFICATION_EMAIL_MUTATION,\n ADMIN_UPDATE_RESOURCE_TYPE_MUTATION,\n} from \"src/graphql/mutations/admin\";\nimport { GET_EVENT } from \"src/graphql/queries/event\";\nimport { GET_VENDOR } from \"src/graphql/queries/vendor\";\nimport { AdminUpdateResourceType, MutationResponse } from \"src/types\";\n\nexport const useAdminUpdateResourceType = () => {\n const [adminUpdateResourceType, { loading, error }] = useMutation<{\n adminUpdateResourceType: MutationResponse<AdminUpdateResourceType>;\n }>(ADMIN_UPDATE_RESOURCE_TYPE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const adminUpdateResourceType =\n mutationResult?.data?.adminUpdateResourceType?.data;\n const resourceId = adminUpdateResourceType?.resourceId;\n const resourceType = adminUpdateResourceType?.resourceType;\n\n if (!resourceId) return [];\n\n const detectQuery =\n resourceType === EnumResourceType.EVENT ? GET_EVENT : GET_VENDOR;\n\n return [\n {\n query: detectQuery,\n variables: { _id: resourceId },\n },\n ];\n },\n });\n\n return {\n adminUpdateResourceType,\n error,\n loading,\n };\n};\n\nexport const useAdminResendUserVerificationEmail = () => {\n const [adminResendUserVerificationEmail, { loading, error }] = useMutation<{\n adminResendUserVerificationEmail: MutationResponse<boolean>;\n }>(ADMIN_RESEND_USER_VERIFICATION_EMAIL_MUTATION);\n\n return {\n adminResendUserVerificationEmail,\n error,\n loading,\n };\n};\n\nexport const useAdminPermanentlyDeleteResource = () => {\n const [adminPermanentlyDeleteResource, { loading, error }] = useMutation<{\n adminPermanentlyDeleteResource: MutationResponse<boolean>;\n }>(ADMIN_PERMANENTLY_DELETE_RESOURCE_MUTATION);\n\n return {\n adminPermanentlyDeleteResource,\n error,\n loading,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const ADMIN_UPDATE_RESOURCE_TYPE_MUTATION = gql`\n mutation adminUpdateResourceType($input: AdminUpdateResourceInputType!) {\n adminUpdateResourceType(input: $input) {\n data {\n active\n resourceId\n resourceType\n }\n message\n }\n }\n`;\n\nexport const ADMIN_RESEND_USER_VERIFICATION_EMAIL_MUTATION = gql`\n mutation adminResendUserVerificationEmail($userId: ID!) {\n adminResendUserVerificationEmail(userId: $userId) {\n data\n message\n }\n }\n`;\n\nexport const ADMIN_PERMANENTLY_DELETE_RESOURCE_MUTATION = gql`\n mutation adminPermanentlyDeleteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n adminPermanentlyDeleteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n data\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n AuthMutationResponse,\n RefreshTokenMutationResponse,\n} from \"src/types/auth\";\nimport { MutationResponse } from \"src/types/global\";\n\nimport {\n LOGIN_MUTATION,\n LOGOUT_MUTATION,\n REFRESH_TOKEN_MUTATION,\n REGISTER_MUTATION,\n REQUEST_PASSWORD_RESET_MUTATION,\n RESET_PASSWORD_MUTATION,\n VALIDATE_VERIFICATION_TOKEN_MUTATION,\n} from \"../mutations/auth\";\n\ntype MessageOnlyResponse = MutationResponse<boolean>;\n\nexport const useRegister = () => {\n const [register, { loading, error }] = useMutation<{\n register: AuthMutationResponse;\n }>(REGISTER_MUTATION);\n return { error, loading, register };\n};\n\nexport const useLogin = () => {\n const [login, { loading, error }] = useMutation<{\n login: AuthMutationResponse;\n }>(LOGIN_MUTATION);\n return { error, loading, login };\n};\n\nexport const useLogout = () => {\n const [logout, { loading, error }] = useMutation<{\n logout: MessageOnlyResponse;\n }>(LOGOUT_MUTATION);\n return { error, loading, logout };\n};\n\nexport const useRefreshToken = () => {\n const [refreshToken, { loading, error }] = useMutation<{\n refreshToken: RefreshTokenMutationResponse;\n }>(REFRESH_TOKEN_MUTATION);\n return { error, loading, refreshToken };\n};\n\nexport const useRequestPasswordReset = () => {\n const [requestPasswordReset, { loading, error }] = useMutation<{\n requestPasswordReset: MessageOnlyResponse;\n }>(REQUEST_PASSWORD_RESET_MUTATION);\n\n return { error, loading, requestPasswordReset };\n};\n\nexport const useValidateVerificationToken = () => {\n const [validateVerificationToken, { loading, error }] = useMutation<{\n validateVerificationToken: MessageOnlyResponse;\n }>(VALIDATE_VERIFICATION_TOKEN_MUTATION);\n\n return { error, loading, validateVerificationToken };\n};\n\nexport const useResetPassword = () => {\n const [resetPassword, { loading, error }] = useMutation<{\n resetPassword: MessageOnlyResponse;\n }>(RESET_PASSWORD_MUTATION);\n\n return { error, loading, resetPassword };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const REGISTER_MUTATION = gql`\n mutation register($input: RegisterInputType!) {\n register(input: $input) {\n data {\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGIN_MUTATION = gql`\n mutation login($input: LoginInputType!) {\n login(input: $input) {\n data {\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGOUT_MUTATION = gql`\n mutation logout {\n logout {\n data\n message\n }\n }\n`;\n\nexport const REFRESH_TOKEN_MUTATION = gql`\n mutation refreshToken($input: RefreshTokenInputType!) {\n refreshToken(input: $input) {\n data {\n refreshToken\n token\n }\n message\n }\n }\n`;\n\nexport const RESET_PASSWORD_MUTATION = gql`\n mutation resetPassword($input: ResetPasswordInputType!) {\n resetPassword(input: $input) {\n data\n message\n }\n }\n`;\n\nexport const REQUEST_PASSWORD_RESET_MUTATION = gql`\n mutation requestPasswordReset($input: RequestPasswordResetInputType!) {\n requestPasswordReset(input: $input) {\n data\n message\n }\n }\n`;\n\nexport const VALIDATE_VERIFICATION_TOKEN_MUTATION = gql`\n mutation validateVerificationToken(\n $input: ValidateVerificationTokenInputType!\n ) {\n validateVerificationToken(input: $input) {\n data\n message\n }\n }\n`;\n","import { PureQueryOptions, useMutation } from \"@apollo/client\";\n\nimport { ChatType, MutationResponse, ReportChatUser } from \"src/types\";\n\nimport {\n ADD_PARTICIPANT_TO_CHAT_MUTATION,\n DELETE_CHAT_MUTATION,\n REMOVE_PARTICIPANT_FROM_CHAT_MUTATION,\n SEND_CHAT_MESSAGE_MUTATION,\n TOGGLE_CHAT_MESSAGE_LIKE_MUTATION,\n MARK_CHAT_MESSAGES_SEEN_MUTATION,\n REPORT_CHAT_USER_MUTATION,\n CREATE_PRIVATE_CHAT_MUTATION,\n} from \"../../mutations/chat\";\nimport { CHAT, GET_CHATS_BY_REGION, USER_CHATS } from \"../../queries/chat\";\n\nexport const useCreatePrivateChat = () => {\n const [createPrivateChat, { loading, error }] = useMutation<{\n createPrivateChat: MutationResponse<ChatType>;\n }>(CREATE_PRIVATE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: USER_CHATS }],\n });\n\n return { createPrivateChat, error, loading };\n};\n\nexport const useSendChatMessage = () => {\n const [sendChatMessage, { loading, error }] = useMutation<{\n sendChatMessage: MutationResponse<ChatType>;\n }>(SEND_CHAT_MESSAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.sendChatMessage?.data?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { error, loading, sendChatMessage };\n};\n\nexport const useDeleteChat = () => {\n const [deleteChat, { loading, error }] = useMutation<{\n deleteChat: MutationResponse<boolean>;\n }>(DELETE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: USER_CHATS }],\n });\n\n return { deleteChat, error, loading };\n};\n\nexport const useAddParticipantToChat = () => {\n const [addParticipantToChat, { loading, error }] = useMutation<{\n addParticipantToChat: MutationResponse<ChatType>;\n }>(ADD_PARTICIPANT_TO_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.addParticipantToChat?.data?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n });\n\n return { addParticipantToChat, error, loading };\n};\n\nexport const useRemoveParticipantFromChat = () => {\n const [removeParticipantFromChat, { loading, error }] = useMutation<{\n removeParticipantFromChat: MutationResponse<{\n success: boolean;\n region?: string | null;\n }>;\n }>(REMOVE_PARTICIPANT_FROM_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult): PureQueryOptions[] => {\n const region =\n mutationResult?.data?.removeParticipantFromChat?.data?.region;\n\n const queries: PureQueryOptions[] = [{ query: USER_CHATS }];\n\n if (region && region.trim() !== \"\") {\n queries.push({\n query: GET_CHATS_BY_REGION,\n variables: { region },\n });\n }\n\n return queries;\n },\n });\n\n return { error, loading, removeParticipantFromChat };\n};\n\nexport const useToggleChatMessageLike = () => {\n const [toggleChatMessageLike, { loading, error }] = useMutation<{\n toggleChatMessageLike: MutationResponse<ChatType>;\n }>(TOGGLE_CHAT_MESSAGE_LIKE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const chatId = mutationResult?.data?.toggleChatMessageLike?.data?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { error, loading, toggleChatMessageLike };\n};\n\nexport const useMarkChatMessagesSeen = () => {\n const [markChatMessagesSeen, { loading, error }] = useMutation<{\n markChatMessagesSeen: MutationResponse<ChatType>;\n }>(MARK_CHAT_MESSAGES_SEEN_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const chatId = mutationResult?.data?.markChatMessagesSeen?.data?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { error, loading, markChatMessagesSeen };\n};\n\nexport const useReportChatUser = () => {\n const [reportChatUser, { loading, error }] = useMutation<{\n reportChatUser: MutationResponse<ReportChatUser>;\n }>(REPORT_CHAT_USER_MUTATION);\n\n return { error, loading, reportChatUser };\n};\n","import { gql } from \"@apollo/client\";\n\nimport {\n CHAT_FIELDS_FRAGMENT,\n CHAT_REPORT_FIELDS_FRAGMENT,\n} from \"../queries/chat\";\n\nexport const CREATE_PRIVATE_CHAT_MUTATION = gql`\n mutation createPrivateChat($userId: ID!) {\n createPrivateChat(userId: $userId) {\n data {\n ...ChatFields\n }\n message\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const SEND_CHAT_MESSAGE_MUTATION = gql`\n mutation sendChatMessage($_id: ID!, $input: ChatMessageInputType!) {\n sendChatMessage(_id: $_id, input: $input) {\n data {\n ...ChatFields\n }\n message\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_CHAT_MUTATION = gql`\n mutation deleteChat($_id: ID!) {\n deleteChat(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const ADD_PARTICIPANT_TO_CHAT_MUTATION = gql`\n mutation addParticipantToChat($chatId: ID!, $userId: ID!) {\n addParticipantToChat(chatId: $chatId, userId: $userId) {\n data {\n ...ChatFields\n }\n message\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_PARTICIPANT_FROM_CHAT_MUTATION = gql`\n mutation removeParticipantFromChat($chatId: ID!, $userId: ID!) {\n removeParticipantFromChat(chatId: $chatId, userId: $userId) {\n data {\n success\n region\n }\n message\n }\n }\n`;\n\nexport const TOGGLE_CHAT_MESSAGE_LIKE_MUTATION = gql`\n mutation toggleChatMessageLike($chatId: ID!, $messageId: ID!) {\n toggleChatMessageLike(chatId: $chatId, messageId: $messageId) {\n data {\n ...ChatFields\n }\n message\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const MARK_CHAT_MESSAGES_SEEN_MUTATION = gql`\n mutation markChatMessagesSeen($chatId: ID!, $messageIds: [ID!]!) {\n markChatMessagesSeen(chatId: $chatId, messageIds: $messageIds) {\n data {\n ...ChatFields\n }\n message\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const REPORT_CHAT_USER_MUTATION = gql`\n mutation reportChatUser($input: ReportChatUserInputType!) {\n reportChatUser(input: $input) {\n data {\n ...ChatReportFields\n }\n message\n }\n }\n ${CHAT_REPORT_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const CHAT_MESSAGE_FIELDS_FRAGMENT = gql`\n fragment ChatMessageFields on ChatMessageType {\n _id\n content\n createdAt\n replyToMessageId\n replyPreview {\n senderId\n senderName\n contentPreview\n }\n likedBy {\n userId\n createdAt\n }\n senderId\n seenBy {\n userId\n seenAt\n }\n updatedAt\n }\n`;\n\nexport const CHAT_PARTICIPANT = gql`\n fragment ChatParticipantFields on ChatParticipantType {\n active\n userAvatar\n userEmail\n userId\n userName\n }\n`;\n\nexport const CHAT_FIELDS_FRAGMENT = gql`\n fragment ChatFields on ChatType {\n _id\n active\n chatDescription\n chatName\n chatType\n createdAt\n deletedAt\n messages {\n ...ChatMessageFields\n }\n participants {\n ...ChatParticipantFields\n }\n region\n updatedAt\n }\n ${CHAT_MESSAGE_FIELDS_FRAGMENT}\n ${CHAT_PARTICIPANT}\n`;\n\nexport const CHAT = gql`\n query chat($_id: ID!) {\n chat(_id: $_id) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const USER_CHATS = gql`\n query userChats {\n userChats {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const GET_CHATS_BY_REGION = gql`\n query getChatsByRegion($region: String!) {\n chatsByRegion(region: $region) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const CHAT_REPORT_FIELDS_FRAGMENT = gql`\n fragment ChatReportFields on ReportChatUserType {\n _id\n chatId\n createdAt\n reason {\n reasonType\n details\n }\n reportedUserId\n reporterUserId\n resolved\n updatedAt\n }\n`;\n\nexport const GET_REPORTED_CHAT_USERS = gql`\n query getReportedChatUsers {\n reportedChatUsers {\n ...ChatReportFields\n }\n }\n ${CHAT_REPORT_FIELDS_FRAGMENT}\n`;\n","import { useQuery, useSubscription } from \"@apollo/client\";\n\nimport { GET_CHAT_MESSAGE } from \"src/graphql/subscriptions/chat\";\n\nimport { ChatType, ReportChatUser } from \"../../../types/chat\";\nimport {\n CHAT,\n GET_CHATS_BY_REGION,\n GET_REPORTED_CHAT_USERS,\n USER_CHATS,\n} from \"../../queries/chat\";\n\nexport const useGetChat = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ chat: ChatType }>(CHAT, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n const chat = data?.chat;\n\n return { chat, error, loading, refetch };\n};\n\nexport const useGetUserChats = () => {\n const { loading, error, data, refetch } = useQuery<{ userChats: ChatType[] }>(\n USER_CHATS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const userChats = data?.userChats || [];\n\n return { error, loading, refetch, userChats };\n};\n\nexport const useGetChatSubscription = () => {\n const { data, loading, error } = useSubscription<{ getChat: ChatType }>(\n GET_CHAT_MESSAGE,\n );\n\n const chat = data?.getChat;\n\n return { chat, error, loading };\n};\n\nexport const useGetChatsByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n chatsByRegion: ChatType[];\n }>(GET_CHATS_BY_REGION, {\n fetchPolicy: \"network-only\",\n variables: { region },\n });\n\n const chatsByRegion = data?.chatsByRegion || [];\n\n return { chatsByRegion, error, loading, refetch };\n};\n\nexport const useGetReportedChatUsers = () => {\n const { loading, error, data, refetch } = useQuery<{\n reportedChatUsers: ReportChatUser[];\n }>(GET_REPORTED_CHAT_USERS, {\n fetchPolicy: \"network-only\",\n });\n\n const reportedChatUsers = data?.reportedChatUsers || [];\n\n return { error, loading, refetch, reportedChatUsers };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { CHAT_FIELDS_FRAGMENT } from \"../queries/chat\";\n\nexport const GET_CHAT_MESSAGE = gql`\n subscription {\n getChatMessage {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { MutationResponse } from \"src/types\";\n\nimport { CONTACT_US_MUTATION } from \"../mutations/contactUs\";\n\nexport const useContactUs = () => {\n const [contactUs, { loading, error }] = useMutation<{\n contactUs: MutationResponse<boolean>;\n }>(CONTACT_US_MUTATION);\n return { contactUs, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CONTACT_US_MUTATION = gql`\n mutation contactUs($input: ContactUsInputType!) {\n contactUs(input: $input) {\n data\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { EventType, MutationResponse } from \"src/types\";\n\nimport {\n CREATE_EVENT_INFO_MUTATION,\n CREATE_EVENT_MUTATION,\n DELETE_EVENT_MUTATION,\n UPDATE_EVENT_INFO_MUTATION,\n UPDATE_EVENT_MUTATION,\n} from \"../../mutations/event\";\nimport { GET_EVENT, GET_EVENT_INFO } from \"../../queries/event\";\nimport { GET_USER_EVENTS } from \"../../queries/user\";\n\nexport const useCreateEvent = () => {\n const [createEvent, { loading, error }] = useMutation<{\n createEvent: MutationResponse<EventType>;\n }>(CREATE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_EVENTS }],\n });\n\n return { createEvent, error, loading };\n};\n\nexport const useUpdateEvent = () => {\n const [updateEvent, { loading, error }] = useMutation<{\n updateEvent: MutationResponse<EventType>;\n }>(UPDATE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.updateEvent?.data?._id;\n\n if (!eventId) return [];\n\n return [\n {\n query: GET_USER_EVENTS,\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n ];\n },\n });\n\n return { error, loading, updateEvent };\n};\n\nexport const useDeleteEvent = () => {\n const [deleteEvent, { loading, error }] = useMutation<{\n deleteEvent: MutationResponse<boolean>;\n }>(DELETE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_EVENTS }],\n });\n return { deleteEvent, error, loading };\n};\n\nexport const useCreateEventInfo = () => {\n const [createEventInfo, { loading, error }] = useMutation<{\n createEventInfo: MutationResponse<{ eventId: string }>;\n }>(CREATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.createEventInfo?.data?.eventId;\n\n if (!eventId) return [];\n\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId }, // Pass the eventId for refetching\n },\n {\n query: GET_USER_EVENTS,\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n ];\n },\n });\n\n return { createEventInfo, error, loading };\n};\n\nexport const useUpdateEventInfo = () => {\n const [updateEventInfo, { loading, error }] = useMutation<{\n updateEventInfo: MutationResponse<{ eventId: string }>;\n }>(UPDATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.updateEventInfo?.data?.eventId;\n\n if (!eventId) return [];\n\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_USER_EVENTS,\n },\n ];\n },\n });\n\n return { error, loading, updateEventInfo };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { EVENT, EVENT_INFO } from \"../queries/event\";\n\nexport const CREATE_EVENT_MUTATION = gql`\n mutation createEvent($input: EventInputType!) {\n createEvent(input: $input) {\n data {\n ...EventFields\n }\n message\n }\n }\n ${EVENT}\n`;\n\nexport const UPDATE_EVENT_MUTATION = gql`\n mutation updateEvent($_id: ID!, $input: EventInputType!) {\n updateEvent(_id: $_id, input: $input) {\n data {\n ...EventFields\n }\n message\n }\n }\n ${EVENT}\n`;\n\nexport const DELETE_EVENT_MUTATION = gql`\n mutation deleteEvent($_id: ID!) {\n deleteEvent(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const CREATE_EVENT_INFO_MUTATION = gql`\n mutation createEventInfo($input: EventInfoInputType!) {\n createEventInfo(input: $input) {\n data {\n ...EventInfoFields\n }\n message\n }\n }\n ${EVENT_INFO}\n`;\n\nexport const UPDATE_EVENT_INFO_MUTATION = gql`\n mutation updateEventInfo($_id: ID!, $input: EventInfoInputType!) {\n updateEventInfo(_id: $_id, input: $input) {\n data {\n ...EventInfoFields\n }\n message\n }\n }\n ${EVENT_INFO}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { EVENT } from \"./event\";\nimport { EVENT_LIST_ITEM, USER_FIELDS_FRAGMENT } from \"./global\";\nimport { PARTNER } from \"./partner\";\nimport { VENDOR } from \"./vendor\";\n\nexport const GET_USERS = gql`\n query getUsers {\n users {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_USER = gql`\n query getUser($_id: ID!) {\n user(_id: $_id) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_USER_EVENTS = gql`\n query getUserEvents {\n userEvents {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_USER_VENDORS = gql`\n query getUserVendors {\n userVendors {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_USER_PARTNERS = gql`\n query getUserPartners {\n userPartners {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const GET_USER_ACTIVITIES = gql`\n query getUserActivities {\n userActivities {\n favourites {\n events {\n ...EventListItemFields\n }\n partners {\n ...PartnerFields\n }\n vendors {\n ...VendorFields\n }\n }\n going {\n events {\n ...EventListItemFields\n }\n }\n interested {\n events {\n ...EventListItemFields\n }\n }\n present {\n events {\n ...EventListItemFields\n }\n }\n }\n }\n ${EVENT_LIST_ITEM}\n ${VENDOR}\n ${PARTNER}\n`;\n\nexport const GET_USER_RESOURCES = gql`\n query getUserResources($userId: ID!) {\n userResources(userId: $userId) {\n resources {\n _id\n logo\n name\n resourceType\n }\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumEventDateStatus } from \"../../../enums\";\nimport {\n EventInfoType,\n EventListItemType,\n EventType,\n} from \"../../../types/event\";\nimport { UseGetResourcesByRegionOptions } from \"../../../types/global\";\nimport {\n GET_EVENT,\n GET_EVENT_BY_PLACE_ID,\n GET_EVENT_INFO,\n GET_EVENTS,\n GET_EVENTS_BY_REGION,\n GET_EVENTS_NEAR_ME,\n SEARCH_EVENTS,\n} from \"../../queries/event\";\n\nexport const useGetEvents = (dateStatus?: EnumEventDateStatus) => {\n const { loading, error, data, refetch } = useQuery<{\n events: EventListItemType[];\n }>(GET_EVENTS, {\n fetchPolicy: \"network-only\",\n variables: { dateStatus },\n });\n\n const events = data?.events || [];\n\n return { error, events, loading, refetch };\n};\n\nexport const useGetEvent = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{\n event: EventType | null;\n }>(GET_EVENT, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const event = data?.event || null;\n\n return { error, event, loading, refetch };\n};\n\nexport const useGetEventByPlaceId = (googlePlaceId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventByPlaceId: EventListItemType | null;\n }>(GET_EVENT_BY_PLACE_ID, {\n fetchPolicy: \"network-only\",\n skip: !googlePlaceId,\n variables: { googlePlaceId },\n });\n\n const eventByPlaceId = data?.eventByPlaceId || null;\n\n return { error, eventByPlaceId, loading, refetch };\n};\n\nexport const useGetEventsByRegion = (\n region: string,\n options?: UseGetResourcesByRegionOptions,\n dateStatus?: EnumEventDateStatus,\n) => {\n const variables = {\n dateStatus,\n options,\n region,\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n eventsByRegion: EventListItemType[];\n }>(GET_EVENTS_BY_REGION, {\n fetchPolicy: \"network-only\",\n skip: !region || region === \"\",\n variables,\n });\n\n const eventsByRegion = data?.eventsByRegion || [];\n\n return {\n error,\n eventsByRegion,\n fetchMore,\n loading,\n refetch,\n };\n};\n\nexport const useSearchEvents = (\n region: string,\n searchQuery?: string,\n tags?: string[],\n dateStatus?: EnumEventDateStatus,\n) => {\n const normalizedSearch = searchQuery?.trim() ?? \"\";\n const normalizedTags = (tags ?? []).filter(Boolean);\n\n const shouldRunQuery =\n normalizedSearch.length > 3 || normalizedTags.length > 0;\n\n const { loading, error, data, refetch } = useQuery<{\n eventsSearch: EventListItemType[];\n }>(SEARCH_EVENTS, {\n fetchPolicy: \"network-only\",\n skip: !shouldRunQuery,\n variables: {\n dateStatus,\n region,\n search: normalizedSearch,\n tags: normalizedTags,\n },\n });\n\n return {\n error,\n eventsSearch: data?.eventsSearch ?? [],\n loading,\n refetch,\n };\n};\n\nexport const useGetEventsNearMe = (\n location: {\n latitude: number;\n longitude: number;\n radius?: number;\n },\n dateStatus?: EnumEventDateStatus,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n eventsNearMe: EventListItemType[];\n }>(GET_EVENTS_NEAR_ME, {\n fetchPolicy: \"network-only\",\n skip: !location.latitude || !location.longitude,\n variables: {\n dateStatus,\n latitude: location.latitude,\n longitude: location.longitude,\n radius: location.radius || 10000, // Default to 10km if no radius is provided\n },\n });\n\n const eventsNearMe = data?.eventsNearMe || [];\n\n return { error, eventsNearMe, loading, refetch };\n};\n\nexport const useGetEventInfo = (eventId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventInfo: EventInfoType;\n }>(GET_EVENT_INFO, {\n fetchPolicy: \"network-only\",\n skip: !eventId || eventId === \"\",\n variables: { eventId },\n });\n\n const eventInfo = data?.eventInfo;\n\n return { error, eventInfo, loading, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_BULK_NOTIFICATIONS,\n DELETE_ALL_NOTIFICATIONS,\n DELETE_NOTIFICATION,\n MARK_ALL_NOTIFICATIONS_READ,\n MARK_NOTIFICATION_READ,\n} from \"src/graphql/mutations/notification\";\nimport {\n GET_NOTIFICATION_COUNT,\n GET_USER_NOTIFICATIONS,\n} from \"src/graphql/queries/notification\";\nimport { MutationResponse, NotificationType } from \"src/types\";\n\nexport const useCreateBulkNotifications = () => {\n const [createBulkNotifications, { loading, error }] = useMutation<{\n createBulkNotifications: MutationResponse<boolean>;\n }>(CREATE_BULK_NOTIFICATIONS);\n return { createBulkNotifications, error, loading };\n};\n\nexport const useMarkNotificationRead = () => {\n const [markNotificationRead, { loading, error }] = useMutation<{\n markNotificationRead: MutationResponse<NotificationType>;\n }>(MARK_NOTIFICATION_READ, {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n });\n return { error, loading, markNotificationRead };\n};\n\nexport const useMarkAllNotificationsRead = () => {\n const [markAllNotificationsRead, { loading, error }] = useMutation<{\n markAllNotificationsRead: MutationResponse<boolean>;\n }>(MARK_ALL_NOTIFICATIONS_READ, {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n });\n return { error, loading, markAllNotificationsRead };\n};\n\nexport const useDeleteNotification = () => {\n const [deleteNotification, { loading, error }] = useMutation<{\n deleteNotification: MutationResponse<boolean>;\n }>(DELETE_NOTIFICATION, {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n });\n return { deleteNotification, error, loading };\n};\n\nexport const useDeleteAllNotifications = () => {\n const [deleteAllNotifications, { loading, error }] = useMutation<{\n deleteAllNotifications: MutationResponse<boolean>;\n }>(DELETE_ALL_NOTIFICATIONS, {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n });\n return { deleteAllNotifications, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { NOTIFICATION_FRAGMENT } from \"../queries/notification\";\n\nexport const CREATE_BULK_NOTIFICATIONS = gql`\n mutation createBulkNotifications($input: CreateBulkNotificationInput!) {\n createBulkNotifications(input: $input) {\n data\n message\n }\n }\n`;\n\nexport const MARK_NOTIFICATION_READ = gql`\n mutation markNotificationRead($_id: ID!) {\n markNotificationRead(_id: $_id) {\n data {\n ...NotificationFields\n }\n message\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const MARK_ALL_NOTIFICATIONS_READ = gql`\n mutation markAllNotificationsRead {\n markAllNotificationsRead {\n data\n message\n }\n }\n`;\n\nexport const DELETE_NOTIFICATION = gql`\n mutation deleteNotification($_id: ID!) {\n deleteNotification(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const DELETE_ALL_NOTIFICATIONS = gql`\n mutation deleteAllNotifications {\n deleteAllNotifications {\n data\n message\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const NOTIFICATION_FRAGMENT = gql`\n fragment NotificationFields on Notification {\n _id\n userId\n title\n message\n type\n isRead\n data {\n resourceId\n resourceName\n resourceType\n }\n createdAt\n updatedAt\n }\n`;\n\nexport const GET_USER_NOTIFICATIONS = gql`\n query getUserNotifications($limit: Int, $offset: Int) {\n userNotifications(limit: $limit, offset: $offset) {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const GET_NOTIFICATION_COUNT = gql`\n query getNotificationCount {\n notificationCount {\n total\n unread\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { NotificationCount, NotificationType } from \"../../../types\";\nimport {\n GET_NOTIFICATION_COUNT,\n GET_USER_NOTIFICATIONS,\n} from \"../../queries/notification\";\n\nexport const useGetUserNotifications = (limit?: number, offset?: number) => {\n const { data, loading, error, refetch } = useQuery<{\n userNotifications: NotificationType[];\n }>(GET_USER_NOTIFICATIONS, {\n fetchPolicy: \"no-cache\",\n variables: { limit, offset },\n });\n\n return {\n error,\n loading,\n notifications: data?.userNotifications || [],\n refetch,\n };\n};\n\nexport const useGetNotificationCount = () => {\n const { data, loading, error, refetch } = useQuery<{\n notificationCount: NotificationCount;\n }>(GET_NOTIFICATION_COUNT, {\n fetchPolicy: \"no-cache\",\n });\n\n return {\n error,\n loading,\n notificationCount: data?.notificationCount || { total: 0, unread: 0 },\n refetch,\n };\n};\n","import { useSubscription } from \"@apollo/client\";\n\nimport { NotificationCount, NotificationType } from \"../../../types\";\nimport {\n GET_NOTIFICATION_COUNT_SUBSCRIPTION,\n GET_NOTIFICATIONS_SUBSCRIPTION,\n} from \"../../subscriptions/notification\";\n\nexport const useGetUserNotificationsSubscription = () => {\n const { data, loading, error } = useSubscription<{\n getUserNotifications: NotificationType[];\n }>(GET_NOTIFICATIONS_SUBSCRIPTION, {\n fetchPolicy: \"no-cache\",\n shouldResubscribe: true,\n });\n\n return {\n error,\n loading,\n notifications: data?.getUserNotifications,\n };\n};\n\nexport const useGetNotificationCountSubscription = () => {\n const { data, loading, error } = useSubscription<{\n getNotificationCount: NotificationCount;\n }>(GET_NOTIFICATION_COUNT_SUBSCRIPTION, {\n fetchPolicy: \"no-cache\",\n shouldResubscribe: true,\n });\n\n return {\n error,\n loading,\n notificationCount: data?.getNotificationCount,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { NOTIFICATION_FRAGMENT } from \"../queries/notification\";\n\nexport const GET_NOTIFICATIONS_SUBSCRIPTION = gql`\n subscription {\n getUserNotifications {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const GET_NOTIFICATION_COUNT_SUBSCRIPTION = gql`\n subscription {\n getNotificationCount {\n total\n unread\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { MutationResponse, PosterUsageType } from \"src/types\";\n\nimport { CREATE_POSTER_MUTATION } from \"../mutations/poster\";\nimport { GET_USER_EVENTS, GET_USER_VENDORS } from \"../queries/user\";\n\nexport const useCreatePoster = () => {\n const [createPoster, { loading, error }] = useMutation<{\n createPoster: MutationResponse<{ posterUsage: PosterUsageType }>;\n }>(CREATE_POSTER_MUTATION, {\n refetchQueries: [{ query: GET_USER_EVENTS }, { query: GET_USER_VENDORS }],\n });\n return { createPoster, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { POSTER_USAGE_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const CREATE_POSTER_MUTATION = gql`\n mutation createPoster($input: PosterInputType!) {\n createPoster(input: $input) {\n data {\n posterUsage {\n ...PosterUsageFields\n }\n }\n message\n }\n }\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { MutationResponse } from \"src/types\";\n\nimport { CREATE_PUSH_TOKEN_MUTATION } from \"../mutations/pushToken\";\n\nexport const useCreatePushToken = () => {\n const [createPushToken, { loading, error }] = useMutation<{\n createPushToken: MutationResponse<{ success: boolean }>;\n }>(CREATE_PUSH_TOKEN_MUTATION);\n return { createPushToken, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_PUSH_TOKEN_MUTATION = gql`\n mutation createPushToken($input: PushTokenInput!) {\n createPushToken(input: $input) {\n data {\n success\n }\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport { MutationResponse, RelationType } from \"src/types\";\n\nimport {\n CREATE_RELATION_MUTATION,\n DELETE_RELATION_MUTATION,\n UPDATE_RELATION_MUTATION,\n} from \"../../mutations/relation\";\nimport { USER_CHATS } from \"../../queries/chat\";\nimport { GET_EVENT, GET_EVENT_INFO } from \"../../queries/event\";\nimport {\n GET_EVENT_RELATIONS,\n GET_RELATION_BY_EVENT_AND_VENDOR,\n GET_RESOURCE_CONNECTIONS,\n GET_VENDOR_RELATIONS,\n} from \"../../queries/relation\";\nimport { GET_VENDOR } from \"../../queries/vendor\";\n\nexport const useCreateRelation = () => {\n const [createRelation, { loading, error }] = useMutation<{\n createRelation: MutationResponse<RelationType>;\n }>(CREATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const createRelation = mutationResult?.data?.createRelation?.data;\n const eventId = createRelation?.eventId;\n const vendorId = createRelation?.vendorId;\n\n const resourceType = createRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n\n return [\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n });\n\n return { createRelation, error, loading };\n};\n\nexport const useUpdateRelation = () => {\n const [updateRelation, { loading, error }] = useMutation<{\n updateRelation: MutationResponse<RelationType>;\n }>(UPDATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const updateRelation = mutationResult?.data?.updateRelation?.data;\n const eventId = updateRelation?.eventId;\n const vendorId = updateRelation?.vendorId;\n\n const resourceType = updateRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n\n return [\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n ];\n },\n });\n\n return { error, loading, updateRelation };\n};\n\nexport const useDeleteRelation = () => {\n const [deleteRelation, { loading, error }] = useMutation<{\n deleteRelation: MutationResponse<RelationType>;\n }>(DELETE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const deleteRelation = mutationResult?.data?.deleteRelation?.data;\n const eventId = deleteRelation?.eventId;\n const vendorId = deleteRelation?.vendorId;\n const resourceType = deleteRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n });\n return { deleteRelation, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { RELATION_FIELDS_FRAGMENT } from \"../queries/relation\";\n\nexport const CREATE_RELATION_MUTATION = gql`\n mutation createRelation($input: RelationInputType!) {\n createRelation(input: $input) {\n data {\n ...RelationFields\n }\n message\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_RELATION_MUTATION = gql`\n mutation updateRelation($_id: ID!, $input: RelationInputType!) {\n updateRelation(_id: $_id, input: $input) {\n data {\n ...RelationFields\n }\n message\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_RELATION_MUTATION = gql`\n mutation deleteRelation($_id: ID!) {\n deleteRelation(_id: $_id) {\n data {\n ...RelationFields\n }\n message\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"../../../enums\";\nimport { ResourceConnectionsType } from \"../../../types\";\nimport { RelationType } from \"../../../types/relation\";\nimport {\n GET_EVENT_RELATIONS,\n GET_RELATION_BY_EVENT_AND_VENDOR,\n GET_RESOURCE_CONNECTIONS,\n GET_RELATION,\n GET_VENDOR_RELATIONS,\n} from \"../../queries/relation\";\n\nexport const useGetRelation = (_id?: string) => {\n const { loading, error, data, refetch } = useQuery<{\n relation: RelationType;\n }>(GET_RELATION, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: _id ? { _id } : undefined,\n });\n\n const relation = data?.relation;\n\n return { error, loading, refetch, relation };\n};\n\nexport const useGetRelationByEventAndVendor = (\n eventId: string,\n vendorId: string,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n relationByEventAndVendor: RelationType;\n }>(GET_RELATION_BY_EVENT_AND_VENDOR, {\n fetchPolicy: \"network-only\",\n skip: !eventId || eventId === \"\" || !vendorId || vendorId === \"\",\n variables: { eventId, vendorId },\n });\n\n const relationByEventAndVendor = data?.relationByEventAndVendor;\n\n return { error, loading, refetch, relationByEventAndVendor };\n};\n\nexport const useGetEventRelations = (eventId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventRelations: RelationType[];\n }>(GET_EVENT_RELATIONS, {\n fetchPolicy: \"network-only\",\n skip: !eventId || eventId === \"\",\n variables: { eventId },\n });\n\n const eventRelations = data?.eventRelations || [];\n\n return { error, eventRelations, loading, refetch };\n};\n\nexport const useGetVendorRelations = (vendorId?: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorRelations: RelationType[];\n }>(GET_VENDOR_RELATIONS, {\n fetchPolicy: \"network-only\",\n skip: !vendorId || vendorId === \"\",\n variables: { vendorId },\n });\n\n const vendorRelations = data?.vendorRelations || [];\n\n return { error, loading, refetch, vendorRelations };\n};\n\nexport const useGetResourceConnections = (\n resourceId: string,\n resourceType: EnumResourceType,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n resourceConnections: ResourceConnectionsType;\n }>(GET_RESOURCE_CONNECTIONS, {\n fetchPolicy: \"network-only\",\n skip: !resourceId || resourceId === \"\" || !resourceType,\n variables: { resourceId, resourceType },\n });\n\n const resourceConnections = data?.resourceConnections;\n\n return { error, loading, refetch, resourceConnections };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { GET_USER_VENDORS } from \"src/graphql/queries/user\";\nimport {\n MutationResponse,\n UnregisteredVendorType,\n VendorType,\n} from \"src/types\";\n\nimport {\n CREATE_UNREGISTERED_VENDOR_MUTATION,\n CREATE_VENDOR_INFO_MUTATION,\n CREATE_VENDOR_MUTATION,\n DELETE_UNREGISTERED_VENDOR_MUTATION,\n DELETE_VENDOR_MUTATION,\n UNLINK_UNREGISTERED_VENDOR_BY_INVITER_ID_MUTATION,\n UPDATE_UNREGISTERED_VENDOR_MUTATION,\n UPDATE_VENDOR_INFO_MUTATION,\n UPDATE_VENDOR_MUTATION,\n} from \"../../mutations/vendor\";\nimport { GET_VENDOR, GET_VENDOR_INFO } from \"../../queries/vendor\";\n\nexport const useCreateVendor = () => {\n const [createVendor, { loading, error }] = useMutation<{\n createVendor: MutationResponse<VendorType>;\n }>(CREATE_VENDOR_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n });\n\n return { createVendor, error, loading };\n};\n\nexport const useUpdateVendor = () => {\n const [updateVendor, { loading, error }] = useMutation<{\n updateVendor: MutationResponse<VendorType>;\n }>(UPDATE_VENDOR_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n });\n return { error, loading, updateVendor };\n};\n\nexport const useDeleteVendor = () => {\n const [deleteVendor, { loading, error }] = useMutation<{\n deleteVendor: MutationResponse<boolean>;\n }>(DELETE_VENDOR_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n });\n return { deleteVendor, error, loading };\n};\n\nexport const useCreateVendorInfo = () => {\n const [createVendorInfo, { loading, error }] = useMutation<{\n createVendorInfo: MutationResponse<{ vendorId: string }>;\n }>(CREATE_VENDOR_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract vendorId from the mutation response\n const vendorId = mutationResult?.data?.createVendorInfo?.data?.vendorId;\n\n if (!vendorId) return [];\n\n return [\n {\n query: GET_VENDOR_INFO,\n variables: { vendorId }, // Pass the vendorId for refetching\n },\n {\n query: GET_USER_VENDORS,\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n ];\n },\n });\n\n return { createVendorInfo, error, loading };\n};\n\nexport const useUpdateVendorInfo = () => {\n const [updateVendorInfo, { loading, error }] = useMutation<{\n updateVendorInfo: MutationResponse<{ vendorId: string }>;\n }>(UPDATE_VENDOR_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract vendorId from the mutation response\n const vendorId = mutationResult?.data?.updateVendorInfo?.data?.vendorId;\n\n if (!vendorId) return [];\n\n return [\n {\n query: GET_VENDOR_INFO,\n variables: { vendorId }, // Pass the vendorId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updateVendorInfo };\n};\n\nexport const useCreateUnregisteredVendor = () => {\n const [createUnregisteredVendor, { loading, error }] = useMutation<{\n createUnregisteredVendor: MutationResponse<UnregisteredVendorType>;\n }>(CREATE_UNREGISTERED_VENDOR_MUTATION);\n\n return { createUnregisteredVendor, error, loading };\n};\n\nexport const useUpdateUnregisteredVendor = () => {\n const [updateUnregisteredVendor, { loading, error }] = useMutation<{\n updateUnregisteredVendor: MutationResponse<UnregisteredVendorType>;\n }>(UPDATE_UNREGISTERED_VENDOR_MUTATION);\n return { error, loading, updateUnregisteredVendor };\n};\n\nexport const useDeleteUnregisteredVendor = () => {\n const [deleteUnregisteredVendor, { loading, error }] = useMutation<{\n deleteUnregisteredVendor: MutationResponse<boolean>;\n }>(DELETE_UNREGISTERED_VENDOR_MUTATION);\n return { deleteUnregisteredVendor, error, loading };\n};\n\nexport const useUnlinkUnregisteredVendorByInviterId = () => {\n const [unlinkUnregisteredVendorByInviterId, { loading, error }] =\n useMutation<{\n unlinkUnregisteredVendorByInviterId: MutationResponse<boolean>;\n }>(UNLINK_UNREGISTERED_VENDOR_BY_INVITER_ID_MUTATION);\n return { error, loading, unlinkUnregisteredVendorByInviterId };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { UNREGISTERED_VENDOR, VENDOR, VENDOR_INFO } from \"../queries/vendor\";\n\nexport const CREATE_VENDOR_MUTATION = gql`\n mutation createVendor($input: VendorInputType!) {\n createVendor(input: $input) {\n data {\n ...VendorFields\n }\n message\n }\n }\n ${VENDOR}\n`;\n\nexport const UPDATE_VENDOR_MUTATION = gql`\n mutation updateVendor($_id: ID!, $input: VendorInputType!) {\n updateVendor(_id: $_id, input: $input) {\n data {\n ...VendorFields\n }\n message\n }\n }\n ${VENDOR}\n`;\n\nexport const DELETE_VENDOR_MUTATION = gql`\n mutation deleteVendor($_id: ID!) {\n deleteVendor(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const CREATE_VENDOR_INFO_MUTATION = gql`\n mutation createVendorInfo($input: VendorInfoInputType!) {\n createVendorInfo(input: $input) {\n data {\n ...VendorInfoFields\n }\n message\n }\n }\n ${VENDOR_INFO}\n`;\n\nexport const UPDATE_VENDOR_INFO_MUTATION = gql`\n mutation updateVendorInfo($_id: ID!, $input: VendorInfoInputType!) {\n updateVendorInfo(_id: $_id, input: $input) {\n data {\n ...VendorInfoFields\n }\n message\n }\n }\n ${VENDOR_INFO}\n`;\n\nexport const CREATE_UNREGISTERED_VENDOR_MUTATION = gql`\n mutation createUnregisteredVendor($input: UnregisteredVendorInputType!) {\n createUnregisteredVendor(input: $input) {\n data {\n ...UnregisteredVendorFields\n }\n message\n }\n }\n ${UNREGISTERED_VENDOR}\n`;\n\nexport const UPDATE_UNREGISTERED_VENDOR_MUTATION = gql`\n mutation updateUnregisteredVendor(\n $_id: ID!\n $input: UnregisteredVendorInputType!\n ) {\n updateUnregisteredVendor(_id: $_id, input: $input) {\n data {\n ...UnregisteredVendorFields\n }\n message\n }\n }\n ${UNREGISTERED_VENDOR}\n`;\n\nexport const DELETE_UNREGISTERED_VENDOR_MUTATION = gql`\n mutation deleteUnregisteredVendor($_id: ID!) {\n deleteUnregisteredVendor(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const UNLINK_UNREGISTERED_VENDOR_BY_INVITER_ID_MUTATION = gql`\n mutation unlinkUnregisteredVendorByInviterId($_id: ID!, $inviterId: ID!) {\n unlinkUnregisteredVendorByInviterId(_id: $_id, inviterId: $inviterId) {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { UseGetResourcesByRegionOptions } from \"../../../types/global\";\nimport {\n UnregisteredVendorType,\n VendorInfoType,\n VendorType,\n} from \"../../../types/vendor\";\nimport {\n GET_UNREGISTERED_VENDOR,\n GET_UNREGISTERED_VENDORS,\n GET_UNREGISTERED_VENDORS_BY_INVITER_ID,\n GET_VENDOR,\n GET_VENDOR_INFO,\n GET_VENDORS,\n GET_VENDORS_BY_REGION,\n SEARCH_VENDORS,\n} from \"../../queries/vendor\";\n\nexport const useGetVendors = () => {\n const { loading, error, data, refetch } = useQuery<{ vendors: VendorType[] }>(\n GET_VENDORS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const vendors = data?.vendors || [];\n\n return {\n error,\n loading,\n refetch,\n vendors,\n };\n};\n\nexport const useGetVendor = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ vendor: VendorType }>(\n GET_VENDOR,\n {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n },\n );\n\n const vendor = data?.vendor;\n\n return { error, loading, refetch, vendor };\n};\n\nexport const useGetVendorsByRegion = (\n region: string,\n options?: UseGetResourcesByRegionOptions,\n) => {\n const variables = {\n options,\n region,\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n vendorsByRegion: VendorType[];\n }>(GET_VENDORS_BY_REGION, {\n fetchPolicy: \"network-only\",\n variables,\n });\n\n const vendorsByRegion = data?.vendorsByRegion || [];\n\n return {\n error,\n fetchMore,\n loading,\n refetch,\n vendorsByRegion,\n };\n};\n\nexport const useSearchVendors = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorSearch: VendorType[];\n }>(SEARCH_VENDORS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const vendorSearch = data?.vendorSearch || [];\n\n return { error, loading, refetch, vendorSearch };\n};\n\nexport const useGetVendorInfo = (vendorId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorInfo: VendorInfoType;\n }>(GET_VENDOR_INFO, {\n fetchPolicy: \"network-only\",\n skip: !vendorId || vendorId === \"\",\n variables: { vendorId },\n });\n\n const vendorInfo = data?.vendorInfo;\n\n return {\n error,\n loading,\n refetch,\n vendorInfo,\n };\n};\n\nexport const useGetUnregisteredVendors = () => {\n const { loading, error, data, refetch } = useQuery<{\n unregisteredVendors: UnregisteredVendorType[];\n }>(GET_UNREGISTERED_VENDORS, {\n fetchPolicy: \"network-only\",\n });\n\n const unregisteredVendors = data?.unregisteredVendors || [];\n\n return {\n error,\n loading,\n refetch,\n unregisteredVendors,\n };\n};\n\nexport const useGetUnregisteredVendorsByInviterId = (inviterId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n unregisteredVendorsByInviterId: UnregisteredVendorType[];\n }>(GET_UNREGISTERED_VENDORS_BY_INVITER_ID, {\n fetchPolicy: \"network-only\",\n skip: !inviterId || inviterId === \"\",\n variables: { inviterId },\n });\n\n const unregisteredVendorsByInviterId =\n data?.unregisteredVendorsByInviterId || [];\n\n return { error, loading, refetch, unregisteredVendorsByInviterId };\n};\n\nexport const useGetUnregisteredVendor = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{\n unregisteredVendor: UnregisteredVendorType;\n }>(GET_UNREGISTERED_VENDOR, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n const unregisteredVendor = data?.unregisteredVendor;\n\n return { error, loading, refetch, unregisteredVendor };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n GET_USER,\n GET_USER_ACTIVITIES,\n GET_USER_EVENTS,\n GET_USER_VENDORS,\n} from \"src/graphql/queries/user\";\nimport {\n UserLicenceType,\n SafeUserType,\n RedeemRewardMutationResponse,\n MutationResponse,\n} from \"src/types\";\n\nimport {\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n ADD_USER_GOING_RESOURCE_MUTATION,\n ADD_USER_INTEREST_RESOURCE_MUTATION,\n ADD_USER_PRESENT_RESOURCE_MUTATION,\n CREATE_USER_MUTATION,\n DELETE_USER_MUTATION,\n REDEEM_REWARD_MUTATION,\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n REMOVE_USER_GOING_RESOURCE_MUTATION,\n REMOVE_USER_INTEREST_RESOURCE_MUTATION,\n REMOVE_USER_PRESENT_RESOURCE_MUTATION,\n SELECT_STANDARD_PACKAGE_MUTATION,\n UPDATE_USER_MUTATION,\n} from \"../../mutations/user\";\n\nexport const useCreateUser = () => {\n const [createUser, { loading, error }] = useMutation<{\n createUser: MutationResponse<SafeUserType>;\n }>(CREATE_USER_MUTATION);\n\n return { createUser, error, loading };\n};\n\nexport const useUpdateUser = () => {\n const [updateUser, { loading, error }] = useMutation<{\n updateUser: MutationResponse<SafeUserType>;\n }>(UPDATE_USER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.updateUser?.data?._id;\n\n if (!userId) return [];\n\n return [{ query: GET_USER, variables: { _id: userId } }];\n },\n });\n\n return { error, loading, updateUser };\n};\n\nexport const useDeleteUser = () => {\n const [deleteUser, { loading, error }] = useMutation<{\n deleteUser: MutationResponse<boolean>;\n }>(DELETE_USER_MUTATION);\n\n return { deleteUser, error, loading };\n};\n\nexport const useRedeemReward = () => {\n const [redeemReward, { loading, error }] = useMutation<{\n redeemReward: RedeemRewardMutationResponse;\n }>(REDEEM_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const userId = mutationResult?.data?.redeemReward?.data?.userId;\n\n if (!userId) return [];\n\n return [\n {\n query: GET_USER,\n variables: { _id: userId }, // Pass the userId for refetching\n },\n ];\n },\n });\n\n return { error, loading, redeemReward };\n};\n\nexport const useAddUserFavouriteResource = () => {\n const [addUserFavouriteResource, { loading, error }] = useMutation<{\n addUserFavouriteResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_FAVOURITE_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { addUserFavouriteResource, error, loading };\n};\n\nexport const useRemoveUserFavouriteResource = () => {\n const [removeUserFavouriteResource, { loading, error }] = useMutation<{\n removeUserFavouriteResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_FAVOURITE_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { error, loading, removeUserFavouriteResource };\n};\n\nexport const useAddUserInterestResource = () => {\n const [addUserInterestResource, { loading, error }] = useMutation<{\n addUserInterestResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_INTEREST_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { addUserInterestResource, error, loading };\n};\n\nexport const useRemoveUserInterestResource = () => {\n const [removeUserInterestResource, { loading, error }] = useMutation<{\n removeUserInterestResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_INTEREST_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { error, loading, removeUserInterestResource };\n};\n\nexport const useAddUserGoingResource = () => {\n const [addUserGoingResource, { loading, error }] = useMutation<{\n addUserGoingResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_GOING_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { addUserGoingResource, error, loading };\n};\n\nexport const useRemoveUserGoingResource = () => {\n const [removeUserGoingResource, { loading, error }] = useMutation<{\n removeUserGoingResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_GOING_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { error, loading, removeUserGoingResource };\n};\n\nexport const useAddUserPresentResource = () => {\n const [addUserPresentResource, { loading, error }] = useMutation<{\n addUserPresentResource: MutationResponse<SafeUserType>;\n }>(ADD_USER_PRESENT_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { addUserPresentResource, error, loading };\n};\n\nexport const useRemoveUserPresentResource = () => {\n const [removeUserPresentResource, { loading, error }] = useMutation<{\n removeUserPresentResource: MutationResponse<SafeUserType>;\n }>(REMOVE_USER_PRESENT_RESOURCE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n });\n\n return { error, loading, removeUserPresentResource };\n};\n\nexport const useSelectStandardPackage = () => {\n const [selectStandardPackage, { loading, error }] = useMutation<{\n selectStandardPackage: MutationResponse<{\n userId: string;\n licences: UserLicenceType[];\n }>;\n }>(SELECT_STANDARD_PACKAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.selectStandardPackage?.data?.userId;\n\n if (!userId) return [];\n\n return [\n { query: GET_USER, variables: { _id: userId } },\n { query: GET_USER_EVENTS },\n { query: GET_USER_VENDORS },\n ];\n },\n });\n\n return { error, loading, selectStandardPackage };\n};\n","import { gql } from \"@apollo/client\";\n\nimport {\n LICENCE_FIELDS_FRAGMENT,\n USER_FIELDS_FRAGMENT,\n} from \"../queries/global\";\n\nexport const CREATE_USER_MUTATION = gql`\n mutation createUser($input: UserInputType!) {\n createUser(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_USER_MUTATION = gql`\n mutation updateUser($_id: ID!, $input: UserInputType!) {\n updateUser(_id: $_id, input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_USER_MUTATION = gql`\n mutation deleteUser($email: String!) {\n deleteUser(email: $email) {\n data\n message\n }\n }\n`;\n\nexport const REDEEM_REWARD_MUTATION = gql`\n mutation redeemReward($input: RedeemRewardInputType!) {\n redeemReward(input: $input) {\n data {\n userId\n }\n message\n }\n }\n`;\n\nexport const ADD_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation addUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n addUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation removeUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n removeUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_INTEREST_RESOURCE_MUTATION = gql`\n mutation addUserInterestResource($input: UserActivityInputType!) {\n addUserInterestResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_INTEREST_RESOURCE_MUTATION = gql`\n mutation removeUserInterestResource($input: UserActivityInputType!) {\n removeUserInterestResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_GOING_RESOURCE_MUTATION = gql`\n mutation addUserGoingResource($input: UserActivityInputType!) {\n addUserGoingResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_GOING_RESOURCE_MUTATION = gql`\n mutation removeUserGoingResource($input: UserActivityInputType!) {\n removeUserGoingResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_PRESENT_RESOURCE_MUTATION = gql`\n mutation addUserPresentResource($input: UserActivityInputType!) {\n addUserPresentResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_PRESENT_RESOURCE_MUTATION = gql`\n mutation removeUserPresentResource($input: UserActivityInputType!) {\n removeUserPresentResource(input: $input) {\n data {\n ...UserFields\n }\n message\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const SELECT_STANDARD_PACKAGE_MUTATION = gql`\n mutation selectStandardPackage($selectedLicence: LicencesEnumType!) {\n selectStandardPackage(selectedLicence: $selectedLicence) {\n data {\n licences {\n ...LicenceFields\n }\n userId\n }\n message\n }\n }\n ${LICENCE_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n EventListItemType,\n EventType,\n PartnerType,\n VendorType,\n ResourceByUser,\n SafeUserType,\n} from \"src/types\";\n\nimport {\n GET_USER,\n GET_USER_ACTIVITIES,\n GET_USER_EVENTS,\n GET_USER_PARTNERS,\n GET_USER_RESOURCES,\n GET_USER_VENDORS,\n GET_USERS,\n} from \"../../queries/user\";\n\nexport const useGetUsers = () => {\n const { loading, error, data, refetch } = useQuery<{ users: SafeUserType[] }>(\n GET_USERS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const users = data?.users || [];\n\n return { error, loading, refetch, users };\n};\n\nexport const useGetUser = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ user: SafeUserType }>(\n GET_USER,\n {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n },\n );\n\n const user = data?.user;\n\n return { error, loading, refetch, user };\n};\n\nexport const useGetUserEvents = () => {\n const { loading, error, data, refetch } = useQuery<{\n userEvents: EventType[];\n }>(GET_USER_EVENTS, {\n fetchPolicy: \"network-only\",\n });\n\n const userEvents = data?.userEvents || [];\n\n return { error, loading, refetch, userEvents };\n};\n\nexport const useGetUserVendors = () => {\n const { loading, error, data, refetch } = useQuery<{\n userVendors: VendorType[];\n }>(GET_USER_VENDORS, {\n fetchPolicy: \"network-only\",\n });\n\n const userVendors = data?.userVendors || [];\n\n return { error, loading, refetch, userVendors };\n};\n\nexport const useGetUserPartners = () => {\n const { loading, error, data, refetch } = useQuery<{\n userPartners: PartnerType[];\n }>(GET_USER_PARTNERS, {\n fetchPolicy: \"network-only\",\n });\n\n const userPartners = data?.userPartners || [];\n\n return { error, loading, refetch, userPartners };\n};\n\nexport const useGetUserActivities = () => {\n const { loading, error, data, refetch } = useQuery<{\n userActivities: {\n favourites: {\n events: EventListItemType[];\n partners: PartnerType[];\n vendors: VendorType[];\n };\n going: {\n events: EventListItemType[];\n };\n interested: {\n events: EventListItemType[];\n };\n present: {\n events: EventListItemType[];\n };\n };\n }>(GET_USER_ACTIVITIES, {\n fetchPolicy: \"network-only\",\n });\n\n const userActivities = {\n favourites: {\n events: data?.userActivities.favourites.events || [],\n partners: data?.userActivities.favourites.partners || [],\n vendors: data?.userActivities.favourites.vendors || [],\n },\n going: {\n events: data?.userActivities.going.events || [],\n },\n interested: {\n events: data?.userActivities.interested.events || [],\n },\n present: {\n events: data?.userActivities.present.events || [],\n },\n };\n\n return { error, loading, refetch, userActivities };\n};\n\nexport const useGetUserResources = (userId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n userResources: {\n resources: ResourceByUser[];\n };\n }>(GET_USER_RESOURCES, {\n fetchPolicy: \"network-only\",\n skip: !userId || userId === \"\",\n variables: { userId },\n });\n\n const userResources = data?.userResources.resources || [];\n\n return { error, loading, refetch, userResources };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_AD_MUTATION,\n DELETE_AD_MUTATION,\n UPDATE_AD_MUTATION,\n} from \"src/graphql/mutations/ad\";\nimport { GET_ADS } from \"src/graphql/queries/ad\";\nimport { AdType, MutationResponse } from \"src/types\";\n\nexport const useCreateAd = () => {\n const [createAd, { loading, error }] = useMutation<{\n createAd: MutationResponse<AdType>;\n }>(CREATE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n createAd,\n error,\n loading,\n };\n};\n\nexport const useUpdateAd = () => {\n const [updateAd, { loading, error }] = useMutation<{\n updateAd: MutationResponse<AdType>;\n }>(UPDATE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n error,\n loading,\n updateAd,\n };\n};\n\nexport const useDeleteAd = () => {\n const [deleteAd, { loading, error }] = useMutation<{\n deleteAd: MutationResponse<boolean>;\n }>(DELETE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n deleteAd,\n error,\n loading,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { AD_FIELDS_FRAGMENT } from \"../queries/ad\";\n\nexport const CREATE_AD_MUTATION = gql`\n mutation createAd($input: AdInputType!) {\n createAd(input: $input) {\n data {\n ...AdFields\n }\n message\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_AD_MUTATION = gql`\n mutation updateAd($_id: ID!, $input: AdInputType!) {\n updateAd(_id: $_id, input: $input) {\n data {\n ...AdFields\n }\n message\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_AD_MUTATION = gql`\n mutation deleteAd($_id: ID!) {\n deleteAd(_id: $_id) {\n data\n message\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const AD_FIELDS_FRAGMENT = gql`\n fragment AdFields on AdType {\n _id\n active\n clicks\n createdAt\n end\n impressions\n resource {\n adDescription\n adImage\n adStyle\n adTitle\n adType\n resourceId\n resourceSlug\n resourceName\n resourceRegion\n resourceType\n }\n showOn\n start\n status\n targetRegion\n updatedAt\n }\n`;\n\nexport const GET_ADS = gql`\n query getAds {\n ads {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const GET_AD = gql`\n query getAd($_id: ID!) {\n ad(_id: $_id) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const GET_ADS_BY_REGION = gql`\n query getAdsByRegion($region: String!, $status: AdStatusTypeEnum) {\n adsByRegion(region: $region, status: $status) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_ADS, GET_AD, GET_ADS_BY_REGION } from \"src/graphql/queries/ad\";\nimport { AdType, EnumAdStatus } from \"src/types\";\n\nexport const useGetAds = () => {\n const { data, loading, error, refetch } = useQuery<{ ads: AdType[] }>(\n GET_ADS,\n {\n fetchPolicy: \"no-cache\",\n },\n );\n\n return {\n ads: data?.ads || [],\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAd = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{ ad: AdType }>(GET_AD, {\n fetchPolicy: \"no-cache\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n return {\n ad: data?.ad,\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAdsByRegion = (region: string, status?: EnumAdStatus) => {\n const { data, loading, error, refetch } = useQuery<{\n adsByRegion: AdType[];\n }>(GET_ADS_BY_REGION, {\n fetchPolicy: \"no-cache\",\n skip: !region || region === \"\",\n variables: { region, status },\n });\n\n return {\n adsByRegion: data?.adsByRegion || [],\n error,\n loading,\n refetch,\n };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_RESOURCE_ACTIVITY_MUTATION } from \"src/graphql/mutations/resourceActivities\";\nimport { MutationResponse } from \"src/types\";\n\nexport const useCreateResourceActivity = () => {\n const [createResourceActivity, { loading, error }] = useMutation<{\n createResourceActivity: MutationResponse<boolean>;\n }>(CREATE_RESOURCE_ACTIVITY_MUTATION);\n\n return { createResourceActivity, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_RESOURCE_ACTIVITY_MUTATION = gql`\n mutation createResourceActivity($input: ResourceActivityInputType!) {\n createResourceActivity(input: $input) {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport { GET_RESOURCE_ACTIVITY } from \"src/graphql/queries/resourceActivities\";\nimport { ResourceActivityType } from \"src/types\";\n\nexport const useGetResourceActivity = (\n resourceId: string,\n resourceType: EnumResourceType,\n) => {\n const { data, loading, error, refetch } = useQuery<{\n resourceActivity: ResourceActivityType;\n }>(GET_RESOURCE_ACTIVITY, {\n fetchPolicy: \"network-only\",\n variables: { resourceId, resourceType },\n });\n\n return {\n error,\n loading,\n refetch,\n resourceActivity: data?.resourceActivity || null,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { LOCATION_GEO_FIELDS_FRAGMENT } from \"./global\";\n\nconst RESOURCE_ACTIVITY_FIELDS_FRAGMENT = gql`\n fragment ResourceActivityFields on ResourceActivityType {\n resourceId\n resourceType\n activity {\n activityType\n location {\n ...LocationGeoFields\n }\n dateStatus\n startDate\n startTime\n timestamp\n userAgent\n userId\n }\n }\n ${LOCATION_GEO_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RESOURCE_ACTIVITY = gql`\n query getResourceActivity(\n $resourceType: ResourceTypeEnum!\n $resourceId: ID!\n ) {\n resourceActivity(resourceType: $resourceType, resourceId: $resourceId) {\n ...ResourceActivityFields\n }\n }\n ${RESOURCE_ACTIVITY_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n GET_USER,\n GET_USER_EVENTS,\n GET_USER_VENDORS,\n} from \"src/graphql/queries/user\";\nimport { MutationResponse, UserLicenceType } from \"src/types\";\n\nimport {\n CANCEL_SUBSCRIPTION_MUTATION,\n CREATE_CHECKOUT_SESSION_MUTATION,\n CREATE_CUSTOMER_PORTAL,\n SELECT_PACKAGE_MUTATION,\n UPDATE_SUBSCRIPTION_PLAN_MUTATION,\n} from \"../../mutations/stripe\";\n\nexport const useCreateCheckoutSession = () => {\n const [createCheckoutSession, { loading, error }] = useMutation<{\n createCheckoutSession: MutationResponse<{\n sessionId: string;\n checkoutUrl: string;\n }>;\n }>(CREATE_CHECKOUT_SESSION_MUTATION);\n\n return { createCheckoutSession, error, loading };\n};\n\nexport const useCancelSubscription = () => {\n const [cancelSubscription, { loading, error }] = useMutation<{\n cancelSubscription: MutationResponse<string>;\n }>(CANCEL_SUBSCRIPTION_MUTATION);\n\n return { cancelSubscription, error, loading };\n};\n\nexport const useUpdateSubscriptionPlan = () => {\n const [updateSubscriptionPlan, { loading, error }] = useMutation<{\n updateSubscriptionPlan: MutationResponse<{\n subscriptionId: string;\n status: string;\n priceId: string;\n currentPlan: string;\n }>;\n }>(UPDATE_SUBSCRIPTION_PLAN_MUTATION);\n\n return { error, loading, updateSubscriptionPlan };\n};\n\nexport const useCreateCustomerPortal = () => {\n const [createCustomerPortal, { loading, error }] = useMutation<{\n createCustomerPortal: MutationResponse<{ portalUrl: string }>;\n }>(CREATE_CUSTOMER_PORTAL);\n\n return { createCustomerPortal, error, loading };\n};\n\nexport const useSelectPackage = () => {\n const [selectPackage, { loading, error }] = useMutation<{\n selectPackage: MutationResponse<{\n checkoutUrl?: string;\n userId: string;\n licences: UserLicenceType[];\n }>;\n }>(SELECT_PACKAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.selectPackage?.data?.userId;\n\n if (!userId) return [];\n\n return [\n { query: GET_USER, variables: { _id: userId } },\n { query: GET_USER_EVENTS },\n { query: GET_USER_VENDORS },\n ];\n },\n });\n\n return { error, loading, selectPackage };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { LICENCE_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const CREATE_CHECKOUT_SESSION_MUTATION = gql`\n mutation createCheckoutSession(\n $planId: LicencesEnumType!\n $billingPeriod: BillingPeriodEnumType\n ) {\n createCheckoutSession(planId: $planId, billingPeriod: $billingPeriod) {\n data {\n sessionId\n checkoutUrl\n }\n message\n }\n }\n`;\n\nexport const CANCEL_SUBSCRIPTION_MUTATION = gql`\n mutation cancelSubscription {\n cancelSubscription {\n data\n message\n }\n }\n`;\n\nexport const UPDATE_SUBSCRIPTION_PLAN_MUTATION = gql`\n mutation updateSubscriptionPlan(\n $newPlanId: LicencesEnumType!\n $billingPeriod: BillingPeriodEnumType\n ) {\n updateSubscriptionPlan(\n newPlanId: $newPlanId\n billingPeriod: $billingPeriod\n ) {\n data {\n subscriptionId\n status\n priceId\n currentPlan\n }\n message\n }\n }\n`;\n\nexport const CREATE_CUSTOMER_PORTAL = gql`\n mutation createCustomerPortal($returnUrl: String) {\n createCustomerPortal(returnUrl: $returnUrl) {\n data {\n portalUrl\n }\n message\n }\n }\n`;\n\nexport const SELECT_PACKAGE_MUTATION = gql`\n mutation selectPackage(\n $billingPeriod: BillingPeriodEnumType\n $selectedLicence: LicencesEnumType!\n $useStripe: Boolean\n ) {\n selectPackage(\n billingPeriod: $billingPeriod\n selectedLicence: $selectedLicence\n useStripe: $useStripe\n ) {\n data {\n checkoutUrl\n licences {\n ...LicenceFields\n }\n userId\n }\n message\n }\n }\n ${LICENCE_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n SubscriptionStatusData,\n SubscriptionPlansResponse,\n} from \"../../../types/user\";\nimport {\n GET_SUBSCRIPTION_STATUS,\n GET_SUBSCRIPTION_PLANS,\n} from \"../../queries/stripe\";\n\nexport const useGetSubscriptionStatus = () => {\n const { data, loading, error, refetch } = useQuery<{\n getSubscriptionStatus: SubscriptionStatusData;\n }>(GET_SUBSCRIPTION_STATUS);\n\n return {\n data: data?.getSubscriptionStatus,\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetSubscriptionPlans = () => {\n const { data, loading, error, refetch } = useQuery<{\n getSubscriptionPlans: SubscriptionPlansResponse;\n }>(GET_SUBSCRIPTION_PLANS);\n\n return {\n data: data?.getSubscriptionPlans,\n error,\n loading,\n refetch,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const GET_SUBSCRIPTION_STATUS = gql`\n query getSubscriptionStatus {\n getSubscriptionStatus {\n subscriptionId\n status\n priceId\n currentPlan\n }\n }\n`;\n\nexport const GET_SUBSCRIPTION_PLANS = gql`\n query getSubscriptionPlans {\n getSubscriptionPlans {\n plans {\n name\n description\n licenceType\n billingPeriod\n stripeProductId\n stripePriceId\n isEligibleForDiscount\n pricing {\n basePrice\n discountedPrice\n hasDiscount\n discountPercent\n discountAmount\n currency\n formattedBasePrice\n formattedDiscountedPrice\n }\n }\n isNewUser\n isTester\n appliedDiscountType\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_PARTNER_MUTATION,\n DELETE_PARTNER_MUTATION,\n UPDATE_PARTNER_MUTATION,\n} from \"src/graphql/mutations/partner\";\nimport { GET_USER_PARTNERS } from \"src/graphql/queries/user\";\nimport { MutationResponse, PartnerType } from \"src/types\";\n\nexport const useCreatePartner = () => {\n const [createPartner, { loading, error }] = useMutation<{\n createPartner: MutationResponse<PartnerType>;\n }>(CREATE_PARTNER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n });\n\n return { createPartner, error, loading };\n};\n\nexport const useUpdatePartner = () => {\n const [updatePartner, { loading, error }] = useMutation<{\n updatePartner: MutationResponse<PartnerType>;\n }>(UPDATE_PARTNER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n });\n\n return { error, loading, updatePartner };\n};\n\nexport const useDeletePartner = () => {\n const [deletePartner, { loading, error }] = useMutation<{\n deletePartner: MutationResponse<boolean>;\n }>(DELETE_PARTNER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n });\n\n return { deletePartner, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { PARTNER } from \"../queries/partner\";\n\nexport const CREATE_PARTNER_MUTATION = gql`\n mutation createPartner($input: PartnerInputType!) {\n createPartner(input: $input) {\n data {\n ...PartnerFields\n }\n message\n }\n }\n ${PARTNER}\n`;\n\nexport const UPDATE_PARTNER_MUTATION = gql`\n mutation updatePartner($_id: ID!, $input: PartnerInputType!) {\n updatePartner(_id: $_id, input: $input) {\n data {\n ...PartnerFields\n }\n message\n }\n }\n ${PARTNER}\n`;\n\nexport const DELETE_PARTNER_MUTATION = gql`\n mutation deletePartner($_id: ID!) {\n deletePartner(_id: $_id) {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { PartnerType } from \"src/types/partner\";\n\nimport { UseGetResourcesByRegionOptions } from \"../../../types/global\";\nimport {\n GET_PARTNER,\n GET_PARTNERS,\n GET_PARTNERS_BY_REGION,\n SEARCH_PARTNERS,\n} from \"../../queries/partner\";\n\nexport const useGetPartners = () => {\n const { loading, error, data, refetch } = useQuery<{\n partners: PartnerType[];\n }>(GET_PARTNERS, {\n fetchPolicy: \"network-only\",\n });\n const partners = data?.partners || [];\n\n return {\n error,\n loading,\n partners,\n refetch,\n };\n};\n\nexport const useGetPartner = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ partner: PartnerType }>(\n GET_PARTNER,\n {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n },\n );\n\n const partner = data?.partner;\n\n return { error, loading, partner, refetch };\n};\n\nexport const useGetPartnersByRegion = (\n region: string,\n options?: UseGetResourcesByRegionOptions,\n) => {\n const variables = {\n options,\n region,\n };\n const { loading, error, data, refetch, fetchMore } = useQuery<{\n partnersByRegion: PartnerType[];\n }>(GET_PARTNERS_BY_REGION, {\n fetchPolicy: \"network-only\",\n variables,\n });\n\n const partnersByRegion = data?.partnersByRegion || [];\n\n return {\n error,\n fetchMore,\n loading,\n partnersByRegion,\n refetch,\n };\n};\n\nexport const useSearchPartners = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n partnersSearch: PartnerType[];\n }>(SEARCH_PARTNERS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const partnersSearch = data?.partnersSearch || [];\n\n return { error, loading, partnersSearch, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_POST_MUTATION,\n DELETE_POST_MUTATION,\n UPDATE_POST_MUTATION,\n} from \"src/graphql/mutations/post\";\nimport { GET_POSTS } from \"src/graphql/queries/post\";\nimport { MutationResponse, PostType } from \"src/types\";\n\nexport const useCreatePost = () => {\n const [createPost, { loading, error }] = useMutation<{\n createPost: MutationResponse<PostType>;\n }>(CREATE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { createPost, error, loading };\n};\n\nexport const useUpdatePost = () => {\n const [updatePost, { loading, error }] = useMutation<{\n updatePost: MutationResponse<PostType>;\n }>(UPDATE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { error, loading, updatePost };\n};\n\nexport const useDeletePost = () => {\n const [deletePost, { loading, error }] = useMutation<{\n deletePost: MutationResponse<boolean>;\n }>(DELETE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { deletePost, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { POST_FIELDS_FRAGMENT } from \"../queries/post\";\n\nexport const CREATE_POST_MUTATION = gql`\n mutation createPost($input: PostInputType!) {\n createPost(input: $input) {\n data {\n ...PostFields\n }\n message\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_POST_MUTATION = gql`\n mutation updatePost($_id: ID!, $input: PostInputType!) {\n updatePost(_id: $_id, input: $input) {\n data {\n ...PostFields\n }\n message\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_POST_MUTATION = gql`\n mutation deletePost($_id: ID!) {\n deletePost(_id: $_id) {\n data\n message\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n GET_POST,\n GET_POSTS,\n GET_POSTS_BY_TYPE,\n} from \"src/graphql/queries/post\";\nimport { EnumPostType, PostType } from \"src/types\";\n\nexport const useGetPosts = () => {\n const { data, loading, error, refetch } = useQuery<{\n posts: PostType[];\n }>(GET_POSTS, {\n fetchPolicy: \"network-only\",\n });\n\n return { error, loading, posts: data?.posts || [], refetch };\n};\n\nexport const useGetPost = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{\n post: PostType;\n }>(GET_POST, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n return { error, loading, post: data?.post, refetch };\n};\n\nexport const useGetPostsByType = (postType: EnumPostType) => {\n const { data, loading, error, refetch } = useQuery<{\n postsByType: PostType[];\n }>(GET_POSTS_BY_TYPE, {\n fetchPolicy: \"network-only\",\n skip: !postType,\n variables: { postType },\n });\n\n return { error, loading, postsByType: data?.postsByType || [], refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CRAWL_GOOGLE_MARKETS_MUTATION,\n UPDATE_APP_SETTINGS_MUTATION,\n UPDATE_GOOGLE_IMPORTED_MARKET_MUTATION,\n} from \"src/graphql/mutations/appSettings\";\nimport { GET_APP_SETTINGS } from \"src/graphql/queries/appSettings\";\nimport { MutationResponse } from \"src/types\";\n\nexport const useUpdateAppSettings = () => {\n const [updateAppSettings, { loading, error }] = useMutation<{\n updateAppSettings: MutationResponse<boolean>;\n }>(UPDATE_APP_SETTINGS_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_APP_SETTINGS }],\n });\n\n return { error, loading, updateAppSettings };\n};\n\nexport const useCrawlGoogleMarkets = () => {\n const [crawlGoogleMarkets, { loading, error }] = useMutation<{\n crawlGoogleMarkets: MutationResponse<boolean>;\n }>(CRAWL_GOOGLE_MARKETS_MUTATION);\n\n return { crawlGoogleMarkets, error, loading };\n};\n\nexport const useUpdateGoogleImportedMarkets = () => {\n const [updateGoogleImportedMarkets, { loading, error }] = useMutation<{\n updateGoogleImportedMarkets: MutationResponse<boolean>;\n }>(UPDATE_GOOGLE_IMPORTED_MARKET_MUTATION);\n\n return { error, loading, updateGoogleImportedMarkets };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const UPDATE_APP_SETTINGS_MUTATION = gql`\n mutation updateAppSettings($input: AppSettingsInputType!) {\n updateAppSettings(input: $input) {\n data\n message\n }\n }\n`;\n\nexport const CRAWL_GOOGLE_MARKETS_MUTATION = gql`\n mutation crawlGoogleMarkets {\n crawlGoogleMarkets {\n data\n message\n }\n }\n`;\n\nexport const UPDATE_GOOGLE_IMPORTED_MARKET_MUTATION = gql`\n mutation updateGoogleImportedMarkets {\n updateGoogleImportedMarkets {\n data\n message\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const APP_SETTINGS_FIELDS_FRAGMENT = gql`\n fragment AppSettingsFields on AppSettingsType {\n _id\n appVersion\n createdAt\n isOfflineMode\n key\n minimumRedeemableAffiliatePoints\n updatedAt\n }\n`;\n\nexport const GET_APP_SETTINGS = gql`\n query getAppSettings {\n appSettings {\n ...AppSettingsFields\n }\n }\n ${APP_SETTINGS_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_APP_SETTINGS } from \"src/graphql/queries/appSettings\";\nimport { AppSettingsType } from \"src/types/appSettings\";\n\nexport const useGetAppSettings = () => {\n const { loading, error, data, refetch } = useQuery<{\n appSettings: AppSettingsType;\n }>(GET_APP_SETTINGS, {\n fetchPolicy: \"network-only\",\n });\n\n const appSettings = data?.appSettings || null;\n\n return { appSettings, error, loading, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n LEAVE_GAME_MUTATION,\n START_GAME_MUTATION,\n UPDATE_DAILY_CLUE_MUTATION,\n UPDATE_PUZZLE_GAME_MUTATION,\n} from \"src/graphql/mutations/game\";\nimport { GET_GAME, GET_GAMES } from \"src/graphql/queries/game/game\";\nimport { GET_USER } from \"src/graphql/queries/user\";\nimport { GameDocType, MutationResponse } from \"src/types\";\n\nexport const useStartGame = () => {\n const [startGame, { loading, error }] = useMutation<{\n startGame: MutationResponse<GameDocType>;\n }>(START_GAME_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract gameId from the mutation response\n const gameId = mutationResult?.data?.startGame?.data?._id;\n const userId = mutationResult?.data?.startGame?.data?.owner?.userId;\n\n if (!gameId || !userId) return [];\n\n return [\n {\n query: GET_GAME,\n variables: { _id: gameId }, // Pass the gameId for refetching\n },\n {\n query: GET_USER,\n variables: { _id: userId }, // Pass the userId for refetching\n },\n ];\n },\n });\n\n return { error, loading, startGame };\n};\n\nexport const useLeaveGame = () => {\n const [leaveGame, { loading, error }] = useMutation<{\n leaveGame: MutationResponse<boolean>;\n }>(LEAVE_GAME_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [\n {\n query: GET_GAMES,\n },\n ],\n });\n\n return { error, leaveGame, loading };\n};\n\nexport const useUpdateDailyClueGame = () => {\n const [updateDailyClueGame, { loading, error }] = useMutation<{\n updateDailyClueGame: MutationResponse<GameDocType>;\n }>(UPDATE_DAILY_CLUE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract gameId from the mutation response\n const gameId = mutationResult?.data?.updateDailyClueGame?.data?._id;\n\n if (!gameId) return [];\n\n return [\n {\n query: GET_GAME,\n variables: { _id: gameId }, // Pass the gameId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updateDailyClueGame };\n};\n\nexport const useUpdatePuzzleGame = () => {\n const [updatePuzzleGame, { loading, error }] = useMutation<{\n updatePuzzleGame: MutationResponse<GameDocType>;\n }>(UPDATE_PUZZLE_GAME_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract gameId from the mutation response\n const gameId = mutationResult?.data?.updatePuzzleGame?.data?._id;\n\n if (!gameId) return [];\n\n return [\n {\n query: GET_GAME,\n variables: { _id: gameId }, // Pass the gameId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updatePuzzleGame };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { GAME_DOC_FIELDS_FRAGMENT } from \"../queries/game/game\";\n\nexport const START_GAME_MUTATION = gql`\n mutation startGame($input: BaseGameInputType!) {\n startGame(input: $input) {\n data {\n ...GameDocFields\n }\n message\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n\nexport const LEAVE_GAME_MUTATION = gql`\n mutation leaveGame(\n $_id: ID!\n $gameType: GameTypeEnumType!\n $gameTypeId: String!\n ) {\n leaveGame(_id: $_id, gameType: $gameType, gameTypeId: $gameTypeId) {\n data\n message\n }\n }\n`;\n\nexport const UPDATE_DAILY_CLUE_MUTATION = gql`\n mutation updateDailyClueGame(\n $_id: ID!\n $foundLetter: String!\n $gameType: GameTypeEnumType!\n $gameTypeId: String!\n ) {\n updateDailyClueGame(\n _id: $_id\n foundLetter: $foundLetter\n gameType: $gameType\n gameTypeId: $gameTypeId\n ) {\n data {\n ...GameDocFields\n }\n message\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_PUZZLE_GAME_MUTATION = gql`\n mutation updatePuzzleGame(\n $_id: ID!\n $answeredQuestions: [PuzzleAnsweredQuestionInputType!]!\n $gameType: GameTypeEnumType!\n $gameTypeId: String!\n ) {\n updatePuzzleGame(\n _id: $_id\n answeredQuestions: $answeredQuestions\n gameType: $gameType\n gameTypeId: $gameTypeId\n ) {\n data {\n ...GameDocFields\n }\n message\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { OWNER_FIELDS_FRAGMENT } from \"../global\";\n\nimport {\n DAILY_CLUE_GAME_DATA_FIELDS_FRAGMENT,\n GAME_DATE_FIELDS_FRAGMENT,\n} from \"./dailyClue\";\nimport { PUZZLE_GAME_DATA_FIELDS_FRAGMENT } from \"./puzzleGame\";\n\nconst GAME_HISTORY_FIELDS_FRAGMENT = gql`\n fragment GameHistoryFields on GameHistoryType {\n createdAt\n gameDate {\n ...GameDateFields\n }\n gameStatus\n gameTitle\n gameType\n gameTypeId\n overallGamePoints\n pointsEarned\n }\n ${GAME_DATE_FIELDS_FRAGMENT}\n`;\n\nconst GAME_DATA_FIELDS_FRAGMENT = gql`\n fragment GameDataFields on GameDataType {\n dailyClue {\n ...DailyClueGameDataFields\n }\n miniQuiz {\n ...PuzzleGameDataFields\n }\n oddOneOut {\n ...PuzzleGameDataFields\n }\n }\n ${DAILY_CLUE_GAME_DATA_FIELDS_FRAGMENT}\n ${PUZZLE_GAME_DATA_FIELDS_FRAGMENT}\n`;\n\nconst GAME_FIELDS_FRAGMENT = gql`\n fragment GameFields on GameType {\n _id\n active\n createdAt\n gameData {\n ...GameDataFields\n }\n gameHistory {\n ...GameHistoryFields\n }\n gameType\n gameTypeId\n gameTitle\n updatedAt\n }\n ${GAME_DATA_FIELDS_FRAGMENT}\n ${GAME_HISTORY_FIELDS_FRAGMENT}\n`;\n\nexport const GAME_DOC_FIELDS_FRAGMENT = gql`\n fragment GameDocFields on GameDocType {\n _id\n active\n createdAt\n deletedAt\n games {\n ...GameFields\n }\n owner {\n ...OwnerFields\n }\n points\n updatedAt\n }\n ${OWNER_FIELDS_FRAGMENT}\n ${GAME_FIELDS_FRAGMENT}\n`;\n\nexport const GET_GAMES = gql`\n query getGames {\n games {\n ...GameDocFields\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n\nexport const GET_GAME = gql`\n query getGame($_id: ID) {\n game(_id: $_id) {\n ...GameDocFields\n }\n }\n ${GAME_DOC_FIELDS_FRAGMENT}\n`;\n\nexport const GET_GAME_LEADERBOARD = gql`\n query getGameLeaderboard {\n gameLeaderboard {\n gameHistory {\n ...GameHistoryFields\n }\n overallPoints\n owner {\n ...OwnerFields\n }\n }\n }\n ${OWNER_FIELDS_FRAGMENT}\n ${GAME_HISTORY_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n GET_GAME,\n GET_GAME_LEADERBOARD,\n GET_GAMES,\n} from \"src/graphql/queries/game/game\";\nimport { GameLeaderboard, GameDocType } from \"src/types/game\";\n\nexport const useGetGames = () => {\n const { loading, error, data, refetch } = useQuery<{\n games: GameDocType[];\n }>(GET_GAMES, {\n fetchPolicy: \"network-only\",\n });\n\n const games = data?.games || [];\n\n return { error, games, loading, refetch };\n};\n\nexport const useGetGame = (_id?: string | null) => {\n const { loading, error, data, refetch } = useQuery<{\n game: GameDocType | null;\n }>(GET_GAME, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: _id ? { _id } : undefined,\n });\n\n const game = data?.game || null;\n\n return { error, game, loading, refetch };\n};\n\nexport const useGetGameLeaderboard = () => {\n const { loading, error, data, refetch } = useQuery<{\n gameLeaderboard: GameLeaderboard[];\n }>(GET_GAME_LEADERBOARD, {\n fetchPolicy: \"network-only\",\n });\n\n const gameLeaderboard = data?.gameLeaderboard || [];\n\n return { error, gameLeaderboard, loading, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { MutationResponse, SchoolType } from \"src/types\";\n\nimport {\n CREATE_SCHOOL_MUTATION,\n DELETE_SCHOOL_MUTATION,\n REQUEST_MARKETING_MATERIAL_MUTATION,\n UPDATE_SCHOOL_MUTATION,\n} from \"../../mutations/school\";\nimport { GET_SCHOOLS } from \"../../queries/school\";\n\nexport const useCreateSchool = () => {\n const [createSchool, { loading, error }] = useMutation<{\n createSchool: MutationResponse<SchoolType>;\n }>(CREATE_SCHOOL_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_SCHOOLS }],\n });\n\n return { createSchool, error, loading };\n};\n\nexport const useUpdateSchool = () => {\n const [updateSchool, { loading, error }] = useMutation<{\n updateSchool: MutationResponse<SchoolType>;\n }>(UPDATE_SCHOOL_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_SCHOOLS }],\n });\n\n return { error, loading, updateSchool };\n};\n\nexport const useDeleteSchool = () => {\n const [deleteSchool, { loading, error }] = useMutation<{\n deleteSchool: MutationResponse<boolean>;\n }>(DELETE_SCHOOL_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_SCHOOLS }],\n });\n return { deleteSchool, error, loading };\n};\n\nexport const useRequestMarketingMaterial = () => {\n const [requestMarketingMaterial, { loading, error }] = useMutation<{\n requestMarketingMaterial: MutationResponse<boolean>;\n }>(REQUEST_MARKETING_MATERIAL_MUTATION);\n\n return { error, loading, requestMarketingMaterial };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { SCHOOL } from \"../queries/school\";\n\nexport const CREATE_SCHOOL_MUTATION = gql`\n mutation createSchool($input: SchoolInputType!) {\n createSchool(input: $input) {\n data {\n ...SchoolFields\n }\n message\n }\n }\n ${SCHOOL}\n`;\n\nexport const UPDATE_SCHOOL_MUTATION = gql`\n mutation updateSchool($_id: ID!, $input: SchoolInputType!) {\n updateSchool(_id: $_id, input: $input) {\n data {\n ...SchoolFields\n }\n message\n }\n }\n ${SCHOOL}\n`;\n\nexport const DELETE_SCHOOL_MUTATION = gql`\n mutation deleteSchool($_id: ID!) {\n deleteSchool(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const REQUEST_MARKETING_MATERIAL_MUTATION = gql`\n mutation requestMarketingMaterial(\n $input: MarketingMaterialRequestInputType!\n ) {\n requestMarketingMaterial(input: $input) {\n data\n message\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n CONTACT_DETAILS_FIELDS_FRAGMENT,\n LOCATION_FIELDS_FRAGMENT,\n OWNER_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n} from \"./global\";\n\nconst SCHOOL_REGISTERED_USERS_FIELDS_FRAGMENT = gql`\n fragment SchoolRegisteredUsersFields on SchoolRegisteredUserType {\n _id\n active\n avatar {\n ...ResourceImageFields\n }\n email\n firstName\n lastName\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n\nconst SCHOOL_CAMPAIGN_FIELDS_FRAGMENT = gql`\n fragment SchoolCampaignFields on SchoolCampaignType {\n endDate\n name\n startDate\n }\n`;\n\nexport const SCHOOL = gql`\n fragment SchoolFields on SchoolType {\n _id\n active\n approvedAt\n campaigns {\n ...SchoolCampaignFields\n }\n contactDetails {\n ...ContactDetailsFields\n }\n location {\n ...LocationFields\n }\n createdAt\n deletedAt\n logo {\n ...ResourceImageFields\n }\n name\n owner {\n ...OwnerFields\n }\n overallPoints\n ranking\n region\n studentCount\n schoolCode\n socialMedia {\n ...SocialMediaFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n }\n ${OWNER_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${CONTACT_DETAILS_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${SCHOOL_CAMPAIGN_FIELDS_FRAGMENT}\n`;\n\nexport const GET_SCHOOL = gql`\n query getSchool($_id: ID!) {\n school(_id: $_id) {\n school {\n ...SchoolFields\n }\n users {\n ...SchoolRegisteredUsersFields\n }\n }\n }\n ${SCHOOL}\n ${SCHOOL_REGISTERED_USERS_FIELDS_FRAGMENT}\n`;\n\nexport const GET_SCHOOLS = gql`\n query getSchools {\n schools {\n ...SchoolFields\n }\n }\n ${SCHOOL}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { SchoolReturnType, SchoolType } from \"../../../types/school\";\nimport { GET_SCHOOL, GET_SCHOOLS } from \"../../queries/school\";\n\nexport const useGetSchools = () => {\n const { data, loading, error, refetch } = useQuery<{ schools: SchoolType[] }>(\n GET_SCHOOLS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n return {\n error,\n loading,\n refetch,\n schools: data?.schools || [],\n };\n};\n\nexport const useGetSchool = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{\n school: SchoolReturnType;\n }>(GET_SCHOOL, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n return {\n error,\n loading,\n refetch,\n school: data?.school || null,\n };\n};\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_AFFILIATE, GET_AFFILIATES } from \"src/graphql/queries/affiliate\";\nimport { AffiliateType } from \"src/types/affiliate\";\n\nexport const useGetAffiliate = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{\n affiliate: AffiliateType;\n }>(GET_AFFILIATE, {\n fetchPolicy: \"network-only\",\n skip: !_id || _id === \"\",\n variables: { _id },\n });\n\n const affiliate = data?.affiliate;\n\n return {\n affiliate,\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAffiliates = () => {\n const { data, loading, error, refetch } = useQuery<{\n affiliates: AffiliateType[];\n }>(GET_AFFILIATES, {\n fetchPolicy: \"network-only\",\n });\n\n const affiliates = data?.affiliates || [];\n\n return {\n affiliates,\n error,\n loading,\n refetch,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n LOCATION_FIELDS_FRAGMENT,\n} from \"./global\";\n\nconst AFFILIATE_REWARD_FIELDS_FRAGMENT = gql`\n fragment AffiliateRewardFields on AffiliateRewardType {\n createdAt\n redeemedAt\n rewardDescription\n rewardType\n rewardValue\n }\n`;\n\nconst AFFILIATE_RESOURCE_FIELDS_FRAGMENT = gql`\n fragment AffiliateResourceFields on AffiliateResourceType {\n resourceActive\n resourceDeletedAt\n resourceId\n resourceName\n resourceOwner {\n ...OwnerFields\n }\n resourceType\n rewards {\n ...AffiliateRewardFields\n }\n }\n ${AFFILIATE_REWARD_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n`;\n\nconst AFFILIATE_BANK_ACCOUNT_DETAILS_FIELDS_FRAGMENT = gql`\n fragment AffiliateBankAccountDetailsFields on AffiliateBankAccountDetailsType {\n accountHolderName\n accountNumber\n }\n`;\n\nconst AFFILIATE_DETAILS_FIELDS_FRAGMENT = gql`\n fragment AffiliateDetailsFields on AffiliateDetailsType {\n bankAccountDetails {\n ...AffiliateBankAccountDetailsFields\n }\n contactDetails {\n mobilePhone\n }\n irdNumber\n participantType\n email\n firstName\n lastName\n location {\n ...LocationFields\n }\n socialMedia {\n ...SocialMediaFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n }\n ${AFFILIATE_BANK_ACCOUNT_DETAILS_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n`;\n\nexport const AFFILIATE_FIELDS_FRAGMENT = gql`\n fragment AffiliateFields on AffiliateType {\n _id\n active\n affiliateBonusRewards {\n ...AffiliateRewardFields\n }\n affiliateCode\n affiliateDetails {\n ...AffiliateDetailsFields\n }\n affiliateResources {\n ...AffiliateResourceFields\n }\n approvedAt\n createdAt\n deletedAt\n redeemHistory {\n paidAt\n redeemedAt\n rewardValue\n }\n overallPoints\n owner {\n ...OwnerFields\n }\n updatedAt\n }\n ${AFFILIATE_DETAILS_FIELDS_FRAGMENT}\n ${AFFILIATE_RESOURCE_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_AFFILIATE = gql`\n query getAffiliate($_id: ID!) {\n affiliate(_id: $_id) {\n ...AffiliateFields\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const GET_AFFILIATES = gql`\n query getAffiliates {\n affiliates {\n ...AffiliateFields\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n ASSIGN_AFFILIATE_BONUS_REWARD_MUTATION,\n ASSIGN_AFFILIATE_RESOURCE_REWARD_MUTATION,\n DELETE_AFFILIATE_MUTATION,\n REDEEM_AFFILIATE_REWARD_MUTATION,\n UPDATE_AFFILIATE_DETAILS_MUTATION,\n} from \"src/graphql/mutations/affiliate\";\nimport { GET_AFFILIATE, GET_AFFILIATES } from \"src/graphql/queries/affiliate\";\nimport { AffiliateType, MutationResponse } from \"src/types\";\n\nexport const useUpdateAffiliateDetails = () => {\n const [updateAffiliateDetails, { loading, error }] = useMutation<{\n updateAffiliateDetails: MutationResponse<AffiliateType>;\n }>(UPDATE_AFFILIATE_DETAILS_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.updateAffiliateDetails?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];\n },\n });\n return { error, loading, updateAffiliateDetails };\n};\n\nexport const useDeleteAffiliate = () => {\n const [deleteAffiliate, { loading, error }] = useMutation<{\n deleteAffiliate: MutationResponse<boolean>;\n }>(DELETE_AFFILIATE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_AFFILIATES }],\n });\n return { deleteAffiliate, error, loading };\n};\n\nexport const useRedeemAffiliateReward = () => {\n const [redeemAffiliateReward, { loading, error }] = useMutation<{\n redeemAffiliateReward: MutationResponse<AffiliateType>;\n }>(REDEEM_AFFILIATE_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.redeemAffiliateReward?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];\n },\n });\n return { error, loading, redeemAffiliateReward };\n};\n\nexport const useAssignAffiliateResourceReward = () => {\n const [assignAffiliateResourceReward, { loading, error }] = useMutation<{\n assignAffiliateResourceReward: MutationResponse<AffiliateType>;\n }>(ASSIGN_AFFILIATE_RESOURCE_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.assignAffiliateResourceReward?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];\n },\n });\n return { assignAffiliateResourceReward, error, loading };\n};\n\nexport const useAssignAffiliateBonusReward = () => {\n const [assignAffiliateBonusReward, { loading, error }] = useMutation<{\n assignAffiliateBonusReward: MutationResponse<AffiliateType>;\n }>(ASSIGN_AFFILIATE_BONUS_REWARD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const affiliateId =\n mutationResult?.data?.assignAffiliateBonusReward?.data?._id;\n if (!affiliateId) return [];\n return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];\n },\n });\n return { assignAffiliateBonusReward, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { AFFILIATE_FIELDS_FRAGMENT } from \"../queries/affiliate\";\n\nexport const UPDATE_AFFILIATE_DETAILS_MUTATION = gql`\n mutation updateAffiliateDetails(\n $input: AffiliateDetailsInputType!\n $affiliateId: ID!\n ) {\n updateAffiliateDetails(input: $input, affiliateId: $affiliateId) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_AFFILIATE_MUTATION = gql`\n mutation deleteAffiliate($_id: ID!) {\n deleteAffiliate(_id: $_id) {\n data\n message\n }\n }\n`;\n\nexport const REDEEM_AFFILIATE_REWARD_MUTATION = gql`\n mutation redeemAffiliateReward($affiliateId: ID!) {\n redeemAffiliateReward(affiliateId: $affiliateId) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const ASSIGN_AFFILIATE_RESOURCE_REWARD_MUTATION = gql`\n mutation assignAffiliateResourceReward(\n $affiliateId: ID!\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n $rewardType: AffiliateRewardEnumType!\n ) {\n assignAffiliateResourceReward(\n affiliateId: $affiliateId\n resourceId: $resourceId\n resourceType: $resourceType\n rewardType: $rewardType\n ) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n\nexport const ASSIGN_AFFILIATE_BONUS_REWARD_MUTATION = gql`\n mutation assignAffiliateBonusReward(\n $affiliateId: ID!\n $rewardType: AffiliateRewardEnumType!\n ) {\n assignAffiliateBonusReward(\n affiliateId: $affiliateId\n rewardType: $rewardType\n ) {\n data {\n ...AffiliateFields\n }\n message\n }\n }\n ${AFFILIATE_FIELDS_FRAGMENT}\n`;\n","const PKG = \"@timardex/cluemart-shared\" as const;\nexport const IMAGE_EXTENSION = \".webp\" as const;\n\n/**\n * Basenames under the shared images directory — use with `getSharedImagePath` from `@timardex/cluemart-shared/images/node` (Express / Node).\n * This object is the single source of poster keys; `posters` is derived from it. Add an image with `IMAGE_EXTENSION` under `src/images/posters/` when adding an entry.\n * `images/node` reads this at runtime for `getSharedImagePath` allow-listing.\n */\nexport const posterIds = [\n \"mini-market1\",\n \"mini-market2\",\n \"mini-market3\",\n \"mini-market4\",\n \"mini-market5\",\n \"poster1\",\n \"poster2\",\n \"poster3\",\n \"poster4\",\n] as const;\n\nexport const posterFiles = Object.fromEntries(\n posterIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof posterIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\n/**\n * Basenames for assets under `src/images/clui/` in source; they are copied flat into `dist/images/` (same as posters).\n * `images/node` reads this at runtime for `getSharedImagePath` allow-listing.\n */\nexport const cluiIds = [\n \"cluiTui\",\n \"sima\",\n \"tablas\",\n \"telefonos\",\n \"ugralos\",\n] as const;\n\nexport const cluiFiles = Object.fromEntries(\n cluiIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof cluiIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const iconIds = [\n \"apple-maps-icon\",\n \"facebook\",\n \"google-maps-icon\",\n \"instagram\",\n \"meet\",\n \"poll\",\n \"tiktok\",\n \"tip\",\n \"waze-maps-icon\",\n \"website\",\n \"youtube\",\n] as const;\n\nexport const iconFiles = Object.fromEntries(\n iconIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof iconIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const badgeIds = [\"corporate\", \"private\", \"school\"] as const;\n\nexport const badgeFiles = Object.fromEntries(\n badgeIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof badgeIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const logoIds = [\n \"googleMaps-logo-dark\",\n \"googleMaps-logo-light\",\n \"logo-atr\",\n \"logo-dark\",\n \"logo\",\n] as const;\n\nexport const logoFiles = Object.fromEntries(\n logoIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof logoIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const otherImagesIds = [\n \"banner-horizontal\",\n \"banner-vertical\",\n \"gazebo-top\",\n \"qr-code\",\n \"store-android\",\n \"store-ios\",\n] as const;\n\nexport const otherImagesFiles = Object.fromEntries(\n otherImagesIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof otherImagesIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\n/**\n * Module specifiers for each poster (not resolved file URLs). Use a static import or require with these paths\n * so your bundler resolves the file, e.g.\n * `import poster1 from \"@timardex/cluemart-shared/images/poster1.webp\"`\n * or `require(\"@timardex/cluemart-shared/images/poster1.webp\")` (React Native / Metro).\n *\n * Derived from `posterFiles` so keys and filenames stay aligned.\n */\nexport const posters = Object.fromEntries(\n (\n Object.entries(posterFiles) as [\n keyof typeof posterFiles,\n (typeof posterFiles)[keyof typeof posterFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof posterFiles]: `${typeof PKG}/images/${(typeof posterFiles)[K]}`;\n};\n\n/**\n * Module specifiers for Clui assets (same flat `@…/images/<file>.webp` pattern as posters), e.g.\n * `import clui from \"@timardex/cluemart-shared/images/cluiTui.webp\"`.\n */\nexport const cluiImages = Object.fromEntries(\n (\n Object.entries(cluiFiles) as [\n keyof typeof cluiFiles,\n (typeof cluiFiles)[keyof typeof cluiFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof cluiFiles]: `${typeof PKG}/images/${(typeof cluiFiles)[K]}`;\n};\n\nexport const icons = Object.fromEntries(\n (\n Object.entries(iconFiles) as [\n keyof typeof iconFiles,\n (typeof iconFiles)[keyof typeof iconFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof iconFiles]: `${typeof PKG}/images/${(typeof iconFiles)[K]}`;\n};\n\nexport const badges = Object.fromEntries(\n (\n Object.entries(badgeFiles) as [\n keyof typeof badgeFiles,\n (typeof badgeFiles)[keyof typeof badgeFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof badgeFiles]: `${typeof PKG}/images/${(typeof badgeFiles)[K]}`;\n};\n\nexport const logos = Object.fromEntries(\n (\n Object.entries(logoFiles) as [\n keyof typeof logoFiles,\n (typeof logoFiles)[keyof typeof logoFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof logoFiles]: `${typeof PKG}/images/${(typeof logoFiles)[K]}`;\n};\n\nexport const otherImages = Object.fromEntries(\n (\n Object.entries(otherImagesFiles) as [\n keyof typeof otherImagesFiles,\n (typeof otherImagesFiles)[keyof typeof otherImagesFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof otherImagesFiles]: `${typeof PKG}/images/${(typeof otherImagesFiles)[K]}`;\n};\n\nexport type PosterAssetId = keyof typeof posters;\n\n/** A single filename under the shared images directory (values of `posterFiles`). */\nexport type PosterImageBasename = (typeof posterFiles)[PosterAssetId];\n\nexport type CluiImageId = keyof typeof cluiImages;\n\n/** Basename under the shared images directory (values of `cluiFiles`). */\nexport type CluiImageBasename = (typeof cluiFiles)[CluiImageId];\n\nexport type IconId = keyof typeof icons;\nexport type IconBasename = (typeof iconFiles)[IconId];\n\nexport type BadgeId = keyof typeof badges;\nexport type BadgeBasename = (typeof badgeFiles)[BadgeId];\n\nexport type LogoId = keyof typeof logos;\nexport type LogoBasename = (typeof logoFiles)[LogoId];\n\nexport type OtherImagesId = keyof typeof otherImages;\nexport type OtherImagesBasename = (typeof otherImagesFiles)[OtherImagesId];\n","import type { Category } from \"../types/global\";\n\nexport function formatCategoryLabel(category: Category): string {\n const subcategoryNames = category.subcategories\n .map((subcategory) => subcategory.name)\n .filter(Boolean);\n\n if (subcategoryNames.length === 0) {\n return category.name;\n }\n\n return `${category.name} (${subcategoryNames.join(\", \")})`;\n}\n","import type { StallType } from \"../types/event\";\nimport { formatDate } from \"../utils/date\";\n\nimport {\n SHARE_APPLICATION_DEADLINE_PREFIX,\n SHARE_CATEGORIES_SECTION_HEADING,\n SHARE_FOOD_TRUCK_LINE,\n SHARE_MARKET_DATES_SECTION_HEADING,\n SHARE_RAIN_OR_SHINE_LINE,\n SHARE_REQUIREMENTS_SECTION_HEADING,\n SHARE_COMPLIANCE_PREFIX,\n SHARE_PRICE_RANGE_PREFIX,\n SHARE_STALL_SIZE_PREFIX,\n SHARE_TAGS_SECTION_HEADING,\n} from \"./constants\";\nimport { formatCategoryLabel } from \"./formatCategoryLabel\";\nimport { joinShareDescriptionSections } from \"./joinShareDescriptionSections\";\nimport type {\n ShareEventForInvitation,\n ShareEventInfoForInvitation,\n ShareVendorForApplication,\n ShareVendorInfoForApplication,\n} from \"./shareRelationTypes\";\n\nexport type {\n ShareEventForInvitation,\n ShareEventInfoForInvitation,\n ShareVendorForApplication,\n ShareVendorInfoForApplication,\n} from \"./shareRelationTypes\";\n\n/** Formats event `startDate` (`DD-MM-YYYY`) for share copy — same as share preview UI. */\nexport function formatShareMarketDate(dateStr: string): string {\n return formatDate(dateStr, \"date\");\n}\n\nexport function formatStallCapacityLabel(stallCapacity: number): string {\n return stallCapacity > 0 ? ` (${stallCapacity} spaces available)` : \" - Full\";\n}\n\nexport function formatShareStallLine(stall: StallType): string {\n return ` - ${stall.label} — $${stall.price}${formatStallCapacityLabel(stall.stallCapacity)}`;\n}\n\n/** Nested market dates + per-date stall lines for invitation share copy. */\nexport function formatShareInvitationMarketDatesSection(\n dateTime: ShareEventInfoForInvitation[\"dateTime\"],\n): string {\n const dateBlocks = dateTime.map((date) => {\n const formattedDate = formatShareMarketDate(date.startDate);\n const stallLines = date.stallTypes.map(formatShareStallLine);\n return [`- ${formattedDate}`, ...stallLines].join(\"\\n\");\n });\n\n return `${SHARE_MARKET_DATES_SECTION_HEADING}\\n${dateBlocks.join(\"\\n\")}`;\n}\n\nexport function formatShareRainOrShineLine(\n rainOrShine: boolean,\n): string | null {\n return rainOrShine ? SHARE_RAIN_OR_SHINE_LINE : null;\n}\n\nexport function formatShareIsFoodTrueLine(foodTruck: boolean): string | null {\n return foodTruck ? SHARE_FOOD_TRUCK_LINE : null;\n}\n\n/** Bulleted requirements list for invitation share copy. */\nexport function formatShareInvitationRequirementsSection(\n requirements: ShareEventInfoForInvitation[\"requirements\"] | null,\n): string | null {\n const bullets = (requirements ?? [])\n .filter((item) => item.value)\n .map((item) => item.label.trim())\n .filter((label) => label.length > 0)\n .map((label) => `- ${label}`);\n if (bullets.length === 0) {\n return null;\n }\n return `${SHARE_REQUIREMENTS_SECTION_HEADING}\\n${bullets.join(\"\\n\")}`;\n}\n\nexport function formatShareTagsSection(tags: string[]): string | null {\n const bullets = tags\n .map((tag) => tag.trim())\n .filter((tag) => tag.length > 0)\n .map((tag) => `- ${tag}`);\n if (bullets.length === 0) {\n return null;\n }\n return `${SHARE_TAGS_SECTION_HEADING}\\n${bullets.join(\"\\n\")}`;\n}\n\n/** Bulleted categories list for application share copy. */\nexport function formatShareApplicationCategoriesSection(\n categories: ShareVendorForApplication[\"categories\"],\n): string | null {\n const bullets = categories\n .map((category) => formatCategoryLabel(category).trim())\n .filter((label) => label.length > 0)\n .map((label) => `- ${label}`);\n if (bullets.length === 0) {\n return null;\n }\n return `${SHARE_CATEGORIES_SECTION_HEADING}\\n${bullets.join(\"\\n\")}`;\n}\n\n/** Stall dimensions line for application share copy. */\nexport function formatShareApplicationStallSizeLine(size: {\n width: string;\n depth: string;\n}): string {\n return `${SHARE_STALL_SIZE_PREFIX} ${size.width}m × ${size.depth}m`;\n}\n\n/** Bulleted compliance list for application share copy. */\nexport function formatShareApplicationComplianceSection(\n compliance: ShareVendorInfoForApplication[\"compliance\"],\n): string | null {\n const bullets = [\n compliance?.liabilityInsurance && \"Liability insurance\",\n compliance?.foodBeverageLicense && \"Food & beverage licence\",\n ]\n .filter((label): label is string => Boolean(label))\n .map((label) => `- ${label}`);\n if (bullets.length === 0) {\n return null;\n }\n return `${SHARE_COMPLIANCE_PREFIX}\\n${bullets.join(\"\\n\")}`;\n}\n\n/** Price range line for application share copy. */\nexport function formatShareApplicationPriceRangeLine(priceRange: {\n min: string;\n max: string;\n}): string {\n return `${SHARE_PRICE_RANGE_PREFIX} $${priceRange.min} – $${priceRange.max}`;\n}\n\n/** Application-deadline sentence for invitation share copy. */\nexport function formatShareInvitationApplicationDeadlineLine(\n applicationDeadlineHours: number,\n): string {\n return `${SHARE_APPLICATION_DEADLINE_PREFIX} vendors must apply at least ${applicationDeadlineHours} hours before each market date.`;\n}\n\nexport function buildInvitationShareDescription(\n event: ShareEventForInvitation,\n eventInfo: ShareEventInfoForInvitation | null | undefined,\n): string {\n const stallTypes =\n eventInfo?.dateTime?.flatMap((date) => date.stallTypes) ?? [];\n\n if (!eventInfo || stallTypes.length === 0) {\n return event.description?.trim() || \"\";\n }\n\n const sections = [\n event.location.fullAddress,\n formatShareRainOrShineLine(event.rainOrShine),\n formatShareTagsSection(event.tags),\n formatShareInvitationMarketDatesSection(eventInfo.dateTime),\n formatShareInvitationApplicationDeadlineLine(\n eventInfo.applicationDeadlineHours,\n ),\n formatShareInvitationRequirementsSection(eventInfo.requirements),\n ];\n\n return joinShareDescriptionSections(sections);\n}\n\nexport function buildApplicationShareDescription(\n vendor: ShareVendorForApplication,\n vendorInfo: ShareVendorInfoForApplication | null | undefined,\n): string {\n if (!vendorInfo) {\n return vendor.description?.trim() || \"\";\n }\n\n const profileDescription = vendor.description?.trim();\n\n const sections = [\n formatShareIsFoodTrueLine(vendor.foodTruck),\n formatShareApplicationCategoriesSection(vendor.categories),\n formatShareApplicationStallSizeLine(vendorInfo.stallInfo.size),\n formatShareApplicationComplianceSection(vendorInfo.compliance),\n formatShareApplicationPriceRangeLine(vendorInfo.product.priceRange),\n profileDescription,\n ];\n\n return joinShareDescriptionSections(sections);\n}\n","import {\n formatShareIsFoodTrueLine,\n formatShareRainOrShineLine,\n formatShareTagsSection,\n} from \"./buildRelationShareDescription\";\nimport { joinShareDescriptionSections } from \"./joinShareDescriptionSections\";\n\n/** Minimal event fields for public (market) share copy — matches in-app preview. */\nexport type ShareEventForPublic = {\n description?: string | null;\n rainOrShine: boolean;\n tags: string[];\n};\n\n/** Minimal vendor fields for public (stallholder) share copy — matches in-app preview. */\nexport type ShareVendorForPublic = {\n description?: string | null;\n foodTruck: boolean;\n};\n\nexport function buildPublicEventShareDescription(\n event: ShareEventForPublic,\n): string {\n return joinShareDescriptionSections([\n formatShareRainOrShineLine(event.rainOrShine),\n formatShareTagsSection(event.tags),\n event.description?.trim(),\n ]);\n}\n\nexport function buildPublicVendorShareDescription(\n vendor: ShareVendorForPublic,\n): string {\n return joinShareDescriptionSections([\n formatShareIsFoodTrueLine(vendor.foodTruck),\n vendor.description?.trim(),\n ]);\n}\n","import {\n POST_SHARE_RESOURCE_TYPES,\n RESOURCE_SHARE_TYPES,\n SHARE_SITE_URL,\n} from \"./constants\";\nimport {\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n} from \"./relationShareTypes\";\n\n/** Path segments for public resource share URLs (markets, posts, etc.). */\nexport const PUBLIC_SHARE_PATH_TYPES = [\n ...RESOURCE_SHARE_TYPES,\n ...POST_SHARE_RESOURCE_TYPES,\n] as const;\n\nexport type PublicSharePathType = (typeof PUBLIC_SHARE_PATH_TYPES)[number];\n\nexport type RelationSharePathType =\n | typeof RELATION_SHARE_INVITATION\n | typeof RELATION_SHARE_APPLICATION;\n\nexport type ShareType = PublicSharePathType | RelationSharePathType;\n\n/** Alternation for deep-link regexes — keep in sync with {@link ShareType}. */\nexport const SHARE_TYPE_PATH_REGEX = [\n ...PUBLIC_SHARE_PATH_TYPES,\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n].join(\"|\");\n\nexport function buildShareUrl(\n type: ShareType,\n slug: string,\n utmMedium: string = \"app\",\n): string {\n return `${SHARE_SITE_URL}/${type}/${encodeURIComponent(slug)}?utm_source=share&utm_medium=${utmMedium}&utm_campaign=${type}`;\n}\n","import type { ShareResourceType } from \"./constants\";\n\nexport function normalizeShareRouteId(id: string): string {\n try {\n return decodeURIComponent(id);\n } catch {\n return id;\n }\n}\n\n/** Relative path for a public share landing page (`/market/demo-market`). */\nexport function buildSharePagePath(\n resourceType: ShareResourceType,\n slug: string,\n): string {\n return `/${resourceType}/${encodeURIComponent(normalizeShareRouteId(slug))}`;\n}\n","export type ShareSlugResource = {\n _id: string;\n};\n\nexport function shareSlugResourceId(\n resource: ShareSlugResource | null | undefined,\n): string | null {\n return resource?._id ?? null;\n}\n","/**\n * Normalizes resource `updatedAt` to an epoch-ms string for Facebook/CDN cache busting\n * on social-image URLs (`?v=`). The API ignores this query param.\n */\nexport function toShareSocialImageCacheVersion(\n updatedAt: Date | string | number | null | undefined,\n): string | null {\n if (updatedAt == null || updatedAt === \"\") {\n return null;\n }\n\n let ms: number;\n if (typeof updatedAt === \"number\") {\n ms = updatedAt;\n } else if (updatedAt instanceof Date) {\n ms = updatedAt.getTime();\n } else {\n ms = Date.parse(String(updatedAt));\n }\n\n if (!Number.isFinite(ms)) {\n return null;\n }\n\n return String(Math.trunc(ms));\n}\n","export const SAVED_PASSWORD_KEY = \"savedPassword\";\nexport const SAVED_EMAIL_KEY = \"savedEmail\";\nexport const SAVED_TOKEN_KEY = \"savedToken\";\nexport const SAVED_REFRESH_TOKEN_KEY = \"savedRefreshToken\";\nexport const USER_STORAGE_KEY = \"authUser\";\n","export const darkColors = {\n background: \"#3D3D3F\",\n card: \"#1c1c1e\",\n primary: \"#c96520\", // burnt orange — same hue, lower brightness\n quaternary: \"#3d7a68\", // barely shifted from light — already sits well on dark\n secondary: \"#7a4f78\", // muted plum — visible but not vivid\n tertiary: \"#4e5099\", // dusty indigo\n textMuted: \"#8e8e93\",\n};\n\nexport const lightColors = {\n background: \"#ffffff\",\n card: \"#f1f2f6\",\n primary: \"#ff7a00\",\n quaternary: \"#3b7c67\",\n secondary: \"#371134\",\n tertiary: \"#191a75\",\n textMuted: \"#6c757d\",\n};\n\nexport const fonts = {\n bold: {\n fontFamily: \"Roboto-Bold\",\n fontWeight: \"700\" as const,\n },\n heavy: {\n fontFamily: \"Roboto-ExtraBold\",\n fontWeight: \"900\" as const,\n },\n medium: {\n fontFamily: \"Roboto-Medium\",\n fontWeight: \"500\" as const,\n },\n regular: {\n fontFamily: \"Roboto-Regular\",\n fontWeight: \"400\" as const,\n },\n};\n","/**\n * Canonical permission IDs. Add new permissions here first, then map them in\n * ROLE_PERMISSIONS. Prefer resource.action names (e.g. users.read).\n */\nexport const PERMISSIONS = [\n \"*\",\n // Dashboards\n \"dashboard.admin\",\n \"dashboard.affiliate\",\n \"dashboard.customer\",\n \"dashboard.event\",\n \"dashboard.partner\",\n \"dashboard.school\",\n \"dashboard.vendor\",\n // Admin: users\n \"users.delete\",\n \"users.read\",\n \"users.update\",\n // Admin: events\n \"events.create\",\n \"events.delete\",\n \"events.read\",\n \"events.update\",\n // Admin: vendors\n \"vendors.create\",\n \"vendors.delete\",\n \"vendors.read\",\n \"vendors.update\",\n // Admin: partners\n \"partners.create\",\n \"partners.delete\",\n \"partners.read\",\n \"partners.update\",\n // Admin: schools\n \"schools.create\",\n \"schools.delete\",\n \"schools.read\",\n \"schools.update\",\n // Admin: affiliates\n \"affiliates.create\",\n \"affiliates.delete\",\n \"affiliates.read\",\n \"affiliates.update\",\n // Admin: ads / posts / settings\n \"ads.create\",\n \"ads.delete\",\n \"ads.read\",\n \"ads.update\",\n \"posts.create\",\n \"posts.delete\",\n \"posts.read\",\n \"posts.update\",\n \"settings.read\",\n \"settings.update\",\n // Product: own-resource management\n \"affiliates.manage_own\",\n \"events.manage_own\",\n \"partners.manage_own\",\n \"schools.manage_own\",\n \"vendors.manage_own\",\n] as const;\n\nexport type Permission = (typeof PERMISSIONS)[number];\n\nexport const WILDCARD_PERMISSION: Permission = \"*\";\n","import { EnumUserRole } from \"../../enums\";\n\nimport type { Permission } from \"./permissions\";\n\nconst ADMIN_PERMISSIONS: readonly Permission[] = [\n \"dashboard.admin\",\n \"events.read\",\n \"events.create\",\n \"events.update\",\n \"events.delete\",\n \"vendors.read\",\n \"vendors.create\",\n \"vendors.update\",\n \"vendors.delete\",\n \"partners.read\",\n \"partners.create\",\n \"partners.update\",\n \"partners.delete\",\n \"schools.read\",\n \"schools.create\",\n \"schools.update\",\n \"schools.delete\",\n \"affiliates.read\",\n \"affiliates.create\",\n \"affiliates.update\",\n \"affiliates.delete\",\n \"ads.read\",\n \"ads.create\",\n \"ads.update\",\n \"ads.delete\",\n \"posts.read\",\n \"posts.create\",\n \"posts.update\",\n \"posts.delete\",\n];\n\n/**\n * Static role → permissions map. Source of truth for access.\n * Permissions for a user = union of all their roles' lists.\n */\nexport const ROLE_PERMISSIONS: Record<EnumUserRole, readonly Permission[]> = {\n [EnumUserRole.SUPER_ADMIN]: [\"*\"],\n [EnumUserRole.ADMIN]: ADMIN_PERMISSIONS,\n [EnumUserRole.CUSTOMER]: [\"dashboard.customer\"],\n [EnumUserRole.EVENT]: [\"dashboard.event\", \"events.manage_own\"],\n [EnumUserRole.VENDOR]: [\"dashboard.vendor\", \"vendors.manage_own\"],\n [EnumUserRole.PARTNER]: [\"dashboard.partner\", \"partners.manage_own\"],\n [EnumUserRole.SCHOOL]: [\"dashboard.school\", \"schools.manage_own\"],\n [EnumUserRole.AFFILIATE]: [\"dashboard.affiliate\", \"affiliates.manage_own\"],\n};\n","import { EnumUserRole } from \"../../enums\";\n\nimport type { Permission } from \"./permissions\";\nimport { WILDCARD_PERMISSION } from \"./permissions\";\nimport { ROLE_PERMISSIONS } from \"./rolePermissions\";\n\nfunction normalizeRoles(\n roles: EnumUserRole[] | null | undefined,\n): EnumUserRole[] {\n if (!roles?.length) return [];\n return roles;\n}\n\n/**\n * Union of permissions for the given roles (deduped, stable order).\n */\nexport function getPermissionsForRoles(\n roles: EnumUserRole[] | null | undefined,\n): Permission[] {\n const seen = new Set<Permission>();\n const result: Permission[] = [];\n\n for (const role of normalizeRoles(roles)) {\n const perms = ROLE_PERMISSIONS[role] ?? [];\n for (const perm of perms) {\n if (!seen.has(perm)) {\n seen.add(perm);\n result.push(perm);\n }\n }\n }\n\n return result;\n}\n\n/**\n * Check a concrete permission list (e.g. authUser.permissions) for a grant.\n * Honours the \"*\" wildcard.\n */\nexport function permissionListIncludes(\n permissions: readonly Permission[] | null | undefined,\n permission: Permission,\n): boolean {\n if (!permissions?.length) return false;\n const set = new Set(permissions);\n if (set.has(WILDCARD_PERMISSION)) return true;\n return set.has(permission);\n}\n\nexport function hasPermission(\n roles: EnumUserRole[] | null | undefined,\n permission: Permission,\n): boolean {\n return permissionListIncludes(getPermissionsForRoles(roles), permission);\n}\n\nexport function hasAnyPermission(\n roles: EnumUserRole[] | null | undefined,\n permissions: readonly Permission[],\n): boolean {\n if (permissions.length === 0) return false;\n const granted = getPermissionsForRoles(roles);\n return permissions.some((p) => permissionListIncludes(granted, p));\n}\n\nexport function hasAllPermissions(\n roles: EnumUserRole[] | null | undefined,\n permissions: readonly Permission[],\n): boolean {\n if (permissions.length === 0) return true;\n const granted = getPermissionsForRoles(roles);\n return permissions.every((p) => permissionListIncludes(granted, p));\n}\n\nexport function hasRole(\n roles: EnumUserRole[] | null | undefined,\n role: EnumUserRole,\n): boolean {\n return normalizeRoles(roles).includes(role);\n}\n\nexport function hasAnyRole(\n roles: EnumUserRole[] | null | undefined,\n checkRoles: readonly EnumUserRole[],\n): boolean {\n if (checkRoles.length === 0) return false;\n const set = new Set(normalizeRoles(roles));\n return checkRoles.some((r) => set.has(r));\n}\n","import { EnumUserRole } from \"../../enums\";\n\nimport { hasAnyRole } from \"./helpers\";\n\n/** Roles allowed to sign into the admin web app (CUSTOMER-only is denied). */\nexport const ADMIN_APP_ROLES = [\n EnumUserRole.SUPER_ADMIN,\n EnumUserRole.ADMIN,\n EnumUserRole.EVENT,\n EnumUserRole.VENDOR,\n EnumUserRole.PARTNER,\n EnumUserRole.SCHOOL,\n EnumUserRole.AFFILIATE,\n] as const;\n\nexport type AdminAppRole = (typeof ADMIN_APP_ROLES)[number];\n\nexport type AdminDashboardContext =\n | \"staff\"\n | \"event\"\n | \"vendor\"\n | \"partner\"\n | \"school\"\n | \"affiliate\";\n\nexport type AdminDashboardContextInfo = {\n context: AdminDashboardContext;\n home: string;\n label: string;\n /** Path prefixes that belong to this context (including home). */\n pathPrefixes: readonly string[];\n roles: readonly EnumUserRole[];\n};\n\n/**\n * Priority order for default home + role switcher.\n * Staff first, then product roles.\n */\nexport const ADMIN_DASHBOARD_CONTEXTS: readonly AdminDashboardContextInfo[] = [\n {\n context: \"staff\",\n home: \"/dashboard\",\n label: \"Staff\",\n pathPrefixes: [\"/dashboard\"],\n roles: [EnumUserRole.SUPER_ADMIN, EnumUserRole.ADMIN],\n },\n {\n context: \"event\",\n home: \"/event/dashboard\",\n label: \"Events\",\n pathPrefixes: [\"/event\"],\n roles: [EnumUserRole.EVENT],\n },\n {\n context: \"vendor\",\n home: \"/vendor/dashboard\",\n label: \"Stallholders\",\n pathPrefixes: [\"/vendor\"],\n roles: [EnumUserRole.VENDOR],\n },\n {\n context: \"partner\",\n home: \"/partner/dashboard\",\n label: \"Partners\",\n pathPrefixes: [\"/partner\"],\n roles: [EnumUserRole.PARTNER],\n },\n {\n context: \"school\",\n home: \"/school/dashboard\",\n label: \"Schools\",\n pathPrefixes: [\"/school\"],\n roles: [EnumUserRole.SCHOOL],\n },\n {\n context: \"affiliate\",\n home: \"/affiliate/dashboard\",\n label: \"Affiliate\",\n pathPrefixes: [\"/affiliate\"],\n roles: [EnumUserRole.AFFILIATE],\n },\n] as const;\n\nexport function canAccessAdminApp(\n roles: EnumUserRole[] | null | undefined,\n): boolean {\n return hasAnyRole(roles, ADMIN_APP_ROLES);\n}\n\nexport function getUsableAdminContexts(\n roles: EnumUserRole[] | null | undefined,\n): AdminDashboardContextInfo[] {\n return ADMIN_DASHBOARD_CONTEXTS.filter((ctx) => hasAnyRole(roles, ctx.roles));\n}\n\nexport function getDefaultAdminHome(\n roles: EnumUserRole[] | null | undefined,\n preferredContext?: AdminDashboardContext | null,\n): string {\n const usable = getUsableAdminContexts(roles);\n if (usable.length === 0) {\n return \"/login\";\n }\n\n if (preferredContext) {\n const preferred = usable.find((ctx) => ctx.context === preferredContext);\n if (preferred) return preferred.home;\n }\n\n return usable[0].home;\n}\n\nexport function resolveAdminContextFromPath(\n pathname: string,\n): AdminDashboardContext | null {\n for (const ctx of ADMIN_DASHBOARD_CONTEXTS) {\n if (\n ctx.pathPrefixes.some(\n (prefix) => pathname === prefix || pathname.startsWith(`${prefix}/`),\n )\n ) {\n return ctx.context;\n }\n }\n return null;\n}\n\nexport function canAccessAdminPath(\n roles: EnumUserRole[] | null | undefined,\n pathname: string,\n): boolean {\n if (!canAccessAdminApp(roles)) return false;\n\n const context = resolveAdminContextFromPath(pathname);\n if (!context) {\n // Authenticated admin-app users may hit non-dashboard admin routes later;\n // unknown paths are allowed only if they have any admin-app role.\n return true;\n }\n\n const info = ADMIN_DASHBOARD_CONTEXTS.find((ctx) => ctx.context === context);\n if (!info) return false;\n return hasAnyRole(roles, info.roles);\n}\n"],"mappings":";AAAO,IAAK,mBAAL,kBAAKA,sBAAL;AACL,EAAAA,kBAAA,cAAW;AACX,EAAAA,kBAAA,eAAY;AACZ,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,eAAY;AACZ,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,cAAW;AACX,EAAAA,kBAAA,iBAAc;AAPJ,SAAAA;AAAA,GAAA;AAUL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,4BAAyB;AACzB,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,kBAAe;AACf,EAAAA,sBAAA,oCAAiC;AACjC,EAAAA,sBAAA,WAAQ;AANE,SAAAA;AAAA,GAAA;AASL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,cAAW;AAHD,SAAAA;AAAA,GAAA;AAML,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,UAAO;AACP,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,mBAAgB;AAChB,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,YAAS;AALC,SAAAA;AAAA,GAAA;AAQL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,WAAQ;AACR,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,WAAQ;AACR,EAAAA,gBAAA,WAAQ;AACR,EAAAA,gBAAA,WAAQ;AALE,SAAAA;AAAA,GAAA;AAQL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,mBAAgB;AAChB,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,uBAAoB;AACpB,EAAAA,cAAA,sBAAmB;AACnB,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,uBAAoB;AACpB,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,mBAAgB;AAChB,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,kBAAe;AACf,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,kBAAe;AACf,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,oBAAiB;AACjB,EAAAA,cAAA,sBAAmB;AACnB,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,SAAM;AACN,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,gBAAa;AAnCH,SAAAA;AAAA,GAAA;AAsCL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,kBAAA,eAAY;AACZ,EAAAA,kBAAA,WAAQ;AACR,EAAAA,kBAAA,YAAS;AACT,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,YAAS;AALC,SAAAA;AAAA,GAAA;AAQL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,cAAW;AAJD,SAAAA;AAAA,GAAA;AAOL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,UAAO;AAFG,SAAAA;AAAA,GAAA;AAKL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,iBAAA,qBAAkB;AAClB,EAAAA,iBAAA,mBAAgB;AAChB,EAAAA,iBAAA,wBAAqB;AAHX,SAAAA;AAAA,GAAA;AAML,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,SAAM;AACN,EAAAA,gBAAA,SAAM;AAHI,SAAAA;AAAA,GAAA;AAML,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,yBAAsB;AACtB,EAAAA,sBAAA,qCAAkC;AAClC,EAAAA,sBAAA,qCAAkC;AAClC,EAAAA,sBAAA,iCAA8B;AAJpB,SAAAA;AAAA,GAAA;AAOL,IAAK,+BAAL,kBAAKC,kCAAL;AACL,EAAAA,8BAAA,wBAAqB;AACrB,EAAAA,8BAAA,+BAA4B;AAC5B,EAAAA,8BAAA,oBAAiB;AACjB,EAAAA,8BAAA,sBAAmB;AACnB,EAAAA,8BAAA,qBAAkB;AAClB,EAAAA,8BAAA,qBAAkB;AAClB,EAAAA,8BAAA,mBAAgB;AAChB,EAAAA,8BAAA,qBAAkB;AAClB,EAAAA,8BAAA,oBAAiB;AACjB,EAAAA,8BAAA,qBAAkB;AAClB,EAAAA,8BAAA,uBAAoB;AACpB,EAAAA,8BAAA,yBAAsB;AACtB,EAAAA,8BAAA,wBAAqB;AACrB,EAAAA,8BAAA,oBAAiB;AACjB,EAAAA,8BAAA,sBAAmB;AACnB,EAAAA,8BAAA,qBAAkB;AAClB,EAAAA,8BAAA,sBAAmB;AACnB,EAAAA,8BAAA,wBAAqB;AACrB,EAAAA,8BAAA,uBAAoB;AACpB,EAAAA,8BAAA,yBAAsB;AACtB,EAAAA,8BAAA,yBAAsB;AACtB,EAAAA,8BAAA,qCAAkC;AAClC,EAAAA,8BAAA,+BAA4B;AAC5B,EAAAA,8BAAA,iCAA8B;AAC9B,EAAAA,8BAAA,gCAA6B;AAC7B,EAAAA,8BAAA,sBAAmB;AACnB,EAAAA,8BAAA,sBAAmB;AACnB,EAAAA,8BAAA,oCAAiC;AACjC,EAAAA,8BAAA,kBAAe;AACf,EAAAA,8BAAA,iCAA8B;AAC9B,EAAAA,8BAAA,qCAAkC;AA/BxB,SAAAA;AAAA,GAAA;AAkCL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,UAAO;AACP,EAAAA,sBAAA,WAAQ;AACR,EAAAA,sBAAA,cAAW;AACX,EAAAA,sBAAA,YAAS;AACT,EAAAA,sBAAA,YAAS;AALC,SAAAA;AAAA,GAAA;AAQL,IAAK,cAAL,kBAAKC,iBAAL;AACL,EAAAA,aAAA,SAAM;AACN,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,sBAAmB;AACnB,EAAAA,aAAA,6BAA0B;AAC1B,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,gBAAa;AAbH,SAAAA;AAAA,GAAA;AAgBL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;AAOL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,iBAAA,eAAY;AACZ,EAAAA,iBAAA,oBAAiB;AACjB,EAAAA,iBAAA,qBAAkB;AAClB,EAAAA,iBAAA,gBAAa;AACb,EAAAA,iBAAA,oBAAiB;AACjB,EAAAA,iBAAA,qBAAkB;AAClB,EAAAA,iBAAA,sBAAmB;AACnB,EAAAA,iBAAA,wBAAqB;AACrB,EAAAA,iBAAA,qBAAkB;AATR,SAAAA;AAAA,GAAA;AAYL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,YAAS;AARC,SAAAA;AAAA,GAAA;AAWL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,iBAAA,cAAW;AACX,EAAAA,iBAAA,eAAY;AACZ,EAAAA,iBAAA,YAAS;AACT,EAAAA,iBAAA,aAAU;AACV,EAAAA,iBAAA,aAAU;AACV,EAAAA,iBAAA,aAAU;AANA,SAAAA;AAAA,GAAA;AASL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,qBAAA,mBAAgB;AAChB,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,WAAQ;AACR,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,WAAQ;AACR,EAAAA,qBAAA,kBAAe;AACf,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,aAAU;AAXA,SAAAA;AAAA,GAAA;AAcL,IAAK,yBAAL,kBAAKC,4BAAL;AACL,EAAAA,wBAAA,YAAS;AACT,EAAAA,wBAAA,cAAW;AACX,EAAAA,wBAAA,eAAY;AACZ,EAAAA,wBAAA,qBAAkB;AAClB,EAAAA,wBAAA,cAAW;AACX,EAAAA,wBAAA,cAAW;AAND,SAAAA;AAAA,GAAA;AASL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,4BAAyB;AACzB,EAAAA,mBAAA,0BAAuB;AACvB,EAAAA,mBAAA,2BAAwB;AAHd,SAAAA;AAAA,GAAA;AAML,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,qBAAkB;AAClB,EAAAA,YAAA,yBAAsB;AACtB,EAAAA,YAAA,wBAAqB;AAHX,SAAAA;AAAA,GAAA;;;AClPL,IAAM,wBAAqC;AAAA,EAChD;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,oBAA+B;AAAA,EAC1C,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,aAAa;AACf;AAEO,IAAM,wBAAyC;AAAA,EACpD;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,sBAAuC;AAAA,EAClD;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,qBAAkC;AAAA,EAC7C;AAAA,IACE,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,4BAAuC;AAAA,EAClD,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,aAAa;AACf;AAEO,IAAM,mBAAgC;AAAA,EAC3C;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,qBAAqB;AAAA,EAChC;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,MACL,EAAE,cAAc,MAAM,UAAU,aAAa;AAAA,MAC7C,EAAE,cAAc,MAAM,UAAU,WAAW;AAAA,MAC3C,EAAE,cAAc,MAAM,UAAU,cAAc;AAAA,MAC9C,EAAE,cAAc,MAAM,UAAU,WAAW;AAAA,IAC7C;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,MACL,EAAE,cAAc,QAAQ,UAAU,gBAAgB;AAAA,MAClD,EAAE,cAAc,KAAK,UAAU,QAAQ;AAAA,MACvC,EAAE,cAAc,KAAK,UAAU,QAAQ;AAAA,MACvC,EAAE,cAAc,MAAM,UAAU,aAAa;AAAA,MAC7C,EAAE,cAAc,OAAO,UAAU,eAAe;AAAA;AAAA,MAChD,EAAE,cAAc,OAAO,UAAU,uBAAuB;AAAA;AAAA,IAC1D;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,MACL,EAAE,cAAc,OAAO,UAAU,eAAe;AAAA,MAChD,EAAE,cAAc,WAAW,UAAU,kBAAkB;AAAA,MACvD,EAAE,cAAc,OAAO,UAAU,kBAAkB;AAAA;AAAA,MACnD,EAAE,cAAc,OAAO,UAAU,gCAAgC;AAAA,MACjE,EAAE,cAAc,OAAO,UAAU,cAAc;AAAA,IACjD;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,MACL,EAAE,cAAc,MAAM,UAAU,WAAW;AAAA,MAC3C,EAAE,cAAc,OAAO,UAAU,gBAAgB;AAAA,MACjD,EAAE,cAAc,OAAO,UAAU,UAAU;AAAA,MAC3C,EAAE,cAAc,OAAO,UAAU,kBAAkB;AAAA,IACrD;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,MACL,EAAE,cAAc,QAAQ,UAAU,eAAe;AAAA,MACjD,EAAE,cAAc,OAAO,UAAU,eAAe;AAAA,MAChD,EAAE,cAAc,QAAQ,UAAU,iBAAiB;AAAA,MACnD,EAAE,cAAc,QAAQ,UAAU,YAAY;AAAA;AAAA,IAChD;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,MACL,EAAE,cAAc,QAAQ,UAAU,yBAAyB;AAAA;AAAA,MAC3D,EAAE,cAAc,QAAQ,UAAU,qBAAqB;AAAA;AAAA,MACvD,EAAE,cAAc,UAAU,UAAU,mBAAmB;AAAA;AAAA,MACvD,EAAE,cAAc,SAAS,UAAU,qBAAqB;AAAA;AAAA,MACxD,EAAE,cAAc,UAAU,UAAU,sBAAsB;AAAA;AAAA,IAC5D;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,MACL,EAAE,cAAc,QAAQ,UAAU,qBAAqB;AAAA;AAAA,MACvD,EAAE,cAAc,QAAQ,UAAU,qBAAqB;AAAA;AAAA,IACzD;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,MACL,EAAE,cAAc,QAAQ,UAAU,qBAAqB;AAAA;AAAA,MACvD,EAAE,cAAc,QAAQ,UAAU,gBAAgB;AAAA;AAAA,IACpD;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,MACL,EAAE,cAAc,OAAO,UAAU,qBAAqB;AAAA,MACtD,EAAE,cAAc,QAAQ,UAAU,sBAAsB;AAAA;AAAA,IAC1D;AAAA,EACF;AACF;AAEO,IAAM,aAA2B;AAAA,EACtC,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,EACjC,EAAE,OAAO,WAAW,OAAO,UAAU;AAAA,EACrC,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,EACjC,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,EACnC,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EAC/B,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,EACjC,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EAC/B,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,EACnC,EAAE,OAAO,MAAM,OAAO,OAAO;AAAA,EAC7B,EAAE,OAAO,MAAM,OAAO,WAAW;AAAA,EACjC,EAAE,OAAO,KAAK,OAAO,QAAQ;AAAA,EAC7B,EAAE,OAAO,MAAM,OAAO,aAAa;AAAA,EACnC,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,EACjC,EAAE,OAAO,cAAc,OAAO,aAAa;AAC7C;;;AClMA,IAAM,yBAAyB;AAC/B,IAAM,6BAA6B,GAAG,sBAAsB;AAErD,IAAM,2BAA2B;AAAA,EACtC;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO,IAAI,OAAO,YAAY,0BAA0B,EAAE;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO,IAAI,OAAO,cAAc,0BAA0B,EAAE;AAAA,EAC9D;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO,IAAI,OAAO,mBAAmB,0BAA0B,EAAE;AAAA,EACnE;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO,IAAI,OAAO,aAAa,0BAA0B,EAAE;AAAA,EAC7D;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AACF;;;ACrGA,OAAO,WAAW;AAClB,OAAO,uBAAuB;AAC9B,OAAO,mBAAmB;AAC1B,OAAO,cAAc;AACrB,OAAO,SAAS;;;ACCT,IAAM,oBAAoB,CAAC,UAChC,MAAM,IAAI,CAAC,UAAU;AAAA,EACnB,OAAO;AAAA,EACP,OAAO;AACT,EAAE;;;ADCG,IAAM,aAAa;AACnB,IAAM,aAAa;AAG1B,MAAM,OAAO,iBAAiB;AAC9B,MAAM,OAAO,GAAG;AAChB,MAAM,OAAO,QAAQ;AACrB,MAAM,OAAO,aAAa;AAE1B,IAAM,QAAQ;AAEP,SAAS,SAAS,MAAsB;AAC7C,SAAO,OAAO,MAAM,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE,GAAG,KAAK;AACxD;AAGO,SAAS,aACd,OACa;AACb,MAAI,SAAS,MAAM;AACjB,WAAO,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,KAAK;AAAA,EACxC;AACA,SAAO,MAAM,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AAC7C;AAWO,IAAM,aAAa,CACxB,SACA,UAAsB,YACtB,YACG;AAEH,QAAM,cAAc,UAAU,GAAG,OAAO,IAAI,OAAO,KAAK;AAGxD,QAAM,WAAW,UACb,MAAM,aAAa,GAAG,UAAU,IAAI,UAAU,EAAE,IAChD,MAAM,SAAS,UAAU;AAG7B,QAAM,gBAAgB,SAAS,OAAO,oBAAoB;AAC1D,QAAM,gBAAgB,SAAS,OAAO,QAAQ;AAG9C,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO,GAAG,aAAa,OAAO,aAAa;AAAA,IAC7C;AACE,aAAO;AAAA,EACX;AACF;AAEO,IAAM,2BAA2B,CAGtC,UACQ;AACR,QAAM,MAAM,MAAM;AAElB,SAAO,MAAM,OAAO,CAAC,YAAY;AAC/B,UAAM,WAAW;AAAA,MACf,GAAG,QAAQ,SAAS,IAAI,QAAQ,SAAS;AAAA,MACzC,GAAG,UAAU,IAAI,UAAU;AAAA,IAC7B;AACA,WAAO,SAAS,cAAc,GAAG;AAAA,EACnC,CAAC;AACH;AAEO,IAAM,+BAA+B,CAC1C,MAIA,oBACY;AACZ,QAAM,YAAY,kBACd,MAAM,EAAE,IAAI,iBAAiB,MAAM,IACnC,MAAM,EAAE,QAAQ,KAAK;AAEzB,QAAM,WAAW;AAAA,IACf,GAAG,KAAK,SAAS,IAAI,KAAK,SAAS;AAAA,IACnC,GAAG,UAAU,IAAI,UAAU;AAAA,EAC7B;AAEA,SAAO,SAAS,cAAc,SAAS;AACzC;AAEO,IAAM,kBAAkB,CAAC,cAAsB;AACpD,QAAM,gBAAgB,SAAS,SAAS,EAAE,OAAO,UAAU;AAE3D,SAAO,WAAW,eAAe,MAAM;AACzC;AAEO,IAAM,kBAAkB,CAAC,UAAoC;AAClE,SAAO,OAAO,UAAU,YAAY,CAAC,OAAO,MAAM,KAAK,MAAM,KAAK,CAAC;AACrE;AAOO,SAAS,yBAEd,OAAiB;AACjB,MAAI,CAAC,OAAO,QAAQ;AAClB,WAAO,CAAC;AAAA,EACV;AAEA,SAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM;AAC/B,UAAM,iBAAiB,GAAG,UAAU,IAAI,UAAU;AAClD,UAAM,QAAQ,MAAM,GAAG,EAAE,SAAS,IAAI,EAAE,SAAS,IAAI,cAAc;AACnE,UAAM,QAAQ,MAAM,GAAG,EAAE,SAAS,IAAI,EAAE,SAAS,IAAI,cAAc;AACnE,WAAO,MAAM,QAAQ,IAAI,MAAM,QAAQ;AAAA,EACzC,CAAC;AACH;AAEO,IAAM,oBAAoB;AAAA,EAC/B,OAAO,OAAO,mBAAmB;AACnC,EACG;AAAA,EACC,CAAC,WACC,OAAO,iDACP,OAAO,uCACP,OAAO,8CACP,OAAO,qCACP,OAAO,iCACP,OAAO;AACX,EACC,IAAI,CAAC,YAAY;AAAA,EAChB,OAAO,OAAO,MAAM,WAAW,KAAK,GAAG;AAAA,EACvC,OAAO,OAAO;AAChB,EAAE;;;AE/IJ,SAAS,gBAAgB,MAAc;AACrC,MAAI,IAAI,SAAS;AAEjB,SAAO,SAAS,SAAS;AACvB,SAAK;AACL,QAAI,IAAI;AAER,QAAI,KAAK,KAAK,IAAK,MAAM,IAAK,IAAI,CAAC;AACnC,SAAK,IAAI,KAAK,KAAK,IAAK,MAAM,GAAI,IAAI,EAAE;AAExC,aAAS,IAAK,MAAM,QAAS,KAAK;AAAA,EACpC;AACF;AAEA,SAAS,mBAAmB,MAAsB;AAChD,MAAI,OAAO;AAEX,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAQ,KAAK,YAAY,CAAC,KAAK;AAC/B,WAAO,KAAK,KAAK,MAAM,QAAQ;AAAA,EACjC;AAEA,SAAO,SAAS;AAClB;AAGO,SAAS,cAAiB,OAAqB,MAAmB;AACvE,QAAM,MAAM,gBAAgB,mBAAmB,IAAI,CAAC;AACpD,QAAM,SAAS,CAAC,GAAG,KAAK;AAExB,WAAS,IAAI,OAAO,SAAS,GAAG,IAAI,GAAG,KAAK;AAC1C,UAAM,IAAI,KAAK,MAAM,IAAI,KAAK,IAAI,EAAE;AACpC,KAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAAA,EAChD;AAEA,SAAO;AACT;AAEA,SAAS,YAAY,OAAc,OAAsB;AACvD,SAAO,MAAM,KAAK,OAAO,KAAK;AAChC;AAEO,SAAS,sBAAsB,WAI7B;AACP,QAAM,EAAE,WAAW,QAAQ,IAAI,UAAU,WAAW;AACpD,QAAM,EAAE,kBAAkB,UAAU,IAAI,UAAU;AAElD,QAAM,QAAQ,aAAa;AAC3B,QAAM,QAAQ,aAAa,SAAS;AACpC,QAAM,MAAM,aAAa,OAAO;AAGhC,MAAI,MAAM,SAAS,KAAK,GAAG;AACzB,WAAO;AAAA,EACT;AAEA,QAAM,qBAAqB;AAAA,IACzB;AAAA,IACA,MAAM,YAAY;AAAA,EACpB;AAEA,QAAM,QAAQ,YAAY,OAAO,KAAK;AAGtC,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,iBAAiB;AAAA,IACnB;AAAA,EACF;AAGA,MACE,QAAQ,KACR,SAAS,iBAAiB,UAC1B,SAAS,mBAAmB,QAC5B;AACA,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,iBAAiB,KAAK;AAC1C,QAAM,YAAY,mBAAmB,KAAK;AAE1C,MAAI,CAAC,eAAe,CAAC,UAAW,QAAO;AAEvC,QAAM,yBAAyB,aAAa,CAAC,GAAG,SAAS,WAAW;AAGpE,MAAI,uBAAuB;AACzB,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,iBAAiB;AAAA,IACnB;AAAA,EACF;AAGA,SAAO;AAAA,IACL,YAAY,UAAU;AAAA,IACtB,cAAc;AAAA,IACd,iBAAiB,UAAU;AAAA,EAC7B;AACF;;;ACpHO,IAAM,4BAA4B;AAClC,IAAM,6BAA6B;AAOnC,IAAM,kCAAkC;AAExC,IAAM,gCAAgC;AAAA,EAC3C;AAAA,EACA;AACF;AAKO,SAAS,4BACd,cAC2C;AAC3C,SAAQ,8BAAoD;AAAA,IAC1D;AAAA,EACF;AACF;;;ACTO,IAAM,qBAAqB;AAG3B,IAAM,sBAAsB;AAG5B,IAAM,iBAAiB;AAGvB,IAAM,sBAAsB;AAE5B,IAAM,qCAAqC,GAAG,mBAAmB;AAGjE,IAAM,uBAAuB;AAE7B,IAAM,qCAAqC,GAAG,oBAAoB;AAGlE,IAAM,kBAAkB;AAExB,IAAM,6BAA6B,GAAG,eAAe;AAGrD,IAAM,2BAA2B;AAGjC,IAAM,wBAAwB;AAG9B,IAAM,0BAA0B,GAAG,oBAAoB;AAGvD,IAAM,sBAAsB;AAE5B,IAAM,mCAAmC,GAAG,mBAAmB;AAG/D,IAAM,mBAAmB;AAGzB,IAAM,0BAA0B,GAAG,gBAAgB;AAGnD,IAAM,oBAAoB;AAG1B,IAAM,2BAA2B,GAAG,iBAAiB;AAGrD,IAAM,mBAAmB;AAGzB,IAAM,oCAAoC,GAAG,gBAAgB;AAG7D,IAAM,uBAAuB;AAE7B,IAAM,yBAAyB,GAAG,cAAc;AAEhD,IAAM,uBAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AACF;AASO,IAAM,uBAA0D;AAAA,EACrE,CAAC,0BAA0B,GAAG;AAAA,EAC9B,CAAC,yBAAyB,GAAG;AAAA,EAC7B,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,aAAa;AAAA,EACb,WAAW;AAAA,EACX,QAAQ;AACV;AAEO,SAAS,wBACd,cACuC;AACvC,SAAQ,0BAAgD;AAAA,IACtD;AAAA,EACF;AACF;;;ACnHO,IAAM,kCAAkC;AAMxC,IAAM,4BAA4B;AAGlC,SAAS,+BACd,UACQ;AACR,SAAO,SACJ,IAAI,CAAC,YAAa,OAAO,YAAY,WAAW,QAAQ,KAAK,IAAI,EAAG,EACpE,OAAO,CAAC,YAA+B,QAAQ,SAAS,CAAC,EACzD,IAAI,CAAC,YAAY,QAAQ,QAAQ,OAAO,yBAAyB,CAAC,EAClE,KAAK,yBAAyB;AACnC;AAEO,SAAS,6BACd,UACQ;AACR,SAAO,SACJ,OAAO,CAAC,YAA+B,QAAQ,OAAO,CAAC,EACvD,KAAK,+BAA+B;AACzC;AAGO,SAAS,wBAAwB,aAA6B;AACnE,QAAM,UAAU,YAAY,KAAK;AACjC,MAAI,QAAQ,WAAW,oBAAoB,GAAG;AAC5C,WAAO;AAAA,EACT;AACA,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AACA,SAAO,6BAA6B,CAAC,sBAAsB,OAAO,CAAC;AACrE;;;AC3BA,IAAM,qBAAqB;AAEpB,SAAS,mBAAmB,OAA0C;AAC3E,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACT;AACA,SAAO,MACJ,KAAK,EACL,MAAM,IAAI,EACV,IAAI,CAAC,SAAS;AACb,UAAM,UAAU,mBAAmB,KAAK,IAAI,IAAI,CAAC,KAAK;AACtD,UAAM,OAAO,KACV,MAAM,QAAQ,MAAM,EACpB,KAAK,EACL,QAAQ,cAAc,GAAG;AAC5B,WAAO,UAAU;AAAA,EACnB,CAAC,EACA,KAAK,IAAI,EACT,QAAQ,WAAW,MAAM;AAC9B;AAKO,SAAS,mCACd,YAC6B;AAC7B,SAAO;AACT;AAMO,SAAS,0BAA0B,OAI7B;AACX,QAAM,QAAQ,mBAAmB,MAAM,KAAK;AAC5C,QAAM,cAAc,mBAAmB,MAAM,WAAW;AAExD,SAAO,CAAC,sBAAsB,OAAO,WAAW,EAAE;AAAA,IAChD,CAAC,YAAY,QAAQ,SAAS;AAAA,EAChC;AACF;AAEO,SAAS,8BAA8B,OAAyB;AACrE,QAAM,UAAU,mBAAmB,KAAK;AACxC,MAAI,CAAC,SAAS;AACZ,WAAO,CAAC;AAAA,EACV;AAEA,MAAI,OAAO,KAAK,OAAO,GAAG;AACxB,WAAO,QACJ,MAAM,OAAO,EACb,IAAI,CAAC,YAAY,mBAAmB,OAAO,CAAC,EAC5C,OAAO,CAAC,YAAY,QAAQ,SAAS,CAAC;AAAA,EAC3C;AAEA,MAAI,KAAK,KAAK,OAAO,GAAG;AACtB,WAAO,QACJ,MAAM,KAAK,EACX,IAAI,CAAC,YAAY,mBAAmB,OAAO,CAAC,EAC5C,OAAO,CAAC,YAAY,QAAQ,SAAS,CAAC;AAAA,EAC3C;AAEA,SAAO,CAAC,OAAO;AACjB;AAMO,SAAS,4BAA4B,OAAuB;AACjE,SAAO,+BAA+B,8BAA8B,KAAK,CAAC;AAC5E;AAQO,SAAS,wBACd,OACA,aACA,WACoB;AACpB,QAAM,WAAW,0BAA0B,EAAE,aAAa,WAAW,MAAM,CAAC;AAC5E,QAAM,QAAQ,SAAS,KAAK,+BAA+B,EAAE,KAAK;AAClE,SAAO,MAAM,SAAS,IAAI,QAAQ;AACpC;AAMO,SAAS,oCACd,UACQ;AACR,SAAO,+BAA+B,QAAQ;AAChD;AAGO,SAAS,wBACd,QACA,aACQ;AACR,SAAO;AAAA,IACL,8BAA8B,WAAW;AAAA,EAC3C;AACF;AAMO,SAAS,iCAAiC,MAAsB;AACrE,QAAM,QAAQ;AACd,QAAM,SAAS,KACZ,QAAQ,+BAA+B,EAAE,EACzC,QAAQ,OAAO,EAAE;AACpB,SAAO,OAAO,KAAK;AACrB;;;AC/HO,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,cAAW;AACX,EAAAA,sBAAA,oBAAiB;AAFP,SAAAA;AAAA,GAAA;;;ACaL,IAAM,oBAAoB;;;ACnB1B,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,mBAAgB;AAChB,EAAAA,cAAA,kBAAe;AAJL,SAAAA;AAAA,GAAA;AAOL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,aAAU;AAHA,SAAAA;AAAA,GAAA;AAML,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,eAAY;AACZ,EAAAA,YAAA,UAAO;AAFG,SAAAA;AAAA,GAAA;AAKL,IAAK,cAAL,kBAAKC,iBAAL;AACL,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,UAAO;AAFG,SAAAA;AAAA,GAAA;;;ACdL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,UAAO;AALG,SAAAA;AAAA,GAAA;;;ACCL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,kBAAe;AACf,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,kBAAe;AAHL,SAAAA;AAAA,GAAA;AAML,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,WAAQ;AACR,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,WAAQ;AALE,SAAAA;AAAA,GAAA;;;ACKL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,sBAAmB;AACnB,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,kBAAe;AAJL,SAAAA;AAAA,GAAA;;;ACpBL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,iBAAc;AAHJ,SAAAA;AAAA,GAAA;AAWL,IAAM,wBAAsD;AAAA,EACjE,CAAC,4BAAuB,GAAG;AAAA,EAC3B,CAAC,0BAAsB,GAAG;AAAA,EAC1B,CAAC,6BAAwB,GAAG;AAC9B;;;ACZO,IAAM,oBAAoB,CAAC,YAAY,OAAO,UAAU;AAMxD,IAAM,sBAA4C;AAAA,EACvD,KAAK;AAAA;AAAA,EAEL,UAAU;AAAA,EACV,UAAU;AACZ;AAGO,IAAM,oBAAmD;AAAA,EAC9D,4BAA0B,GAAG;AAAA,EAC7B,sCAA+B,GAAG;AAAA,EAClC,wCAAgC,GAAG;AAAA,EACnC,8BAA2B,GAAG;AAAA,EAC9B,sCAA+B,GAAG;AAAA,EAClC,0CAAiC,GAAG;AAAA,EACpC,wCAAgC,GAAG;AAAA,EACnC,8CAAmC,GAAG;AAAA,EACtC,wCAAgC,GAAG;AACrC;;;AChBO,IAAK,+BAAL,kBAAKC,kCAAL;AACL,EAAAA,8BAAA,gBAAa;AACb,EAAAA,8BAAA,iBAAc;AACd,EAAAA,8BAAA,aAAU;AAHA,SAAAA;AAAA,GAAA;AA6BL,IAAK,0BAAL,kBAAKC,6BAAL;AACL,EAAAA,yBAAA,4CAAyC;AACzC,EAAAA,yBAAA,gCAA6B;AAC7B,EAAAA,yBAAA,oCAAiC;AACjC,EAAAA,yBAAA,yCAAsC;AACtC,EAAAA,yBAAA,4BAAyB;AACzB,EAAAA,yBAAA,6BAA0B;AANhB,SAAAA;AAAA,GAAA;;;ACrBL,IAAM,iBAAiB,CAAC,QAAkB;AAE/C,MAAI,eAAe,MAAM;AACvB,WAAO;AAAA,EACT;AAGA,MAAI,eAAe,MAAM;AACvB,WAAO;AAAA,EACT;AAGA,MAAI,gBAAgB,GAAG,GAAG;AACxB,WAAO;AAAA,EACT;AAGA,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO,IAAI,IAAI,cAAc;AAAA,EAC/B;AAGA,MAAI,QAAQ,QAAQ,OAAO,QAAQ,UAAU;AAC3C,UAAM,EAAE,YAAY,GAAG,WAAW,IAAI;AAEtC,WAAO,OAAO,KAAK,UAAU,EAAE,OAAO,CAAC,KAAU,QAAQ;AACvD,UAAI,GAAG,IAAI,eAAe,WAAW,GAAG,CAAC;AACzC,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,EACP;AAGA,SAAO;AACT;AAQO,IAAM,eAAe,CAAC,MAAc,YAAoB,OAAe;AAC5E,QAAM,SAAS,iCAAiC,IAAI;AACpD,SAAO,OAAO,SAAS,YACnB,OAAO,UAAU,GAAG,SAAS,IAAI,QACjC;AACN;AAEO,IAAM,wBAAwB,CAAC,QAAwB;AAC5D,SAAO,IACJ,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,YAAY,IAAI,KAAK,MAAM,CAAC,EAAE,YAAY,CAAC,EACxE,KAAK,GAAG;AACb;AAEO,IAAM,gBAAgB;AAAA,EAC3B,GAAG,OAAO,OAAO,gBAAgB,EAC9B,IAAI,CAAC,YAAY;AAAA,IAChB,OAAO;AAAA,IACP,OAAO;AAAA,EACT,EAAE,EACD,KAAK,CAAC,GAAG,MAAM,EAAE,MAAM,cAAc,EAAE,KAAK,CAAC;AAAA;AAClD;AAEO,IAAM,uBAAuB,OAAO,OAAO,WAAW;AACtD,IAAM,yBACX,kBAAkB,oBAAoB;AAEjC,IAAM,uBAAqC;AAAA,EAChD,OAAO,OAAO,iBAAiB;AACjC;AAEO,SAAS,aAAa,KAAqB;AAChD,QAAM,eACJ,CAAC,IAAI,WAAW,SAAS,KAAK,CAAC,IAAI,WAAW,UAAU,IACpD,WAAW,GAAG,KACd;AACN,SAAO,aAAa,QAAQ,QAAQ,EAAE;AACxC;AAEO,IAAM,mBAAoD;AAAA,EAC/D,4BAA0B,GAAG;AAAA,EAC7B,8BAA2B,GAAG;AAAA,EAC9B,sCAA+B,GAAG;AAAA,EAClC,wCAAgC,GAAG;AAAA,EACnC,sCAA+B,GAAG;AAAA,EAClC,wCAAgC,GAAG;AAAA,EACnC,0CAAiC,GAAG;AAAA,EACpC,8CAAmC,GAAG;AAAA,EACtC,wCAAgC,GAAG;AACrC;AAEO,IAAM,sBAAyC;AAAA,EACpD;AAAA,IACE,MAAM;AAAA,IACN;AAAA,EACF;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN;AAAA,EACF;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN;AAAA,EACF;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN;AAAA,EACF;AACF;AAEO,IAAM,UAAU;AAChB,IAAM,cACX;AAEK,IAAM,iCAAiC;AACvC,IAAM,kCAAkC;AACxC,IAAM,2BAA2B;AAEjC,IAAM,kBAGT;AAAA,EACF,wCAA2B,GAAG;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,gDAA+B,GAAG;AAAA,IAChC,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,8CAA8B,GAAG;AAAA,IAC/B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;AAEO,IAAM,iBAA+C;AAAA,EAC1D,kCAA0B,GAAG;AAAA,EAC7B,8BAAwB,GAAG;AAAA,EAC3B,kCAA0B,GAAG;AAC/B;AAGO,IAAM,uBAAuB,GAAG,iBAAiB;AAGjD,IAAM,0BAA0B,GAAG,iBAAiB;AAEpD,SAAS,oBAAoB,OAAuB;AAEzD,QAAM,aAAa,MAAM,WAAW,OAAO,EAAE;AAG7C,QAAM,QAAQ,CAAC;AACf,MAAI,WAAW,SAAS,EAAG,OAAM,KAAK,WAAW,MAAM,GAAG,CAAC,CAAC;AAC5D,MAAI,WAAW,SAAS,EAAG,OAAM,KAAK,WAAW,MAAM,GAAG,CAAC,CAAC;AAC5D,MAAI,WAAW,SAAS,EAAG,OAAM,KAAK,WAAW,MAAM,GAAG,EAAE,CAAC;AAC7D,MAAI,WAAW,SAAS,GAAI,OAAM,KAAK,WAAW,MAAM,IAAI,EAAE,CAAC;AAE/D,SAAO,MAAM,KAAK,GAAG;AACvB;;;AClKO,SAAS,2BACd,OACS;AACT,MAAI,OAAO,UAAU,MAAM;AACzB,WAAO,MAAM;AAAA,EACf;AAEA,SAAO;AACT;AAEO,SAAS,uBACd,OACmB;AACnB,SAAO;AAAA,IACL,QAAQ,2BAA2B,KAAK;AAAA,IACxC,QAAQ,OAAO,UAAU;AAAA,IACzB,OAAO,OAAO,SAAS;AAAA,EACzB;AACF;AAEO,SAAS,sBACd,OACS;AACT,SAAO,2BAA2B,KAAK;AACzC;;;AC1CO,IAAM,2BAA2B;AACjC,IAAM,2BAA2B;;;ACEjC,IAAM,+BAET;AAAA,EACF,oBAA0B,GAAG;AAAA;AAAA;AAAA;AAAA,EAI7B;AAAA,EACA,4BAA8B,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjC;AACF;AAEO,SAAS,4BACd,QACuB;AACvB,SAAO,6BAA6B,MAAM,KAAK,CAAC,MAAM;AACxD;AAEO,SAAS,6BACd,UACA,QACS;AACT,QAAM,kBAAkB,4BAA4B,MAAM;AAE1D,SACE,UAAU,KAAK,CAAC,OAAO,gBAAgB,SAAS,GAAG,UAAU,CAAC,KAAK;AAEvE;AAEO,SAAS,+BAEd,QAAa,QAAkC;AAC/C,SAAO,OAAO;AAAA,IAAO,CAAC,UACpB,6BAA6B,MAAM,UAAU,MAAM;AAAA,EACrD;AACF;;;AC3CA,OAAOC,YAAW;AAaX,IAAM,gCAAgC,oBAAI,IAAyB;AAAA;AAAA;AAAA;AAI1E,CAAC;AAcM,SAAS,kBAAkB,WAAkC;AAClE,QAAM,YAAYC,OAAM,WAAW,UAAU,EAAE,OAAO,YAAY;AAElE,SAAOA,OAAM,WAAW,cAAc,IAAI,EAAE,QAAQ,IAAI,YAAY;AACtE;AAEO,SAAS,oBAAoB,SAAyB;AAC3D,SAAOA,OAAM,SAAS,YAAY,EAAE,OAAO,UAAU;AACvD;AAEO,SAAS,yBACd,WACU;AACV,SACE,WACI,IAAI,CAAC,aAAa,kBAAkB,SAAS,SAAS,CAAC,EACxD,OAAO,CAAC,SAAyB,QAAQ,IAAI,CAAC,KAAK,CAAC;AAE3D;AAEO,SAAS,2BACd,WACA,SACqB;AACrB,QAAM,WAAW,oBAAoB,OAAO;AAE5C,SAAO,WAAW,KAAK,CAAC,aAAa,SAAS,cAAc,QAAQ,KAAK;AAC3E;AAEO,SAAS,8BACd,WACA,SACA,UACA,YACA,cACiC;AACjC,QAAM,WAAW,2BAA2B,WAAW,OAAO;AAE9D,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,2BACd,QACyB;AACzB,UAAQ,QAAQ;AAAA,IACd;AACE,aAAO;AAAA,IACT;AACE,aAAO;AAAA,IACT;AACE,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,mCACd,UACiC;AACjC,SAAO;AAAA,IACL,QAAQ,SAAS;AAAA,IACjB,aAAa,SAAS,WAAW,WAAW,KAAK,GAAG,EAAE,YAAY;AAAA,IAClE,MAAM,2BAA2B,SAAS,UAAU;AAAA,EACtD;AACF;AAEO,SAAS,4BACd,UACA,uBACe;AACf,QAAM,EAAE,YAAY,OAAO,IAAI;AAC/B,QAAM,gBAAgB;AAAA,IACpB,UAAU,8BAA8B,IAAI,MAAM;AAAA,EACpD;AAEA,MAAI,yBAAyB,CAAC,eAAe;AAC3C,WAAO;AAAA,EACT;AAEA,SAAO,gBACH,OAAO,WAAW,KAAK,GAAG,EAAE,YAAY,IACxC,oBAAoB,WAAW,SAAS,WAAW,MAAM,CAAC;AAChE;AAEO,SAAS,kCACd,cACA,UACA,UACS;AACT,SACE,wCACA,QAAQ,QAAQ,KAChB,QAAQ,UAAU,UAAU,KAC5B,CAAC;AAAA;AAAA;AAAA;AAAA,EAID,EAAE,SAAS,SAAS,UAAU;AAElC;;;ACxIO,IAAM,qBAAiC;AAAA,EAC5C;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACnGO,IAAM,2BAAuC;AAAA,EAClD;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AC/EO,IAAM,mBAA+B;AAAA,EAC1C;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACpLO,IAAM,2BAAuC;AAAA,EAClD;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AC9JO,IAAM,oBAAgC;AAAA,EAC3C;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACnEO,IAAM,sBAAkC;AAAA,EAC7C;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AC3FO,IAAM,4BAAwC;AAAA,EACnD;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACpFO,IAAM,uBAAmC;AAAA,EAC9C;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACvGO,IAAM,eAA2B;AAAA,EACtC;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACzEO,IAAM,oBAAgC;AAAA,EAC3C;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACtFO,IAAM,iBAAyC;AAAA,EACpD,oBAAoB;AAAA,EACpB,0BAA0B;AAAA,EAC1B,kBAAkB;AAAA,EAClB,2BAA2B;AAAA,EAC3B,mBAAmB;AAAA,EACnB,+BAA+B;AAAA,EAC/B,6BAA6B;AAAA,EAC7B,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,mBAAmB;AACrB;AAEA,IAAM,0BAA0B,CAAC,eAAuC;AACtE,QAAM,SAAS,WAAW,IAAI,CAAC,cAAc;AAAA,IAC3C,GAAG;AAAA,IACH,OAAO,eAAe,SAAS,EAAE;AAAA,EACnC,EAAE;AACF,SAAO;AACT;AAEO,IAAM,sBAAsB,wBAAwB;AAAA,EACzD,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL,CAAC;;;AChCM,SAAS,mBACd,UACa;AACb,SAAO,IAAI,KAAK,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;AAC/D;AAEO,SAAS,qBACd,kBACA,iBACS;AACT,SAAO,iBAAiB,KAAK,CAAC,cAAc,gBAAgB,IAAI,SAAS,CAAC;AAC5E;AAEO,SAAS,oBACd,kBACA,cACS;AACT,MAAI,CAAC,cAAc;AACjB,WAAO;AAAA,EACT;AAEA,SAAO,iBAAiB,SAAS,YAAY;AAC/C;AAEO,SAAS,gBACd,eACA,kBACS;AACT,MAAI,CAAC,kBAAkB;AACrB,WAAO;AAAA,EACT;AAEA,SAAO,cAAc,SAAS,gBAAgB;AAChD;AAEO,SAAS,8BAA8B,QAA8B;AAC1E,QAAM,YAAY,OAAO,aAAa,CAAC;AAEvC,SAAO,UAAU;AAAA,IAAQ,CAAC,cACvB,SAAS,iBAAiB,CAAC,GAAG;AAAA,MAC7B,CAAC,iBAAmC,aAAa,SAAS;AAAA,IAC5D;AAAA,EACF;AACF;AAEO,SAAS,iCAAiC,QAA8B;AAC7E,UAAQ,OAAO,cAAc,CAAC,GAAG,IAAI,CAAC,aAAa,SAAS,IAAI;AAClE;AAEO,SAAS,gCACd,QACU;AACV,UAAQ,OAAO,eAAe,CAAC,GAAG;AAAA,IAAQ,CAAC,eACzC,WAAW,SAAS,IAAI,CAAC,SAAS,KAAK,SAAS;AAAA,EAClD;AACF;AAEO,SAAS,mCACd,QACU;AACV,SAAO,oBACJ;AAAA,IACC,CAAC,aAAa,SAAS,MAAM,OAAO,YAAY,SAAS,SAAS,EAAE;AAAA,EACtE,EACC,IAAI,CAAC,aAAa,SAAS,IAAI;AACpC;AAEO,SAAS,gCACd,SACA,iBACA,cACA,kBACc;AACd,MAAI,CAAC,SAAS;AACZ,WAAO,CAAC;AAAA,EACV;AAEA,SAAO,QAAQ,OAAO,CAAC,WAAW;AAChC,UAAM,aAAa,8BAA8B,MAAM;AAEvD,WACE,qBAAqB,YAAY,eAAe,KAChD,oBAAoB,YAAY,YAAY,KAC5C;AAAA,MACE,iCAAiC,MAAM;AAAA,MACvC;AAAA,IACF;AAAA,EAEJ,CAAC;AACH;AAEO,SAAS,kCACd,SACA,iBACA,cACA,kBAC0B;AAC1B,SAAO,QAAQ,OAAO,CAAC,WAAW;AAChC,UAAM,aAAa,gCAAgC,MAAM;AAEzD,WACE,qBAAqB,YAAY,eAAe,KAChD,oBAAoB,YAAY,YAAY,KAC5C;AAAA,MACE,mCAAmC,MAAM;AAAA,MACzC;AAAA,IACF;AAAA,EAEJ,CAAC;AACH;AAEO,SAAS,wCACd,SACA,iBACc;AACd,MAAI,CAAC,SAAS;AACZ,WAAO,CAAC;AAAA,EACV;AAEA,SAAO,QAAQ;AAAA,IAAO,CAAC,WACrB;AAAA,MACE,8BAA8B,MAAM;AAAA,MACpC;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,0CACd,SACA,iBAC0B;AAC1B,SAAO,QAAQ;AAAA,IAAO,CAAC,WACrB;AAAA,MACE,gCAAgC,MAAM;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,6BACd,mBACA,sBAAgD,CAAC,GACvC;AACV,SAAO;AAAA,IACL,GAAG,kBAAkB,QAAQ,6BAA6B;AAAA,IAC1D,GAAG,oBAAoB,QAAQ,+BAA+B;AAAA,EAChE;AACF;AAEO,SAAS,8BACd,eACA,uBACgB;AAChB,MAAI,CAAC,eAAe,QAAQ;AAC1B,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,aAAa,IAAI,IAAI,qBAAqB;AAEhD,SAAO;AAAA,IACL,cAAc,OAAO,CAAC,SAAS,WAAW,IAAI,KAAK,SAAS,CAAC;AAAA,EAC/D;AACF;AAEO,SAAS,4BACd,mBACA,sBAAgD,CAAC,GACvC;AACV,QAAM,QAAQ;AAAA,IACZ,GAAG,kBAAkB,QAAQ,gCAAgC;AAAA,IAC7D,GAAG,oBAAoB,QAAQ,kCAAkC;AAAA,EACnE;AAEA,SAAO,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC;AAClC;AAEO,SAAS,8BACd,mBACA,sBAAgD,CAAC,GACtB;AAC3B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF,EAAE,IAAI,CAAC,UAAU;AAAA,IACf,OAAO;AAAA,IACP,OAAO;AAAA,EACT,EAAE;AACJ;AAEO,SAAS,gCACd,4BACA,cACQ;AACR,SAAO,8BAA8B,eACjC,+CACA;AACN;;;ACzMO,SAAS,wBACd,UACA,cACS;AACT,SACE,SAAS,eAAe;AAAA,IACtB,CAAC,SAA2B,KAAK,SAAS,cAAc;AAAA,EAC1D,KAAK;AAET;AAEO,SAAS,qBACd,OACA,cACS;AACT,SACE,MAAM,WAAW;AAAA,IAAK,CAAC,aACrB,wBAAwB,UAAU,YAAY;AAAA,EAChD,KAAK;AAET;AAEO,SAAS,iCACd,QACA,cACqB;AACrB,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AAEA,MAAI,CAAC,cAAc;AACjB,WAAO;AAAA,EACT;AAEA,SAAO,OAAO,OAAO,CAAC,UAAU,qBAAqB,OAAO,YAAY,CAAC;AAC3E;AAEO,SAAS,oCACd,QACgB;AAChB,MAAI,CAAC,QAAQ,QAAQ;AACnB,WAAO,CAAC;AAAA,EACV;AAEA,SAAO,OAAO;AAAA,IAAQ,CAAC,WACpB,MAAM,aAAa,CAAC,GAAG;AAAA,MAAQ,CAAC,cAC9B,SAAS,iBAAiB,CAAC,GAAG;AAAA,QAC7B,CAAC,iBAAiB,aAAa;AAAA,MACjC;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,iCACd,QACU;AACV,QAAM,cAAc;AAAA,IAClB,oCAAoC,MAAM;AAAA,EAC5C;AACA,QAAM,mBAA6B,CAAC;AAEpC,aAAW,YAAY,aAAa;AAClC,QAAI,CAAC,iBAAiB,SAAS,SAAS,SAAS,GAAG;AAClD,uBAAiB,KAAK,SAAS,SAAS;AAAA,IAC1C;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,kCACd,QAC2B;AAC3B,SAAO,iCAAiC,MAAM,EAAE,IAAI,CAAC,eAAe;AAAA,IAClE,OAAO;AAAA,IACP,OAAO;AAAA,EACT,EAAE;AACJ;AAEO,SAAS,8BAAsC;AACpD,SAAO;AACT;;;ACnFO,IAAM,oCAAoC;AAAA,EAC/C,8BAAwC,GAAG;AAAA,EAC3C,gCAAyC,GAAG;AAAA,EAC5C,wBAAqC,GAAG;AAC1C;AAOO,IAAM,oBAAoB;AAAA,EAC/B,sDAA+C,GAAG;AAAA,IAChD,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,wDAAgD,GAAG;AAAA,IACjD,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,sEAAuD,GAAG;AAAA,IACxD,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,gFAA4D,GAAG;AAAA,IAC7D,aACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA,8DAAmD,GAAG;AAAA,IACpD,aACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA,sFAA+D,GAAG;AAAA,IAChE,aACE;AAAA,IACF,OAAO;AAAA,EACT;AACF;AAWO,SAAS,sBACd,YACA,WACqB;AACrB,QAAM,SAAS,kBAAkB,UAAU;AAE3C,SAAO;AAAA,IACL;AAAA,IACA,YAAY;AAAA,IACZ,mBAAmB,OAAO;AAAA,IAC1B;AAAA,IACA,aAAa,OAAO;AAAA,EACtB;AACF;;;AC9DA,IAAM,kBAAkB,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC/C,IAAM,oBAAoB,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEjD,IAAM,UAAU;AAEhB,IAAM,UAAU;AAEhB,SAAS,oBACP,YACA,SACQ;AACR,QAAM,MAAM,CAAC,GAAG,UAAU,EAAE;AAAA,IAC1B,CAAC,KAAK,OAAO,UAAU,MAAM,OAAO,KAAK,IAAI,QAAQ,KAAK;AAAA,IAC1D;AAAA,EACF;AACA,QAAM,YAAY,MAAM;AACxB,SAAO,cAAc,IAAI,IAAI,KAAK;AACpC;AAGO,SAAS,mBAAmB,OAAuB;AACxD,SAAO,MAAM,QAAQ,OAAO,EAAE;AAChC;AAMO,SAAS,gBAAgB,OAAuB;AACrD,QAAM,aAAa,mBAAmB,KAAK,EAAE,MAAM,GAAG,CAAC;AAEvD,QAAM,QAAQ,CAAC;AACf,MAAI,WAAW,SAAS,EAAG,OAAM,KAAK,WAAW,MAAM,GAAG,CAAC,CAAC;AAC5D,MAAI,WAAW,SAAS,EAAG,OAAM,KAAK,WAAW,MAAM,GAAG,CAAC,CAAC;AAC5D,MAAI,WAAW,SAAS,EAAG,OAAM,KAAK,WAAW,MAAM,GAAG,CAAC,CAAC;AAE5D,SAAO,MAAM,KAAK,GAAG;AACvB;AAMO,SAAS,iBAAiB,OAAwB;AACvD,QAAM,SAAS,mBAAmB,KAAK;AAEvC,MAAI,CAAC,YAAY,KAAK,MAAM,GAAG;AAC7B,WAAO;AAAA,EACT;AAEA,QAAM,MAAM,OAAO,MAAM;AACzB,MAAI,MAAM,WAAW,MAAM,SAAS;AAClC,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,OAAO,SAAS,GAAG,GAAG;AACrC,QAAM,aAAa,OAAO,MAAM,GAAG,EAAE;AACrC,QAAM,aAAa,OAAO,OAAO,MAAM,EAAE,CAAC;AAE1C,MAAI,aAAa,oBAAoB,YAAY,eAAe;AAChE,MAAI,eAAe,IAAI;AACrB,iBAAa,oBAAoB,YAAY,iBAAiB;AAC9D,QAAI,eAAe,IAAI;AACrB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO,eAAe;AACxB;;;AC3EA,IAAM,6BAA6B;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,oBAAoB,KAAsB;AACjD,MAAI,eAAe,MAAO,QAAO,IAAI;AACrC,MAAI,OAAO,QAAQ,SAAU,QAAO;AACpC,MAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,UAAM,MAAM;AACZ,QAAI,OAAO,IAAI,YAAY,SAAU,QAAO,IAAI;AAChD,QAAI,IAAI,aAAc,QAAO,oBAAoB,IAAI,YAAY;AACjE,QAAI;AACF,aAAO,KAAK,UAAU,GAAG;AAAA,IAC3B,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AACA,MAAI,OAAO,KAAM,QAAO;AACxB,MACE,OAAO,QAAQ,YACf,OAAO,QAAQ,aACf,OAAO,QAAQ,UACf;AACA,WAAO,OAAO,GAAG;AAAA,EACnB;AACA,MAAI,OAAO,QAAQ,SAAU,QAAO,IAAI,SAAS;AACjD,SAAO;AACT;AAGO,SAAS,wBAAwB,KAAuB;AAC7D,QAAM,UAAU,oBAAoB,GAAG;AACvC,SAAO,2BAA2B,KAAK,CAAC,YAAY,QAAQ,KAAK,OAAO,CAAC;AAC3E;;;AC3CO,IAAM,4BACX;AAEK,IAAM,4BACX;AAGF,IAAM,0BAA0B;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,uBAAuB,SAA0B;AAC/D,SAAO,wBAAwB,KAAK,CAAC,YAAY,QAAQ,KAAK,OAAO,CAAC;AACxE;AAMO,SAAS,yBACd,OACA,WAAW,2BACH;AACR,QAAM,WAAW,SAAS,IAAI,KAAK;AACnC,MAAI,CAAC,QAAS,QAAO;AAErB,MAAI,wBAAwB,OAAO,GAAG;AACpC,WAAO;AAAA,EACT;AAEA,MAAI,uBAAuB,OAAO,GAAG;AACnC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,gBACd,OACA,WAAW,2BACH;AACR,MAAI;AACJ,MAAI,iBAAiB,OAAO;AAC1B,UAAM,MAAM;AAAA,EACd,WAAW,OAAO,UAAU,UAAU;AACpC,UAAM;AAAA,EACR;AAEA,SAAO,yBAAyB,KAAK,QAAQ;AAC/C;;;ACxDO,IAAM,oBAGT;AAAA,EACF,SAAS;AAAA,IACP,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,eAGT;AAAA,EACF,SAAS;AAAA,IACP,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,cAGT;AAAA,EACF,SAAS;AAAA,IACP,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,mBAGT;AAAA,EACF,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,kBAGT;AAAA,EACF,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,kBAA6B;AAAA,EACxC,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,aAAa;AACf;AAEO,IAAM,mBAA8B;AAAA,EACzC,YACE;AAAA,EACF,MAAM;AAAA,EACN,aAAa;AACf;AAEO,IAAM,oBAA+B;AAAA,EAC1C,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,aAAa;AACf;AAEO,IAAM,mBAAgC;AAAA,EAC3C;AAAA,IACE,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEA,IAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,mBAAiC,kBAAkB,cAAc;AACvE,IAAM,qBACX,kBAAkB,gBAAgB;AAC7B,IAAM,qBAAmC,OAAO;AAAA,EACrD;AACF,EAAE,IAAI,CAAC,aAAa;AAAA,EAClB,OAAO,QAAQ,WAAW,KAAK,GAAG;AAAA,EAClC,OAAO;AACT,EAAE;;;AC/IK,IAAM,uBAAoC;AAAA,EAC/C;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YACE;AAAA,IACF,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,uBAAwC;AAAA,EACnD;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,qBAAsC;AAAA,EACjD;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,oBAAoB;AAAA,EAC/B,EAAE,MAAM,2BAA2B,OAAO,WAAW;AAAA,EACrD,EAAE,MAAM,iBAAiB,OAAO,aAAa;AAAA,EAC7C,EAAE,MAAM,iBAAiB,OAAO,kBAAkB;AAAA,EAClD,EAAE,MAAM,kBAAkB,OAAO,aAAa;AAAA,EAC9C,EAAE,MAAM,aAAa,OAAO,gBAAgB;AAAA,EAC5C,EAAE,MAAM,SAAS,OAAO,aAAa;AAAA,EACrC,EAAE,MAAM,OAAO,OAAO,cAAc;AAAA,EACpC,EAAE,MAAM,SAAS,OAAO,kBAAkB;AAAA,EAC1C,EAAE,MAAM,SAAS,OAAO,qBAAqB;AAAA,EAC7C,EAAE,MAAM,iBAAiB,OAAO,eAAe;AAAA,EAC/C,EAAE,MAAM,QAAQ,OAAO,iBAAiB;AAAA,EACxC,EAAE,MAAM,OAAO,OAAO,oBAAoB;AAAA,EAC1C,EAAE,MAAM,OAAO,OAAO,eAAe;AAAA,EACrC,EAAE,MAAM,cAAc,OAAO,cAAc;AAAA,EAC3C,EAAE,MAAM,UAAU,OAAO,mBAAmB;AAAA,EAC5C,EAAE,MAAM,4BAA4B,OAAO,wBAAwB;AACrE;AAEO,IAAM,aAA2B,kBAAkB,IAAI,CAAC,SAAS;AAAA,EACtE,OAAO,IAAI;AAAA,EACX,OAAO,IAAI;AACb,EAAE;;;AC9EK,IAAM,aAAwB;AAAA,EACnC,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,MAAM;AAAA,EACN,aAAa;AACf;AAEO,IAAM,uBAAoC;AAAA,EAC/C;AAAA,IACE,GAAG;AAAA,IACH,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,2BAAwC;AAAA,EACnD;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;;;ACpCO,IAAM,YAAyB;AAAA,EACpC;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YACE;AAAA,IACF,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,uBAAoC;AAAA,EAC/C,GAAG;AAAA,EACH;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,sBAAqC;AAAA,EAChD;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEA,IAAM,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,mBAAgC,WAAW,IAAI,CAAC,UAAU;AAAA,EACrE,OAAO;AAAA,EACP,OAAO;AAAA,EACP,eAAe;AACjB,EAAE;AAEK,IAAM,sBAAsC;AAAA,EACjD;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;;;ACzRO,IAAM,cAA2B;AAAA,EACtC;AAAA,IACE,GAAG;AAAA,IACH,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,IACV,iBAAiB;AAAA,EACnB;AACF;AAEO,IAAM,iBAA8B;AAAA,EACzC;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,GAAG;AAAA,IACH,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,IACV,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,6BAA0C;AAAA,EACrD;AAAA,IACE,GAAG;AAAA,IACH,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,sBAAmC;AAAA,EAC9C;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,IACV,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,IACV,iBAAiB;AAAA,EACnB;AACF;AAEO,IAAM,kCAA+C;AAAA,EAC1D;AAAA,IACE,GAAG;AAAA,IACH,UAAU;AAAA,IACV,YAAY;AAAA,EACd;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AACF;;;AC3FO,IAAM,gBAA6B;AAAA,EACxC;AAAA,IACE,GAAG;AAAA,IACH,UAAU;AAAA,IACV,YAAY;AAAA,EACd;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,iBAAiB;AAAA,EACnB;AACF;;;AClCA,IAAM,cAAc;AAAA,EAClB;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AACO,IAAM,oBAAiC,YAAY,IAAI,CAAC,UAAU;AAAA,EACvE,YAAY,KAAK;AAAA,EACjB,cAAc;AAAA,EACd,MAAM,KAAK;AAAA,EACX,aAAa,KAAK;AACpB,EAAE;;;ACnCK,IAAM,kBAA+B;AAAA,EAC1C;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,GAAG;AAAA,IACH,YAAY;AAAA,EACd;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;;;AC1BO,IAAM,yBAAsC;AAAA,EACjD;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YACE;AAAA,IACF,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;;;ACrBA,SAAS,OAAAC,YAAW;;;ACApB,SAAS,WAAW;AAEb,IAAM,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrC,IAAM,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrC,IAAM,iCAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQvC,IAAM,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAO9B,IAAM,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAejC,IAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAShC,IAAM,kCAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBxC,IAAM,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUjC,IAAM,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrC,IAAM,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYpC,4BAA4B;AAAA;AAGhC,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgClC,wBAAwB;AAAA;AAGrB,IAAM,kCAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ/C,IAAM,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWxB,IAAM,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA6ChC,8BAA8B;AAAA,IAC9B,+BAA+B;AAAA,IAC/B,6BAA6B;AAAA,IAC7B,uBAAuB;AAAA,IACvB,wBAAwB;AAAA,IACxB,+BAA+B;AAAA,IAC/B,sBAAsB;AAAA;AAGnB,IAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQnC,IAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBnC,0BAA0B;AAAA;AAGvB,IAAM,kCAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQxC,IAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwC3B,wBAAwB;AAAA,IACxB,wBAAwB;AAAA,IACxB,8BAA8B;AAAA,IAC9B,uBAAuB;AAAA;AAGpB,IAAM,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASrC,IAAM,wCAAwC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASjD,8BAA8B;AAAA;;;ADxS3B,IAAM,aAAaC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkCtB,0BAA0B;AAAA;AAGvB,IAAM,QAAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAsEjB,wBAAwB;AAAA,IACxB,wBAAwB;AAAA,IACxB,qBAAqB;AAAA,IACrB,8BAA8B;AAAA,IAC9B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,IAC5B,+BAA+B;AAAA,IAC/B,+BAA+B;AAAA,IAC/B,uBAAuB;AAAA,IACvB,4BAA4B;AAAA,IAC5B,qCAAqC;AAAA;AAGlC,IAAM,aAAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMtB,eAAe;AAAA;AAGZ,IAAM,YAAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMrB,KAAK;AAAA;AAGF,IAAM,wBAAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMjC,eAAe;AAAA;AAGZ,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAchC,eAAe;AAAA;AAGZ,IAAM,gBAAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBzB,eAAe;AAAA;AAGZ,IAAM,qBAAqBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgB9B,eAAe;AAAA;AAGZ,IAAM,iBAAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B,UAAU;AAAA;;;AElOd,SAAS,OAAAC,YAAW;AAiBpB,IAAM,kCAAkCC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUxC,IAAM,sCAAsCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUrC,IAAM,SAASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAuFlB,wBAAwB;AAAA,IACxB,+BAA+B;AAAA,IAC/B,wBAAwB;AAAA,IACxB,qBAAqB;AAAA,IACrB,8BAA8B;AAAA,IAC9B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,IAC5B,mCAAmC;AAAA,IACnC,+BAA+B;AAAA,IAC/B,+BAA+B;AAAA,IAC/B,uBAAuB;AAAA,IACvB,4BAA4B;AAAA,IAC5B,qCAAqC;AAAA;AAGzC,IAAM,6BAA6BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAO5B,IAAM,cAAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAsCvB,0BAA0B;AAAA,IAC1B,8BAA8B;AAAA;AAGlC,IAAM,0CAA0CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAO5C,wBAAwB;AAAA;AAGrB,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgB/B,uCAAuC;AAAA;AAGpC,IAAM,cAAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMvB,MAAM;AAAA;AAGH,IAAM,aAAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMtB,MAAM;AAAA;AAGH,IAAM,wBAAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASjC,MAAM;AAAA;AAGH,IAAM,iBAAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B,MAAM;AAAA;AAGH,IAAM,kBAAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM3B,WAAW;AAAA;AAGR,IAAM,2BAA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpC,mBAAmB;AAAA;AAGhB,IAAM,yCAAyCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMlD,mBAAmB;AAAA;AAGhB,IAAM,0BAA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMnC,mBAAmB;AAAA;;;ACjSvB,SAAS,OAAAC,YAAW;AAcb,IAAM,UAAUC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmDnB,+BAA+B;AAAA,IAC/B,wBAAwB;AAAA,IACxB,qBAAqB;AAAA,IACrB,8BAA8B;AAAA,IAC9B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,IAC5B,+BAA+B;AAAA,IAC/B,4BAA4B;AAAA,IAC5B,qCAAqC;AAAA;AAGlC,IAAM,eAAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMxB,OAAO;AAAA;AAGJ,IAAM,cAAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMvB,OAAO;AAAA;AAGJ,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlC,OAAO;AAAA;AAGJ,IAAM,kBAAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM3B,OAAO;AAAA;;;AChHX,SAAS,OAAAC,YAAW;;;ACApB,SAAS,OAAAC,YAAW;AAEb,IAAM,4BAA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOlC,IAAM,uCAAuCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOhD,yBAAyB;AAAA;AAGtB,IAAM,uCAAuCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBhD,oCAAoC;AAAA;;;ACnCxC,SAAS,OAAAC,YAAW;AAEpB,IAAM,gCAAgCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQtC,IAAM,kCAAkCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQpC,6BAA6B;AAAA;AAGjC,IAAM,2CAA2CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAO1C,IAAM,mCAAmCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM5C,+BAA+B;AAAA;AAG5B,IAAM,mCAAmCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAW5C,gCAAgC;AAAA,IAChC,wCAAwC;AAAA;;;AFxC5C,IAAM,4BAA4BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAe9B,oCAAoC;AAAA,IACpC,gCAAgC;AAAA;AAGpC,IAAM,oCAAoCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAuBtC,8BAA8B;AAAA,IAC9B,yBAAyB;AAAA;AAG7B,IAAM,+BAA+BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQjC,iCAAiC;AAAA;AAGrC,IAAM,gCAAgCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS/B,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA0BhC,4BAA4B;AAAA,IAC5B,8BAA8B;AAAA,IAC9B,6BAA6B;AAAA,IAC7B,qCAAqC;AAAA;AAGlC,IAAM,YAAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMrB,oBAAoB;AAAA;AAGjB,IAAM,WAAWA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpB,oBAAoB;AAAA;AAGjB,IAAM,oBAAoBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM7B,oBAAoB;AAAA;;;AGnIxB,SAAS,OAAAC,YAAW;AAEb,IAAM,oBAAoBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ1B,IAAM,qBAAqBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ3B,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ5B,IAAM,mBAAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AC1BhC,SAAS,OAAAC,YAAW;AAKb,IAAM,2BAA2BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAepC,uBAAuB;AAAA;AAGpB,IAAM,eAAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMxB,wBAAwB;AAAA;AAGrB,IAAM,mCAAmCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM5C,wBAAwB;AAAA;AAGrB,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM/B,wBAAwB;AAAA;AAGrB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMhC,wBAAwB;AAAA;AAGrB,IAAM,2BAA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcpC,MAAM;AAAA,IACN,eAAe;AAAA;;;AC1EnB,SAAS,aAAgC;AAElC,SAAS,qBAAqB,OAA6B;AAChE,SAAO,MAAM,KAAK;AACpB;;;ACJA,SAAS,mBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAEb,IAAM,sCAAsCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa5C,IAAM,gDAAgDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAStD,IAAM,6CAA6CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADZnD,IAAM,6BAA6B,MAAM;AAC9C,QAAM,CAAC,yBAAyB,EAAE,SAAS,MAAM,CAAC,IAAI,YAEnD,qCAAqC;AAAA,IACtC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAClC,YAAMC,2BACJ,gBAAgB,MAAM,yBAAyB;AACjD,YAAM,aAAaA,0BAAyB;AAC5C,YAAM,eAAeA,0BAAyB;AAE9C,UAAI,CAAC,WAAY,QAAO,CAAC;AAEzB,YAAM,cACJ,uCAA0C,YAAY;AAExD,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,WAAW;AAAA,QAC/B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,sCAAsC,MAAM;AACvD,QAAM,CAAC,kCAAkC,EAAE,SAAS,MAAM,CAAC,IAAI,YAE5D,6CAA6C;AAEhD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,oCAAoC,MAAM;AACrD,QAAM,CAAC,gCAAgC,EAAE,SAAS,MAAM,CAAC,IAAI,YAE1D,0CAA0C;AAE7C,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AElEA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAIb,IAAM,oBAAoBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAa7B,oBAAoB;AAAA;AAGjB,IAAM,iBAAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAa1B,oBAAoB;AAAA;AAGjB,IAAM,kBAAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASxB,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAY/B,IAAM,0BAA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAShC,IAAM,kCAAkCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASxC,IAAM,uCAAuCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADvD7C,IAAM,cAAc,MAAM;AAC/B,QAAM,CAAC,UAAU,EAAE,SAAS,MAAM,CAAC,IAAIC,aAEpC,iBAAiB;AACpB,SAAO,EAAE,OAAO,SAAS,SAAS;AACpC;AAEO,IAAM,WAAW,MAAM;AAC5B,QAAM,CAAC,OAAO,EAAE,SAAS,MAAM,CAAC,IAAIA,aAEjC,cAAc;AACjB,SAAO,EAAE,OAAO,SAAS,MAAM;AACjC;AAEO,IAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,IAAIA,aAElC,eAAe;AAClB,SAAO,EAAE,OAAO,SAAS,OAAO;AAClC;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIA,aAExC,sBAAsB;AACzB,SAAO,EAAE,OAAO,SAAS,aAAa;AACxC;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,CAAC,sBAAsB,EAAE,SAAS,MAAM,CAAC,IAAIA,aAEhD,+BAA+B;AAElC,SAAO,EAAE,OAAO,SAAS,qBAAqB;AAChD;AAEO,IAAM,+BAA+B,MAAM;AAChD,QAAM,CAAC,2BAA2B,EAAE,SAAS,MAAM,CAAC,IAAIA,aAErD,oCAAoC;AAEvC,SAAO,EAAE,OAAO,SAAS,0BAA0B;AACrD;AAEO,IAAM,mBAAmB,MAAM;AACpC,QAAM,CAAC,eAAe,EAAE,SAAS,MAAM,CAAC,IAAIA,aAEzC,uBAAuB;AAE1B,SAAO,EAAE,OAAO,SAAS,cAAc;AACzC;;;AEtEA,SAA2B,eAAAC,oBAAmB;;;ACA9C,SAAS,OAAAC,aAAW;;;ACApB,SAAS,OAAAC,aAAW;AAEb,IAAM,+BAA+BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBrC,IAAM,mBAAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUzB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkBhC,4BAA4B;AAAA,IAC5B,gBAAgB;AAAA;AAGb,IAAM,OAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMhB,oBAAoB;AAAA;AAGjB,IAAM,aAAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMtB,oBAAoB;AAAA;AAGjB,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM/B,oBAAoB;AAAA;AAGjB,IAAM,8BAA8BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBpC,IAAM,0BAA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMnC,2BAA2B;AAAA;;;ADpGxB,IAAM,+BAA+BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASxC,oBAAoB;AAAA;AAGjB,IAAM,6BAA6BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAStC,oBAAoB;AAAA;AAGjB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS7B,IAAM,mCAAmCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS5C,oBAAoB;AAAA;AAGjB,IAAM,wCAAwCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAY9C,IAAM,oCAAoCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS7C,oBAAoB;AAAA;AAGjB,IAAM,mCAAmCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS5C,oBAAoB;AAAA;AAGjB,IAAM,4BAA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASrC,2BAA2B;AAAA;;;ADjFxB,IAAM,uBAAuB,MAAM;AACxC,QAAM,CAAC,mBAAmB,EAAE,SAAS,MAAM,CAAC,IAAIC,aAE7C,8BAA8B;AAAA,IAC/B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,WAAW,CAAC;AAAA,EACxC,CAAC;AAED,SAAO,EAAE,mBAAmB,OAAO,QAAQ;AAC7C;AAEO,IAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,iBAAiB,EAAE,SAAS,MAAM,CAAC,IAAIA,aAE3C,4BAA4B;AAAA,IAC7B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,SAAS,gBAAgB,MAAM,iBAAiB,MAAM;AAE5D,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,OAAO;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,gBAAgB;AAC3C;AAEO,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIA,aAEtC,sBAAsB;AAAA,IACvB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,WAAW,CAAC;AAAA,EACxC,CAAC;AAED,SAAO,EAAE,YAAY,OAAO,QAAQ;AACtC;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,CAAC,sBAAsB,EAAE,SAAS,MAAM,CAAC,IAAIA,aAEhD,kCAAkC;AAAA,IACnC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,SAAS,gBAAgB,MAAM,sBAAsB,MAAM;AAEjE,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,OAAO;AAAA,QAC3B;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,sBAAsB,OAAO,QAAQ;AAChD;AAEO,IAAM,+BAA+B,MAAM;AAChD,QAAM,CAAC,2BAA2B,EAAE,SAAS,MAAM,CAAC,IAAIA,aAKrD,uCAAuC;AAAA,IACxC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAuC;AACtD,YAAM,SACJ,gBAAgB,MAAM,2BAA2B,MAAM;AAEzD,YAAM,UAA8B,CAAC,EAAE,OAAO,WAAW,CAAC;AAE1D,UAAI,UAAU,OAAO,KAAK,MAAM,IAAI;AAClC,gBAAQ,KAAK;AAAA,UACX,OAAO;AAAA,UACP,WAAW,EAAE,OAAO;AAAA,QACtB,CAAC;AAAA,MACH;AAEA,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,0BAA0B;AACrD;AAEO,IAAM,2BAA2B,MAAM;AAC5C,QAAM,CAAC,uBAAuB,EAAE,SAAS,MAAM,CAAC,IAAIA,aAEjD,mCAAmC;AAAA,IACpC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAClC,YAAM,SAAS,gBAAgB,MAAM,uBAAuB,MAAM;AAElE,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,OAAO;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,sBAAsB;AACjD;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,CAAC,sBAAsB,EAAE,SAAS,MAAM,CAAC,IAAIA,aAEhD,kCAAkC;AAAA,IACnC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAClC,YAAM,SAAS,gBAAgB,MAAM,sBAAsB,MAAM;AAEjE,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,OAAO;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,qBAAqB;AAChD;AAEO,IAAM,oBAAoB,MAAM;AACrC,QAAM,CAAC,gBAAgB,EAAE,SAAS,MAAM,CAAC,IAAIA,aAE1C,yBAAyB;AAE5B,SAAO,EAAE,OAAO,SAAS,eAAe;AAC1C;;;AG7JA,SAAS,UAAU,uBAAuB;;;ACA1C,SAAS,OAAAC,aAAW;AAIb,IAAM,mBAAmBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM5B,oBAAoB;AAAA;;;ADEjB,IAAM,aAAa,CAAC,QAAgB;AACzC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAI,SAA6B,MAAM;AAAA,IAC3E,aAAa;AAAA,IACb,MAAM,CAAC,OAAO,QAAQ;AAAA,IACtB,WAAW,EAAE,IAAI;AAAA,EACnB,CAAC;AAED,QAAM,OAAO,MAAM;AAEnB,SAAO,EAAE,MAAM,OAAO,SAAS,QAAQ;AACzC;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAI;AAAA,IACxC;AAAA,IACA;AAAA,MACE,aAAa;AAAA,IACf;AAAA,EACF;AAEA,QAAM,YAAY,MAAM,aAAa,CAAC;AAEtC,SAAO,EAAE,OAAO,SAAS,SAAS,UAAU;AAC9C;AAEO,IAAM,yBAAyB,MAAM;AAC1C,QAAM,EAAE,MAAM,SAAS,MAAM,IAAI;AAAA,IAC/B;AAAA,EACF;AAEA,QAAM,OAAO,MAAM;AAEnB,SAAO,EAAE,MAAM,OAAO,QAAQ;AAChC;AAEO,IAAM,sBAAsB,CAAC,WAAmB;AACrD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAI,SAEvC,qBAAqB;AAAA,IACtB,aAAa;AAAA,IACb,WAAW,EAAE,OAAO;AAAA,EACtB,CAAC;AAED,QAAM,gBAAgB,MAAM,iBAAiB,CAAC;AAE9C,SAAO,EAAE,eAAe,OAAO,SAAS,QAAQ;AAClD;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAI,SAEvC,yBAAyB;AAAA,IAC1B,aAAa;AAAA,EACf,CAAC;AAED,QAAM,oBAAoB,MAAM,qBAAqB,CAAC;AAEtD,SAAO,EAAE,OAAO,SAAS,SAAS,kBAAkB;AACtD;;;AEtEA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAEb,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADI5B,IAAM,eAAe,MAAM;AAChC,QAAM,CAAC,WAAW,EAAE,SAAS,MAAM,CAAC,IAAIC,aAErC,mBAAmB;AACtB,SAAO,EAAE,WAAW,OAAO,QAAQ;AACrC;;;AEXA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAIb,IAAM,wBAAwBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASjC,KAAK;AAAA;AAGF,IAAM,wBAAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASjC,KAAK;AAAA;AAGF,IAAM,wBAAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS9B,IAAM,6BAA6BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAStC,UAAU;AAAA;AAGP,IAAM,6BAA6BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAStC,UAAU;AAAA;;;AC1Dd,SAAS,OAAAC,aAAW;AAOb,IAAM,YAAYC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMrB,oBAAoB;AAAA;AAGjB,IAAM,WAAWA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpB,oBAAoB;AAAA;AAGjB,IAAM,kBAAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM3B,KAAK;AAAA;AAGF,IAAM,mBAAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM5B,MAAM;AAAA;AAGH,IAAM,oBAAoBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM7B,OAAO;AAAA;AAGJ,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA+B/B,eAAe;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA;AAGJ,IAAM,qBAAqBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AF1E3B,IAAM,iBAAiB,MAAM;AAClC,QAAM,CAAC,aAAa,EAAE,SAAS,MAAM,CAAC,IAAIC,aAEvC,uBAAuB;AAAA,IACxB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;AAAA,EAC7C,CAAC;AAED,SAAO,EAAE,aAAa,OAAO,QAAQ;AACvC;AAEO,IAAM,iBAAiB,MAAM;AAClC,QAAM,CAAC,aAAa,EAAE,SAAS,MAAM,CAAC,IAAIA,aAEvC,uBAAuB;AAAA,IACxB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,UAAU,gBAAgB,MAAM,aAAa,MAAM;AAEzD,UAAI,CAAC,QAAS,QAAO,CAAC;AAEtB,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,QAAQ;AAAA,QAC5B;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,QAAQ;AAAA,QACvB;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,YAAY;AACvC;AAEO,IAAM,iBAAiB,MAAM;AAClC,QAAM,CAAC,aAAa,EAAE,SAAS,MAAM,CAAC,IAAIA,aAEvC,uBAAuB;AAAA,IACxB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;AAAA,EAC7C,CAAC;AACD,SAAO,EAAE,aAAa,OAAO,QAAQ;AACvC;AAEO,IAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,iBAAiB,EAAE,SAAS,MAAM,CAAC,IAAIA,aAE3C,4BAA4B;AAAA,IAC7B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,UAAU,gBAAgB,MAAM,iBAAiB,MAAM;AAE7D,UAAI,CAAC,QAAS,QAAO,CAAC;AAEtB,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,QAAQ;AAAA;AAAA,QACvB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,QAAQ;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,iBAAiB,OAAO,QAAQ;AAC3C;AAEO,IAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,iBAAiB,EAAE,SAAS,MAAM,CAAC,IAAIA,aAE3C,4BAA4B;AAAA,IAC7B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,UAAU,gBAAgB,MAAM,iBAAiB,MAAM;AAE7D,UAAI,CAAC,QAAS,QAAO,CAAC;AAEtB,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,QAAQ;AAAA,QACvB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,QAAQ;AAAA,QAC5B;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,gBAAgB;AAC3C;;;AG3HA,SAAS,YAAAC,iBAAgB;AAmBlB,IAAM,eAAe,CAAC,eAAqC;AAChE,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIC,UAEvC,YAAY;AAAA,IACb,aAAa;AAAA,IACb,WAAW,EAAE,WAAW;AAAA,EAC1B,CAAC;AAED,QAAM,SAAS,MAAM,UAAU,CAAC;AAEhC,SAAO,EAAE,OAAO,QAAQ,SAAS,QAAQ;AAC3C;AAEO,IAAM,cAAc,CAAC,QAAgB;AAC1C,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,WAAW;AAAA,IACZ,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,IAAI;AAAA,EACnB,CAAC;AAED,QAAM,QAAQ,MAAM,SAAS;AAE7B,SAAO,EAAE,OAAO,OAAO,SAAS,QAAQ;AAC1C;AAEO,IAAM,uBAAuB,CAAC,kBAA0B;AAC7D,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,uBAAuB;AAAA,IACxB,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,cAAc;AAAA,EAC7B,CAAC;AAED,QAAM,iBAAiB,MAAM,kBAAkB;AAE/C,SAAO,EAAE,OAAO,gBAAgB,SAAS,QAAQ;AACnD;AAEO,IAAM,uBAAuB,CAClC,QACA,SACA,eACG;AACH,QAAM,YAAY;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,QAAM,EAAE,SAAS,OAAO,MAAM,SAAS,UAAU,IAAIA,UAElD,sBAAsB;AAAA,IACvB,aAAa;AAAA,IACb,MAAM,CAAC,UAAU,WAAW;AAAA,IAC5B;AAAA,EACF,CAAC;AAED,QAAM,iBAAiB,MAAM,kBAAkB,CAAC;AAEhD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,kBAAkB,CAC7B,QACA,aACA,MACA,eACG;AACH,QAAM,mBAAmB,aAAa,KAAK,KAAK;AAChD,QAAM,kBAAkB,QAAQ,CAAC,GAAG,OAAO,OAAO;AAElD,QAAM,iBACJ,iBAAiB,SAAS,KAAK,eAAe,SAAS;AAEzD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,eAAe;AAAA,IAChB,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,MAAM;AAAA,IACR;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA,cAAc,MAAM,gBAAgB,CAAC;AAAA,IACrC;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,qBAAqB,CAChC,UAKA,eACG;AACH,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,oBAAoB;AAAA,IACrB,aAAa;AAAA,IACb,MAAM,CAAC,SAAS,YAAY,CAAC,SAAS;AAAA,IACtC,WAAW;AAAA,MACT;AAAA,MACA,UAAU,SAAS;AAAA,MACnB,WAAW,SAAS;AAAA,MACpB,QAAQ,SAAS,UAAU;AAAA;AAAA,IAC7B;AAAA,EACF,CAAC;AAED,QAAM,eAAe,MAAM,gBAAgB,CAAC;AAE5C,SAAO,EAAE,OAAO,cAAc,SAAS,QAAQ;AACjD;AAEO,IAAM,kBAAkB,CAAC,YAAoB;AAClD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,gBAAgB;AAAA,IACjB,aAAa;AAAA,IACb,MAAM,CAAC,WAAW,YAAY;AAAA,IAC9B,WAAW,EAAE,QAAQ;AAAA,EACvB,CAAC;AAED,QAAMC,aAAY,MAAM;AAExB,SAAO,EAAE,OAAO,WAAAA,YAAW,SAAS,QAAQ;AAC9C;;;AChKA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;;;ACApB,SAAS,OAAAC,aAAW;AAEb,IAAM,wBAAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkB9B,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMlC,qBAAqB;AAAA;AAGlB,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADzB/B,IAAM,4BAA4BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASlC,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlC,qBAAqB;AAAA;AAGlB,IAAM,8BAA8BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASpC,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5B,IAAM,2BAA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AD5BjC,IAAM,6BAA6B,MAAM;AAC9C,QAAM,CAAC,yBAAyB,EAAE,SAAS,MAAM,CAAC,IAAIC,aAEnD,yBAAyB;AAC5B,SAAO,EAAE,yBAAyB,OAAO,QAAQ;AACnD;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,CAAC,sBAAsB,EAAE,SAAS,MAAM,CAAC,IAAIA,aAEhD,wBAAwB;AAAA,IACzB,gBAAgB;AAAA,MACd;AAAA,QACE,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO,EAAE,OAAO,SAAS,qBAAqB;AAChD;AAEO,IAAM,8BAA8B,MAAM;AAC/C,QAAM,CAAC,0BAA0B,EAAE,SAAS,MAAM,CAAC,IAAIA,aAEpD,6BAA6B;AAAA,IAC9B,gBAAgB;AAAA,MACd;AAAA,QACE,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO,EAAE,OAAO,SAAS,yBAAyB;AACpD;AAEO,IAAM,wBAAwB,MAAM;AACzC,QAAM,CAAC,oBAAoB,EAAE,SAAS,MAAM,CAAC,IAAIA,aAE9C,qBAAqB;AAAA,IACtB,gBAAgB;AAAA,MACd;AAAA,QACE,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO,EAAE,oBAAoB,OAAO,QAAQ;AAC9C;AAEO,IAAM,4BAA4B,MAAM;AAC7C,QAAM,CAAC,wBAAwB,EAAE,SAAS,MAAM,CAAC,IAAIA,aAElD,0BAA0B;AAAA,IAC3B,gBAAgB;AAAA,MACd;AAAA,QACE,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO,EAAE,wBAAwB,OAAO,QAAQ;AAClD;;;AGpFA,SAAS,YAAAC,iBAAgB;AAQlB,IAAM,0BAA0B,CAAC,OAAgB,WAAoB;AAC1E,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIC,UAEvC,wBAAwB;AAAA,IACzB,aAAa;AAAA,IACb,WAAW,EAAE,OAAO,OAAO;AAAA,EAC7B,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,eAAe,MAAM,qBAAqB,CAAC;AAAA,IAC3C;AAAA,EACF;AACF;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIA,UAEvC,wBAAwB;AAAA,IACzB,aAAa;AAAA,EACf,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,mBAAmB,MAAM,qBAAqB,EAAE,OAAO,GAAG,QAAQ,EAAE;AAAA,IACpE;AAAA,EACF;AACF;;;ACrCA,SAAS,mBAAAC,wBAAuB;;;ACAhC,SAAS,OAAAC,aAAW;AAIb,IAAM,iCAAiCC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1C,qBAAqB;AAAA;AAGlB,IAAM,sCAAsCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADL5C,IAAM,sCAAsC,MAAM;AACvD,QAAM,EAAE,MAAM,SAAS,MAAM,IAAIC,iBAE9B,gCAAgC;AAAA,IACjC,aAAa;AAAA,IACb,mBAAmB;AAAA,EACrB,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,eAAe,MAAM;AAAA,EACvB;AACF;AAEO,IAAM,sCAAsC,MAAM;AACvD,QAAM,EAAE,MAAM,SAAS,MAAM,IAAIA,iBAE9B,qCAAqC;AAAA,IACtC,aAAa;AAAA,IACb,mBAAmB;AAAA,EACrB,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,mBAAmB,MAAM;AAAA,EAC3B;AACF;;;AEpCA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAIb,IAAM,yBAAyBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWlC,4BAA4B;AAAA;;;ADRzB,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIC,aAExC,wBAAwB;AAAA,IACzB,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,GAAG,EAAE,OAAO,iBAAiB,CAAC;AAAA,EAC1E,CAAC;AACD,SAAO,EAAE,cAAc,OAAO,QAAQ;AACxC;;;AEdA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAEb,IAAM,6BAA6BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADInC,IAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,iBAAiB,EAAE,SAAS,MAAM,CAAC,IAAIC,aAE3C,0BAA0B;AAC7B,SAAO,EAAE,iBAAiB,OAAO,QAAQ;AAC3C;;;AEXA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAIb,IAAM,2BAA2BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASpC,wBAAwB;AAAA;AAGrB,IAAM,2BAA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASpC,wBAAwB;AAAA;AAGrB,IAAM,2BAA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASpC,wBAAwB;AAAA;;;ADjBrB,IAAM,oBAAoB,MAAM;AACrC,QAAM,CAAC,gBAAgB,EAAE,SAAS,MAAM,CAAC,IAAIC,aAE1C,0BAA0B;AAAA,IAC3B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAClC,YAAMC,kBAAiB,gBAAgB,MAAM,gBAAgB;AAC7D,YAAM,UAAUA,iBAAgB;AAChC,YAAM,WAAWA,iBAAgB;AAEjC,YAAM,eAAeA,iBAAgB;AACrC,YAAM,aACJ,uCAA0C,UAAU;AAEtD,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,QAAQ;AAAA,QACvB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,QAAQ;AAAA,QAC5B;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,QAAQ;AAAA,QACvB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,SAAS;AAAA,QACxB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,SAAS;AAAA,QAC7B;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,SAAS,SAAS;AAAA,QACjC;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,YAAY,aAAa;AAAA,QACxC;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,gBAAgB,OAAO,QAAQ;AAC1C;AAEO,IAAM,oBAAoB,MAAM;AACrC,QAAM,CAAC,gBAAgB,EAAE,SAAS,MAAM,CAAC,IAAID,aAE1C,0BAA0B;AAAA,IAC3B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAClC,YAAME,kBAAiB,gBAAgB,MAAM,gBAAgB;AAC7D,YAAM,UAAUA,iBAAgB;AAChC,YAAM,WAAWA,iBAAgB;AAEjC,YAAM,eAAeA,iBAAgB;AACrC,YAAM,aACJ,uCAA0C,UAAU;AAEtD,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,QAAQ;AAAA,QACvB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,QAAQ;AAAA,QAC5B;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,QAAQ;AAAA,QACvB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,SAAS;AAAA,QACxB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,SAAS;AAAA,QAC7B;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,SAAS,SAAS;AAAA,QACjC;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,YAAY,aAAa;AAAA,QACxC;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,eAAe;AAC1C;AAEO,IAAM,oBAAoB,MAAM;AACrC,QAAM,CAAC,gBAAgB,EAAE,SAAS,MAAM,CAAC,IAAIF,aAE1C,0BAA0B;AAAA,IAC3B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAClC,YAAMG,kBAAiB,gBAAgB,MAAM,gBAAgB;AAC7D,YAAM,UAAUA,iBAAgB;AAChC,YAAM,WAAWA,iBAAgB;AACjC,YAAM,eAAeA,iBAAgB;AACrC,YAAM,aACJ,uCAA0C,UAAU;AACtD,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,QAAQ;AAAA,QACvB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,QAAQ;AAAA,QACvB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,SAAS;AAAA,QACxB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,SAAS,SAAS;AAAA,QACjC;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,YAAY,aAAa;AAAA,QACxC;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO,EAAE,gBAAgB,OAAO,QAAQ;AAC1C;;;AEnKA,SAAS,YAAAC,iBAAgB;AAalB,IAAM,iBAAiB,CAAC,QAAiB;AAC9C,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIC,UAEvC,cAAc;AAAA,IACf,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,MAAM,EAAE,IAAI,IAAI;AAAA,EAC7B,CAAC;AAED,QAAM,WAAW,MAAM;AAEvB,SAAO,EAAE,OAAO,SAAS,SAAS,SAAS;AAC7C;AAEO,IAAM,iCAAiC,CAC5C,SACA,aACG;AACH,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,kCAAkC;AAAA,IACnC,aAAa;AAAA,IACb,MAAM,CAAC,WAAW,YAAY,MAAM,CAAC,YAAY,aAAa;AAAA,IAC9D,WAAW,EAAE,SAAS,SAAS;AAAA,EACjC,CAAC;AAED,QAAM,2BAA2B,MAAM;AAEvC,SAAO,EAAE,OAAO,SAAS,SAAS,yBAAyB;AAC7D;AAEO,IAAM,uBAAuB,CAAC,YAAoB;AACvD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,qBAAqB;AAAA,IACtB,aAAa;AAAA,IACb,MAAM,CAAC,WAAW,YAAY;AAAA,IAC9B,WAAW,EAAE,QAAQ;AAAA,EACvB,CAAC;AAED,QAAM,iBAAiB,MAAM,kBAAkB,CAAC;AAEhD,SAAO,EAAE,OAAO,gBAAgB,SAAS,QAAQ;AACnD;AAEO,IAAM,wBAAwB,CAAC,aAAsB;AAC1D,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,sBAAsB;AAAA,IACvB,aAAa;AAAA,IACb,MAAM,CAAC,YAAY,aAAa;AAAA,IAChC,WAAW,EAAE,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,kBAAkB,MAAM,mBAAmB,CAAC;AAElD,SAAO,EAAE,OAAO,SAAS,SAAS,gBAAgB;AACpD;AAEO,IAAM,4BAA4B,CACvC,YACA,iBACG;AACH,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,0BAA0B;AAAA,IAC3B,aAAa;AAAA,IACb,MAAM,CAAC,cAAc,eAAe,MAAM,CAAC;AAAA,IAC3C,WAAW,EAAE,YAAY,aAAa;AAAA,EACxC,CAAC;AAED,QAAM,sBAAsB,MAAM;AAElC,SAAO,EAAE,OAAO,SAAS,SAAS,oBAAoB;AACxD;;;ACvFA,SAAS,eAAAC,qBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAIb,IAAM,yBAAyBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlC,MAAM;AAAA;AAGH,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlC,MAAM;AAAA;AAGH,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS/B,IAAM,8BAA8BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASvC,WAAW;AAAA;AAGR,IAAM,8BAA8BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASvC,WAAW;AAAA;AAGR,IAAM,sCAAsCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS/C,mBAAmB;AAAA;AAGhB,IAAM,sCAAsCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAY/C,mBAAmB;AAAA;AAGhB,IAAM,sCAAsCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5C,IAAM,oDAAoDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AD3E1D,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIC,cAExC,wBAAwB;AAAA,IACzB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,iBAAiB,CAAC;AAAA,EAC9C,CAAC;AAED,SAAO,EAAE,cAAc,OAAO,QAAQ;AACxC;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIA,cAExC,wBAAwB;AAAA,IACzB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,iBAAiB,CAAC;AAAA,EAC9C,CAAC;AACD,SAAO,EAAE,OAAO,SAAS,aAAa;AACxC;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIA,cAExC,wBAAwB;AAAA,IACzB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,iBAAiB,CAAC;AAAA,EAC9C,CAAC;AACD,SAAO,EAAE,cAAc,OAAO,QAAQ;AACxC;AAEO,IAAM,sBAAsB,MAAM;AACvC,QAAM,CAAC,kBAAkB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAE5C,6BAA6B;AAAA,IAC9B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,WAAW,gBAAgB,MAAM,kBAAkB,MAAM;AAE/D,UAAI,CAAC,SAAU,QAAO,CAAC;AAEvB,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,SAAS;AAAA;AAAA,QACxB;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,SAAS;AAAA,QAC7B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,kBAAkB,OAAO,QAAQ;AAC5C;AAEO,IAAM,sBAAsB,MAAM;AACvC,QAAM,CAAC,kBAAkB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAE5C,6BAA6B;AAAA,IAC9B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,WAAW,gBAAgB,MAAM,kBAAkB,MAAM;AAE/D,UAAI,CAAC,SAAU,QAAO,CAAC;AAEvB,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,SAAS;AAAA;AAAA,QACxB;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,iBAAiB;AAC5C;AAEO,IAAM,8BAA8B,MAAM;AAC/C,QAAM,CAAC,0BAA0B,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEpD,mCAAmC;AAEtC,SAAO,EAAE,0BAA0B,OAAO,QAAQ;AACpD;AAEO,IAAM,8BAA8B,MAAM;AAC/C,QAAM,CAAC,0BAA0B,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEpD,mCAAmC;AACtC,SAAO,EAAE,OAAO,SAAS,yBAAyB;AACpD;AAEO,IAAM,8BAA8B,MAAM;AAC/C,QAAM,CAAC,0BAA0B,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEpD,mCAAmC;AACtC,SAAO,EAAE,0BAA0B,OAAO,QAAQ;AACpD;AAEO,IAAM,yCAAyC,MAAM;AAC1D,QAAM,CAAC,qCAAqC,EAAE,SAAS,MAAM,CAAC,IAC5DA,cAEG,iDAAiD;AACtD,SAAO,EAAE,OAAO,SAAS,oCAAoC;AAC/D;;;AEtIA,SAAS,YAAAC,iBAAgB;AAmBlB,IAAM,gBAAgB,MAAM;AACjC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIC;AAAA,IACxC;AAAA,IACA;AAAA,MACE,aAAa;AAAA,IACf;AAAA,EACF;AAEA,QAAM,UAAU,MAAM,WAAW,CAAC;AAElC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,eAAe,CAAC,QAAgB;AAC3C,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA;AAAA,IACxC;AAAA,IACA;AAAA,MACE,aAAa;AAAA,MACb,MAAM,CAAC,OAAO,QAAQ;AAAA,MACtB,WAAW,EAAE,IAAI;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,SAAS,MAAM;AAErB,SAAO,EAAE,OAAO,SAAS,SAAS,OAAO;AAC3C;AAEO,IAAM,wBAAwB,CACnC,QACA,YACG;AACH,QAAM,YAAY;AAAA,IAChB;AAAA,IACA;AAAA,EACF;AACA,QAAM,EAAE,SAAS,OAAO,MAAM,SAAS,UAAU,IAAIA,UAElD,uBAAuB;AAAA,IACxB,aAAa;AAAA,IACb;AAAA,EACF,CAAC;AAED,QAAM,kBAAkB,MAAM,mBAAmB,CAAC;AAElD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,mBAAmB,CAAC,QAAgB,WAAmB;AAClE,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,gBAAgB;AAAA,IACjB,aAAa;AAAA,IACb,MAAM,OAAO,SAAS;AAAA,IACtB,WAAW,EAAE,QAAQ,OAAO;AAAA,EAC9B,CAAC;AAED,QAAM,eAAe,MAAM,gBAAgB,CAAC;AAE5C,SAAO,EAAE,OAAO,SAAS,SAAS,aAAa;AACjD;AAEO,IAAM,mBAAmB,CAAC,aAAqB;AACpD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,iBAAiB;AAAA,IAClB,aAAa;AAAA,IACb,MAAM,CAAC,YAAY,aAAa;AAAA,IAChC,WAAW,EAAE,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,aAAa,MAAM;AAEzB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,4BAA4B,MAAM;AAC7C,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,0BAA0B;AAAA,IAC3B,aAAa;AAAA,EACf,CAAC;AAED,QAAM,sBAAsB,MAAM,uBAAuB,CAAC;AAE1D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,uCAAuC,CAAC,cAAsB;AACzE,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,wCAAwC;AAAA,IACzC,aAAa;AAAA,IACb,MAAM,CAAC,aAAa,cAAc;AAAA,IAClC,WAAW,EAAE,UAAU;AAAA,EACzB,CAAC;AAED,QAAM,iCACJ,MAAM,kCAAkC,CAAC;AAE3C,SAAO,EAAE,OAAO,SAAS,SAAS,+BAA+B;AACnE;AAEO,IAAM,2BAA2B,CAAC,QAAgB;AACvD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,yBAAyB;AAAA,IAC1B,aAAa;AAAA,IACb,MAAM,CAAC,OAAO,QAAQ;AAAA,IACtB,WAAW,EAAE,IAAI;AAAA,EACnB,CAAC;AAED,QAAM,qBAAqB,MAAM;AAEjC,SAAO,EAAE,OAAO,SAAS,SAAS,mBAAmB;AACvD;;;AC3JA,SAAS,eAAAC,qBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAOb,IAAM,uBAAuBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAShC,oBAAoB;AAAA;AAGjB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAShC,oBAAoB;AAAA;AAGjB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS7B,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAW/B,IAAM,uCAAuCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAehD,oBAAoB;AAAA;AAGjB,IAAM,0CAA0CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAenD,oBAAoB;AAAA;AAGjB,IAAM,sCAAsCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS/C,oBAAoB;AAAA;AAGjB,IAAM,yCAAyCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlD,oBAAoB;AAAA;AAGjB,IAAM,mCAAmCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS5C,oBAAoB;AAAA;AAGjB,IAAM,sCAAsCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS/C,oBAAoB;AAAA;AAGjB,IAAM,qCAAqCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS9C,oBAAoB;AAAA;AAGjB,IAAM,wCAAwCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASjD,oBAAoB;AAAA;AAGjB,IAAM,mCAAmCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAY5C,uBAAuB;AAAA;;;AD5IpB,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIC,cAEtC,oBAAoB;AAEvB,SAAO,EAAE,YAAY,OAAO,QAAQ;AACtC;AAEO,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEtC,sBAAsB;AAAA,IACvB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,SAAS,gBAAgB,MAAM,YAAY,MAAM;AAEvD,UAAI,CAAC,OAAQ,QAAO,CAAC;AAErB,aAAO,CAAC,EAAE,OAAO,UAAU,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;AAAA,IACzD;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,WAAW;AACtC;AAEO,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEtC,oBAAoB;AAEvB,SAAO,EAAE,YAAY,OAAO,QAAQ;AACtC;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIA,cAExC,wBAAwB;AAAA,IACzB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAClC,YAAM,SAAS,gBAAgB,MAAM,cAAc,MAAM;AAEzD,UAAI,CAAC,OAAQ,QAAO,CAAC;AAErB,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,OAAO;AAAA;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,aAAa;AACxC;AAEO,IAAM,8BAA8B,MAAM;AAC/C,QAAM,CAAC,0BAA0B,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEpD,sCAAsC;AAAA,IACvC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,oBAAoB,CAAC;AAAA,EACjD,CAAC;AAED,SAAO,EAAE,0BAA0B,OAAO,QAAQ;AACpD;AAEO,IAAM,iCAAiC,MAAM;AAClD,QAAM,CAAC,6BAA6B,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEvD,yCAAyC;AAAA,IAC1C,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,oBAAoB,CAAC;AAAA,EACjD,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,4BAA4B;AACvD;AAEO,IAAM,6BAA6B,MAAM;AAC9C,QAAM,CAAC,yBAAyB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEnD,qCAAqC;AAAA,IACtC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,oBAAoB,CAAC;AAAA,EACjD,CAAC;AAED,SAAO,EAAE,yBAAyB,OAAO,QAAQ;AACnD;AAEO,IAAM,gCAAgC,MAAM;AACjD,QAAM,CAAC,4BAA4B,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEtD,wCAAwC;AAAA,IACzC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,oBAAoB,CAAC;AAAA,EACjD,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,2BAA2B;AACtD;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,CAAC,sBAAsB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEhD,kCAAkC;AAAA,IACnC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,oBAAoB,CAAC;AAAA,EACjD,CAAC;AAED,SAAO,EAAE,sBAAsB,OAAO,QAAQ;AAChD;AAEO,IAAM,6BAA6B,MAAM;AAC9C,QAAM,CAAC,yBAAyB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEnD,qCAAqC;AAAA,IACtC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,oBAAoB,CAAC;AAAA,EACjD,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,wBAAwB;AACnD;AAEO,IAAM,4BAA4B,MAAM;AAC7C,QAAM,CAAC,wBAAwB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAElD,oCAAoC;AAAA,IACrC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,oBAAoB,CAAC;AAAA,EACjD,CAAC;AAED,SAAO,EAAE,wBAAwB,OAAO,QAAQ;AAClD;AAEO,IAAM,+BAA+B,MAAM;AAChD,QAAM,CAAC,2BAA2B,EAAE,SAAS,MAAM,CAAC,IAAIA,cAErD,uCAAuC;AAAA,IACxC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,oBAAoB,CAAC;AAAA,EACjD,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,0BAA0B;AACrD;AAEO,IAAM,2BAA2B,MAAM;AAC5C,QAAM,CAAC,uBAAuB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAKjD,kCAAkC;AAAA,IACnC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,SAAS,gBAAgB,MAAM,uBAAuB,MAAM;AAElE,UAAI,CAAC,OAAQ,QAAO,CAAC;AAErB,aAAO;AAAA,QACL,EAAE,OAAO,UAAU,WAAW,EAAE,KAAK,OAAO,EAAE;AAAA,QAC9C,EAAE,OAAO,gBAAgB;AAAA,QACzB,EAAE,OAAO,iBAAiB;AAAA,MAC5B;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,sBAAsB;AACjD;;;AEtMA,SAAS,YAAAC,iBAAgB;AAqBlB,IAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIC;AAAA,IACxC;AAAA,IACA;AAAA,MACE,aAAa;AAAA,IACf;AAAA,EACF;AAEA,QAAM,QAAQ,MAAM,SAAS,CAAC;AAE9B,SAAO,EAAE,OAAO,SAAS,SAAS,MAAM;AAC1C;AAEO,IAAM,aAAa,CAAC,QAAgB;AACzC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA;AAAA,IACxC;AAAA,IACA;AAAA,MACE,aAAa;AAAA,MACb,MAAM,CAAC,OAAO,QAAQ;AAAA,MACtB,WAAW,EAAE,IAAI;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,OAAO,MAAM;AAEnB,SAAO,EAAE,OAAO,SAAS,SAAS,KAAK;AACzC;AAEO,IAAM,mBAAmB,MAAM;AACpC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,iBAAiB;AAAA,IAClB,aAAa;AAAA,EACf,CAAC;AAED,QAAM,aAAa,MAAM,cAAc,CAAC;AAExC,SAAO,EAAE,OAAO,SAAS,SAAS,WAAW;AAC/C;AAEO,IAAM,oBAAoB,MAAM;AACrC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,kBAAkB;AAAA,IACnB,aAAa;AAAA,EACf,CAAC;AAED,QAAM,cAAc,MAAM,eAAe,CAAC;AAE1C,SAAO,EAAE,OAAO,SAAS,SAAS,YAAY;AAChD;AAEO,IAAM,qBAAqB,MAAM;AACtC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAEvC,mBAAmB;AAAA,IACpB,aAAa;AAAA,EACf,CAAC;AAED,QAAM,eAAe,MAAM,gBAAgB,CAAC;AAE5C,SAAO,EAAE,OAAO,SAAS,SAAS,aAAa;AACjD;AAEO,IAAM,uBAAuB,MAAM;AACxC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAiBvC,qBAAqB;AAAA,IACtB,aAAa;AAAA,EACf,CAAC;AAED,QAAM,iBAAiB;AAAA,IACrB,YAAY;AAAA,MACV,QAAQ,MAAM,eAAe,WAAW,UAAU,CAAC;AAAA,MACnD,UAAU,MAAM,eAAe,WAAW,YAAY,CAAC;AAAA,MACvD,SAAS,MAAM,eAAe,WAAW,WAAW,CAAC;AAAA,IACvD;AAAA,IACA,OAAO;AAAA,MACL,QAAQ,MAAM,eAAe,MAAM,UAAU,CAAC;AAAA,IAChD;AAAA,IACA,YAAY;AAAA,MACV,QAAQ,MAAM,eAAe,WAAW,UAAU,CAAC;AAAA,IACrD;AAAA,IACA,SAAS;AAAA,MACP,QAAQ,MAAM,eAAe,QAAQ,UAAU,CAAC;AAAA,IAClD;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,SAAS,eAAe;AACnD;AAEO,IAAM,sBAAsB,CAAC,WAAmB;AACrD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAIvC,oBAAoB;AAAA,IACrB,aAAa;AAAA,IACb,MAAM,CAAC,UAAU,WAAW;AAAA,IAC5B,WAAW,EAAE,OAAO;AAAA,EACtB,CAAC;AAED,QAAM,gBAAgB,MAAM,cAAc,aAAa,CAAC;AAExD,SAAO,EAAE,OAAO,SAAS,SAAS,cAAc;AAClD;;;AC7IA,SAAS,eAAAC,qBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;;;ACApB,SAAS,OAAAC,aAAW;AAEb,IAAM,qBAAqBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4B3B,IAAM,UAAUA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMnB,kBAAkB;AAAA;AAGf,IAAM,SAASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMlB,kBAAkB;AAAA;AAGf,IAAM,oBAAoBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM7B,kBAAkB;AAAA;;;ADlDf,IAAM,qBAAqBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS9B,kBAAkB;AAAA;AAGf,IAAM,qBAAqBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS9B,kBAAkB;AAAA;AAGf,IAAM,qBAAqBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADlB3B,IAAM,cAAc,MAAM;AAC/B,QAAM,CAAC,UAAU,EAAE,SAAS,MAAM,CAAC,IAAIC,cAEpC,oBAAoB;AAAA,IACrB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,QAAQ,CAAC;AAAA,EACrC,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,cAAc,MAAM;AAC/B,QAAM,CAAC,UAAU,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEpC,oBAAoB;AAAA,IACrB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,QAAQ,CAAC;AAAA,EACrC,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,cAAc,MAAM;AAC/B,QAAM,CAAC,UAAU,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEpC,oBAAoB;AAAA,IACrB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,QAAQ,CAAC;AAAA,EACrC,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AGrDA,SAAS,YAAAC,iBAAgB;AAKlB,IAAM,YAAY,MAAM;AAC7B,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIC;AAAA,IACxC;AAAA,IACA;AAAA,MACE,aAAa;AAAA,IACf;AAAA,EACF;AAEA,SAAO;AAAA,IACL,KAAK,MAAM,OAAO,CAAC;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,WAAW,CAAC,QAAgB;AACvC,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIA,UAAyB,QAAQ;AAAA,IACzE,aAAa;AAAA,IACb,MAAM,CAAC,OAAO,QAAQ;AAAA,IACtB,WAAW,EAAE,IAAI;AAAA,EACnB,CAAC;AAED,SAAO;AAAA,IACL,IAAI,MAAM;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,oBAAoB,CAAC,QAAgB,WAA0B;AAC1E,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIA,UAEvC,mBAAmB;AAAA,IACpB,aAAa;AAAA,IACb,MAAM,CAAC,UAAU,WAAW;AAAA,IAC5B,WAAW,EAAE,QAAQ,OAAO;AAAA,EAC9B,CAAC;AAED,SAAO;AAAA,IACL,aAAa,MAAM,eAAe,CAAC;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;ACnDA,SAAS,eAAAC,qBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAEb,IAAM,oCAAoCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADG1C,IAAM,4BAA4B,MAAM;AAC7C,QAAM,CAAC,wBAAwB,EAAE,SAAS,MAAM,CAAC,IAAIC,cAElD,iCAAiC;AAEpC,SAAO,EAAE,wBAAwB,OAAO,QAAQ;AAClD;;;AEXA,SAAS,YAAAC,iBAAgB;;;ACAzB,SAAS,OAAAC,aAAW;AAIpB,IAAM,oCAAoCC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBtC,4BAA4B;AAAA;AAGzB,IAAM,wBAAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASjC,iCAAiC;AAAA;;;AD3B9B,IAAM,yBAAyB,CACpC,YACA,iBACG;AACH,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIC,UAEvC,uBAAuB;AAAA,IACxB,aAAa;AAAA,IACb,WAAW,EAAE,YAAY,aAAa;AAAA,EACxC,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB,MAAM,oBAAoB;AAAA,EAC9C;AACF;;;AEvBA,SAAS,eAAAC,qBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAIb,IAAM,mCAAmCC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAezC,IAAM,+BAA+BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASrC,IAAM,oCAAoCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoB1C,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAW/B,IAAM,0BAA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBnC,uBAAuB;AAAA;;;AD/DpB,IAAM,2BAA2B,MAAM;AAC5C,QAAM,CAAC,uBAAuB,EAAE,SAAS,MAAM,CAAC,IAAIC,cAKjD,gCAAgC;AAEnC,SAAO,EAAE,uBAAuB,OAAO,QAAQ;AACjD;AAEO,IAAM,wBAAwB,MAAM;AACzC,QAAM,CAAC,oBAAoB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAE9C,4BAA4B;AAE/B,SAAO,EAAE,oBAAoB,OAAO,QAAQ;AAC9C;AAEO,IAAM,4BAA4B,MAAM;AAC7C,QAAM,CAAC,wBAAwB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAOlD,iCAAiC;AAEpC,SAAO,EAAE,OAAO,SAAS,uBAAuB;AAClD;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,CAAC,sBAAsB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEhD,sBAAsB;AAEzB,SAAO,EAAE,sBAAsB,OAAO,QAAQ;AAChD;AAEO,IAAM,mBAAmB,MAAM;AACpC,QAAM,CAAC,eAAe,EAAE,SAAS,MAAM,CAAC,IAAIA,cAMzC,yBAAyB;AAAA,IAC1B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,SAAS,gBAAgB,MAAM,eAAe,MAAM;AAE1D,UAAI,CAAC,OAAQ,QAAO,CAAC;AAErB,aAAO;AAAA,QACL,EAAE,OAAO,UAAU,WAAW,EAAE,KAAK,OAAO,EAAE;AAAA,QAC9C,EAAE,OAAO,gBAAgB;AAAA,QACzB,EAAE,OAAO,iBAAiB;AAAA,MAC5B;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,cAAc;AACzC;;;AEjFA,SAAS,YAAAC,iBAAgB;;;ACAzB,SAAS,OAAAC,aAAW;AAEb,IAAM,0BAA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWhC,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADF/B,IAAM,2BAA2B,MAAM;AAC5C,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIC,UAEvC,uBAAuB;AAE1B,SAAO;AAAA,IACL,MAAM,MAAM;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIA,UAEvC,sBAAsB;AAEzB,SAAO;AAAA,IACL,MAAM,MAAM;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AEnCA,SAAS,eAAAC,qBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAIb,IAAM,0BAA0BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASnC,OAAO;AAAA;AAGJ,IAAM,0BAA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASnC,OAAO;AAAA;AAGJ,IAAM,0BAA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADlBhC,IAAM,mBAAmB,MAAM;AACpC,QAAM,CAAC,eAAe,EAAE,SAAS,MAAM,CAAC,IAAIC,cAEzC,yBAAyB;AAAA,IAC1B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,kBAAkB,CAAC;AAAA,EAC/C,CAAC;AAED,SAAO,EAAE,eAAe,OAAO,QAAQ;AACzC;AAEO,IAAM,mBAAmB,MAAM;AACpC,QAAM,CAAC,eAAe,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEzC,yBAAyB;AAAA,IAC1B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,kBAAkB,CAAC;AAAA,EAC/C,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,cAAc;AACzC;AAEO,IAAM,mBAAmB,MAAM;AACpC,QAAM,CAAC,eAAe,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEzC,yBAAyB;AAAA,IAC1B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,kBAAkB,CAAC;AAAA,EAC/C,CAAC;AAED,SAAO,EAAE,eAAe,OAAO,QAAQ;AACzC;;;AEzCA,SAAS,YAAAC,kBAAgB;AAYlB,IAAM,iBAAiB,MAAM;AAClC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIC,WAEvC,cAAc;AAAA,IACf,aAAa;AAAA,EACf,CAAC;AACD,QAAM,WAAW,MAAM,YAAY,CAAC;AAEpC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,gBAAgB,CAAC,QAAgB;AAC5C,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA;AAAA,IACxC;AAAA,IACA;AAAA,MACE,aAAa;AAAA,MACb,MAAM,CAAC,OAAO,QAAQ;AAAA,MACtB,WAAW,EAAE,IAAI;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,UAAU,MAAM;AAEtB,SAAO,EAAE,OAAO,SAAS,SAAS,QAAQ;AAC5C;AAEO,IAAM,yBAAyB,CACpC,QACA,YACG;AACH,QAAM,YAAY;AAAA,IAChB;AAAA,IACA;AAAA,EACF;AACA,QAAM,EAAE,SAAS,OAAO,MAAM,SAAS,UAAU,IAAIA,WAElD,wBAAwB;AAAA,IACzB,aAAa;AAAA,IACb;AAAA,EACF,CAAC;AAED,QAAM,mBAAmB,MAAM,oBAAoB,CAAC;AAEpD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,oBAAoB,CAAC,QAAgB,WAAmB;AACnE,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,WAEvC,iBAAiB;AAAA,IAClB,aAAa;AAAA,IACb,MAAM,OAAO,SAAS;AAAA,IACtB,WAAW,EAAE,QAAQ,OAAO;AAAA,EAC9B,CAAC;AAED,QAAM,iBAAiB,MAAM,kBAAkB,CAAC;AAEhD,SAAO,EAAE,OAAO,SAAS,gBAAgB,QAAQ;AACnD;;;ACjFA,SAAS,eAAAC,qBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAIb,IAAM,uBAAuBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAShC,oBAAoB;AAAA;AAGjB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAShC,oBAAoB;AAAA;AAGjB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADlB7B,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIC,cAEtC,sBAAsB;AAAA,IACvB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,UAAU,CAAC;AAAA,EACvC,CAAC;AAED,SAAO,EAAE,YAAY,OAAO,QAAQ;AACtC;AAEO,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEtC,sBAAsB;AAAA,IACvB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,UAAU,CAAC;AAAA,EACvC,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,WAAW;AACtC;AAEO,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEtC,sBAAsB;AAAA,IACvB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,UAAU,CAAC;AAAA,EACvC,CAAC;AAED,SAAO,EAAE,YAAY,OAAO,QAAQ;AACtC;;;AEzCA,SAAS,YAAAC,kBAAgB;AASlB,IAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIC,WAEvC,WAAW;AAAA,IACZ,aAAa;AAAA,EACf,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,OAAO,MAAM,SAAS,CAAC,GAAG,QAAQ;AAC7D;AAEO,IAAM,aAAa,CAAC,QAAgB;AACzC,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIA,WAEvC,UAAU;AAAA,IACX,aAAa;AAAA,IACb,MAAM,CAAC,OAAO,QAAQ;AAAA,IACtB,WAAW,EAAE,IAAI;AAAA,EACnB,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,MAAM,MAAM,MAAM,QAAQ;AACrD;AAEO,IAAM,oBAAoB,CAAC,aAA2B;AAC3D,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIA,WAEvC,mBAAmB;AAAA,IACpB,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,SAAS;AAAA,EACxB,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,aAAa,MAAM,eAAe,CAAC,GAAG,QAAQ;AACzE;;;ACzCA,SAAS,eAAAC,qBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAEb,IAAM,+BAA+BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASrC,IAAM,gCAAgCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAStC,IAAM,yCAAyCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACpBtD,SAAS,OAAAC,aAAW;AAEb,IAAM,+BAA+BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYrC,IAAM,mBAAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM5B,4BAA4B;AAAA;;;AFVzB,IAAM,uBAAuB,MAAM;AACxC,QAAM,CAAC,mBAAmB,EAAE,SAAS,MAAM,CAAC,IAAIC,cAE7C,8BAA8B;AAAA,IAC/B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,iBAAiB,CAAC;AAAA,EAC9C,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,kBAAkB;AAC7C;AAEO,IAAM,wBAAwB,MAAM;AACzC,QAAM,CAAC,oBAAoB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAE9C,6BAA6B;AAEhC,SAAO,EAAE,oBAAoB,OAAO,QAAQ;AAC9C;AAEO,IAAM,iCAAiC,MAAM;AAClD,QAAM,CAAC,6BAA6B,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEvD,sCAAsC;AAEzC,SAAO,EAAE,OAAO,SAAS,4BAA4B;AACvD;;;AGnCA,SAAS,YAAAC,kBAAgB;AAKlB,IAAM,oBAAoB,MAAM;AACrC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIC,WAEvC,kBAAkB;AAAA,IACnB,aAAa;AAAA,EACf,CAAC;AAED,QAAM,cAAc,MAAM,eAAe;AAEzC,SAAO,EAAE,aAAa,OAAO,SAAS,QAAQ;AAChD;;;ACfA,SAAS,eAAAC,qBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;;;ACApB,SAAS,OAAAC,aAAW;AAUpB,IAAM,+BAA+BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAajC,yBAAyB;AAAA;AAG7B,IAAM,4BAA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAY9B,oCAAoC;AAAA,IACpC,gCAAgC;AAAA;AAGpC,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBzB,yBAAyB;AAAA,IACzB,4BAA4B;AAAA;AAGzB,IAAM,2BAA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAepC,qBAAqB;AAAA,IACrB,oBAAoB;AAAA;AAGjB,IAAM,YAAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMrB,wBAAwB;AAAA;AAGrB,IAAM,WAAWA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpB,wBAAwB;AAAA;AAGrB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYhC,qBAAqB;AAAA,IACrB,4BAA4B;AAAA;;;AD5GzB,IAAM,sBAAsBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS/B,wBAAwB;AAAA;AAGrB,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa5B,IAAM,6BAA6BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBtC,wBAAwB;AAAA;AAGrB,IAAM,8BAA8BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBvC,wBAAwB;AAAA;;;AD1DrB,IAAM,eAAe,MAAM;AAChC,QAAM,CAAC,WAAW,EAAE,SAAS,MAAM,CAAC,IAAIC,cAErC,qBAAqB;AAAA,IACtB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,SAAS,gBAAgB,MAAM,WAAW,MAAM;AACtD,YAAM,SAAS,gBAAgB,MAAM,WAAW,MAAM,OAAO;AAE7D,UAAI,CAAC,UAAU,CAAC,OAAQ,QAAO,CAAC;AAEhC,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,OAAO;AAAA;AAAA,QAC3B;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,OAAO;AAAA;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,UAAU;AACrC;AAEO,IAAM,eAAe,MAAM;AAChC,QAAM,CAAC,WAAW,EAAE,SAAS,MAAM,CAAC,IAAIA,cAErC,qBAAqB;AAAA,IACtB,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,MACd;AAAA,QACE,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,WAAW,QAAQ;AACrC;AAEO,IAAM,yBAAyB,MAAM;AAC1C,QAAM,CAAC,qBAAqB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAE/C,4BAA4B;AAAA,IAC7B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,SAAS,gBAAgB,MAAM,qBAAqB,MAAM;AAEhE,UAAI,CAAC,OAAQ,QAAO,CAAC;AAErB,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,OAAO;AAAA;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,oBAAoB;AAC/C;AAEO,IAAM,sBAAsB,MAAM;AACvC,QAAM,CAAC,kBAAkB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAE5C,6BAA6B;AAAA,IAC9B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,SAAS,gBAAgB,MAAM,kBAAkB,MAAM;AAE7D,UAAI,CAAC,OAAQ,QAAO,CAAC;AAErB,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,OAAO;AAAA;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,iBAAiB;AAC5C;;;AGnGA,SAAS,YAAAC,kBAAgB;AASlB,IAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIC,WAEvC,WAAW;AAAA,IACZ,aAAa;AAAA,EACf,CAAC;AAED,QAAM,QAAQ,MAAM,SAAS,CAAC;AAE9B,SAAO,EAAE,OAAO,OAAO,SAAS,QAAQ;AAC1C;AAEO,IAAM,aAAa,CAAC,QAAwB;AACjD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,WAEvC,UAAU;AAAA,IACX,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,MAAM,EAAE,IAAI,IAAI;AAAA,EAC7B,CAAC;AAED,QAAM,OAAO,MAAM,QAAQ;AAE3B,SAAO,EAAE,OAAO,MAAM,SAAS,QAAQ;AACzC;AAEO,IAAM,wBAAwB,MAAM;AACzC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,WAEvC,sBAAsB;AAAA,IACvB,aAAa;AAAA,EACf,CAAC;AAED,QAAM,kBAAkB,MAAM,mBAAmB,CAAC;AAElD,SAAO,EAAE,OAAO,iBAAiB,SAAS,QAAQ;AACpD;;;AC7CA,SAAS,eAAAC,qBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;;;ACApB,SAAS,OAAAC,aAAW;AAWpB,IAAM,0CAA0CC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAW5C,8BAA8B;AAAA;AAGlC,IAAM,kCAAkCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQjC,IAAM,SAASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoClB,qBAAqB;AAAA,IACrB,wBAAwB;AAAA,IACxB,8BAA8B;AAAA,IAC9B,+BAA+B;AAAA,IAC/B,+BAA+B;AAAA,IAC/B,4BAA4B;AAAA,IAC5B,+BAA+B;AAAA;AAG5B,IAAM,aAAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWtB,MAAM;AAAA,IACN,uCAAuC;AAAA;AAGpC,IAAM,cAAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMvB,MAAM;AAAA;;;AD/FH,IAAM,yBAAyBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlC,MAAM;AAAA;AAGH,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlC,MAAM;AAAA;AAGH,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS/B,IAAM,sCAAsCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADzB5C,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIC,cAExC,wBAAwB;AAAA,IACzB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,YAAY,CAAC;AAAA,EACzC,CAAC;AAED,SAAO,EAAE,cAAc,OAAO,QAAQ;AACxC;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIA,cAExC,wBAAwB;AAAA,IACzB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,YAAY,CAAC;AAAA,EACzC,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,aAAa;AACxC;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIA,cAExC,wBAAwB;AAAA,IACzB,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,YAAY,CAAC;AAAA,EACzC,CAAC;AACD,SAAO,EAAE,cAAc,OAAO,QAAQ;AACxC;AAEO,IAAM,8BAA8B,MAAM;AAC/C,QAAM,CAAC,0BAA0B,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEpD,mCAAmC;AAEtC,SAAO,EAAE,OAAO,SAAS,yBAAyB;AACpD;;;AGlDA,SAAS,YAAAC,kBAAgB;AAKlB,IAAM,gBAAgB,MAAM;AACjC,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIC;AAAA,IACxC;AAAA,IACA;AAAA,MACE,aAAa;AAAA,IACf;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,MAAM,WAAW,CAAC;AAAA,EAC7B;AACF;AAEO,IAAM,eAAe,CAAC,QAAgB;AAC3C,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIA,WAEvC,YAAY;AAAA,IACb,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,IAAI;AAAA,EACnB,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ,MAAM,UAAU;AAAA,EAC1B;AACF;;;ACpCA,SAAS,YAAAC,kBAAgB;;;ACAzB,SAAS,OAAAC,aAAW;AASpB,IAAM,mCAAmCC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUzC,IAAM,qCAAqCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcvC,gCAAgC;AAAA,IAChC,qBAAqB;AAAA;AAGzB,IAAM,iDAAiDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOvD,IAAM,oCAAoCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAuBtC,8CAA8C;AAAA,IAC9C,wBAAwB;AAAA,IACxB,4BAA4B;AAAA,IAC5B,+BAA+B;AAAA;AAG5B,IAAM,4BAA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA4BrC,iCAAiC;AAAA,IACjC,kCAAkC;AAAA,IAClC,qBAAqB;AAAA;AAGlB,IAAM,gBAAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMzB,yBAAyB;AAAA;AAGtB,IAAM,iBAAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B,yBAAyB;AAAA;;;ADpHtB,IAAM,kBAAkB,CAAC,QAAgB;AAC9C,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIC,WAEvC,eAAe;AAAA,IAChB,aAAa;AAAA,IACb,MAAM,CAAC,OAAO,QAAQ;AAAA,IACtB,WAAW,EAAE,IAAI;AAAA,EACnB,CAAC;AAED,QAAM,YAAY,MAAM;AAExB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,mBAAmB,MAAM;AACpC,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIA,WAEvC,gBAAgB;AAAA,IACjB,aAAa;AAAA,EACf,CAAC;AAED,QAAM,aAAa,MAAM,cAAc,CAAC;AAExC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AEvCA,SAAS,eAAAC,qBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAIb,IAAM,oCAAoCC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAY7C,yBAAyB;AAAA;AAGtB,IAAM,4BAA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASlC,IAAM,mCAAmCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS5C,yBAAyB;AAAA;AAGtB,IAAM,4CAA4CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBrD,yBAAyB;AAAA;AAGtB,IAAM,yCAAyCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAelD,yBAAyB;AAAA;;;ADjEtB,IAAM,4BAA4B,MAAM;AAC7C,QAAM,CAAC,wBAAwB,EAAE,SAAS,MAAM,CAAC,IAAIC,cAElD,mCAAmC;AAAA,IACpC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAClC,YAAM,cACJ,gBAAgB,MAAM,wBAAwB,MAAM;AACtD,UAAI,CAAC,YAAa,QAAO,CAAC;AAC1B,aAAO,CAAC,EAAE,OAAO,eAAe,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;AAAA,IACnE;AAAA,EACF,CAAC;AACD,SAAO,EAAE,OAAO,SAAS,uBAAuB;AAClD;AAEO,IAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,iBAAiB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAE3C,2BAA2B;AAAA,IAC5B,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,eAAe,CAAC;AAAA,EAC5C,CAAC;AACD,SAAO,EAAE,iBAAiB,OAAO,QAAQ;AAC3C;AAEO,IAAM,2BAA2B,MAAM;AAC5C,QAAM,CAAC,uBAAuB,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEjD,kCAAkC;AAAA,IACnC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAClC,YAAM,cACJ,gBAAgB,MAAM,uBAAuB,MAAM;AACrD,UAAI,CAAC,YAAa,QAAO,CAAC;AAC1B,aAAO,CAAC,EAAE,OAAO,eAAe,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;AAAA,IACnE;AAAA,EACF,CAAC;AACD,SAAO,EAAE,OAAO,SAAS,sBAAsB;AACjD;AAEO,IAAM,mCAAmC,MAAM;AACpD,QAAM,CAAC,+BAA+B,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEzD,2CAA2C;AAAA,IAC5C,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAClC,YAAM,cACJ,gBAAgB,MAAM,+BAA+B,MAAM;AAC7D,UAAI,CAAC,YAAa,QAAO,CAAC;AAC1B,aAAO,CAAC,EAAE,OAAO,eAAe,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;AAAA,IACnE;AAAA,EACF,CAAC;AACD,SAAO,EAAE,+BAA+B,OAAO,QAAQ;AACzD;AAEO,IAAM,gCAAgC,MAAM;AACjD,QAAM,CAAC,4BAA4B,EAAE,SAAS,MAAM,CAAC,IAAIA,cAEtD,wCAAwC;AAAA,IACzC,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAClC,YAAM,cACJ,gBAAgB,MAAM,4BAA4B,MAAM;AAC1D,UAAI,CAAC,YAAa,QAAO,CAAC;AAC1B,aAAO,CAAC,EAAE,OAAO,eAAe,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;AAAA,IACnE;AAAA,EACF,CAAC;AACD,SAAO,EAAE,4BAA4B,OAAO,QAAQ;AACtD;;;AEhFA,IAAM,MAAM;AACL,IAAM,kBAAkB;AAOxB,IAAM,YAAY;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,cAAc,OAAO;AAAA,EAChC,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AACvD;AAQO,IAAM,UAAU;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,YAAY,OAAO;AAAA,EAC9B,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AACrD;AAIO,IAAM,UAAU;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,YAAY,OAAO;AAAA,EAC9B,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AACrD;AAIO,IAAM,WAAW,CAAC,aAAa,WAAW,QAAQ;AAElD,IAAM,aAAa,OAAO;AAAA,EAC/B,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AACtD;AAIO,IAAM,UAAU;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,YAAY,OAAO;AAAA,EAC9B,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AACrD;AAIO,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,mBAAmB,OAAO;AAAA,EACrC,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AAC5D;AAYO,IAAM,UAAU,OAAO;AAAA,EAE1B,OAAO,QAAQ,WAAW,EAI1B,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;AAQO,IAAM,aAAa,OAAO;AAAA,EAE7B,OAAO,QAAQ,SAAS,EAIxB,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;AAIO,IAAM,QAAQ,OAAO;AAAA,EAExB,OAAO,QAAQ,SAAS,EAIxB,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;AAIO,IAAM,SAAS,OAAO;AAAA,EAEzB,OAAO,QAAQ,UAAU,EAIzB,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;AAIO,IAAM,QAAQ,OAAO;AAAA,EAExB,OAAO,QAAQ,SAAS,EAIxB,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;AAIO,IAAM,cAAc,OAAO;AAAA,EAE9B,OAAO,QAAQ,gBAAgB,EAI/B,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;;;AC7KO,SAAS,oBAAoB,UAA4B;AAC9D,QAAM,mBAAmB,SAAS,cAC/B,IAAI,CAAC,gBAAgB,YAAY,IAAI,EACrC,OAAO,OAAO;AAEjB,MAAI,iBAAiB,WAAW,GAAG;AACjC,WAAO,SAAS;AAAA,EAClB;AAEA,SAAO,GAAG,SAAS,IAAI,KAAK,iBAAiB,KAAK,IAAI,CAAC;AACzD;;;ACoBO,SAAS,sBAAsB,SAAyB;AAC7D,SAAO,WAAW,SAAS,MAAM;AACnC;AAEO,SAAS,yBAAyB,eAA+B;AACtE,SAAO,gBAAgB,IAAI,KAAK,aAAa,uBAAuB;AACtE;AAEO,SAAS,qBAAqB,OAA0B;AAC7D,SAAO,QAAQ,MAAM,KAAK,YAAO,MAAM,KAAK,GAAG,yBAAyB,MAAM,aAAa,CAAC;AAC9F;AAGO,SAAS,wCACd,UACQ;AACR,QAAM,aAAa,SAAS,IAAI,CAAC,SAAS;AACxC,UAAM,gBAAgB,sBAAsB,KAAK,SAAS;AAC1D,UAAM,aAAa,KAAK,WAAW,IAAI,oBAAoB;AAC3D,WAAO,CAAC,KAAK,aAAa,IAAI,GAAG,UAAU,EAAE,KAAK,IAAI;AAAA,EACxD,CAAC;AAED,SAAO,GAAG,kCAAkC;AAAA,EAAK,WAAW,KAAK,IAAI,CAAC;AACxE;AAEO,SAAS,2BACd,aACe;AACf,SAAO,cAAc,2BAA2B;AAClD;AAEO,SAAS,0BAA0B,WAAmC;AAC3E,SAAO,YAAY,wBAAwB;AAC7C;AAGO,SAAS,yCACd,cACe;AACf,QAAM,WAAW,gBAAgB,CAAC,GAC/B,OAAO,CAAC,SAAS,KAAK,KAAK,EAC3B,IAAI,CAAC,SAAS,KAAK,MAAM,KAAK,CAAC,EAC/B,OAAO,CAAC,UAAU,MAAM,SAAS,CAAC,EAClC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAC9B,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AACA,SAAO,GAAG,kCAAkC;AAAA,EAAK,QAAQ,KAAK,IAAI,CAAC;AACrE;AAEO,SAAS,uBAAuB,MAA+B;AACpE,QAAM,UAAU,KACb,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,EACvB,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,EAC9B,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE;AAC1B,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AACA,SAAO,GAAG,0BAA0B;AAAA,EAAK,QAAQ,KAAK,IAAI,CAAC;AAC7D;AAGO,SAAS,wCACd,YACe;AACf,QAAM,UAAU,WACb,IAAI,CAAC,aAAa,oBAAoB,QAAQ,EAAE,KAAK,CAAC,EACtD,OAAO,CAAC,UAAU,MAAM,SAAS,CAAC,EAClC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAC9B,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AACA,SAAO,GAAG,gCAAgC;AAAA,EAAK,QAAQ,KAAK,IAAI,CAAC;AACnE;AAGO,SAAS,oCAAoC,MAGzC;AACT,SAAO,GAAG,uBAAuB,IAAI,KAAK,KAAK,UAAO,KAAK,KAAK;AAClE;AAGO,SAAS,wCACd,YACe;AACf,QAAM,UAAU;AAAA,IACd,YAAY,sBAAsB;AAAA,IAClC,YAAY,uBAAuB;AAAA,EACrC,EACG,OAAO,CAAC,UAA2B,QAAQ,KAAK,CAAC,EACjD,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAC9B,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AACA,SAAO,GAAG,uBAAuB;AAAA,EAAK,QAAQ,KAAK,IAAI,CAAC;AAC1D;AAGO,SAAS,qCAAqC,YAG1C;AACT,SAAO,GAAG,wBAAwB,KAAK,WAAW,GAAG,YAAO,WAAW,GAAG;AAC5E;AAGO,SAAS,6CACd,0BACQ;AACR,SAAO,GAAG,iCAAiC,gCAAgC,wBAAwB;AACrG;AAEO,SAAS,gCACd,OACAC,YACQ;AACR,QAAMC,cACJD,YAAW,UAAU,QAAQ,CAAC,SAAS,KAAK,UAAU,KAAK,CAAC;AAE9D,MAAI,CAACA,cAAaC,YAAW,WAAW,GAAG;AACzC,WAAO,MAAM,aAAa,KAAK,KAAK;AAAA,EACtC;AAEA,QAAM,WAAW;AAAA,IACf,MAAM,SAAS;AAAA,IACf,2BAA2B,MAAM,WAAW;AAAA,IAC5C,uBAAuB,MAAM,IAAI;AAAA,IACjC,wCAAwCD,WAAU,QAAQ;AAAA,IAC1D;AAAA,MACEA,WAAU;AAAA,IACZ;AAAA,IACA,yCAAyCA,WAAU,YAAY;AAAA,EACjE;AAEA,SAAO,6BAA6B,QAAQ;AAC9C;AAEO,SAAS,iCACd,QACA,YACQ;AACR,MAAI,CAAC,YAAY;AACf,WAAO,OAAO,aAAa,KAAK,KAAK;AAAA,EACvC;AAEA,QAAM,qBAAqB,OAAO,aAAa,KAAK;AAEpD,QAAM,WAAW;AAAA,IACf,0BAA0B,OAAO,SAAS;AAAA,IAC1C,wCAAwC,OAAO,UAAU;AAAA,IACzD,oCAAoC,WAAW,UAAU,IAAI;AAAA,IAC7D,wCAAwC,WAAW,UAAU;AAAA,IAC7D,qCAAqC,WAAW,QAAQ,UAAU;AAAA,IAClE;AAAA,EACF;AAEA,SAAO,6BAA6B,QAAQ;AAC9C;;;AC3KO,SAAS,iCACd,OACQ;AACR,SAAO,6BAA6B;AAAA,IAClC,2BAA2B,MAAM,WAAW;AAAA,IAC5C,uBAAuB,MAAM,IAAI;AAAA,IACjC,MAAM,aAAa,KAAK;AAAA,EAC1B,CAAC;AACH;AAEO,SAAS,kCACd,QACQ;AACR,SAAO,6BAA6B;AAAA,IAClC,0BAA0B,OAAO,SAAS;AAAA,IAC1C,OAAO,aAAa,KAAK;AAAA,EAC3B,CAAC;AACH;;;AC1BO,IAAM,0BAA0B;AAAA,EACrC,GAAG;AAAA,EACH,GAAG;AACL;AAWO,IAAM,wBAAwB;AAAA,EACnC,GAAG;AAAA,EACH;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAEH,SAAS,cACd,MACA,MACA,YAAoB,OACZ;AACR,SAAO,GAAG,cAAc,IAAI,IAAI,IAAI,mBAAmB,IAAI,CAAC,gCAAgC,SAAS,iBAAiB,IAAI;AAC5H;;;ACnCO,SAAS,sBAAsB,IAAoB;AACxD,MAAI;AACF,WAAO,mBAAmB,EAAE;AAAA,EAC9B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGO,SAAS,mBACd,cACA,MACQ;AACR,SAAO,IAAI,YAAY,IAAI,mBAAmB,sBAAsB,IAAI,CAAC,CAAC;AAC5E;;;ACZO,SAAS,oBACd,UACe;AACf,SAAO,UAAU,OAAO;AAC1B;;;ACJO,SAAS,+BACd,WACe;AACf,MAAI,aAAa,QAAQ,cAAc,IAAI;AACzC,WAAO;AAAA,EACT;AAEA,MAAI;AACJ,MAAI,OAAO,cAAc,UAAU;AACjC,SAAK;AAAA,EACP,WAAW,qBAAqB,MAAM;AACpC,SAAK,UAAU,QAAQ;AAAA,EACzB,OAAO;AACL,SAAK,KAAK,MAAM,OAAO,SAAS,CAAC;AAAA,EACnC;AAEA,MAAI,CAAC,OAAO,SAAS,EAAE,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,SAAO,OAAO,KAAK,MAAM,EAAE,CAAC;AAC9B;;;ACzBO,IAAM,qBAAqB;AAC3B,IAAM,kBAAkB;AACxB,IAAM,kBAAkB;AACxB,IAAM,0BAA0B;AAChC,IAAM,mBAAmB;;;ACJzB,IAAM,aAAa;AAAA,EACxB,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,SAAS;AAAA;AAAA,EACT,YAAY;AAAA;AAAA,EACZ,WAAW;AAAA;AAAA,EACX,UAAU;AAAA;AAAA,EACV,WAAW;AACb;AAEO,IAAM,cAAc;AAAA,EACzB,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AACb;AAEO,IAAM,QAAQ;AAAA,EACnB,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,YAAY;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,YAAY;AAAA,EACd;AAAA,EACA,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,YAAY;AAAA,IACZ,YAAY;AAAA,EACd;AACF;;;ACjCO,IAAM,cAAc;AAAA,EACzB;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,sBAAkC;;;AC5D/C,IAAM,oBAA2C;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAMO,IAAM,mBAAgE;AAAA,EAC3E,gCAAyB,GAAG,CAAC,GAAG;AAAA,EAChC,oBAAmB,GAAG;AAAA,EACtB,0BAAsB,GAAG,CAAC,oBAAoB;AAAA,EAC9C,oBAAmB,GAAG,CAAC,mBAAmB,mBAAmB;AAAA,EAC7D,sBAAoB,GAAG,CAAC,oBAAoB,oBAAoB;AAAA,EAChE,wBAAqB,GAAG,CAAC,qBAAqB,qBAAqB;AAAA,EACnE,sBAAoB,GAAG,CAAC,oBAAoB,oBAAoB;AAAA,EAChE,4BAAuB,GAAG,CAAC,uBAAuB,uBAAuB;AAC3E;;;AC3CA,SAAS,eACP,OACgB;AAChB,MAAI,CAAC,OAAO,OAAQ,QAAO,CAAC;AAC5B,SAAO;AACT;AAKO,SAAS,uBACd,OACc;AACd,QAAM,OAAO,oBAAI,IAAgB;AACjC,QAAM,SAAuB,CAAC;AAE9B,aAAW,QAAQ,eAAe,KAAK,GAAG;AACxC,UAAM,QAAQ,iBAAiB,IAAI,KAAK,CAAC;AACzC,eAAW,QAAQ,OAAO;AACxB,UAAI,CAAC,KAAK,IAAI,IAAI,GAAG;AACnB,aAAK,IAAI,IAAI;AACb,eAAO,KAAK,IAAI;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAMO,SAAS,uBACd,aACA,YACS;AACT,MAAI,CAAC,aAAa,OAAQ,QAAO;AACjC,QAAM,MAAM,IAAI,IAAI,WAAW;AAC/B,MAAI,IAAI,IAAI,mBAAmB,EAAG,QAAO;AACzC,SAAO,IAAI,IAAI,UAAU;AAC3B;AAEO,SAAS,cACd,OACA,YACS;AACT,SAAO,uBAAuB,uBAAuB,KAAK,GAAG,UAAU;AACzE;AAEO,SAAS,iBACd,OACA,aACS;AACT,MAAI,YAAY,WAAW,EAAG,QAAO;AACrC,QAAM,UAAU,uBAAuB,KAAK;AAC5C,SAAO,YAAY,KAAK,CAAC,MAAM,uBAAuB,SAAS,CAAC,CAAC;AACnE;AAEO,SAAS,kBACd,OACA,aACS;AACT,MAAI,YAAY,WAAW,EAAG,QAAO;AACrC,QAAM,UAAU,uBAAuB,KAAK;AAC5C,SAAO,YAAY,MAAM,CAAC,MAAM,uBAAuB,SAAS,CAAC,CAAC;AACpE;AAEO,SAAS,QACd,OACA,MACS;AACT,SAAO,eAAe,KAAK,EAAE,SAAS,IAAI;AAC5C;AAEO,SAAS,WACd,OACA,YACS;AACT,MAAI,WAAW,WAAW,EAAG,QAAO;AACpC,QAAM,MAAM,IAAI,IAAI,eAAe,KAAK,CAAC;AACzC,SAAO,WAAW,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;AAC1C;;;ACnFO,IAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ/B;AAyBO,IAAM,2BAAiE;AAAA,EAC5E;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,IACP,cAAc,CAAC,YAAY;AAAA,IAC3B,OAAO,qDAA6C;AAAA,EACtD;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,IACP,cAAc,CAAC,QAAQ;AAAA,IACvB,OAAO,oBAAmB;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,IACP,cAAc,CAAC,SAAS;AAAA,IACxB,OAAO,sBAAoB;AAAA,EAC7B;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,IACP,cAAc,CAAC,UAAU;AAAA,IACzB,OAAO,wBAAqB;AAAA,EAC9B;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,IACP,cAAc,CAAC,SAAS;AAAA,IACxB,OAAO,sBAAoB;AAAA,EAC7B;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,IACP,cAAc,CAAC,YAAY;AAAA,IAC3B,OAAO,4BAAuB;AAAA,EAChC;AACF;AAEO,SAAS,kBACd,OACS;AACT,SAAO,WAAW,OAAO,eAAe;AAC1C;AAEO,SAAS,uBACd,OAC6B;AAC7B,SAAO,yBAAyB,OAAO,CAAC,QAAQ,WAAW,OAAO,IAAI,KAAK,CAAC;AAC9E;AAEO,SAAS,oBACd,OACA,kBACQ;AACR,QAAM,SAAS,uBAAuB,KAAK;AAC3C,MAAI,OAAO,WAAW,GAAG;AACvB,WAAO;AAAA,EACT;AAEA,MAAI,kBAAkB;AACpB,UAAM,YAAY,OAAO,KAAK,CAAC,QAAQ,IAAI,YAAY,gBAAgB;AACvE,QAAI,UAAW,QAAO,UAAU;AAAA,EAClC;AAEA,SAAO,OAAO,CAAC,EAAE;AACnB;AAEO,SAAS,4BACd,UAC8B;AAC9B,aAAW,OAAO,0BAA0B;AAC1C,QACE,IAAI,aAAa;AAAA,MACf,CAAC,WAAW,aAAa,UAAU,SAAS,WAAW,GAAG,MAAM,GAAG;AAAA,IACrE,GACA;AACA,aAAO,IAAI;AAAA,IACb;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,mBACd,OACA,UACS;AACT,MAAI,CAAC,kBAAkB,KAAK,EAAG,QAAO;AAEtC,QAAM,UAAU,4BAA4B,QAAQ;AACpD,MAAI,CAAC,SAAS;AAGZ,WAAO;AAAA,EACT;AAEA,QAAM,OAAO,yBAAyB,KAAK,CAAC,QAAQ,IAAI,YAAY,OAAO;AAC3E,MAAI,CAAC,KAAM,QAAO;AAClB,SAAO,WAAW,OAAO,KAAK,KAAK;AACrC;","names":["EnumInviteStatus","EnumChatReportReason","EnumChatType","EnumPaymentMethod","EnumFoodFlavor","EnumFoodType","EnumResourceType","EnumEventType","EnumVendorType","EnumPartnerType","EnumOSPlatform","EnumRelationResource","EnumNotificationResourceType","EnumNotificationType","EnumRegions","ImageTypeEnum","EnumUserLicence","EnumUserRole","EnumSocialMedia","EnumEventDateStatus","EnumSubscriptionStatus","EnumBillingPeriod","EnumReward","EnumVerificationType","EnumAdShowOn","EnumAdStatus","EnumAdType","EnumAdStyle","EnumActivity","EnumPostType","EnumPostContentType","EnumGameStatus","EnumGameType","EnumAffiliateParticipantType","EnumAffiliateRewardType","dayjs","dayjs","gql","gql","gql","gql","gql","gql","gql","gql","gql","gql","gql","gql","gql","gql","adminUpdateResourceType","useMutation","gql","gql","useMutation","useMutation","gql","gql","gql","useMutation","gql","gql","useMutation","gql","useMutation","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","eventInfo","useMutation","gql","gql","gql","useMutation","useQuery","useQuery","useSubscription","gql","gql","useSubscription","useMutation","gql","gql","useMutation","useMutation","gql","useMutation","useMutation","gql","gql","useMutation","createRelation","updateRelation","deleteRelation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","useMutation","useQuery","gql","gql","useQuery","useMutation","gql","gql","useMutation","useQuery","gql","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","useQuery","gql","gql","useQuery","useMutation","gql","gql","useMutation","eventInfo","stallTypes"]}